From 32eb01941e9572fd69071425aac83223107ae6cb Mon Sep 17 00:00:00 2001 From: Pedro Lucas Garcia <190115548@aluno.unb.br> Date: Thu, 15 Aug 2024 22:13:15 -0300 Subject: [PATCH 1/4] Cria interceptador --- docker-compose.yml | 3 + frontend/Dockerfile | 3 +- frontend/angular.json | 2 + frontend/package-lock.json | 845 +++++++++++++++++- frontend/package.json | 4 +- frontend/src/app/app.component.html | 336 +------ frontend/src/app/app.component.spec.ts | 29 - frontend/src/app/app.component.ts | 12 +- frontend/src/app/app.routes.ts | 2 +- .../data-access/credential.interceptor.ts | 8 + frontend/src/index.html | 6 +- frontend/src/main.ts | 22 +- frontend/src/styles.css | 9 + 13 files changed, 903 insertions(+), 378 deletions(-) delete mode 100644 frontend/src/app/app.component.spec.ts create mode 100644 frontend/src/app/core/data-access/credential.interceptor.ts diff --git a/docker-compose.yml b/docker-compose.yml index c647f2b..e3d9b1f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,6 +4,9 @@ services: build: ./frontend ports: - "4200:4200" + volumes: + - ./frontend:/app + - /app/node_modules depends_on: - spring-boot environment: diff --git a/frontend/Dockerfile b/frontend/Dockerfile index 28e611b..4d82244 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -2,6 +2,7 @@ FROM node:20 WORKDIR /app COPY . . RUN npm install +RUN npm install @angular/material @angular/cdk @angular/animations RUN npm install @angular/cli -g EXPOSE 4200 -CMD [ "ng", "serve", "--host", "0.0.0.0"] +CMD [ "ng", "serve", "--host", "0.0.0.0", "--poll", "2000", "--watch", "--live-reload", "true"] diff --git a/frontend/angular.json b/frontend/angular.json index 3165c83..fc5b7fb 100644 --- a/frontend/angular.json +++ b/frontend/angular.json @@ -25,6 +25,7 @@ "src/assets" ], "styles": [ + "@angular/material/prebuilt-themes/purple-green.css", "src/styles.css" ], "scripts": [] @@ -84,6 +85,7 @@ "src/assets" ], "styles": [ + "@angular/material/prebuilt-themes/purple-green.css", "src/styles.css" ], "scripts": [] diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 07a2325..ce95ed6 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -8,11 +8,13 @@ "name": "frontend", "version": "0.0.0", "dependencies": { - "@angular/animations": "^17.2.0", + "@angular/animations": "^17.3.12", + "@angular/cdk": "^17.3.10", "@angular/common": "^17.2.0", "@angular/compiler": "^17.2.0", "@angular/core": "^17.2.0", "@angular/forms": "^17.2.0", + "@angular/material": "^17.3.10", "@angular/platform-browser": "^17.2.0", "@angular/platform-browser-dynamic": "^17.2.0", "@angular/router": "^17.2.0", @@ -275,6 +277,22 @@ "@angular/core": "17.3.12" } }, + "node_modules/@angular/cdk": { + "version": "17.3.10", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-17.3.10.tgz", + "integrity": "sha512-b1qktT2c1TTTe5nTji/kFAVW92fULK0YhYAvJ+BjZTPKu2FniZNe8o4qqQ0pUuvtMu+ZQxp/QqFYoidIVCjScg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "optionalDependencies": { + "parse5": "^7.1.2" + }, + "peerDependencies": { + "@angular/common": "^17.0.0 || ^18.0.0", + "@angular/core": "^17.0.0 || ^18.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, "node_modules/@angular/cli": { "version": "17.3.8", "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.3.8.tgz", @@ -448,6 +466,70 @@ "rxjs": "^6.5.3 || ^7.4.0" } }, + "node_modules/@angular/material": { + "version": "17.3.10", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-17.3.10.tgz", + "integrity": "sha512-hHMQES0tQPH5JW33W+mpBPuM8ybsloDTqFPuRV8cboDjosAWfJhzAKF3ozICpNlUrs62La/2Wu/756GcQrxebg==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/auto-init": "15.0.0-canary.7f224ddd4.0", + "@material/banner": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/button": "15.0.0-canary.7f224ddd4.0", + "@material/card": "15.0.0-canary.7f224ddd4.0", + "@material/checkbox": "15.0.0-canary.7f224ddd4.0", + "@material/chips": "15.0.0-canary.7f224ddd4.0", + "@material/circular-progress": "15.0.0-canary.7f224ddd4.0", + "@material/data-table": "15.0.0-canary.7f224ddd4.0", + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/dialog": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/drawer": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/fab": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/floating-label": "15.0.0-canary.7f224ddd4.0", + "@material/form-field": "15.0.0-canary.7f224ddd4.0", + "@material/icon-button": "15.0.0-canary.7f224ddd4.0", + "@material/image-list": "15.0.0-canary.7f224ddd4.0", + "@material/layout-grid": "15.0.0-canary.7f224ddd4.0", + "@material/line-ripple": "15.0.0-canary.7f224ddd4.0", + "@material/linear-progress": "15.0.0-canary.7f224ddd4.0", + "@material/list": "15.0.0-canary.7f224ddd4.0", + "@material/menu": "15.0.0-canary.7f224ddd4.0", + "@material/menu-surface": "15.0.0-canary.7f224ddd4.0", + "@material/notched-outline": "15.0.0-canary.7f224ddd4.0", + "@material/radio": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/segmented-button": "15.0.0-canary.7f224ddd4.0", + "@material/select": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/slider": "15.0.0-canary.7f224ddd4.0", + "@material/snackbar": "15.0.0-canary.7f224ddd4.0", + "@material/switch": "15.0.0-canary.7f224ddd4.0", + "@material/tab": "15.0.0-canary.7f224ddd4.0", + "@material/tab-bar": "15.0.0-canary.7f224ddd4.0", + "@material/tab-indicator": "15.0.0-canary.7f224ddd4.0", + "@material/tab-scroller": "15.0.0-canary.7f224ddd4.0", + "@material/textfield": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tooltip": "15.0.0-canary.7f224ddd4.0", + "@material/top-app-bar": "15.0.0-canary.7f224ddd4.0", + "@material/touch-target": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/animations": "^17.0.0 || ^18.0.0", + "@angular/cdk": "17.3.10", + "@angular/common": "^17.0.0 || ^18.0.0", + "@angular/core": "^17.0.0 || ^18.0.0", + "@angular/forms": "^17.0.0 || ^18.0.0", + "@angular/platform-browser": "^17.0.0 || ^18.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, "node_modules/@angular/platform-browser": { "version": "17.3.12", "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-17.3.12.tgz", @@ -2872,6 +2954,758 @@ "node": ">= 0.4" } }, + "node_modules/@material/animation": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-1GSJaPKef+7HRuV+HusVZHps64cmZuOItDbt40tjJVaikcaZvwmHlcTxRIqzcRoCdt5ZKHh3NoO7GB9Khg4Jnw==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/auto-init": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-t7ZGpRJ3ec0QDUO0nJu/SMgLW7qcuG2KqIsEYD1Ej8qhI2xpdR2ydSDQOkVEitXmKoGol1oq4nYSBjTlB65GqA==", + "dependencies": { + "@material/base": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/banner": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-g9wBUZzYBizyBcBQXTIafnRUUPi7efU9gPJfzeGgkynXiccP/vh5XMmH+PBxl5v+4MlP/d4cZ2NUYoAN7UTqSA==", + "dependencies": { + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/button": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/base": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-I9KQOKXpLfJkP8MqZyr8wZIzdPHrwPjFvGd9zSK91/vPyE4hzHRJc/0njsh9g8Lm9PRYLbifXX+719uTbHxx+A==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/button": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-BHB7iyHgRVH+JF16+iscR+Qaic+p7LU1FOLgP8KucRlpF9tTwIxQA6mJwGRi5gUtcG+vyCmzVS+hIQ6DqT/7BA==", + "dependencies": { + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/touch-target": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/card": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-kt7y9/IWOtJTr3Z/AoWJT3ZLN7CLlzXhx2udCLP9ootZU2bfGK0lzNwmo80bv/pJfrY9ihQKCtuGTtNxUy+vIw==", + "dependencies": { + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/checkbox": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-rURcrL5O1u6hzWR+dNgiQ/n89vk6tdmdP3mZgnxJx61q4I/k1yijKqNJSLrkXH7Rto3bM5NRKMOlgvMvVd7UMQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/touch-target": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/chips": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-AYAivV3GSk/T/nRIpH27sOHFPaSMrE3L0WYbnb5Wa93FgY8a0fbsFYtSH2QmtwnzXveg+B1zGTt7/xIIcynKdQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/checkbox": "15.0.0-canary.7f224ddd4.0", + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/touch-target": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/circular-progress": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-DJrqCKb+LuGtjNvKl8XigvyK02y36GRkfhMUYTcJEi3PrOE00bwXtyj7ilhzEVshQiXg6AHGWXtf5UqwNrx3Ow==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/progress-indicator": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/data-table": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-/2WZsuBIq9z9RWYF5Jo6b7P6u0fwit+29/mN7rmAZ6akqUR54nXyNfoSNiyydMkzPlZZsep5KrSHododDhBZbA==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/checkbox": "15.0.0-canary.7f224ddd4.0", + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/icon-button": "15.0.0-canary.7f224ddd4.0", + "@material/linear-progress": "15.0.0-canary.7f224ddd4.0", + "@material/list": "15.0.0-canary.7f224ddd4.0", + "@material/menu": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/select": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/touch-target": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/density": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-o9EXmGKVpiQ6mHhyV3oDDzc78Ow3E7v8dlaOhgaDSXgmqaE8v5sIlLNa/LKSyUga83/fpGk3QViSGXotpQx0jA==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/dialog": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-u0XpTlv1JqWC/bQ3DavJ1JguofTelLT2wloj59l3/1b60jv42JQ6Am7jU3I8/SIUB1MKaW7dYocXjDWtWJakLA==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/button": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/icon-button": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/touch-target": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/dom": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-mQ1HT186GPQSkRg5S18i70typ5ZytfjL09R0gJ2Qg5/G+MLCGi7TAjZZSH65tuD/QGOjel4rDdWOTmYbPYV6HA==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/drawer": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-qyO0W0KBftfH8dlLR0gVAgv7ZHNvU8ae11Ao6zJif/YxcvK4+gph1z8AO4H410YmC2kZiwpSKyxM1iQCCzbb4g==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/list": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/elevation": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-tV6s4/pUBECedaI36Yj18KmRCk1vfue/JP/5yYRlFNnLMRVISePbZaKkn/BHXVf+26I3W879+XqIGlDVdmOoMA==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/fab": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-4h76QrzfZTcPdd+awDPZ4Q0YdSqsXQnS540TPtyXUJ/5G99V6VwGpjMPIxAsW0y+pmI9UkLL/srrMaJec+7r4Q==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/touch-target": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/feature-targeting": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-SAjtxYh6YlKZriU83diDEQ7jNSP2MnxKsER0TvFeyG1vX/DWsUyYDOIJTOEa9K1N+fgJEBkNK8hY55QhQaspew==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/floating-label": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-0KMo5ijjYaEHPiZ2pCVIcbaTS2LycvH9zEhEMKwPPGssBCX7iz5ffYQFk7e5yrQand1r3jnQQgYfHAwtykArnQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/focus-ring": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-Jmg1nltq4J6S6A10EGMZnvufrvU3YTi+8R8ZD9lkSbun0Fm2TVdICQt/Auyi6An9zP66oQN6c31eqO6KfIPsDg==", + "dependencies": { + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0" + } + }, + "node_modules/@material/form-field": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-fEPWgDQEPJ6WF7hNnIStxucHR9LE4DoDSMqCsGWS2Yu+NLZYLuCEecgR0UqQsl1EQdNRaFh8VH93KuxGd2hiPg==", + "dependencies": { + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/icon-button": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-DcK7IL4ICY/DW+48YQZZs9g0U1kRaW0Wb0BxhvppDMYziHo/CTpFdle4gjyuTyRxPOdHQz5a97ru48Z9O4muTw==", + "dependencies": { + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/touch-target": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/image-list": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-voMjG2p80XbjL1B2lmF65zO5gEgJOVKClLdqh4wbYzYfwY/SR9c8eLvlYG7DLdFaFBl/7gGxD8TvvZ329HUFPw==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/layout-grid": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-veDABLxMn2RmvfnUO2RUmC1OFfWr4cU+MrxKPoDD2hl3l3eDYv5fxws6r5T1JoSyXoaN+oEZpheS0+M9Ure8Pg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/line-ripple": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-f60hVJhIU6I3/17Tqqzch1emUKEcfVVgHVqADbU14JD+oEIz429ZX9ksZ3VChoU3+eejFl+jVdZMLE/LrAuwpg==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/linear-progress": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-pRDEwPQielDiC9Sc5XhCXrGxP8wWOnAO8sQlMebfBYHYqy5hhiIzibezS8CSaW4MFQFyXmCmpmqWlbqGYRmiyg==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/progress-indicator": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/list": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-Is0NV91sJlXF5pOebYAtWLF4wU2MJDbYqztML/zQNENkQxDOvEXu3nWNb3YScMIYJJXvARO0Liur5K4yPagS1Q==", + "dependencies": { + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/menu": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-D11QU1dXqLbh5X1zKlEhS3QWh0b5BPNXlafc5MXfkdJHhOiieb7LC9hMJhbrHtj24FadJ7evaFW/T2ugJbJNnQ==", + "dependencies": { + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/list": "15.0.0-canary.7f224ddd4.0", + "@material/menu-surface": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/menu-surface": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-7RZHvw0gbwppaAJ/Oh5SWmfAKJ62aw1IMB3+3MRwsb5PLoV666wInYa+zJfE4i7qBeOn904xqT2Nko5hY0ssrg==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/notched-outline": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-Yg2usuKB2DKlKIBISbie9BFsOVuffF71xjbxPbybvqemxqUBd+bD5/t6H1fLE+F8/NCu5JMigho4ewUU+0RCiw==", + "dependencies": { + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/floating-label": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/progress-indicator": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-UPbDjE5CqT+SqTs0mNFG6uFEw7wBlgYmh+noSkQ6ty/EURm8lF125dmi4dv4kW0+octonMXqkGtAoZwLIHKf/w==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/radio": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-wR1X0Sr0KmQLu6+YOFKAI84G3L6psqd7Kys5kfb8WKBM36zxO5HQXC5nJm/Y0rdn22ixzsIz2GBo0MNU4V4k1A==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/touch-target": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/ripple": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-JqOsWM1f4aGdotP0rh1vZlPZTg6lZgh39FIYHFMfOwfhR+LAikUJ+37ciqZuewgzXB6iiRO6a8aUH6HR5SJYPg==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/rtl": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-UVf14qAtmPiaaZjuJtmN36HETyoKWmsZM/qn1L5ciR2URb8O035dFWnz4ZWFMmAYBno/L7JiZaCkPurv2ZNrGA==", + "dependencies": { + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/segmented-button": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-LCnVRUSAhELTKI/9hSvyvIvQIpPpqF29BV+O9yM4WoNNmNWqTulvuiv7grHZl6Z+kJuxSg4BGbsPxxb9dXozPg==", + "dependencies": { + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/touch-target": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/select": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-WioZtQEXRpglum0cMSzSqocnhsGRr+ZIhvKb3FlaNrTaK8H3Y4QA7rVjv3emRtrLOOjaT6/RiIaUMTo9AGzWQQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/floating-label": "15.0.0-canary.7f224ddd4.0", + "@material/line-ripple": "15.0.0-canary.7f224ddd4.0", + "@material/list": "15.0.0-canary.7f224ddd4.0", + "@material/menu": "15.0.0-canary.7f224ddd4.0", + "@material/menu-surface": "15.0.0-canary.7f224ddd4.0", + "@material/notched-outline": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/shape": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-8z8l1W3+cymObunJoRhwFPKZ+FyECfJ4MJykNiaZq7XJFZkV6xNmqAVrrbQj93FtLsECn9g4PjjIomguVn/OEw==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/slider": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-QU/WSaSWlLKQRqOhJrPgm29wqvvzRusMqwAcrCh1JTrCl+xwJ43q5WLDfjYhubeKtrEEgGu9tekkAiYfMG7EBw==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/snackbar": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-sm7EbVKddaXpT/aXAYBdPoN0k8yeg9+dprgBUkrdqGzWJAeCkxb4fv2B3He88YiCtvkTz2KLY4CThPQBSEsMFQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/button": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/icon-button": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/switch": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-lEDJfRvkVyyeHWIBfoxYjJVl+WlEAE2kZ/+6OqB1FW0OV8ftTODZGhHRSzjVBA1/p4FPuhAtKtoK9jTpa4AZjA==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-E1xGACImyCLurhnizyOTCgOiVezce4HlBFAI6YhJo/AyVwjN2Dtas4ZLQMvvWWqpyhITNkeYdOchwCC1mrz3AQ==", + "dependencies": { + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/tab-indicator": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-bar": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-p1Asb2NzrcECvAQU3b2SYrpyJGyJLQWR+nXTYzDKE8WOpLIRCXap2audNqD7fvN/A20UJ1J8U01ptrvCkwJ4eA==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/tab": "15.0.0-canary.7f224ddd4.0", + "@material/tab-indicator": "15.0.0-canary.7f224ddd4.0", + "@material/tab-scroller": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-indicator": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-h9Td3MPqbs33spcPS7ecByRHraYgU4tNCZpZzZXw31RypjKvISDv/PS5wcA4RmWqNGih78T7xg4QIGsZg4Pk4w==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-scroller": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-LFeYNjQpdXecwECd8UaqHYbhscDCwhGln5Yh+3ctvcEgvmDPNjhKn/DL3sWprWvG8NAhP6sHMrsGhQFVdCWtTg==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/tab": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/textfield": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-AExmFvgE5nNF0UA4l2cSzPghtxSUQeeoyRjFLHLy+oAaE4eKZFrSy0zEpqPeWPQpEMDZk+6Y+6T3cOFYBeSvsw==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/density": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/floating-label": "15.0.0-canary.7f224ddd4.0", + "@material/line-ripple": "15.0.0-canary.7f224ddd4.0", + "@material/notched-outline": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/theme": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-hs45hJoE9yVnoVOcsN1jklyOa51U4lzWsEnQEuJTPOk2+0HqCQ0yv/q0InpSnm2i69fNSyZC60+8HADZGF8ugQ==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tokens": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-r9TDoicmcT7FhUXC4eYMFnt9TZsz0G8T3wXvkKncLppYvZ517gPyD/1+yhuGfGOxAzxTrM66S/oEc1fFE2q4hw==", + "dependencies": { + "@material/elevation": "15.0.0-canary.7f224ddd4.0" + } + }, + "node_modules/@material/tooltip": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-8qNk3pmPLTnam3XYC1sZuplQXW9xLn4Z4MI3D+U17Q7pfNZfoOugGr+d2cLA9yWAEjVJYB0mj8Yu86+udo4N9w==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/button": "15.0.0-canary.7f224ddd4.0", + "@material/dom": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/tokens": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/top-app-bar": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-SARR5/ClYT4CLe9qAXakbr0i0cMY0V3V4pe3ElIJPfL2Z2c4wGR1mTR8m2LxU1MfGKK8aRoUdtfKaxWejp+eNA==", + "dependencies": { + "@material/animation": "15.0.0-canary.7f224ddd4.0", + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/elevation": "15.0.0-canary.7f224ddd4.0", + "@material/ripple": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/shape": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "@material/typography": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/touch-target": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-BJo/wFKHPYLGsRaIpd7vsQwKr02LtO2e89Psv0on/p0OephlNIgeB9dD9W+bQmaeZsZ6liKSKRl6wJWDiK71PA==", + "dependencies": { + "@material/base": "15.0.0-canary.7f224ddd4.0", + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/rtl": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/typography": { + "version": "15.0.0-canary.7f224ddd4.0", + "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.7f224ddd4.0.tgz", + "integrity": "sha512-kBaZeCGD50iq1DeRRH5OM5Jl7Gdk+/NOfKArkY4ksBZvJiStJ7ACAhpvb8MEGm4s3jvDInQFLsDq3hL+SA79sQ==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", + "@material/theme": "15.0.0-canary.7f224ddd4.0", + "tslib": "^2.1.0" + } + }, "node_modules/@ngtools/webpack": { "version": "17.3.8", "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.3.8.tgz", @@ -5721,7 +6555,7 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.12" }, @@ -9238,7 +10072,7 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, + "devOptional": true, "dependencies": { "entities": "^4.4.0" }, @@ -10200,6 +11034,11 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, + "node_modules/safevalues": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/safevalues/-/safevalues-0.3.4.tgz", + "integrity": "sha512-LRneZZRXNgjzwG4bDQdOTSbze3fHm1EAKN/8bePxnlEZiBmkYEDggaHbuvHI9/hoqHbGfsEA7tWS9GhYHZBBsw==" + }, "node_modules/sass": { "version": "1.71.1", "resolved": "https://registry.npmjs.org/sass/-/sass-1.71.1.tgz", diff --git a/frontend/package.json b/frontend/package.json index e46a390..7b2fdbb 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -10,11 +10,13 @@ }, "private": true, "dependencies": { - "@angular/animations": "^17.2.0", + "@angular/animations": "^17.3.12", + "@angular/cdk": "^17.3.10", "@angular/common": "^17.2.0", "@angular/compiler": "^17.2.0", "@angular/core": "^17.2.0", "@angular/forms": "^17.2.0", + "@angular/material": "^17.3.10", "@angular/platform-browser": "^17.2.0", "@angular/platform-browser-dynamic": "^17.2.0", "@angular/router": "^17.2.0", diff --git a/frontend/src/app/app.component.html b/frontend/src/app/app.component.html index 36093e1..08d693a 100644 --- a/frontend/src/app/app.component.html +++ b/frontend/src/app/app.component.html @@ -1,336 +1,2 @@ - - - - - - - - - - - -
-
-
- -

Hello, {{ title }}

-

Congratulations! Your app is running. 🎉

-
- -
-
- @for (item of [ - { title: 'Explore the Docs', link: 'https://angular.dev' }, - { title: 'Learn with Tutorials', link: 'https://angular.dev/tutorials' }, - { title: 'CLI Docs', link: 'https://angular.dev/tools/cli' }, - { title: 'Angular Language Service', link: 'https://angular.dev/tools/language-service' }, - { title: 'Angular DevTools', link: 'https://angular.dev/tools/devtools' }, - ]; track item.title) { - - {{ item.title }} - - - - - } -
- -
-
-
- - - - - - - - - - + diff --git a/frontend/src/app/app.component.spec.ts b/frontend/src/app/app.component.spec.ts deleted file mode 100644 index a6b0ab9..0000000 --- a/frontend/src/app/app.component.spec.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { AppComponent } from './app.component'; - -describe('AppComponent', () => { - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [AppComponent], - }).compileComponents(); - }); - - it('should create the app', () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app).toBeTruthy(); - }); - - it(`should have the 'frontend' title`, () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app.title).toEqual('frontend'); - }); - - it('should render title', () => { - const fixture = TestBed.createComponent(AppComponent); - fixture.detectChanges(); - const compiled = fixture.nativeElement as HTMLElement; - expect(compiled.querySelector('h1')?.textContent).toContain('Hello, frontend'); - }); -}); diff --git a/frontend/src/app/app.component.ts b/frontend/src/app/app.component.ts index 0c44972..74c293e 100644 --- a/frontend/src/app/app.component.ts +++ b/frontend/src/app/app.component.ts @@ -1,13 +1,21 @@ +import { CommonModule } from '@angular/common'; import { Component } from '@angular/core'; +import {MatToolbarModule} from '@angular/material/toolbar'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { RouterOutlet } from '@angular/router'; @Component({ selector: 'app-root', standalone: true, - imports: [RouterOutlet], + imports: [ + MatToolbarModule, + BrowserAnimationsModule, + CommonModule, + RouterOutlet + ], templateUrl: './app.component.html', styleUrl: './app.component.css' }) export class AppComponent { - title = 'frontend'; + title = 'MyMarket'; } diff --git a/frontend/src/app/app.routes.ts b/frontend/src/app/app.routes.ts index dc39edb..a6ce8c2 100644 --- a/frontend/src/app/app.routes.ts +++ b/frontend/src/app/app.routes.ts @@ -1,3 +1,3 @@ import { Routes } from '@angular/router'; -export const routes: Routes = []; +export const APP_ROUTES: Routes = []; diff --git a/frontend/src/app/core/data-access/credential.interceptor.ts b/frontend/src/app/core/data-access/credential.interceptor.ts new file mode 100644 index 0000000..45c90a1 --- /dev/null +++ b/frontend/src/app/core/data-access/credential.interceptor.ts @@ -0,0 +1,8 @@ +import { HttpInterceptorFn } from '@angular/common/http'; + +export const credentialInterceptor: HttpInterceptorFn = (request, next) => { + const modifiedRequest = request.clone({ + withCredentials: true + }); + return next(modifiedRequest); +}; \ No newline at end of file diff --git a/frontend/src/index.html b/frontend/src/index.html index 3af61ec..b07c761 100644 --- a/frontend/src/index.html +++ b/frontend/src/index.html @@ -2,12 +2,14 @@ - Frontend + MyMarket + + - + diff --git a/frontend/src/main.ts b/frontend/src/main.ts index 35b00f3..9a51077 100644 --- a/frontend/src/main.ts +++ b/frontend/src/main.ts @@ -1,6 +1,20 @@ -import { bootstrapApplication } from '@angular/platform-browser'; -import { appConfig } from './app/app.config'; +import { bootstrapApplication, BrowserModule } from '@angular/platform-browser'; import { AppComponent } from './app/app.component'; +import { importProvidersFrom } from '@angular/core'; +import { provideHttpClient, withFetch, withInterceptors, withInterceptorsFromDi } from '@angular/common/http'; +import { provideAnimations } from '@angular/platform-browser/animations'; +import { provideRouter } from '@angular/router'; +import { APP_ROUTES } from './app/app.routes'; +import { credentialInterceptor } from './app/core/data-access/credential.interceptor'; +import { provideAnimationsAsync } from '@angular/platform-browser/animations/async'; -bootstrapApplication(AppComponent, appConfig) - .catch((err) => console.error(err)); +bootstrapApplication(AppComponent, { + providers: [ + importProvidersFrom(BrowserModule), + provideHttpClient(withFetch(), withInterceptors([credentialInterceptor])), + provideAnimations(), + provideHttpClient(withInterceptorsFromDi()), + provideRouter(APP_ROUTES), provideAnimationsAsync() + ] +}) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/frontend/src/styles.css b/frontend/src/styles.css index 90d4ee0..125cb72 100644 --- a/frontend/src/styles.css +++ b/frontend/src/styles.css @@ -1 +1,10 @@ /* You can add global styles to this file, and also import other style files */ +@import '@angular/material/prebuilt-themes/purple-green.css'; + +html, +body { + height: 100%; + background-color: #271818; +} +html, body { height: 100%; } +body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } From ba576831d3f79014d647a6cf0fd2dce0c417386b Mon Sep 17 00:00:00 2001 From: Pedro Lucas Garcia <190115548@aluno.unb.br> Date: Thu, 15 Aug 2024 22:23:34 -0300 Subject: [PATCH 2/4] =?UTF-8?q?atualiza=20vers=C3=A3o=20angular?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/package-lock.json | 3729 ++++++++++++++++++++++-------------- frontend/package.json | 24 +- 2 files changed, 2288 insertions(+), 1465 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index ce95ed6..c878006 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -8,24 +8,24 @@ "name": "frontend", "version": "0.0.0", "dependencies": { - "@angular/animations": "^17.3.12", + "@angular/animations": "^18.2.0", "@angular/cdk": "^17.3.10", - "@angular/common": "^17.2.0", - "@angular/compiler": "^17.2.0", - "@angular/core": "^17.2.0", - "@angular/forms": "^17.2.0", + "@angular/common": "^18.2.0", + "@angular/compiler": "^18.2.0", + "@angular/core": "^18.2.0", + "@angular/forms": "^18.2.0", "@angular/material": "^17.3.10", - "@angular/platform-browser": "^17.2.0", - "@angular/platform-browser-dynamic": "^17.2.0", - "@angular/router": "^17.2.0", + "@angular/platform-browser": "^18.2.0", + "@angular/platform-browser-dynamic": "^18.2.0", + "@angular/router": "^18.2.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.14.3" }, "devDependencies": { - "@angular-devkit/build-angular": "^17.2.0", - "@angular/cli": "^17.2.0", - "@angular/compiler-cli": "^17.2.0", + "@angular-devkit/build-angular": "^18.2.0", + "@angular/cli": "^18.2.0", + "@angular/compiler-cli": "^18.2.0", "@types/jasmine": "~5.1.0", "jasmine-core": "~5.1.0", "karma": "~6.4.0", @@ -33,7 +33,7 @@ "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", - "typescript": "~5.3.2" + "typescript": "~5.5.4" } }, "node_modules/@ampproject/remapping": { @@ -50,112 +50,111 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1703.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1703.8.tgz", - "integrity": "sha512-lKxwG4/QABXZvJpqeSIn/kAwnY6MM9HdHZUV+o5o3UiTi+vO8rZApG4CCaITH3Bxebm7Nam7Xbk8RuukC5rq6g==", + "version": "0.1802.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.0.tgz", + "integrity": "sha512-s1atTSL98XLUUxfWEQAnhFaOFIJZDLWjSqec+Sb+f4iZFj+hOFejzJxPVnHMIJudOzn0Lqjk3t987KG/zNEGdg==", "dev": true, "dependencies": { - "@angular-devkit/core": "17.3.8", + "@angular-devkit/core": "18.2.0", "rxjs": "7.8.1" }, "engines": { - "node": "^18.13.0 || >=20.9.0", + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } }, "node_modules/@angular-devkit/build-angular": { - "version": "17.3.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-17.3.8.tgz", - "integrity": "sha512-ixsdXggWaFRP7Jvxd0AMukImnePuGflT9Yy7NJ9/y0cL/k//S/3RnkQv5i411KzN+7D4RIbNkRGGTYeqH24zlg==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-18.2.0.tgz", + "integrity": "sha512-V0XKT7xt6d6duXqmDAQEQgEJNXuWAekpHEDxafvBT0MTxcEhu0ozQVwI4oAekiKOz+APIcAZyMzvw3Tlzog5cw==", "dev": true, "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1703.8", - "@angular-devkit/build-webpack": "0.1703.8", - "@angular-devkit/core": "17.3.8", - "@babel/core": "7.24.0", - "@babel/generator": "7.23.6", - "@babel/helper-annotate-as-pure": "7.22.5", - "@babel/helper-split-export-declaration": "7.22.6", - "@babel/plugin-transform-async-generator-functions": "7.23.9", - "@babel/plugin-transform-async-to-generator": "7.23.3", - "@babel/plugin-transform-runtime": "7.24.0", - "@babel/preset-env": "7.24.0", - "@babel/runtime": "7.24.0", - "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "17.3.8", + "@angular-devkit/architect": "0.1802.0", + "@angular-devkit/build-webpack": "0.1802.0", + "@angular-devkit/core": "18.2.0", + "@angular/build": "18.2.0", + "@babel/core": "7.25.2", + "@babel/generator": "7.25.0", + "@babel/helper-annotate-as-pure": "7.24.7", + "@babel/helper-split-export-declaration": "7.24.7", + "@babel/plugin-transform-async-generator-functions": "7.25.0", + "@babel/plugin-transform-async-to-generator": "7.24.7", + "@babel/plugin-transform-runtime": "7.24.7", + "@babel/preset-env": "7.25.3", + "@babel/runtime": "7.25.0", + "@discoveryjs/json-ext": "0.6.1", + "@ngtools/webpack": "18.2.0", "@vitejs/plugin-basic-ssl": "1.1.0", "ansi-colors": "4.1.3", - "autoprefixer": "10.4.18", + "autoprefixer": "10.4.20", "babel-loader": "9.1.3", - "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.21.5", - "copy-webpack-plugin": "11.0.0", - "critters": "0.0.22", - "css-loader": "6.10.0", - "esbuild-wasm": "0.20.1", + "copy-webpack-plugin": "12.0.2", + "critters": "0.0.24", + "css-loader": "7.1.2", + "esbuild-wasm": "0.23.0", "fast-glob": "3.3.2", - "http-proxy-middleware": "2.0.6", - "https-proxy-agent": "7.0.4", - "inquirer": "9.2.15", - "jsonc-parser": "3.2.1", + "http-proxy-middleware": "3.0.0", + "https-proxy-agent": "7.0.5", + "istanbul-lib-instrument": "6.0.3", + "jsonc-parser": "3.3.1", "karma-source-map-support": "1.4.0", "less": "4.2.0", - "less-loader": "11.1.0", + "less-loader": "12.2.0", "license-webpack-plugin": "4.0.2", - "loader-utils": "3.2.1", - "magic-string": "0.30.8", - "mini-css-extract-plugin": "2.8.1", + "loader-utils": "3.3.1", + "magic-string": "0.30.11", + "mini-css-extract-plugin": "2.9.0", "mrmime": "2.0.0", - "open": "8.4.2", + "open": "10.1.0", "ora": "5.4.1", "parse5-html-rewriting-stream": "7.0.0", - "picomatch": "4.0.1", - "piscina": "4.4.0", - "postcss": "8.4.35", + "picomatch": "4.0.2", + "piscina": "4.6.1", + "postcss": "8.4.41", "postcss-loader": "8.1.1", "resolve-url-loader": "5.0.0", "rxjs": "7.8.1", - "sass": "1.71.1", - "sass-loader": "14.1.1", - "semver": "7.6.0", + "sass": "1.77.8", + "sass-loader": "16.0.0", + "semver": "7.6.3", "source-map-loader": "5.0.0", "source-map-support": "0.5.21", - "terser": "5.29.1", + "terser": "5.31.6", "tree-kill": "1.2.2", - "tslib": "2.6.2", - "undici": "6.11.1", - "vite": "5.1.7", - "watchpack": "2.4.0", - "webpack": "5.90.3", - "webpack-dev-middleware": "6.1.2", - "webpack-dev-server": "4.15.1", - "webpack-merge": "5.10.0", + "tslib": "2.6.3", + "vite": "5.4.0", + "watchpack": "2.4.1", + "webpack": "5.93.0", + "webpack-dev-middleware": "7.3.0", + "webpack-dev-server": "5.0.4", + "webpack-merge": "6.0.1", "webpack-subresource-integrity": "5.1.0" }, "engines": { - "node": "^18.13.0 || >=20.9.0", + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, "optionalDependencies": { - "esbuild": "0.20.1" + "esbuild": "0.23.0" }, "peerDependencies": { - "@angular/compiler-cli": "^17.0.0", - "@angular/localize": "^17.0.0", - "@angular/platform-server": "^17.0.0", - "@angular/service-worker": "^17.0.0", + "@angular/compiler-cli": "^18.0.0", + "@angular/localize": "^18.0.0", + "@angular/platform-server": "^18.0.0", + "@angular/service-worker": "^18.0.0", "@web/test-runner": "^0.18.0", "browser-sync": "^3.0.2", "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "karma": "^6.3.0", - "ng-packagr": "^17.0.0", + "ng-packagr": "^18.0.0", "protractor": "^7.0.0", "tailwindcss": "^2.0.0 || ^3.0.0", - "typescript": ">=5.2 <5.5" + "typescript": ">=5.4 <5.6" }, "peerDependenciesMeta": { "@angular/localize": { @@ -193,46 +192,68 @@ } } }, - "node_modules/@angular-devkit/build-angular/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true + "node_modules/@angular-devkit/build-angular/node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1703.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1703.8.tgz", - "integrity": "sha512-9u6fl8VVOxcLOEMzrUeaybSvi9hSLSRucHnybneYrabsgreDo32tuy/4G8p6YAHQjpWEj9jvF9Um13ertdni5Q==", + "version": "0.1802.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1802.0.tgz", + "integrity": "sha512-bU7AxlI/avnlOLrgE195cokrOA1ayT6JjRv8Hxzh1bIOa1jE87HsyjxvQhOLcdEb97zwHqMqbntcgUNBgsegJQ==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1703.8", + "@angular-devkit/architect": "0.1802.0", "rxjs": "7.8.1" }, "engines": { - "node": "^18.13.0 || >=20.9.0", + "node": "^18.19.1 || ^20.11.1 || >=22.0.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" + "webpack-dev-server": "^5.0.2" } }, "node_modules/@angular-devkit/core": { - "version": "17.3.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.3.8.tgz", - "integrity": "sha512-Q8q0voCGudbdCgJ7lXdnyaxKHbNQBARH68zPQV72WT8NWy+Gw/tys870i6L58NWbBaCJEUcIj/kb6KoakSRu+Q==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.0.tgz", + "integrity": "sha512-8SOopyUKUMqAq2rj32XkTIfr79Y274k4uglxxRtzHYoWwHlLdG0KrA+wCcsh/FU9PyR4dA+5dcDAApn358ZF+Q==", "dev": true, "dependencies": { - "ajv": "8.12.0", - "ajv-formats": "2.1.1", - "jsonc-parser": "3.2.1", - "picomatch": "4.0.1", + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.2", "rxjs": "7.8.1", "source-map": "0.7.4" }, "engines": { - "node": "^18.13.0 || >=20.9.0", + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, @@ -245,36 +266,133 @@ } } }, + "node_modules/@angular-devkit/core/node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, "node_modules/@angular-devkit/schematics": { - "version": "17.3.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.3.8.tgz", - "integrity": "sha512-QRVEYpIfgkprNHc916JlPuNbLzOgrm9DZalHasnLUz4P6g7pR21olb8YCyM2OTJjombNhya9ZpckcADU5Qyvlg==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-18.2.0.tgz", + "integrity": "sha512-WWKwz2RKMVI6T25JFwOSSfRLB+anNzabVIRwf85R/YMIo34BUk777f2JU/7cCKlxSpQu39TqIfMQZAyzAD1z0A==", "dev": true, "dependencies": { - "@angular-devkit/core": "17.3.8", - "jsonc-parser": "3.2.1", - "magic-string": "0.30.8", + "@angular-devkit/core": "18.2.0", + "jsonc-parser": "3.3.1", + "magic-string": "0.30.11", "ora": "5.4.1", "rxjs": "7.8.1" }, "engines": { - "node": "^18.13.0 || >=20.9.0", + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } }, "node_modules/@angular/animations": { - "version": "17.3.12", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-17.3.12.tgz", - "integrity": "sha512-9hsdWF4gRRcVJtPcCcYLaX1CIyM9wUu6r+xRl6zU5hq8qhl35hig6ounz7CXFAzLf0WDBdM16bPHouVGaG76lg==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.2.0.tgz", + "integrity": "sha512-BFAfqDDjsa0Q91F4s33pFcBG+ydFDurEmwYGG1gmO7UXZJI6ZbRVdULaZHz75M+Bf3hJkzVB05pesvfbK+Fg/g==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.13.0 || >=20.9.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "@angular/core": "18.2.0" + } + }, + "node_modules/@angular/build": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-18.2.0.tgz", + "integrity": "sha512-LvNJ2VOEVy3N1tGzt+xnKyweRBuUE1NsnuEEWAb9Y+V1cyRgj0s7FX2+IQZZQhP+W/pXfbsKaByOAbJ5KWV85Q==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "2.3.0", + "@angular-devkit/architect": "0.1802.0", + "@babel/core": "7.25.2", + "@babel/helper-annotate-as-pure": "7.24.7", + "@babel/helper-split-export-declaration": "7.24.7", + "@babel/plugin-syntax-import-attributes": "7.24.7", + "@inquirer/confirm": "3.1.22", + "@vitejs/plugin-basic-ssl": "1.1.0", + "browserslist": "^4.23.0", + "critters": "0.0.24", + "esbuild": "0.23.0", + "fast-glob": "3.3.2", + "https-proxy-agent": "7.0.5", + "listr2": "8.2.4", + "lmdb": "3.0.13", + "magic-string": "0.30.11", + "mrmime": "2.0.0", + "parse5-html-rewriting-stream": "7.0.0", + "picomatch": "4.0.2", + "piscina": "4.6.1", + "rollup": "4.20.0", + "sass": "1.77.8", + "semver": "7.6.3", + "vite": "5.4.0", + "watchpack": "2.4.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" }, "peerDependencies": { - "@angular/core": "17.3.12" + "@angular/compiler-cli": "^18.0.0", + "@angular/localize": "^18.0.0", + "@angular/platform-server": "^18.0.0", + "@angular/service-worker": "^18.0.0", + "less": "^4.2.0", + "postcss": "^8.4.0", + "tailwindcss": "^2.0.0 || ^3.0.0", + "typescript": ">=5.4 <5.6" + }, + "peerDependenciesMeta": { + "@angular/localize": { + "optional": true + }, + "@angular/platform-server": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "less": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tailwindcss": { + "optional": true + } + } + }, + "node_modules/@angular/build/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/@angular/cdk": { @@ -294,27 +412,26 @@ } }, "node_modules/@angular/cli": { - "version": "17.3.8", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.3.8.tgz", - "integrity": "sha512-X5ZOQ6ZTKVHjhIsfl32ZRqbs+FUoeHLbT7x4fh2Os/8ObDDwrUcCJPqxe2b2RB5E2d0vepYigknHeLE7gwzlNQ==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-18.2.0.tgz", + "integrity": "sha512-hA60QIA7Dh8LQxM42wqd7WrhwQjbjB8oIRH5Slgbiv8iocAo76scp1/qyZo2SSzjfkB7jxUiao5L4ckiJ/hvZg==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1703.8", - "@angular-devkit/core": "17.3.8", - "@angular-devkit/schematics": "17.3.8", - "@schematics/angular": "17.3.8", + "@angular-devkit/architect": "0.1802.0", + "@angular-devkit/core": "18.2.0", + "@angular-devkit/schematics": "18.2.0", + "@inquirer/prompts": "5.3.8", + "@listr2/prompt-adapter-inquirer": "2.0.15", + "@schematics/angular": "18.2.0", "@yarnpkg/lockfile": "1.1.0", - "ansi-colors": "4.1.3", - "ini": "4.1.2", - "inquirer": "9.2.15", - "jsonc-parser": "3.2.1", - "npm-package-arg": "11.0.1", - "npm-pick-manifest": "9.0.0", - "open": "8.4.2", - "ora": "5.4.1", - "pacote": "17.0.6", + "ini": "4.1.3", + "jsonc-parser": "3.3.1", + "listr2": "8.2.4", + "npm-package-arg": "11.0.3", + "npm-pick-manifest": "9.1.0", + "pacote": "18.0.6", "resolve": "1.22.8", - "semver": "7.6.0", + "semver": "7.6.3", "symbol-observable": "4.0.0", "yargs": "17.7.2" }, @@ -322,38 +439,50 @@ "ng": "bin/ng.js" }, "engines": { - "node": "^18.13.0 || >=20.9.0", + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } }, + "node_modules/@angular/cli/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@angular/common": { - "version": "17.3.12", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-17.3.12.tgz", - "integrity": "sha512-vabJzvrx76XXFrm1RJZ6o/CyG32piTB/1sfFfKHdlH1QrmArb8It4gyk9oEjZ1IkAD0HvBWlfWmn+T6Vx3pdUw==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.0.tgz", + "integrity": "sha512-DELx/QYNqqjmiM+kE5PoVmyG4gPw5WB1bDDeg3hEuBCK3eS2KosgQH0/MQo3OSBZHOcAMFjfHMGqKgxndmYixQ==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.13.0 || >=20.9.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "17.3.12", + "@angular/core": "18.2.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "17.3.12", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-17.3.12.tgz", - "integrity": "sha512-vwI8oOL/gM+wPnptOVeBbMfZYwzRxQsovojZf+Zol9szl0k3SZ3FycWlxxXZGFu3VIEfrP6pXplTmyODS/Lt1w==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.2.0.tgz", + "integrity": "sha512-RmGwQ7jRzotUKKMk0CwxTcIXFr5mRxSbJf9o5S3ujuIOo1lYop8SQZvjq67a5BuoYyD+1pX6iMmxZqlbKoihBQ==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.13.0 || >=20.9.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "17.3.12" + "@angular/core": "18.2.0" }, "peerDependenciesMeta": { "@angular/core": { @@ -362,12 +491,12 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "17.3.12", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-17.3.12.tgz", - "integrity": "sha512-1F8M7nWfChzurb7obbvuE7mJXlHtY1UG58pcwcomVtpPb+kPavgAO8OEvJHYBMV+bzSxkXt5UIwL9lt9jHUxZA==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.2.0.tgz", + "integrity": "sha512-pPBFjMqNTNettrleLtEc6a/ysOZjG3F0Z5lyKYePcyNQmn2rpa9XmD2y6PhmzTmIhxeXrogWA84Xgg/vK5wBNw==", "dev": true, "dependencies": { - "@babel/core": "7.23.9", + "@babel/core": "7.25.2", "@jridgewell/sourcemap-codec": "^1.4.14", "chokidar": "^3.0.0", "convert-source-map": "^1.5.1", @@ -382,87 +511,42 @@ "ngcc": "bundles/ngcc/index.js" }, "engines": { - "node": "^18.13.0 || >=20.9.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/compiler": "17.3.12", - "typescript": ">=5.2 <5.5" - } - }, - "node_modules/@angular/compiler-cli/node_modules/@babel/core": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.9.tgz", - "integrity": "sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.9", - "@babel/parser": "^7.23.9", - "@babel/template": "^7.23.9", - "@babel/traverse": "^7.23.9", - "@babel/types": "^7.23.9", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "@angular/compiler": "18.2.0", + "typescript": ">=5.4 <5.6" } }, "node_modules/@angular/core": { - "version": "17.3.12", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-17.3.12.tgz", - "integrity": "sha512-MuFt5yKi161JmauUta4Dh0m8ofwoq6Ino+KoOtkYMBGsSx+A7dSm+DUxxNwdj7+DNyg3LjVGCFgBFnq4g8z06A==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.0.tgz", + "integrity": "sha512-7+4wXfeAk1TnG3MGho2gpBI5XHxeSRWzLK2rC5qyyRbmMV+GrIgf1HqFjQ4S02rydkQvGpjqQHtO1PYJnyn4bg==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.13.0 || >=20.9.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { "rxjs": "^6.5.3 || ^7.4.0", - "zone.js": "~0.14.0" + "zone.js": "~0.14.10" } }, "node_modules/@angular/forms": { - "version": "17.3.12", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-17.3.12.tgz", - "integrity": "sha512-tV6r12Q3yEUlXwpVko4E+XscunTIpPkLbaiDn/MTL3Vxi2LZnsLgHyd/i38HaHN+e/H3B0a1ToSOhV5wf3ay4Q==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.2.0.tgz", + "integrity": "sha512-G+4BjNCUo4cRwg9NwisGLbtG/1AbIJNOO3RUejPJJbCcAkYMSzmDWSQ+LQEGW4vC/1xaDKO8AT71DI/I09bOxA==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.13.0 || >=20.9.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "17.3.12", - "@angular/core": "17.3.12", - "@angular/platform-browser": "17.3.12", + "@angular/common": "18.2.0", + "@angular/core": "18.2.0", + "@angular/platform-browser": "18.2.0", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -531,19 +615,19 @@ } }, "node_modules/@angular/platform-browser": { - "version": "17.3.12", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-17.3.12.tgz", - "integrity": "sha512-DYY04ptWh/ulMHzd+y52WCE8QnEYGeIiW3hEIFjCN8z0kbIdFdUtEB0IK5vjNL3ejyhUmphcpeT5PYf3YXtqWQ==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.2.0.tgz", + "integrity": "sha512-yhj281TuPz5a8CehwucwIVl29Oqte9KS4X/VQkMV++GpYQE2KKKcoff4FXSdF5RUcUYkK2li4IvawIqPmUSagg==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.13.0 || >=20.9.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/animations": "17.3.12", - "@angular/common": "17.3.12", - "@angular/core": "17.3.12" + "@angular/animations": "18.2.0", + "@angular/common": "18.2.0", + "@angular/core": "18.2.0" }, "peerDependenciesMeta": { "@angular/animations": { @@ -552,36 +636,36 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "17.3.12", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-17.3.12.tgz", - "integrity": "sha512-DQwV7B2x/DRLRDSisngZRdLqHdYbbrqZv2Hmu4ZbnNYaWPC8qvzgE/0CvY+UkDat3nCcsfwsMnlDeB6TL7/IaA==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.2.0.tgz", + "integrity": "sha512-izfaXKNC/kqOEzJG8eTnFu39VLI3vv3dTKoYOdEKRB7MTI0t0x66oZmABnHcihtkTSvXs/is+7lA5HmH2ZuIEQ==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.13.0 || >=20.9.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "17.3.12", - "@angular/compiler": "17.3.12", - "@angular/core": "17.3.12", - "@angular/platform-browser": "17.3.12" + "@angular/common": "18.2.0", + "@angular/compiler": "18.2.0", + "@angular/core": "18.2.0", + "@angular/platform-browser": "18.2.0" } }, "node_modules/@angular/router": { - "version": "17.3.12", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-17.3.12.tgz", - "integrity": "sha512-dg7PHBSW9fmPKTVzwvHEeHZPZdpnUqW/U7kj8D29HTP9ur8zZnx9QcnbplwPeYb8yYa62JMnZSEel2X4PxdYBg==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.2.0.tgz", + "integrity": "sha512-6/462hvC3HSwbps8VItECHpkdkiFqRmTKdn1Trik+FjnvdupYrKB6kBsveM3eP+gZD4zyMBMKzBWB9N/xA1clw==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.13.0 || >=20.9.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "17.3.12", - "@angular/core": "17.3.12", - "@angular/platform-browser": "17.3.12", + "@angular/common": "18.2.0", + "@angular/core": "18.2.0", + "@angular/platform-browser": "18.2.0", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -608,21 +692,21 @@ } }, "node_modules/@babel/core": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz", - "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.24.0", - "@babel/parser": "^7.24.0", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.0", - "@babel/types": "^7.24.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -653,14 +737,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", + "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", "dev": true, "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", + "@babel/types": "^7.25.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" }, "engines": { @@ -668,12 +752,12 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -738,18 +822,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", - "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -776,18 +848,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", - "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -813,18 +873,6 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", - "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", @@ -907,18 +955,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-remap-async-to-generator/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", - "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-replace-supers": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", @@ -963,12 +999,12 @@ } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1058,6 +1094,37 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", + "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", + "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", @@ -1369,15 +1436,15 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", - "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz", + "integrity": "sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-remap-async-to-generator": "^7.25.0", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -1387,14 +1454,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", - "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", + "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20" + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1486,18 +1553,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", - "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/plugin-transform-computed-properties": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", @@ -1560,6 +1615,22 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", + "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-transform-dynamic-import": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", @@ -1949,18 +2020,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-private-property-in-object/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", - "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/plugin-transform-property-literals": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", @@ -2008,16 +2067,16 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.0.tgz", - "integrity": "sha512-zc0GA5IitLKJrSfXlXmp8KDqLrnGECK7YRfQBmEKg1NmBOQ7e+KuclBEKJgzifQeUYLdNiAw4B4bjyvzWVLiSA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.7.tgz", + "integrity": "sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0", - "babel-plugin-polyfill-corejs2": "^0.4.8", - "babel-plugin-polyfill-corejs3": "^0.9.0", - "babel-plugin-polyfill-regenerator": "^0.5.5", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.1", + "babel-plugin-polyfill-regenerator": "^0.6.1", "semver": "^6.3.1" }, "engines": { @@ -2176,26 +2235,28 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.0.tgz", - "integrity": "sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.3.tgz", + "integrity": "sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.23.3", - "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-assertions": "^7.24.7", + "@babel/plugin-syntax-import-attributes": "^7.24.7", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", @@ -2207,59 +2268,60 @@ "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.23.3", - "@babel/plugin-transform-async-generator-functions": "^7.23.9", - "@babel/plugin-transform-async-to-generator": "^7.23.3", - "@babel/plugin-transform-block-scoped-functions": "^7.23.3", - "@babel/plugin-transform-block-scoping": "^7.23.4", - "@babel/plugin-transform-class-properties": "^7.23.3", - "@babel/plugin-transform-class-static-block": "^7.23.4", - "@babel/plugin-transform-classes": "^7.23.8", - "@babel/plugin-transform-computed-properties": "^7.23.3", - "@babel/plugin-transform-destructuring": "^7.23.3", - "@babel/plugin-transform-dotall-regex": "^7.23.3", - "@babel/plugin-transform-duplicate-keys": "^7.23.3", - "@babel/plugin-transform-dynamic-import": "^7.23.4", - "@babel/plugin-transform-exponentiation-operator": "^7.23.3", - "@babel/plugin-transform-export-namespace-from": "^7.23.4", - "@babel/plugin-transform-for-of": "^7.23.6", - "@babel/plugin-transform-function-name": "^7.23.3", - "@babel/plugin-transform-json-strings": "^7.23.4", - "@babel/plugin-transform-literals": "^7.23.3", - "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", - "@babel/plugin-transform-member-expression-literals": "^7.23.3", - "@babel/plugin-transform-modules-amd": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-modules-systemjs": "^7.23.9", - "@babel/plugin-transform-modules-umd": "^7.23.3", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.23.3", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", - "@babel/plugin-transform-numeric-separator": "^7.23.4", - "@babel/plugin-transform-object-rest-spread": "^7.24.0", - "@babel/plugin-transform-object-super": "^7.23.3", - "@babel/plugin-transform-optional-catch-binding": "^7.23.4", - "@babel/plugin-transform-optional-chaining": "^7.23.4", - "@babel/plugin-transform-parameters": "^7.23.3", - "@babel/plugin-transform-private-methods": "^7.23.3", - "@babel/plugin-transform-private-property-in-object": "^7.23.4", - "@babel/plugin-transform-property-literals": "^7.23.3", - "@babel/plugin-transform-regenerator": "^7.23.3", - "@babel/plugin-transform-reserved-words": "^7.23.3", - "@babel/plugin-transform-shorthand-properties": "^7.23.3", - "@babel/plugin-transform-spread": "^7.23.3", - "@babel/plugin-transform-sticky-regex": "^7.23.3", - "@babel/plugin-transform-template-literals": "^7.23.3", - "@babel/plugin-transform-typeof-symbol": "^7.23.3", - "@babel/plugin-transform-unicode-escapes": "^7.23.3", - "@babel/plugin-transform-unicode-property-regex": "^7.23.3", - "@babel/plugin-transform-unicode-regex": "^7.23.3", - "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.0", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.24.7", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.25.0", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.25.1", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.25.2", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-modules-systemjs": "^7.25.0", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.8", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.8", - "babel-plugin-polyfill-corejs3": "^0.9.0", - "babel-plugin-polyfill-regenerator": "^0.5.5", - "core-js-compat": "^3.31.0", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.37.1", "semver": "^6.3.1" }, "engines": { @@ -2299,9 +2361,9 @@ "dev": true }, "node_modules/@babel/runtime": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz", - "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz", + "integrity": "sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==", "dev": true, "dependencies": { "regenerator-runtime": "^0.14.0" @@ -2342,21 +2404,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/@babel/generator": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", - "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.25.0", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/types": { "version": "7.25.2", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", @@ -2381,18 +2428,18 @@ } }, "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.1.tgz", + "integrity": "sha512-boghen8F0Q8D+0/Q1/1r6DUEieUJ8w2a1gIknExMSHBsJFOr2+0KUfHiVYBvucPwl3+RU5PFBK833FjFCh3BhA==", "dev": true, "engines": { - "node": ">=10.0.0" + "node": ">=14.17.0" } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.1.tgz", - "integrity": "sha512-m55cpeupQ2DbuRGQMMZDzbv9J9PgVelPjlcmM5kxHnrBdBx6REaEd7LamYV7Dm8N7rCyR/XwU6rVP8ploKtIkA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.0.tgz", + "integrity": "sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==", "cpu": [ "ppc64" ], @@ -2402,13 +2449,13 @@ "aix" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.1.tgz", - "integrity": "sha512-4j0+G27/2ZXGWR5okcJi7pQYhmkVgb4D7UKwxcqrjhvp5TKWx3cUjgB1CGj1mfdmJBQ9VnUGgUhign+FPF2Zgw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.0.tgz", + "integrity": "sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==", "cpu": [ "arm" ], @@ -2418,13 +2465,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.1.tgz", - "integrity": "sha512-hCnXNF0HM6AjowP+Zou0ZJMWWa1VkD77BXe959zERgGJBBxB+sV+J9f/rcjeg2c5bsukD/n17RKWXGFCO5dD5A==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.0.tgz", + "integrity": "sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==", "cpu": [ "arm64" ], @@ -2434,13 +2481,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-x64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.1.tgz", - "integrity": "sha512-MSfZMBoAsnhpS+2yMFYIQUPs8Z19ajwfuaSZx+tSl09xrHZCjbeXXMsUF/0oq7ojxYEpsSo4c0SfjxOYXRbpaA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.0.tgz", + "integrity": "sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==", "cpu": [ "x64" ], @@ -2450,13 +2497,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.1.tgz", - "integrity": "sha512-Ylk6rzgMD8klUklGPzS414UQLa5NPXZD5tf8JmQU8GQrj6BrFA/Ic9tb2zRe1kOZyCbGl+e8VMbDRazCEBqPvA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.0.tgz", + "integrity": "sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==", "cpu": [ "arm64" ], @@ -2466,13 +2513,13 @@ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.1.tgz", - "integrity": "sha512-pFIfj7U2w5sMp52wTY1XVOdoxw+GDwy9FsK3OFz4BpMAjvZVs0dT1VXs8aQm22nhwoIWUmIRaE+4xow8xfIDZA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.0.tgz", + "integrity": "sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==", "cpu": [ "x64" ], @@ -2482,13 +2529,13 @@ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.1.tgz", - "integrity": "sha512-UyW1WZvHDuM4xDz0jWun4qtQFauNdXjXOtIy7SYdf7pbxSWWVlqhnR/T2TpX6LX5NI62spt0a3ldIIEkPM6RHw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.0.tgz", + "integrity": "sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==", "cpu": [ "arm64" ], @@ -2498,13 +2545,13 @@ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.1.tgz", - "integrity": "sha512-itPwCw5C+Jh/c624vcDd9kRCCZVpzpQn8dtwoYIt2TJF3S9xJLiRohnnNrKwREvcZYx0n8sCSbvGH349XkcQeg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.0.tgz", + "integrity": "sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==", "cpu": [ "x64" ], @@ -2514,13 +2561,13 @@ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.1.tgz", - "integrity": "sha512-LojC28v3+IhIbfQ+Vu4Ut5n3wKcgTu6POKIHN9Wpt0HnfgUGlBuyDDQR4jWZUZFyYLiz4RBBBmfU6sNfn6RhLw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.0.tgz", + "integrity": "sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==", "cpu": [ "arm" ], @@ -2530,13 +2577,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.1.tgz", - "integrity": "sha512-cX8WdlF6Cnvw/DO9/X7XLH2J6CkBnz7Twjpk56cshk9sjYVcuh4sXQBy5bmTwzBjNVZze2yaV1vtcJS04LbN8w==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.0.tgz", + "integrity": "sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==", "cpu": [ "arm64" ], @@ -2546,13 +2593,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.1.tgz", - "integrity": "sha512-4H/sQCy1mnnGkUt/xszaLlYJVTz3W9ep52xEefGtd6yXDQbz/5fZE5dFLUgsPdbUOQANcVUa5iO6g3nyy5BJiw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.0.tgz", + "integrity": "sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==", "cpu": [ "ia32" ], @@ -2562,13 +2609,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.1.tgz", - "integrity": "sha512-c0jgtB+sRHCciVXlyjDcWb2FUuzlGVRwGXgI+3WqKOIuoo8AmZAddzeOHeYLtD+dmtHw3B4Xo9wAUdjlfW5yYA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.0.tgz", + "integrity": "sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==", "cpu": [ "loong64" ], @@ -2578,13 +2625,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.1.tgz", - "integrity": "sha512-TgFyCfIxSujyuqdZKDZ3yTwWiGv+KnlOeXXitCQ+trDODJ+ZtGOzLkSWngynP0HZnTsDyBbPy7GWVXWaEl6lhA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.0.tgz", + "integrity": "sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==", "cpu": [ "mips64el" ], @@ -2594,13 +2641,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.1.tgz", - "integrity": "sha512-b+yuD1IUeL+Y93PmFZDZFIElwbmFfIKLKlYI8M6tRyzE6u7oEP7onGk0vZRh8wfVGC2dZoy0EqX1V8qok4qHaw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.0.tgz", + "integrity": "sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==", "cpu": [ "ppc64" ], @@ -2610,13 +2657,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.1.tgz", - "integrity": "sha512-wpDlpE0oRKZwX+GfomcALcouqjjV8MIX8DyTrxfyCfXxoKQSDm45CZr9fanJ4F6ckD4yDEPT98SrjvLwIqUCgg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.0.tgz", + "integrity": "sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==", "cpu": [ "riscv64" ], @@ -2626,13 +2673,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.1.tgz", - "integrity": "sha512-5BepC2Au80EohQ2dBpyTquqGCES7++p7G+7lXe1bAIvMdXm4YYcEfZtQrP4gaoZ96Wv1Ute61CEHFU7h4FMueQ==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.0.tgz", + "integrity": "sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==", "cpu": [ "s390x" ], @@ -2642,13 +2689,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-x64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.1.tgz", - "integrity": "sha512-5gRPk7pKuaIB+tmH+yKd2aQTRpqlf1E4f/mC+tawIm/CGJemZcHZpp2ic8oD83nKgUPMEd0fNanrnFljiruuyA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.0.tgz", + "integrity": "sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==", "cpu": [ "x64" ], @@ -2658,13 +2705,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.1.tgz", - "integrity": "sha512-4fL68JdrLV2nVW2AaWZBv3XEm3Ae3NZn/7qy2KGAt3dexAgSVT+Hc97JKSZnqezgMlv9x6KV0ZkZY7UO5cNLCg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.0.tgz", + "integrity": "sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==", "cpu": [ "x64" ], @@ -2674,13 +2721,29 @@ "netbsd" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.0.tgz", + "integrity": "sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.1.tgz", - "integrity": "sha512-GhRuXlvRE+twf2ES+8REbeCb/zeikNqwD3+6S5y5/x+DYbAQUNl0HNBs4RQJqrechS4v4MruEr8ZtAin/hK5iw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.0.tgz", + "integrity": "sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==", "cpu": [ "x64" ], @@ -2690,13 +2753,13 @@ "openbsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.1.tgz", - "integrity": "sha512-ZnWEyCM0G1Ex6JtsygvC3KUUrlDXqOihw8RicRuQAzw+c4f1D66YlPNNV3rkjVW90zXVsHwZYWbJh3v+oQFM9Q==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.0.tgz", + "integrity": "sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==", "cpu": [ "x64" ], @@ -2706,13 +2769,13 @@ "sunos" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.1.tgz", - "integrity": "sha512-QZ6gXue0vVQY2Oon9WyLFCdSuYbXSoxaZrPuJ4c20j6ICedfsDilNPYfHLlMH7vGfU5DQR0czHLmJvH4Nzis/A==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.0.tgz", + "integrity": "sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==", "cpu": [ "arm64" ], @@ -2722,13 +2785,13 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.1.tgz", - "integrity": "sha512-HzcJa1NcSWTAU0MJIxOho8JftNp9YALui3o+Ny7hCh0v5f90nprly1U3Sj1Ldj/CvKKdvvFsCRvDkpsEMp4DNw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.0.tgz", + "integrity": "sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==", "cpu": [ "ia32" ], @@ -2738,13 +2801,13 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-x64": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.1.tgz", - "integrity": "sha512-0MBh53o6XtI6ctDnRMeQ+xoCN8kD2qI1rY1KgF/xdWQwoFeKou7puvDfV8/Wv4Ctx2rRpET/gGdz3YlNtNACSA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.0.tgz", + "integrity": "sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==", "cpu": [ "x64" ], @@ -2754,7 +2817,227 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/@inquirer/checkbox": { + "version": "2.4.7", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-2.4.7.tgz", + "integrity": "sha512-5YwCySyV1UEgqzz34gNsC38eKxRBtlRDpJLlKcRtTjlYA/yDKuc1rfw+hjw+2WJxbAZtaDPsRl5Zk7J14SBoBw==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.0.10", + "@inquirer/figures": "^1.0.5", + "@inquirer/type": "^1.5.2", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/confirm": { + "version": "3.1.22", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.1.22.tgz", + "integrity": "sha512-gsAKIOWBm2Q87CDfs9fEo7wJT3fwWIJfnDGMn9Qy74gBnNFOACDNfhUzovubbJjWnKLGBln7/NcSmZwj5DuEXg==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.0.10", + "@inquirer/type": "^1.5.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/core": { + "version": "9.0.10", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.0.10.tgz", + "integrity": "sha512-TdESOKSVwf6+YWDz8GhS6nKscwzkIyakEzCLJ5Vh6O3Co2ClhCJ0A4MG909MUWfaWdpJm7DE45ii51/2Kat9tA==", + "dev": true, + "dependencies": { + "@inquirer/figures": "^1.0.5", + "@inquirer/type": "^1.5.2", + "@types/mute-stream": "^0.0.4", + "@types/node": "^22.1.0", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "cli-spinners": "^2.9.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/core/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@inquirer/editor": { + "version": "2.1.22", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-2.1.22.tgz", + "integrity": "sha512-K1QwTu7GCK+nKOVRBp5HY9jt3DXOfPGPr6WRDrPImkcJRelG9UTx2cAtK1liXmibRrzJlTWOwqgWT3k2XnS62w==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.0.10", + "@inquirer/type": "^1.5.2", + "external-editor": "^3.1.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/expand": { + "version": "2.1.22", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-2.1.22.tgz", + "integrity": "sha512-wTZOBkzH+ItPuZ3ZPa9lynBsdMp6kQ9zbjVPYEtSBG7UulGjg2kQiAnUjgyG4SlntpTce5bOmXAPvE4sguXjpA==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.0.10", + "@inquirer/type": "^1.5.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/figures": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.5.tgz", + "integrity": "sha512-79hP/VWdZ2UVc9bFGJnoQ/lQMpL74mGgzSYX1xUqCVk7/v73vJCMw1VuyWN1jGkZ9B3z7THAbySqGbCNefcjfA==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/input": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-2.2.9.tgz", + "integrity": "sha512-7Z6N+uzkWM7+xsE+3rJdhdG/+mQgejOVqspoW+w0AbSZnL6nq5tGMEVASaYVWbkoSzecABWwmludO2evU3d31g==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.0.10", + "@inquirer/type": "^1.5.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/number": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-1.0.10.tgz", + "integrity": "sha512-kWTxRF8zHjQOn2TJs+XttLioBih6bdc5CcosXIzZsrTY383PXI35DuhIllZKu7CdXFi2rz2BWPN9l0dPsvrQOA==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.0.10", + "@inquirer/type": "^1.5.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/password": { + "version": "2.1.22", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-2.1.22.tgz", + "integrity": "sha512-5Fxt1L9vh3rAKqjYwqsjU4DZsEvY/2Gll+QkqR4yEpy6wvzLxdSgFhUcxfDAOtO4BEoTreWoznC0phagwLU5Kw==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.0.10", + "@inquirer/type": "^1.5.2", + "ansi-escapes": "^4.3.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/prompts": { + "version": "5.3.8", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-5.3.8.tgz", + "integrity": "sha512-b2BudQY/Si4Y2a0PdZZL6BeJtl8llgeZa7U2j47aaJSCeAl1e4UI7y8a9bSkO3o/ZbZrgT5muy/34JbsjfIWxA==", + "dev": true, + "dependencies": { + "@inquirer/checkbox": "^2.4.7", + "@inquirer/confirm": "^3.1.22", + "@inquirer/editor": "^2.1.22", + "@inquirer/expand": "^2.1.22", + "@inquirer/input": "^2.2.9", + "@inquirer/number": "^1.0.10", + "@inquirer/password": "^2.1.22", + "@inquirer/rawlist": "^2.2.4", + "@inquirer/search": "^1.0.7", + "@inquirer/select": "^2.4.7" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/rawlist": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-2.2.4.tgz", + "integrity": "sha512-pb6w9pWrm7EfnYDgQObOurh2d2YH07+eDo3xQBsNAM2GRhliz6wFXGi1thKQ4bN6B0xDd6C3tBsjdr3obsCl3Q==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.0.10", + "@inquirer/type": "^1.5.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/search": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-1.0.7.tgz", + "integrity": "sha512-p1wpV+3gd1eST/o5N3yQpYEdFNCzSP0Klrl+5bfD3cTTz8BGG6nf4Z07aBW0xjlKIj1Rp0y3x/X4cZYi6TfcLw==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.0.10", + "@inquirer/figures": "^1.0.5", + "@inquirer/type": "^1.5.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/select": { + "version": "2.4.7", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-2.4.7.tgz", + "integrity": "sha512-JH7XqPEkBpNWp3gPCqWqY8ECbyMoFcCZANlL6pV9hf59qK6dGmkOlx1ydyhY+KZ0c5X74+W6Mtp+nm2QX0/MAQ==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.0.10", + "@inquirer/figures": "^1.0.5", + "@inquirer/type": "^1.5.2", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/type": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.5.2.tgz", + "integrity": "sha512-w9qFkumYDCNyDZmNQjf/n6qQuvQ4dMC3BJesY4oF+yr0CxR5vxujflAVeIcS6U336uzi9GM0kAfZlLrZ9UTkpA==", + "dev": true, + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": ">=18" } }, "node_modules/@isaacs/cliui": { @@ -2853,22 +3136,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", @@ -2936,24 +3203,159 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@jsonjoy.com/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", + "dev": true, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pack": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.1.0.tgz", + "integrity": "sha512-zlQONA+msXPPwHWZMKFVS78ewFczIll5lXiVPwFPCZUsrOKdxc2AvxU1HoNBmMRhqDZUR9HkC3UOm+6pME6Xsg==", + "dev": true, + "dependencies": { + "@jsonjoy.com/base64": "^1.1.1", + "@jsonjoy.com/util": "^1.1.2", + "hyperdyperid": "^1.2.0", + "thingies": "^1.20.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/util": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.3.0.tgz", + "integrity": "sha512-Cebt4Vk7k1xHy87kHY7KSPLT77A7Ev7IfOblyLZhtYEhrdQ6fX4EoLq3xOQ3O/DRMEh2ok5nyC180E+ABS8Wmw==", + "dev": true, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, "node_modules/@leichtgewicht/ip-codec": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", "dev": true }, - "node_modules/@ljharb/through": { - "version": "2.3.13", - "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.13.tgz", - "integrity": "sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==", + "node_modules/@listr2/prompt-adapter-inquirer": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.15.tgz", + "integrity": "sha512-MZrGem/Ujjd4cPTLYDfCZK2iKKeiO/8OX13S6jqxldLs0Prf2aGqVlJ77nMBqMv7fzqgXEgjrNHLXcKR8l9lOg==", "dev": true, "dependencies": { - "call-bind": "^1.0.7" + "@inquirer/type": "^1.5.1" }, "engines": { - "node": ">= 0.4" + "node": ">=18.0.0" + }, + "peerDependencies": { + "@inquirer/prompts": ">= 3 < 6" } }, + "node_modules/@lmdb/lmdb-darwin-arm64": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.0.13.tgz", + "integrity": "sha512-uiKPB0Fv6WEEOZjruu9a6wnW/8jrjzlZbxXscMB8kuCJ1k6kHpcBnuvaAWcqhbI7rqX5GKziwWEdD+wi2gNLfA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-darwin-x64": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.0.13.tgz", + "integrity": "sha512-bEVIIfK5mSQoG1R19qA+fJOvCB+0wVGGnXHT3smchBVahYBdlPn2OsZZKzlHWfb1E+PhLBmYfqB5zQXFP7hJig==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.0.13.tgz", + "integrity": "sha512-Yml1KlMzOnXj/tnW7yX8U78iAzTk39aILYvCPbqeewAq1kSzl+w59k/fiVkTBfvDi/oW/5YRxL+Fq+Y1Fr1r2Q==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm64": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.0.13.tgz", + "integrity": "sha512-afbVrsMgZ9dUTNUchFpj5VkmJRxvht/u335jUJ7o23YTbNbnpmXif3VKQGCtnjSh+CZaqm6N3CPG8KO3zwyZ1Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-x64": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.0.13.tgz", + "integrity": "sha512-vOtxu0xC0SLdQ2WRXg8Qgd8T32ak4SPqk5zjItRszrJk2BdeXqfGxBJbP7o4aOvSPSmSSv46Lr1EP4HXU8v7Kg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-win32-x64": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.0.13.tgz", + "integrity": "sha512-UCrMJQY/gJnOl3XgbWRZZUvGGBuKy6i0YNSptgMzHBjs+QYDYR1Mt/RLTOPy4fzzves65O1EDmlL//OzEqoLlA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@material/animation": { "version": "15.0.0-canary.7f224ddd4.0", "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.7f224ddd4.0.tgz", @@ -3706,19 +4108,97 @@ "tslib": "^2.1.0" } }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", + "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", + "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", + "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", + "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", + "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", + "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@ngtools/webpack": { - "version": "17.3.8", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.3.8.tgz", - "integrity": "sha512-CjSVVa/9fzMpEDQP01SC4colKCbZwj7vUq0H2bivp8jVsmd21x9Fu0gDBH0Y9NdfAIm4eGZvmiZKMII3vIOaYQ==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-18.2.0.tgz", + "integrity": "sha512-a6hbkYzh/KUlI52huiU4vztqIuxzyddg6kJGcelUJx3Ju6MJeziu+XmJ6wqFRvfH89zmJeaSADKsGFQaBHtJLg==", "dev": true, "engines": { - "node": "^18.13.0 || >=20.9.0", + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, "peerDependencies": { - "@angular/compiler-cli": "^17.0.0", - "typescript": ">=5.2 <5.5", + "@angular/compiler-cli": "^18.0.0", + "typescript": ">=5.4 <5.6", "webpack": "^5.54.0" } }, @@ -3811,15 +4291,6 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/@npmcli/git/node_modules/ini": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", - "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/@npmcli/git/node_modules/isexe": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", @@ -3835,15 +4306,6 @@ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true }, - "node_modules/@npmcli/git/node_modules/proc-log": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", - "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/@npmcli/git/node_modules/which": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", @@ -3946,15 +4408,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@npmcli/package-json/node_modules/proc-log": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", - "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/@npmcli/promise-spawn": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.2.tgz", @@ -3992,24 +4445,25 @@ } }, "node_modules/@npmcli/redact": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-1.1.0.tgz", - "integrity": "sha512-PfnWuOkQgu7gCbnSsAisaX7hKOdZ4wSAhAzH3/ph5dSGau52kCRrMMGbiSQLwyTZpgldkZ49b0brkOr1AzGBHQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-2.0.1.tgz", + "integrity": "sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw==", "dev": true, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/@npmcli/run-script": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-7.0.4.tgz", - "integrity": "sha512-9ApYM/3+rBt9V80aYg6tZfzj3UWdiYyCt7gJUD1VJKvWF5nwKDSICXbYIQbspFTq6TOpbsEtIC0LArB8d9PFmg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-8.1.0.tgz", + "integrity": "sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==", "dev": true, "dependencies": { "@npmcli/node-gyp": "^3.0.0", "@npmcli/package-json": "^5.0.0", "@npmcli/promise-spawn": "^7.0.0", "node-gyp": "^10.0.0", + "proc-log": "^4.0.0", "which": "^4.0.0" }, "engines": { @@ -4259,17 +4713,17 @@ ] }, "node_modules/@schematics/angular": { - "version": "17.3.8", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-17.3.8.tgz", - "integrity": "sha512-2g4OmSyE9YGq50Uj7fNI26P/TSAFJ7ZuirwTF2O7Xc4XRQ29/tYIIqhezpNlTb6rlYblcQuMcUZBrMfWJHcqJw==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-18.2.0.tgz", + "integrity": "sha512-XePvx2ZnxCcAQw5lHVMUrJvm8MXqAWGcMyJDAuQUqNZrPCk3GpCaplWx2n+nPkinYVX2Q2v/DqtvWStQwgU4nA==", "dev": true, "dependencies": { - "@angular-devkit/core": "17.3.8", - "@angular-devkit/schematics": "17.3.8", - "jsonc-parser": "3.2.1" + "@angular-devkit/core": "18.2.0", + "@angular-devkit/schematics": "18.2.0", + "jsonc-parser": "3.3.1" }, "engines": { - "node": "^18.13.0 || >=20.9.0", + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } @@ -4321,15 +4775,6 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/@sigstore/sign/node_modules/proc-log": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", - "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/@sigstore/tuf": { "version": "2.3.4", "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.4.tgz", @@ -4357,6 +4802,18 @@ "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@socket.io/component-emitter": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", @@ -4545,6 +5002,15 @@ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", "dev": true }, + "node_modules/@types/mute-stream": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz", + "integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/node": { "version": "22.3.0", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.3.0.tgz", @@ -4576,9 +5042,9 @@ "dev": true }, "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", + "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", "dev": true }, "node_modules/@types/send": { @@ -4620,6 +5086,12 @@ "@types/node": "*" } }, + "node_modules/@types/wrap-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz", + "integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==", + "dev": true + }, "node_modules/@types/ws": { "version": "8.5.12", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", @@ -4839,10 +5311,10 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "dev": true, "peerDependencies": { "acorn": "^8" @@ -4901,15 +5373,15 @@ } }, "node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -5027,15 +5499,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -5043,9 +5506,9 @@ "dev": true }, "node_modules/autoprefixer": { - "version": "10.4.18", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.18.tgz", - "integrity": "sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==", + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", "dev": true, "funding": [ { @@ -5062,11 +5525,11 @@ } ], "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001591", + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -5096,22 +5559,6 @@ "webpack": ">=5" } }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/babel-plugin-polyfill-corejs2": { "version": "0.4.11", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", @@ -5136,57 +5583,25 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", - "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.5.0", - "core-js-compat": "^3.34.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs3/node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", - "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", - "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.5.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator/node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", - "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" + "@babel/helper-define-polyfill-provider": "^0.6.2" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -5398,12 +5813,27 @@ "ieee754": "^1.1.13" } }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", @@ -5514,15 +5944,6 @@ "node": ">=6" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/caniuse-lite": { "version": "1.0.30001651", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", @@ -5638,6 +6059,72 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "dev": true, + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/emoji-regex": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", + "dev": true + }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/cli-width": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", @@ -5927,20 +6414,20 @@ } }, "node_modules/copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-12.0.2.tgz", + "integrity": "sha512-SNwdBeHyII+rWvee/bTnAYyO8vfVdcSTud4EIb6jcZ8inLeWucJE0DnxXQBjlQ5zlteuuvooGQy3LIyGxhvlOA==", "dev": true, "dependencies": { - "fast-glob": "^3.2.11", + "fast-glob": "^3.3.2", "glob-parent": "^6.0.1", - "globby": "^13.1.1", + "globby": "^14.0.0", "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" + "schema-utils": "^4.2.0", + "serialize-javascript": "^6.0.2" }, "engines": { - "node": ">= 14.15.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", @@ -6039,9 +6526,9 @@ } }, "node_modules/critters": { - "version": "0.0.22", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.22.tgz", - "integrity": "sha512-NU7DEcQZM2Dy8XTKFHxtdnIM/drE312j2T4PCVaSUcS0oBeyT/NImpRw/Ap0zOr/1SE7SgPK9tGPg1WK/sVakw==", + "version": "0.0.24", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.24.tgz", + "integrity": "sha512-Oyqew0FGM0wYUSNqR0L6AteO5MpMoUU0rhKRieXeiKs+PmRTxiJMyaunYB2KF6fQ3dzChXKCpbFOEJx3OQ1v/Q==", "dev": true, "dependencies": { "chalk": "^4.1.0", @@ -6153,22 +6640,22 @@ } }, "node_modules/css-loader": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz", - "integrity": "sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", + "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==", "dev": true, "dependencies": { "icss-utils": "^5.1.0", "postcss": "^8.4.33", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.4", - "postcss-modules-scope": "^3.1.1", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", "semver": "^7.5.4" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", @@ -6176,7 +6663,7 @@ }, "peerDependencies": { "@rspack/core": "0.x || 1.x", - "webpack": "^5.0.0" + "webpack": "^5.27.0" }, "peerDependenciesMeta": { "@rspack/core": { @@ -6259,6 +6746,34 @@ } } }, + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "dev": true, + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/default-gateway": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", @@ -6301,12 +6816,15 @@ } }, "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/depd": { @@ -6328,6 +6846,15 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", @@ -6340,18 +6867,6 @@ "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", "dev": true }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/dns-packet": { "version": "5.6.1", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", @@ -6572,6 +7087,18 @@ "node": ">=6" } }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/err-code": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", @@ -6628,54 +7155,54 @@ "dev": true }, "node_modules/esbuild": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.1.tgz", - "integrity": "sha512-OJwEgrpWm/PCMsLVWXKqvcjme3bHNpOgN7Tb6cQnR5n0TPbQx1/Xrn7rqM+wn17bYeT6MGB5sn1Bh5YiGi70nA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.0.tgz", + "integrity": "sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==", "dev": true, "hasInstallScript": true, - "optional": true, "bin": { "esbuild": "bin/esbuild" }, "engines": { - "node": ">=12" + "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.20.1", - "@esbuild/android-arm": "0.20.1", - "@esbuild/android-arm64": "0.20.1", - "@esbuild/android-x64": "0.20.1", - "@esbuild/darwin-arm64": "0.20.1", - "@esbuild/darwin-x64": "0.20.1", - "@esbuild/freebsd-arm64": "0.20.1", - "@esbuild/freebsd-x64": "0.20.1", - "@esbuild/linux-arm": "0.20.1", - "@esbuild/linux-arm64": "0.20.1", - "@esbuild/linux-ia32": "0.20.1", - "@esbuild/linux-loong64": "0.20.1", - "@esbuild/linux-mips64el": "0.20.1", - "@esbuild/linux-ppc64": "0.20.1", - "@esbuild/linux-riscv64": "0.20.1", - "@esbuild/linux-s390x": "0.20.1", - "@esbuild/linux-x64": "0.20.1", - "@esbuild/netbsd-x64": "0.20.1", - "@esbuild/openbsd-x64": "0.20.1", - "@esbuild/sunos-x64": "0.20.1", - "@esbuild/win32-arm64": "0.20.1", - "@esbuild/win32-ia32": "0.20.1", - "@esbuild/win32-x64": "0.20.1" + "@esbuild/aix-ppc64": "0.23.0", + "@esbuild/android-arm": "0.23.0", + "@esbuild/android-arm64": "0.23.0", + "@esbuild/android-x64": "0.23.0", + "@esbuild/darwin-arm64": "0.23.0", + "@esbuild/darwin-x64": "0.23.0", + "@esbuild/freebsd-arm64": "0.23.0", + "@esbuild/freebsd-x64": "0.23.0", + "@esbuild/linux-arm": "0.23.0", + "@esbuild/linux-arm64": "0.23.0", + "@esbuild/linux-ia32": "0.23.0", + "@esbuild/linux-loong64": "0.23.0", + "@esbuild/linux-mips64el": "0.23.0", + "@esbuild/linux-ppc64": "0.23.0", + "@esbuild/linux-riscv64": "0.23.0", + "@esbuild/linux-s390x": "0.23.0", + "@esbuild/linux-x64": "0.23.0", + "@esbuild/netbsd-x64": "0.23.0", + "@esbuild/openbsd-arm64": "0.23.0", + "@esbuild/openbsd-x64": "0.23.0", + "@esbuild/sunos-x64": "0.23.0", + "@esbuild/win32-arm64": "0.23.0", + "@esbuild/win32-ia32": "0.23.0", + "@esbuild/win32-x64": "0.23.0" } }, "node_modules/esbuild-wasm": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.20.1.tgz", - "integrity": "sha512-6v/WJubRsjxBbQdz6izgvx7LsVFvVaGmSdwrFHmEzoVgfXL89hkKPoQHsnVI2ngOkcBUQT9kmAM1hVL1k/Av4A==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.23.0.tgz", + "integrity": "sha512-6jP8UmWy6R6TUUV8bMuC3ZyZ6lZKI56x0tkxyCIqWwRRJ/DgeQKneh/Oid5EoGoPFLrGNkz47ZEtWAYuiY/u9g==", "dev": true, "bin": { "esbuild": "bin/esbuild" }, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/escalade": { @@ -6715,19 +7242,6 @@ "node": ">=8.0.0" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", @@ -6961,6 +7475,12 @@ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, + "node_modules/fast-uri": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", + "dev": true + }, "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", @@ -6982,21 +7502,6 @@ "node": ">=0.8.0" } }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -7070,19 +7575,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/flat": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", @@ -7203,12 +7695,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/fs-monkey": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", - "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==", - "dev": true - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -7256,6 +7742,18 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-east-asian-width": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", + "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-intrinsic": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", @@ -7275,15 +7773,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -7345,19 +7834,20 @@ } }, "node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", + "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", "dev": true, "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.2", "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -7616,33 +8106,26 @@ } }, "node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.0.tgz", + "integrity": "sha512-36AV1fIaI2cWRzHo+rbcxhe3M3jUDCNzc4D5zRl57sEWRAxdXYtw7FSQKYY6PDKssiAKjLYypbssHk+xs/kMXw==", "dev": true, "dependencies": { - "@types/http-proxy": "^1.17.8", + "@types/http-proxy": "^1.17.10", + "debug": "^4.3.4", "http-proxy": "^1.18.1", "is-glob": "^4.0.1", "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" + "micromatch": "^4.0.5" }, "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", "dev": true, "dependencies": { "agent-base": "^7.0.2", @@ -7661,6 +8144,15 @@ "node": ">=10.17.0" } }, + "node_modules/hyperdyperid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", + "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", + "dev": true, + "engines": { + "node": ">=10.18" + } + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -7830,52 +8322,14 @@ "dev": true }, "node_modules/ini": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", - "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", + "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", "dev": true, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/inquirer": { - "version": "9.2.15", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.15.tgz", - "integrity": "sha512-vI2w4zl/mDluHt9YEQ/543VTCwPKWiHzKtm9dM2V0NdFcqEexDAjUHzO1oA60HRNaVifGXXM1tRRNluLVHa0Kg==", - "dev": true, - "dependencies": { - "@ljharb/through": "^2.3.12", - "ansi-escapes": "^4.3.2", - "chalk": "^5.3.0", - "cli-cursor": "^3.1.0", - "cli-width": "^4.1.0", - "external-editor": "^3.1.0", - "figures": "^3.2.0", - "lodash": "^4.17.21", - "mute-stream": "1.0.0", - "ora": "^5.4.1", - "run-async": "^3.0.0", - "rxjs": "^7.8.1", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^6.2.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/inquirer/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true, - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/ip-address": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", @@ -7889,12 +8343,6 @@ "node": ">= 12" } }, - "node_modules/ip-address/node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "dev": true - }, "node_modules/ipaddr.js": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", @@ -7938,15 +8386,15 @@ } }, "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", "dev": true, "bin": { "is-docker": "cli.js" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -7982,6 +8430,24 @@ "node": ">=0.10.0" } }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-interactive": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", @@ -7991,12 +8457,24 @@ "node": ">=8" } }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "dev": true - }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true + }, + "node_modules/is-network-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", + "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -8061,15 +8539,18 @@ "dev": true }, "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", "dev": true, "dependencies": { - "is-docker": "^2.0.0" + "is-inside-container": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/isarray": { @@ -8284,19 +8765,6 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/jsbn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", @@ -8343,9 +8811,9 @@ } }, "node_modules/jsonc-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", - "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", "dev": true }, "node_modules/jsonfile": { @@ -8586,15 +9054,6 @@ "node": ">=0.10.0" } }, - "node_modules/klona": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", - "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, "node_modules/launch-editor": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.8.1.tgz", @@ -8632,23 +9091,29 @@ } }, "node_modules/less-loader": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", - "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.2.0.tgz", + "integrity": "sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==", "dev": true, - "dependencies": { - "klona": "^2.0.4" - }, "engines": { - "node": ">= 14.15.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { + "@rspack/core": "0.x || 1.x", "less": "^3.5.0 || ^4.0.0", "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } } }, "node_modules/less/node_modules/make-dir": { @@ -8721,6 +9186,133 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, + "node_modules/listr2": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.4.tgz", + "integrity": "sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==", + "dev": true, + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/listr2/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/listr2/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/listr2/node_modules/emoji-regex": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", + "dev": true + }, + "node_modules/listr2/node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true + }, + "node_modules/listr2/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/lmdb": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.0.13.tgz", + "integrity": "sha512-UGe+BbaSUQtAMZobTb4nHvFMrmvuAQKSeaqAX2meTEQjfsbpl5sxdHD8T72OnwD4GU9uwNhYXIVe4QGs8N9Zyw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "msgpackr": "^1.10.2", + "node-addon-api": "^6.1.0", + "node-gyp-build-optional-packages": "5.2.2", + "ordered-binary": "^1.4.1", + "weak-lru-cache": "^1.2.2" + }, + "bin": { + "download-lmdb-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@lmdb/lmdb-darwin-arm64": "3.0.13", + "@lmdb/lmdb-darwin-x64": "3.0.13", + "@lmdb/lmdb-linux-arm": "3.0.13", + "@lmdb/lmdb-linux-arm64": "3.0.13", + "@lmdb/lmdb-linux-x64": "3.0.13", + "@lmdb/lmdb-win32-x64": "3.0.13" + } + }, "node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", @@ -8730,123 +9322,313 @@ "node": ">=6.11.5" } }, - "node_modules/loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "node_modules/loader-utils": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", + "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", + "dev": true, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "dev": true, + "dependencies": { + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", + "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", + "dev": true, + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, "engines": { - "node": ">= 12.13.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/locate-path": { + "node_modules/log-update/node_modules/cli-cursor": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "restore-cursor": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "node_modules/log-update/node_modules/emoji-regex": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", "dev": true }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", "dev": true, "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "get-east-asian-width": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/log-update/node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "mimic-function": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/log-update/node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/log-update/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "node_modules/log-update/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/log-update/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/log4js": { @@ -8875,15 +9657,12 @@ } }, "node_modules/magic-string": { - "version": "0.30.8", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz", - "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", "dev": true, "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, "node_modules/make-dir": { @@ -8924,15 +9703,6 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/make-fetch-happen/node_modules/proc-log": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", - "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -8943,15 +9713,22 @@ } }, "node_modules/memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.11.1.tgz", + "integrity": "sha512-LZcMTBAgqUUKNXZagcZxvXXfgF1bHX7Y7nQ0QyEiNbRJgE29GhgPd8Yna1VQcLlPiHt/5RFJMWYN9Uv/VPNvjQ==", "dev": true, "dependencies": { - "fs-monkey": "^1.0.4" + "@jsonjoy.com/json-pack": "^1.0.3", + "@jsonjoy.com/util": "^1.3.0", + "tree-dump": "^1.0.1", + "tslib": "^2.0.0" }, "engines": { "node": ">= 4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" } }, "node_modules/merge-descriptors": { @@ -9051,10 +9828,22 @@ "node": ">=6" } }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/mini-css-extract-plugin": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.8.1.tgz", - "integrity": "sha512-/1HDlyFRxWIZPI1ZpgqlZ8jMw/1Dp/dl3P0L1jtZ+zVcHqwPhGwaJwKL00WVgfnBy6PWCde9W65or7IIETImuA==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.0.tgz", + "integrity": "sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==", "dev": true, "dependencies": { "schema-utils": "^4.0.0", @@ -9166,34 +9955,6 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/minipass-json-stream": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.2.tgz", - "integrity": "sha512-myxeeTm57lYs8pH2nxPzmEEg8DGIgW+9mv6D4JZD2pa81I/OBjeU7PtICXV6c9eRGTA5JMDsuIPUZRCyBMYNhg==", - "dev": true, - "dependencies": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" - } - }, - "node_modules/minipass-json-stream/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-json-stream/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/minipass-pipeline": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", @@ -9312,6 +10073,37 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "node_modules/msgpackr": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.0.tgz", + "integrity": "sha512-I8qXuuALqJe5laEBYoFykChhSXLikZmUhccjGsPuSJ/7uPip2TJ7lwdIQwWSAi0jGZDXv4WOP8Qg65QZRuXxXw==", + "dev": true, + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } + }, + "node_modules/msgpackr-extract": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", + "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "dependencies": { + "node-gyp-build-optional-packages": "5.2.2" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" + } + }, "node_modules/multicast-dns": { "version": "7.2.5", "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", @@ -9412,13 +10204,19 @@ "node-gyp-build": "^4.2.2" } }, - "node_modules/node-addon-api": { + "node_modules/nice-napi/node_modules/node-addon-api": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", "dev": true, "optional": true }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "dev": true + }, "node_modules/node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", @@ -9464,6 +10262,20 @@ "node-gyp-build-test": "build-test.js" } }, + "node_modules/node-gyp-build-optional-packages": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", + "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", + "dev": true, + "dependencies": { + "detect-libc": "^2.0.1" + }, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, "node_modules/node-gyp/node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -9517,15 +10329,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/node-gyp/node_modules/proc-log": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", - "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/node-gyp/node_modules/which": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", @@ -9628,13 +10431,13 @@ } }, "node_modules/npm-package-arg": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.1.tgz", - "integrity": "sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.3.tgz", + "integrity": "sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==", "dev": true, "dependencies": { "hosted-git-info": "^7.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.0.0", "semver": "^7.3.5", "validate-npm-package-name": "^5.0.0" }, @@ -9655,9 +10458,9 @@ } }, "node_modules/npm-pick-manifest": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.0.0.tgz", - "integrity": "sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.1.0.tgz", + "integrity": "sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA==", "dev": true, "dependencies": { "npm-install-checks": "^6.0.0", @@ -9670,16 +10473,16 @@ } }, "node_modules/npm-registry-fetch": { - "version": "16.2.1", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.2.1.tgz", - "integrity": "sha512-8l+7jxhim55S85fjiDGJ1rZXBWGtRLi1OSb4Z3BPLObPuIaeKRlPRiYMSHU4/81ck3t71Z+UwDDl47gcpmfQQA==", + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-17.1.0.tgz", + "integrity": "sha512-5+bKQRH0J1xG1uZ1zMNvxW0VEyoNWgJpY9UDuluPFLKDfJ9u2JmmjmTJV1srBGQOROfdBMiVvnH2Zvpbm+xkVA==", "dev": true, "dependencies": { - "@npmcli/redact": "^1.1.0", + "@npmcli/redact": "^2.0.0", + "jsonparse": "^1.3.1", "make-fetch-happen": "^13.0.0", "minipass": "^7.0.2", "minipass-fetch": "^3.0.0", - "minipass-json-stream": "^1.0.1", "minizlib": "^2.1.2", "npm-package-arg": "^11.0.0", "proc-log": "^4.0.0" @@ -9688,15 +10491,6 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/npm-registry-fetch/node_modules/proc-log": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", - "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -9794,17 +10588,18 @@ } }, "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", + "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", "dev": true, "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -9903,6 +10698,12 @@ "node": ">=8" } }, + "node_modules/ordered-binary": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.1.tgz", + "integrity": "sha512-5VyHfHY3cd0iza71JepYG50My+YUbrFtGoUz2ooEydPyPM7Aai/JW098juLr+RG6+rDJuzNNTsEQu2DZa1A41A==", + "dev": true + }, "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -9912,33 +10713,6 @@ "node": ">=0.10.0" } }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/p-map": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", @@ -9955,16 +10729,20 @@ } }, "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.0.tgz", + "integrity": "sha512-JA6nkq6hKyWLLasXQXUrO4z8BUZGUt/LjlJxx8Gb2+2ntodU/SS63YZ8b0LUTbQ8ZB9iwOfhEPhg4ykKnn2KsA==", "dev": true, "dependencies": { - "@types/retry": "0.12.0", + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", "retry": "^0.13.1" }, "engines": { - "node": ">=8" + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-retry/node_modules/retry": { @@ -9976,15 +10754,6 @@ "node": ">= 4" } }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/package-json-from-dist": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", @@ -9992,32 +10761,31 @@ "dev": true }, "node_modules/pacote": { - "version": "17.0.6", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-17.0.6.tgz", - "integrity": "sha512-cJKrW21VRE8vVTRskJo78c/RCvwJCn1f4qgfxL4w77SOWrTCRcmfkYHlHtS0gqpgjv3zhXflRtgsrUCX5xwNnQ==", + "version": "18.0.6", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-18.0.6.tgz", + "integrity": "sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==", "dev": true, "dependencies": { "@npmcli/git": "^5.0.0", "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/package-json": "^5.1.0", "@npmcli/promise-spawn": "^7.0.0", - "@npmcli/run-script": "^7.0.0", + "@npmcli/run-script": "^8.0.0", "cacache": "^18.0.0", "fs-minipass": "^3.0.0", "minipass": "^7.0.2", "npm-package-arg": "^11.0.0", "npm-packlist": "^8.0.0", "npm-pick-manifest": "^9.0.0", - "npm-registry-fetch": "^16.0.0", - "proc-log": "^3.0.0", + "npm-registry-fetch": "^17.0.0", + "proc-log": "^4.0.0", "promise-retry": "^2.0.1", - "read-package-json": "^7.0.0", - "read-package-json-fast": "^3.0.0", "sigstore": "^2.2.0", "ssri": "^10.0.0", "tar": "^6.1.11" }, "bin": { - "pacote": "lib/bin.js" + "pacote": "bin/index.js" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -10112,16 +10880,7 @@ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true, "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" + "node": ">= 0.8" } }, "node_modules/path-is-absolute": { @@ -10177,12 +10936,15 @@ "dev": true }, "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/picocolors": { @@ -10192,9 +10954,9 @@ "dev": true }, "node_modules/picomatch": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.1.tgz", - "integrity": "sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, "engines": { "node": ">=12" @@ -10214,9 +10976,9 @@ } }, "node_modules/piscina": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.4.0.tgz", - "integrity": "sha512-+AQduEJefrOApE4bV7KRmp3N2JnnyErlVqq4P/jmko4FPz9Z877BCccl/iB3FdrWSUkvbGV9Kan/KllJgat3Vg==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.6.1.tgz", + "integrity": "sha512-z30AwWGtQE+Apr+2WBZensP2lIvwoaMcOPkQlIEmSGMJNUvaYACylPYrQM6wSdUNJlnDVMSpLv7xTMJqlVshOA==", "dev": true, "optionalDependencies": { "nice-napi": "^1.0.2" @@ -10308,9 +11070,9 @@ } }, "node_modules/postcss": { - "version": "8.4.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", "dev": true, "funding": [ { @@ -10328,8 +11090,8 @@ ], "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" }, "engines": { "node": "^10 || ^12 || >=14" @@ -10451,9 +11213,9 @@ "dev": true }, "node_modules/proc-log": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", - "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", + "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", "dev": true, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -10596,79 +11358,6 @@ "node": ">= 0.8" } }, - "node_modules/read-package-json": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-7.0.1.tgz", - "integrity": "sha512-8PcDiZ8DXUjLf687Ol4BR8Bpm2umR7vhoZOzNRt+uxD9GpBh/K+CAAALVIiYFknmvlmyg7hM7BSNUXPaCCqd0Q==", - "deprecated": "This package is no longer supported. Please use @npmcli/package-json instead.", - "dev": true, - "dependencies": { - "glob": "^10.2.2", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/read-package-json-fast": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", - "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", - "dev": true, - "dependencies": { - "json-parse-even-better-errors": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/read-package-json/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/read-package-json/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/read-package-json/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -10831,15 +11520,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/resolve-url-loader": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", @@ -10968,13 +11648,16 @@ "fsevents": "~2.3.2" } }, - "node_modules/run-async": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz", - "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==", + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", "dev": true, "engines": { - "node": ">=0.12.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/run-parallel": { @@ -11040,9 +11723,9 @@ "integrity": "sha512-LRneZZRXNgjzwG4bDQdOTSbze3fHm1EAKN/8bePxnlEZiBmkYEDggaHbuvHI9/hoqHbGfsEA7tWS9GhYHZBBsw==" }, "node_modules/sass": { - "version": "1.71.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.71.1.tgz", - "integrity": "sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz", + "integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -11057,9 +11740,9 @@ } }, "node_modules/sass-loader": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-14.1.1.tgz", - "integrity": "sha512-QX8AasDg75monlybel38BZ49JP5Z+uSKfKwF2rO7S74BywaRmGQMUBw9dtkS+ekyM/QnP+NOrRYq8ABMZ9G8jw==", + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.0.tgz", + "integrity": "sha512-n13Z+3rU9A177dk4888czcVFiC8CL9dii4qpXWUg3YIIgZEvi9TCFKjOQcbK0kJM7DJu9VucrZFddvNfYCPwtw==", "dev": true, "dependencies": { "neo-async": "^2.6.2" @@ -11440,9 +12123,49 @@ } }, "node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", "dev": true, "engines": { "node": ">=12" @@ -11673,9 +12396,9 @@ } }, "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", "dev": true }, "node_modules/ssri": { @@ -11896,9 +12619,9 @@ "dev": true }, "node_modules/terser": { - "version": "5.29.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.29.1.tgz", - "integrity": "sha512-lZQ/fyaIGxsbGxApKmoPTODIzELy3++mXhS5hOqaAWZjQtpq/hFHAc+rm29NND1rYRxRWKcjuARNwULNXa5RtQ==", + "version": "5.31.6", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", + "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -11996,18 +12719,16 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "node_modules/thingies": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", + "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, "engines": { - "node": ">=8" + "node": ">=10.18" + }, + "peerDependencies": { + "tslib": "^2" } }, "node_modules/thunky": { @@ -12058,6 +12779,22 @@ "node": ">=0.6" } }, + "node_modules/tree-dump": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz", + "integrity": "sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==", + "dev": true, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, "node_modules/tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", @@ -12118,9 +12855,9 @@ "dev": true }, "node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -12153,15 +12890,6 @@ "node": "*" } }, - "node_modules/undici": { - "version": "6.11.1", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.11.1.tgz", - "integrity": "sha512-KyhzaLJnV1qa3BSHdj4AZ2ndqI0QWPxYzaIOio0WzcEJB9gvuysprJSLtpvc2D9mhR9jPDUk7xlJlZbH2KR5iw==", - "dev": true, - "engines": { - "node": ">=18.0" - } - }, "node_modules/undici-types": { "version": "6.18.2", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.18.2.tgz", @@ -12208,6 +12936,18 @@ "node": ">=4" } }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/unique-filename": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", @@ -12351,14 +13091,14 @@ } }, "node_modules/vite": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.7.tgz", - "integrity": "sha512-sgnEEFTZYMui/sTlH1/XEnVNHMujOahPLGMxn1+5sIT45Xjng1Ec1K78jRP15dSmVgg5WBin9yO81j3o9OxofA==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.0.tgz", + "integrity": "sha512-5xokfMX0PIiwCMCMb9ZJcMyh5wbBun0zUzKib+L65vAZ8GY9ePZMXxFrHbr/Kyll2+LSCY7xtERPpxkBDKngwg==", "dev": true, "dependencies": { - "esbuild": "^0.19.3", - "postcss": "^8.4.35", - "rollup": "^4.2.0" + "esbuild": "^0.21.3", + "postcss": "^8.4.40", + "rollup": "^4.13.0" }, "bin": { "vite": "bin/vite.js" @@ -12377,6 +13117,7 @@ "less": "*", "lightningcss": "^1.21.0", "sass": "*", + "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.4.0" @@ -12394,6 +13135,9 @@ "sass": { "optional": true }, + "sass-embedded": { + "optional": true + }, "stylus": { "optional": true }, @@ -12406,9 +13150,9 @@ } }, "node_modules/vite/node_modules/@esbuild/aix-ppc64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", - "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", "cpu": [ "ppc64" ], @@ -12422,9 +13166,9 @@ } }, "node_modules/vite/node_modules/@esbuild/android-arm": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", - "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", "cpu": [ "arm" ], @@ -12438,9 +13182,9 @@ } }, "node_modules/vite/node_modules/@esbuild/android-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", - "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", "cpu": [ "arm64" ], @@ -12454,9 +13198,9 @@ } }, "node_modules/vite/node_modules/@esbuild/android-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", - "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", "cpu": [ "x64" ], @@ -12470,9 +13214,9 @@ } }, "node_modules/vite/node_modules/@esbuild/darwin-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", - "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", "cpu": [ "arm64" ], @@ -12486,9 +13230,9 @@ } }, "node_modules/vite/node_modules/@esbuild/darwin-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", - "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", "cpu": [ "x64" ], @@ -12502,9 +13246,9 @@ } }, "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", - "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", "cpu": [ "arm64" ], @@ -12518,9 +13262,9 @@ } }, "node_modules/vite/node_modules/@esbuild/freebsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", - "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", "cpu": [ "x64" ], @@ -12534,9 +13278,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-arm": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", - "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", "cpu": [ "arm" ], @@ -12550,9 +13294,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", - "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", "cpu": [ "arm64" ], @@ -12566,9 +13310,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-ia32": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", - "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", "cpu": [ "ia32" ], @@ -12582,9 +13326,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-loong64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", - "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", "cpu": [ "loong64" ], @@ -12598,9 +13342,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-mips64el": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", - "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", "cpu": [ "mips64el" ], @@ -12614,9 +13358,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-ppc64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", - "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", "cpu": [ "ppc64" ], @@ -12630,9 +13374,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-riscv64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", - "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", "cpu": [ "riscv64" ], @@ -12646,9 +13390,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-s390x": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", - "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", "cpu": [ "s390x" ], @@ -12662,9 +13406,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", - "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", "cpu": [ "x64" ], @@ -12678,9 +13422,9 @@ } }, "node_modules/vite/node_modules/@esbuild/netbsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", - "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", "cpu": [ "x64" ], @@ -12694,9 +13438,9 @@ } }, "node_modules/vite/node_modules/@esbuild/openbsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", - "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", "cpu": [ "x64" ], @@ -12710,9 +13454,9 @@ } }, "node_modules/vite/node_modules/@esbuild/sunos-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", - "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", "cpu": [ "x64" ], @@ -12726,9 +13470,9 @@ } }, "node_modules/vite/node_modules/@esbuild/win32-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", - "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", "cpu": [ "arm64" ], @@ -12742,9 +13486,9 @@ } }, "node_modules/vite/node_modules/@esbuild/win32-ia32": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", - "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", "cpu": [ "ia32" ], @@ -12758,9 +13502,9 @@ } }, "node_modules/vite/node_modules/@esbuild/win32-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", - "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", "cpu": [ "x64" ], @@ -12774,9 +13518,9 @@ } }, "node_modules/vite/node_modules/esbuild": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", - "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", "dev": true, "hasInstallScript": true, "bin": { @@ -12786,29 +13530,29 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.12", - "@esbuild/android-arm": "0.19.12", - "@esbuild/android-arm64": "0.19.12", - "@esbuild/android-x64": "0.19.12", - "@esbuild/darwin-arm64": "0.19.12", - "@esbuild/darwin-x64": "0.19.12", - "@esbuild/freebsd-arm64": "0.19.12", - "@esbuild/freebsd-x64": "0.19.12", - "@esbuild/linux-arm": "0.19.12", - "@esbuild/linux-arm64": "0.19.12", - "@esbuild/linux-ia32": "0.19.12", - "@esbuild/linux-loong64": "0.19.12", - "@esbuild/linux-mips64el": "0.19.12", - "@esbuild/linux-ppc64": "0.19.12", - "@esbuild/linux-riscv64": "0.19.12", - "@esbuild/linux-s390x": "0.19.12", - "@esbuild/linux-x64": "0.19.12", - "@esbuild/netbsd-x64": "0.19.12", - "@esbuild/openbsd-x64": "0.19.12", - "@esbuild/sunos-x64": "0.19.12", - "@esbuild/win32-arm64": "0.19.12", - "@esbuild/win32-ia32": "0.19.12", - "@esbuild/win32-x64": "0.19.12" + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" } }, "node_modules/void-elements": { @@ -12821,9 +13565,9 @@ } }, "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -12851,27 +13595,33 @@ "defaults": "^1.0.3" } }, + "node_modules/weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", + "dev": true + }, "node_modules/webpack": { - "version": "5.90.3", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz", - "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==", + "version": "5.93.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz", + "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", + "acorn-import-attributes": "^1.9.5", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", + "enhanced-resolve": "^5.17.0", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", @@ -12879,7 +13629,7 @@ "schema-utils": "^3.2.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.0", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "bin": { @@ -12899,19 +13649,20 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.2.tgz", - "integrity": "sha512-Wu+EHmX326YPYUpQLKmKbTyZZJIB8/n6R09pTmB03kJmnMsVPTo9COzHZFr01txwaCAuZvfBJE4ZCHRcKs5JaQ==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.3.0.tgz", + "integrity": "sha512-xD2qnNew+F6KwOGZR7kWdbIou/ud7cVqLEXeK1q0nHcNsX/u7ul/fSdlOTX4ntSL5FNFy7ZJJXbf0piF591JYw==", "dev": true, "dependencies": { "colorette": "^2.0.10", - "memfs": "^3.4.12", + "memfs": "^4.6.0", "mime-types": "^2.1.31", + "on-finished": "^2.4.1", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" }, "engines": { - "node": ">= 14.15.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", @@ -12927,54 +13678,54 @@ } }, "node_modules/webpack-dev-server": { - "version": "4.15.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", - "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", - "dev": true, - "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.5", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.0.4.tgz", + "integrity": "sha512-dljXhUgx3HqKP2d8J/fUMvhxGhzjeNVarDLcbO/EWMSgRizDkxHQDZQaLFL5VJY9tRBj2Gz+rvCEYYvhbqPHNA==", + "dev": true, + "dependencies": { + "@types/bonjour": "^3.5.13", + "@types/connect-history-api-fallback": "^1.5.4", + "@types/express": "^4.17.21", + "@types/serve-index": "^1.9.4", + "@types/serve-static": "^1.15.5", + "@types/sockjs": "^0.3.36", + "@types/ws": "^8.5.10", "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", + "bonjour-service": "^1.2.1", + "chokidar": "^3.6.0", "colorette": "^2.0.10", "compression": "^1.7.4", "connect-history-api-fallback": "^2.0.0", "default-gateway": "^6.0.3", "express": "^4.17.3", "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", + "html-entities": "^2.4.0", "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", + "ipaddr.js": "^2.1.0", + "launch-editor": "^2.6.1", + "open": "^10.0.3", + "p-retry": "^6.2.0", + "rimraf": "^5.0.5", + "schema-utils": "^4.2.0", + "selfsigned": "^2.4.1", "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.13.0" + "webpack-dev-middleware": "^7.1.0", + "ws": "^8.16.0" }, "bin": { "webpack-dev-server": "bin/webpack-dev-server.js" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" + "webpack": "^5.0.0" }, "peerDependenciesMeta": { "webpack": { @@ -12985,41 +13736,101 @@ } } }, - "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", - "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "node_modules/webpack-dev-server/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": ">= 12.13.0" + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/webpack-dev-server/node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" }, "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/webpack-dev-server/node_modules/rimraf": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", + "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", + "dev": true, + "dependencies": { + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", + "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", "dev": true, "dependencies": { "clone-deep": "^4.0.1", "flat": "^5.0.2", - "wildcard": "^2.0.0" + "wildcard": "^2.0.1" }, "engines": { - "node": ">=10.0.0" + "node": ">=18.0.0" } }, "node_modules/webpack-sources": { @@ -13327,6 +14138,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz", + "integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/zone.js": { "version": "0.14.10", "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.14.10.tgz", diff --git a/frontend/package.json b/frontend/package.json index 7b2fdbb..5661a9c 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -10,24 +10,24 @@ }, "private": true, "dependencies": { - "@angular/animations": "^17.3.12", + "@angular/animations": "^18.2.0", "@angular/cdk": "^17.3.10", - "@angular/common": "^17.2.0", - "@angular/compiler": "^17.2.0", - "@angular/core": "^17.2.0", - "@angular/forms": "^17.2.0", + "@angular/common": "^18.2.0", + "@angular/compiler": "^18.2.0", + "@angular/core": "^18.2.0", + "@angular/forms": "^18.2.0", "@angular/material": "^17.3.10", - "@angular/platform-browser": "^17.2.0", - "@angular/platform-browser-dynamic": "^17.2.0", - "@angular/router": "^17.2.0", + "@angular/platform-browser": "^18.2.0", + "@angular/platform-browser-dynamic": "^18.2.0", + "@angular/router": "^18.2.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.14.3" }, "devDependencies": { - "@angular-devkit/build-angular": "^17.2.0", - "@angular/cli": "^17.2.0", - "@angular/compiler-cli": "^17.2.0", + "@angular-devkit/build-angular": "^18.2.0", + "@angular/cli": "^18.2.0", + "@angular/compiler-cli": "^18.2.0", "@types/jasmine": "~5.1.0", "jasmine-core": "~5.1.0", "karma": "~6.4.0", @@ -35,6 +35,6 @@ "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", - "typescript": "~5.3.2" + "typescript": "~5.5.4" } } From ca9983de8971930eb33f3c34d58086e797dca1a2 Mon Sep 17 00:00:00 2001 From: Pedro Lucas Garcia <190115548@aluno.unb.br> Date: Thu, 15 Aug 2024 23:38:28 -0300 Subject: [PATCH 3/4] carrinho de compras, listagem e detalhe de produtos --- docker-compose.yml | 11 - frontend/Dockerfile | 8 - frontend/LICENSE | 201 + frontend/README.md | 27 - frontend/angular.json | 33 +- frontend/docs/Standalone-migration.md | 239 + frontend/docs/cart.jpeg | Bin 0 -> 68845 bytes frontend/docs/control-flow.md | 9 + frontend/docs/products.jpeg | Bin 0 -> 110785 bytes frontend/docs/signals.md | 163 + frontend/package-lock.json | 8715 ++++++++--------- frontend/package.json | 42 +- frontend/src/app/app.component.html | 2 - frontend/src/app/app.component.spec.ts | 28 + frontend/src/app/app.component.ts | 21 +- frontend/src/app/app.config.ts | 8 - frontend/src/app/app.routes.ts | 14 +- frontend/src/app/cart/cart-item.ts | 6 + .../cart/cart-item/cart-item.component.html | 52 + .../cart/cart-item/cart-item.component.scss | 13 + .../cart-item/cart-item.component.spec.ts | 21 + .../app/cart/cart-item/cart-item.component.ts | 34 + .../cart/cart-list/cart-list.component.html | 12 + .../cart-list/cart-list.component.scss} | 0 .../cart-list/cart-list.component.spec.ts | 21 + .../app/cart/cart-list/cart-list.component.ts | 21 + .../cart-total-summary.component.html | 28 + .../cart-total-summary.component.scss | 20 + .../cart-total-summary.component.spec.ts | 21 + .../cart-total-summary.component.ts | 18 + frontend/src/app/cart/cart.service.spec.ts | 16 + frontend/src/app/cart/cart.service.ts | 50 + .../src/app/cart/cart/cart.component.html | 11 + .../src/app/cart/cart/cart.component.scss | 17 + .../src/app/cart/cart/cart.component.spec.ts | 21 + frontend/src/app/cart/cart/cart.component.ts | 15 + .../data-access/credential.interceptor.ts | 8 - .../product-form/product-form.component.html | 106 + .../product-form/product-form.component.scss | 37 + .../product-form.component.spec.ts | 21 + .../product-form/product-form.component.ts | 97 + frontend/src/app/products/product.ts | 10 + .../products-list.component.html | 45 + .../products-list.component.scss | 49 + .../products-list.component.spec.ts | 21 + .../products-list/products-list.component.ts | 27 + frontend/src/app/products/products.routes.ts | 10 + .../src/app/products/products.service.spec.ts | 16 + frontend/src/app/products/products.service.ts | 47 + .../shared/form/form-utils.service.spec.ts | 16 + .../src/app/shared/form/form-utils.service.ts | 55 + .../app/shared/header/header.component.html | 18 + .../app/shared/header/header.component.scss | 40 + .../shared/header/header.component.spec.ts | 21 + .../src/app/shared/header/header.component.ts | 21 + frontend/src/assets/images/1.jpg | Bin 0 -> 14385 bytes frontend/src/assets/images/10.jpg | Bin 0 -> 16226 bytes frontend/src/assets/images/2.jpg | Bin 0 -> 18877 bytes frontend/src/assets/images/3.jpg | Bin 0 -> 18564 bytes frontend/src/assets/images/4.jpg | Bin 0 -> 24171 bytes frontend/src/assets/images/5.jpg | Bin 0 -> 18299 bytes frontend/src/assets/images/6.jpg | Bin 0 -> 18299 bytes frontend/src/assets/images/7.jpg | Bin 0 -> 11313 bytes frontend/src/assets/images/8.jpg | Bin 0 -> 14258 bytes frontend/src/assets/images/9.jpg | Bin 0 -> 14385 bytes frontend/src/favicon.ico | Bin 15086 -> 948 bytes frontend/src/index.html | 1 + frontend/src/main.ts | 24 +- frontend/src/styles.css | 10 - frontend/src/styles.scss | 59 + frontend/tsconfig.json | 4 +- 71 files changed, 5841 insertions(+), 4840 deletions(-) delete mode 100644 frontend/Dockerfile create mode 100644 frontend/LICENSE delete mode 100644 frontend/README.md create mode 100644 frontend/docs/Standalone-migration.md create mode 100644 frontend/docs/cart.jpeg create mode 100644 frontend/docs/control-flow.md create mode 100644 frontend/docs/products.jpeg create mode 100644 frontend/docs/signals.md delete mode 100644 frontend/src/app/app.component.html create mode 100644 frontend/src/app/app.component.spec.ts delete mode 100644 frontend/src/app/app.config.ts create mode 100644 frontend/src/app/cart/cart-item.ts create mode 100644 frontend/src/app/cart/cart-item/cart-item.component.html create mode 100644 frontend/src/app/cart/cart-item/cart-item.component.scss create mode 100644 frontend/src/app/cart/cart-item/cart-item.component.spec.ts create mode 100644 frontend/src/app/cart/cart-item/cart-item.component.ts create mode 100644 frontend/src/app/cart/cart-list/cart-list.component.html rename frontend/src/app/{app.component.css => cart/cart-list/cart-list.component.scss} (100%) create mode 100644 frontend/src/app/cart/cart-list/cart-list.component.spec.ts create mode 100644 frontend/src/app/cart/cart-list/cart-list.component.ts create mode 100644 frontend/src/app/cart/cart-total-summary/cart-total-summary.component.html create mode 100644 frontend/src/app/cart/cart-total-summary/cart-total-summary.component.scss create mode 100644 frontend/src/app/cart/cart-total-summary/cart-total-summary.component.spec.ts create mode 100644 frontend/src/app/cart/cart-total-summary/cart-total-summary.component.ts create mode 100644 frontend/src/app/cart/cart.service.spec.ts create mode 100644 frontend/src/app/cart/cart.service.ts create mode 100644 frontend/src/app/cart/cart/cart.component.html create mode 100644 frontend/src/app/cart/cart/cart.component.scss create mode 100644 frontend/src/app/cart/cart/cart.component.spec.ts create mode 100644 frontend/src/app/cart/cart/cart.component.ts delete mode 100644 frontend/src/app/core/data-access/credential.interceptor.ts create mode 100644 frontend/src/app/products/product-form/product-form.component.html create mode 100644 frontend/src/app/products/product-form/product-form.component.scss create mode 100644 frontend/src/app/products/product-form/product-form.component.spec.ts create mode 100644 frontend/src/app/products/product-form/product-form.component.ts create mode 100644 frontend/src/app/products/product.ts create mode 100644 frontend/src/app/products/products-list/products-list.component.html create mode 100644 frontend/src/app/products/products-list/products-list.component.scss create mode 100644 frontend/src/app/products/products-list/products-list.component.spec.ts create mode 100644 frontend/src/app/products/products-list/products-list.component.ts create mode 100644 frontend/src/app/products/products.routes.ts create mode 100644 frontend/src/app/products/products.service.spec.ts create mode 100644 frontend/src/app/products/products.service.ts create mode 100644 frontend/src/app/shared/form/form-utils.service.spec.ts create mode 100644 frontend/src/app/shared/form/form-utils.service.ts create mode 100644 frontend/src/app/shared/header/header.component.html create mode 100644 frontend/src/app/shared/header/header.component.scss create mode 100644 frontend/src/app/shared/header/header.component.spec.ts create mode 100644 frontend/src/app/shared/header/header.component.ts create mode 100644 frontend/src/assets/images/1.jpg create mode 100644 frontend/src/assets/images/10.jpg create mode 100644 frontend/src/assets/images/2.jpg create mode 100644 frontend/src/assets/images/3.jpg create mode 100644 frontend/src/assets/images/4.jpg create mode 100644 frontend/src/assets/images/5.jpg create mode 100644 frontend/src/assets/images/6.jpg create mode 100644 frontend/src/assets/images/7.jpg create mode 100644 frontend/src/assets/images/8.jpg create mode 100644 frontend/src/assets/images/9.jpg delete mode 100644 frontend/src/styles.css create mode 100644 frontend/src/styles.scss diff --git a/docker-compose.yml b/docker-compose.yml index e3d9b1f..a5b00b9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,16 +1,5 @@ version: '3' services: - angular: - build: ./frontend - ports: - - "4200:4200" - volumes: - - ./frontend:/app - - /app/node_modules - depends_on: - - spring-boot - environment: - - BACKEND_URL=http://spring-boot:8080 spring-boot: build: ./mvp diff --git a/frontend/Dockerfile b/frontend/Dockerfile deleted file mode 100644 index 4d82244..0000000 --- a/frontend/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM node:20 -WORKDIR /app -COPY . . -RUN npm install -RUN npm install @angular/material @angular/cdk @angular/animations -RUN npm install @angular/cli -g -EXPOSE 4200 -CMD [ "ng", "serve", "--host", "0.0.0.0", "--poll", "2000", "--watch", "--live-reload", "true"] diff --git a/frontend/LICENSE b/frontend/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/frontend/LICENSE @@ -0,0 +1,201 @@ + 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/frontend/README.md b/frontend/README.md deleted file mode 100644 index 55d0f75..0000000 --- a/frontend/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# Frontend - -This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.2.0. - -## Development server - -Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. - -## Code scaffolding - -Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. - -## Build - -Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. - -## Running unit tests - -Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). - -## Running end-to-end tests - -Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. - -## Further help - -To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. diff --git a/frontend/angular.json b/frontend/angular.json index fc5b7fb..2eae183 100644 --- a/frontend/angular.json +++ b/frontend/angular.json @@ -3,30 +3,34 @@ "version": 1, "newProjectRoot": "projects", "projects": { - "frontend": { + "angular-shop": { "projectType": "application", - "schematics": {}, + "schematics": { + "@schematics/angular:component": { + "style": "scss" + } + }, "root": "", "sourceRoot": "src", "prefix": "app", "architect": { "build": { - "builder": "@angular-devkit/build-angular:application", + "builder": "@angular-devkit/build-angular:browser-esbuild", "options": { - "outputPath": "dist/frontend", + "outputPath": "dist/angular-shop", "index": "src/index.html", - "browser": "src/main.ts", + "main": "src/main.ts", "polyfills": [ "zone.js" ], "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", "assets": [ "src/favicon.ico", "src/assets" ], "styles": [ - "@angular/material/prebuilt-themes/purple-green.css", - "src/styles.css" + "src/styles.scss" ], "scripts": [] }, @@ -47,9 +51,12 @@ "outputHashing": "all" }, "development": { + "buildOptimizer": false, "optimization": false, + "vendorChunk": true, "extractLicenses": false, - "sourceMap": true + "sourceMap": true, + "namedChunks": true } }, "defaultConfiguration": "production" @@ -58,10 +65,10 @@ "builder": "@angular-devkit/build-angular:dev-server", "configurations": { "production": { - "buildTarget": "frontend:build:production" + "buildTarget": "angular-shop:build:production" }, "development": { - "buildTarget": "frontend:build:development" + "buildTarget": "angular-shop:build:development" } }, "defaultConfiguration": "development" @@ -69,7 +76,7 @@ "extract-i18n": { "builder": "@angular-devkit/build-angular:extract-i18n", "options": { - "buildTarget": "frontend:build" + "buildTarget": "angular-shop:build" } }, "test": { @@ -80,13 +87,13 @@ "zone.js/testing" ], "tsConfig": "tsconfig.spec.json", + "inlineStyleLanguage": "scss", "assets": [ "src/favicon.ico", "src/assets" ], "styles": [ - "@angular/material/prebuilt-themes/purple-green.css", - "src/styles.css" + "src/styles.scss" ], "scripts": [] } diff --git a/frontend/docs/Standalone-migration.md b/frontend/docs/Standalone-migration.md new file mode 100644 index 0000000..505652a --- /dev/null +++ b/frontend/docs/Standalone-migration.md @@ -0,0 +1,239 @@ +# Angular Standalone Components Guide + +- Official Docs: [https://angular.io/guide/standalone-components](https://angular.io/guide/standalone-components) +- Migrating to standlone: [https://angular.io/guide/standalone-migration](https://angular.io/guide/standalone-migration) + +## Migration steps + +This schematic is only available Angular 15.2.0 or later. + +Run the schematic with the following command: + +``` +ng generate @angular/core:standalone +``` + +Run the migration in the order listed below, verifying that your code builds and runs between each step: + +- `ng g @angular/core:standalone` and select "Convert all components, directives and pipes to standalone" +- `ng g @angular/core:standalone` and select "Remove unnecessary NgModule classes" +- `ng g @angular/core:standalone` and select "Bootstrap the project using standalone APIs" + +### After the migration + +- Find and remove any remaining NgModule declarations: since the "Remove unnecessary NgModules" step cannot remove all modules automatically, you may have to remove the remaining declarations manually. + +#### Convert routes to standalone + +After the migration, the feature modules created will still exist, as they still have the routing configuration. We can also migrate the routing config to standalone, and this step needs to be done manually, it's not supported by the schematic. + +##### Cart Routing Module + +Before: + +``` +// cart-routing.module.ts +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; + +import { CartComponent } from './cart/cart.component'; + +const routes: Routes = [ + { path: '', component: CartComponent } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class CartRoutingModule { } + +``` + +After: + +``` +// cart.routes.ts +import { Routes } from '@angular/router'; + +import { CartComponent } from './cart/cart.component'; + +export const CART_ROUTES: Routes = [ + { path: '', component: CartComponent } +] +``` + +##### Products Routing Module + +Before: + +``` +// products-routing.module.ts +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; + +import { ProductsListComponent } from './products-list/products-list.component'; +import { ProductFormComponent } from './product-form/product-form.component'; + +const routes: Routes = [ + { path: '', component: ProductsListComponent }, + { path: 'new', component: ProductFormComponent } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class ProductsRoutingModule { } +``` + +After: + +``` +// products.routes.ts +import { Routes } from '@angular/router'; + +import { ProductFormComponent } from './product-form/product-form.component'; +import { ProductsListComponent } from './products-list/products-list.component'; + + +export const CART_ROUTES: Routes = [ + { path: '', component: ProductsListComponent }, + { path: 'new', component: ProductFormComponent } +] +``` + +##### App Routing Module + +Before: + +``` +// app-routing.module.ts +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; + +const routes: Routes = [ + { + path: '', pathMatch: 'full', redirectTo: 'products' + }, + { + path: 'products', + loadChildren: () => import('./products/products.module').then(m => m.ProductsModule) + }, + { + path: 'cart', + loadChildren: () => import('./cart/cart.module').then(m => m.CartModule) + } +]; + +@NgModule({ + imports: [RouterModule.forRoot(routes)], + exports: [RouterModule] +}) +export class AppRoutingModule { } + +``` + +After: + +``` +// app.routes.ts +import { Routes } from '@angular/router'; + +export const APP_ROUTES: Routes = [ + { + path: '', pathMatch: 'full', redirectTo: 'products' + }, + { + path: 'products', + loadChildren: () => import('./products/products.routes').then(m => m.PRODUCT_ROUTES) + }, + { + path: 'cart', + loadChildren: () => import('./cart/cart.routes').then(m => m.CART_ROUTES) + } +]; +``` + +Remove app-routing.module from `main.ts` + +Before: + +``` +bootstrapApplication(AppComponent, { + providers: [ + importProvidersFrom(BrowserModule, AppRoutingModule), + provideNoopAnimations(), + provideHttpClient(withInterceptorsFromDi()) + ] +}) +``` + +After: + +``` +bootstrapApplication(AppComponent, { + providers: [ + importProvidersFrom(BrowserModule), + provideNoopAnimations(), + provideHttpClient(withInterceptorsFromDi()), + provideRouter(APP_ROUTES) + ] +}) +``` + +Now we can safely delete the following files: + +- cart-routing.module.ts +- products-routing.module.ts +- app-routing.module.ts + +And also delete: + +- cart.module.ts +- products.module.ts + +#### Lazy loading a standalone component + +Any route can lazily load its routed, standalone component by using loadComponent. So instead of creating a CART_ROUTES file, we can lazy load the component directly in the APP_ROUTES and remove the `cart.routes.ts` file: + +Before: + +``` +// app.routes.ts +export const APP_ROUTES: Routes = [ + { + path: 'cart', + loadChildren: () => import('./cart/cart.routes').then(m => m.CART_ROUTES) + } +]; +``` + +After: + +``` +// app.routes.ts +export const APP_ROUTES: Routes = [ + { + path: 'cart', + loadComponent: () => import('./cart/cart/cart.component').then(c => c.CartComponent) + } +]; +``` + +### Inject + +Classic DI: + +``` +constructor(private service: ProductsService, private cartService: CartService) {} +``` + +After standalone components - new option: + +``` +private service = inject(ProductsService); +private cartService = inject(CartService); + +constructor() {} +``` diff --git a/frontend/docs/cart.jpeg b/frontend/docs/cart.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..cde1a63b81177a8f31c0fd20a10579cf9b464840 GIT binary patch literal 68845 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 Ze>i1ymPD)k^z`+54C*U6d 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.cartItems); +``` + +We can simplify this code by making `cartItems` as a Signal and also making a public property: + +``` +cartItems = signal([]); +``` + +## Obtaining the value of a Signal + +Next, we'll start getting some compilation errors because `cartItems` is no longer an array. We can fix it, by using the getter function: + +``` + private cartItems$ = new BehaviorSubject(this.cartItems()); +``` + +To retrieve the value of a signal, we simply add () to the signal to access it getter function: `cartItems()`. + +## Setting the value or updating a Signal + +To change the value of a writable signal, you can either `set()`` it directly: + +``` +cartItems.set([]) +``` + +When working with signals that contains objects or are an array, we can use the `mutate()` method to push a new value or modify an existing value: + +``` +// before +cartItems: CartItem[] = []; +this.cartItems.push({ product, quantity: 1 }); + +//after +this.cartItems.mutate((items) => items.push({ product, quantity: 1 })); +``` + +Or we can also use the `update()`` operation to compute a new value from the previous one: + +Before: + +``` +removeProduct(product: Product): void { + this.cartItems = this.cartItems().filter((p) => p.product.id !== product.id); +} +``` + +After: + +``` +removeProduct(product: Product): void { + this.cartItems.update((items) => items.filter((p) => p.product.id !== product.id)); +} +``` + +## Replacing an Observable with a Signal + +Once we convert an Observable to a Signal, we also need to apply some changes to our templates. + +Before: + +``` +cartItems$: Observable = this.cartService.getCartItems();; +``` + +After: + +``` +cartItems = this.cartService.cartItems; +``` + +HTML Before: + +``` +
+ +
+``` + +HTML After: + +``` +
+ +
+``` + +## Creating a Computed Signal + +A computed signal is a signal that depends on other signal(s) in order to compute its own value. +For example, to count how many items we have in the cart, we need to iterate the cart items array and check how many of each item the user added to cart before we have the total. Up until now, we depended on RxJS operators to be able to provide a value, and signals are perfect for these cases. + +Before with RxJS: + +``` +cartCount$ = this.cartItems$.pipe( + // calculate total quantity + map((items: CartItem[]) => { + return items.reduce((acc, curr) => acc + curr.quantity, 0); + }) + ); +``` + +After with Signals: + +``` +cartCount = computed(() => this.cartItems().reduce((acc, curr) => acc + curr.quantity, 0)); +``` + +So whenever there is a change in the cartItems, the cartCount will be updated automatically as well. + +We can still use alias variables in Angular templates to make it easier to reference the value within the HTML: + +``` +{{ + count > 0 ? count : "" +}} +``` + +Let's see how we can simply the cart totals with Signals instead of Observables: + +Before: + +``` +cartSubTotal$ = this.cartItems$.pipe( + map((items: CartItem[]) => + items.reduce((acc, curr) => acc + (curr.quantity * curr.product.price), 0)) +); + +cartTax$ = this.cartSubTotal$.pipe( + // calculate tax of 8% on top of the subtotal + map((subTotal) => subTotal * 0.08) +); + +cartTotal$ = combineLatest([ + this.cartSubTotal$, + this.cartTax$ +]).pipe(map(([subTotal, tax]) => subTotal + tax)); +``` + +After: + +``` +cartSubTotal = computed(() => this.cartItems().reduce((acc, curr) => acc + (curr.quantity * curr.product.price), 0)); + +cartTax = computed(() => this.cartSubTotal() * 0.08); + +cartTotal = computed(() => this.cartSubTotal() + this.cartTax()); +``` diff --git a/frontend/package-lock.json b/frontend/package-lock.json index c878006..24bde7b 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,34 +1,34 @@ { - "name": "frontend", + "name": "angular-shop", "version": "0.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "frontend", + "name": "angular-shop", "version": "0.0.0", "dependencies": { - "@angular/animations": "^18.2.0", - "@angular/cdk": "^17.3.10", - "@angular/common": "^18.2.0", - "@angular/compiler": "^18.2.0", - "@angular/core": "^18.2.0", - "@angular/forms": "^18.2.0", - "@angular/material": "^17.3.10", - "@angular/platform-browser": "^18.2.0", - "@angular/platform-browser-dynamic": "^18.2.0", - "@angular/router": "^18.2.0", + "@angular/animations": "^18.1.4", + "@angular/cdk": "^18.1.4", + "@angular/common": "^18.1.4", + "@angular/compiler": "^18.1.4", + "@angular/core": "^18.1.4", + "@angular/forms": "^18.1.4", + "@angular/material": "^18.1.4", + "@angular/platform-browser": "^18.1.4", + "@angular/platform-browser-dynamic": "^18.1.4", + "@angular/router": "^18.1.4", "rxjs": "~7.8.0", - "tslib": "^2.3.0", - "zone.js": "~0.14.3" + "tslib": "^2.6.3", + "zone.js": "~0.14.10" }, "devDependencies": { - "@angular-devkit/build-angular": "^18.2.0", - "@angular/cli": "^18.2.0", - "@angular/compiler-cli": "^18.2.0", - "@types/jasmine": "~5.1.0", - "jasmine-core": "~5.1.0", - "karma": "~6.4.0", + "@angular-devkit/build-angular": "^18.1.4", + "@angular/cli": "~18.1.4", + "@angular/compiler-cli": "^18.1.4", + "@types/jasmine": "~5.1.4", + "jasmine-core": "~5.2.0", + "karma": "~6.4.4", "karma-chrome-launcher": "~3.2.0", "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", @@ -50,12 +50,12 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1802.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.0.tgz", - "integrity": "sha512-s1atTSL98XLUUxfWEQAnhFaOFIJZDLWjSqec+Sb+f4iZFj+hOFejzJxPVnHMIJudOzn0Lqjk3t987KG/zNEGdg==", + "version": "0.1801.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1801.4.tgz", + "integrity": "sha512-Ch1ZwRh1N/vcCKHm4ErLcgZly3tlwdLUDGBaAIlhE3YFGq543Swv6a5IcDw0veD6iGFceJAmbrp+z5hmzI8p5A==", "dev": true, "dependencies": { - "@angular-devkit/core": "18.2.0", + "@angular-devkit/core": "18.1.4", "rxjs": "7.8.1" }, "engines": { @@ -65,47 +65,47 @@ } }, "node_modules/@angular-devkit/build-angular": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-18.2.0.tgz", - "integrity": "sha512-V0XKT7xt6d6duXqmDAQEQgEJNXuWAekpHEDxafvBT0MTxcEhu0ozQVwI4oAekiKOz+APIcAZyMzvw3Tlzog5cw==", + "version": "18.1.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-18.1.4.tgz", + "integrity": "sha512-CCoPT2fFw1DD3j9eSP3GKbp9KfvxQQfY6kV2aec0pqL/c6byz4/ku+rsV4lwE0N/dcaglwhttq4Xf+u+pkEpiw==", "dev": true, "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1802.0", - "@angular-devkit/build-webpack": "0.1802.0", - "@angular-devkit/core": "18.2.0", - "@angular/build": "18.2.0", - "@babel/core": "7.25.2", - "@babel/generator": "7.25.0", + "@angular-devkit/architect": "0.1801.4", + "@angular-devkit/build-webpack": "0.1801.4", + "@angular-devkit/core": "18.1.4", + "@angular/build": "18.1.4", + "@babel/core": "7.24.7", + "@babel/generator": "7.24.7", "@babel/helper-annotate-as-pure": "7.24.7", "@babel/helper-split-export-declaration": "7.24.7", - "@babel/plugin-transform-async-generator-functions": "7.25.0", + "@babel/plugin-transform-async-generator-functions": "7.24.7", "@babel/plugin-transform-async-to-generator": "7.24.7", "@babel/plugin-transform-runtime": "7.24.7", - "@babel/preset-env": "7.25.3", - "@babel/runtime": "7.25.0", - "@discoveryjs/json-ext": "0.6.1", - "@ngtools/webpack": "18.2.0", + "@babel/preset-env": "7.24.7", + "@babel/runtime": "7.24.7", + "@discoveryjs/json-ext": "0.5.7", + "@ngtools/webpack": "18.1.4", "@vitejs/plugin-basic-ssl": "1.1.0", "ansi-colors": "4.1.3", - "autoprefixer": "10.4.20", + "autoprefixer": "10.4.19", "babel-loader": "9.1.3", "browserslist": "^4.21.5", "copy-webpack-plugin": "12.0.2", "critters": "0.0.24", "css-loader": "7.1.2", - "esbuild-wasm": "0.23.0", + "esbuild-wasm": "0.21.5", "fast-glob": "3.3.2", "http-proxy-middleware": "3.0.0", "https-proxy-agent": "7.0.5", - "istanbul-lib-instrument": "6.0.3", + "istanbul-lib-instrument": "6.0.2", "jsonc-parser": "3.3.1", "karma-source-map-support": "1.4.0", "less": "4.2.0", "less-loader": "12.2.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.3.1", - "magic-string": "0.30.11", + "magic-string": "0.30.10", "mini-css-extract-plugin": "2.9.0", "mrmime": "2.0.0", "open": "10.1.0", @@ -113,24 +113,25 @@ "parse5-html-rewriting-stream": "7.0.0", "picomatch": "4.0.2", "piscina": "4.6.1", - "postcss": "8.4.41", + "postcss": "8.4.38", "postcss-loader": "8.1.1", "resolve-url-loader": "5.0.0", "rxjs": "7.8.1", - "sass": "1.77.8", - "sass-loader": "16.0.0", - "semver": "7.6.3", + "sass": "1.77.6", + "sass-loader": "14.2.1", + "semver": "7.6.2", "source-map-loader": "5.0.0", "source-map-support": "0.5.21", - "terser": "5.31.6", + "terser": "5.29.2", "tree-kill": "1.2.2", "tslib": "2.6.3", - "vite": "5.4.0", + "undici": "6.19.2", + "vite": "5.3.2", "watchpack": "2.4.1", - "webpack": "5.93.0", - "webpack-dev-middleware": "7.3.0", + "webpack": "5.92.1", + "webpack-dev-middleware": "7.2.1", "webpack-dev-server": "5.0.4", - "webpack-merge": "6.0.1", + "webpack-merge": "5.10.0", "webpack-subresource-integrity": "5.1.0" }, "engines": { @@ -139,7 +140,7 @@ "yarn": ">= 1.13.0" }, "optionalDependencies": { - "esbuild": "0.23.0" + "esbuild": "0.21.5" }, "peerDependencies": { "@angular/compiler-cli": "^18.0.0", @@ -193,9 +194,9 @@ } }, "node_modules/@angular-devkit/build-angular/node_modules/istanbul-lib-instrument": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", - "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", + "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", "dev": true, "dependencies": { "@babel/core": "^7.23.9", @@ -208,25 +209,43 @@ "node": ">=10" } }, - "node_modules/@angular-devkit/build-angular/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "node_modules/@angular-devkit/build-angular/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/terser": { + "version": "5.29.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.29.2.tgz", + "integrity": "sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==", "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, "bin": { - "semver": "bin/semver.js" + "terser": "bin/terser" }, "engines": { "node": ">=10" } }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1802.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1802.0.tgz", - "integrity": "sha512-bU7AxlI/avnlOLrgE195cokrOA1ayT6JjRv8Hxzh1bIOa1jE87HsyjxvQhOLcdEb97zwHqMqbntcgUNBgsegJQ==", + "version": "0.1801.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1801.4.tgz", + "integrity": "sha512-Srhs/PcnuUaMiO9FLQLi1QiGZqtnG5NTpkufjJuWxolSLGNRmb/h/ZeCYgRnxeH/4jd8GCD31RD78qy+pviiLQ==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1802.0", + "@angular-devkit/architect": "0.1801.4", "rxjs": "7.8.1" }, "engines": { @@ -240,12 +259,12 @@ } }, "node_modules/@angular-devkit/core": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.0.tgz", - "integrity": "sha512-8SOopyUKUMqAq2rj32XkTIfr79Y274k4uglxxRtzHYoWwHlLdG0KrA+wCcsh/FU9PyR4dA+5dcDAApn358ZF+Q==", + "version": "18.1.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.1.4.tgz", + "integrity": "sha512-lKBsvbqW2QFL8terzNuSDSmKBo8//QNRO4qU5mVJ1fFf4xBJanXKoiAMuADhx+/owVIptnYT59IZ8jUAna+Srg==", "dev": true, "dependencies": { - "ajv": "8.17.1", + "ajv": "8.16.0", "ajv-formats": "3.0.1", "jsonc-parser": "3.3.1", "picomatch": "4.0.2", @@ -283,15 +302,27 @@ } } }, + "node_modules/@angular-devkit/core/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/@angular-devkit/schematics": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-18.2.0.tgz", - "integrity": "sha512-WWKwz2RKMVI6T25JFwOSSfRLB+anNzabVIRwf85R/YMIo34BUk777f2JU/7cCKlxSpQu39TqIfMQZAyzAD1z0A==", + "version": "18.1.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-18.1.4.tgz", + "integrity": "sha512-0ekArCeYqJngCKWZ9I+RtNObP/33zGkzWdJOmCB6nj9/ZevALZ6F4RDkHp0TqDYhOt+A2muI29ZK/cILmKA+sA==", "dev": true, "dependencies": { - "@angular-devkit/core": "18.2.0", + "@angular-devkit/core": "18.1.4", "jsonc-parser": "3.3.1", - "magic-string": "0.30.11", + "magic-string": "0.30.10", "ora": "5.4.1", "rxjs": "7.8.1" }, @@ -302,9 +333,9 @@ } }, "node_modules/@angular/animations": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.2.0.tgz", - "integrity": "sha512-BFAfqDDjsa0Q91F4s33pFcBG+ydFDurEmwYGG1gmO7UXZJI6ZbRVdULaZHz75M+Bf3hJkzVB05pesvfbK+Fg/g==", + "version": "18.1.4", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.1.4.tgz", + "integrity": "sha512-m0yusB7BI3wrotx9F9rf7YUD5bvhF+lT2fLNF1QCzCU819rtLnDoj0b4/z+D0i5qe7gQjtAJ42e/Hv7eGuq0VQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -312,39 +343,41 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "18.2.0" + "@angular/core": "18.1.4" } }, "node_modules/@angular/build": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-18.2.0.tgz", - "integrity": "sha512-LvNJ2VOEVy3N1tGzt+xnKyweRBuUE1NsnuEEWAb9Y+V1cyRgj0s7FX2+IQZZQhP+W/pXfbsKaByOAbJ5KWV85Q==", + "version": "18.1.4", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-18.1.4.tgz", + "integrity": "sha512-jkqccHpGhxUOe0zIHpA1nPdeuPUxnBK7Wvazc2rA+ccI30BPrROkEDbrHP8yD8JeviUCFwwLE+hM+rRg+NneVw==", "dev": true, "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1802.0", - "@babel/core": "7.25.2", + "@angular-devkit/architect": "0.1801.4", + "@babel/core": "7.24.7", "@babel/helper-annotate-as-pure": "7.24.7", "@babel/helper-split-export-declaration": "7.24.7", "@babel/plugin-syntax-import-attributes": "7.24.7", - "@inquirer/confirm": "3.1.22", + "@inquirer/confirm": "3.1.11", "@vitejs/plugin-basic-ssl": "1.1.0", + "ansi-colors": "4.1.3", "browserslist": "^4.23.0", "critters": "0.0.24", - "esbuild": "0.23.0", + "esbuild": "0.21.5", "fast-glob": "3.3.2", "https-proxy-agent": "7.0.5", - "listr2": "8.2.4", - "lmdb": "3.0.13", - "magic-string": "0.30.11", + "lmdb": "3.0.12", + "magic-string": "0.30.10", "mrmime": "2.0.0", + "ora": "5.4.1", "parse5-html-rewriting-stream": "7.0.0", "picomatch": "4.0.2", "piscina": "4.6.1", - "rollup": "4.20.0", - "sass": "1.77.8", - "semver": "7.6.3", - "vite": "5.4.0", + "rollup": "4.18.0", + "sass": "1.77.6", + "semver": "7.6.2", + "undici": "6.19.2", + "vite": "5.3.2", "watchpack": "2.4.1" }, "engines": { @@ -383,22 +416,22 @@ } } }, - "node_modules/@angular/build/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "node_modules/@angular/build/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, - "bin": { - "semver": "bin/semver.js" - }, "engines": { - "node": ">=10" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/@angular/cdk": { - "version": "17.3.10", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-17.3.10.tgz", - "integrity": "sha512-b1qktT2c1TTTe5nTji/kFAVW92fULK0YhYAvJ+BjZTPKu2FniZNe8o4qqQ0pUuvtMu+ZQxp/QqFYoidIVCjScg==", + "version": "18.1.4", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-18.1.4.tgz", + "integrity": "sha512-xFOg2wT2iLyJXqgeNRK1uF4Lxn0B1wzBjaEQoOwFm1EHOdu5D4mNOTwfuB3DkH4KWM+mI3Qtxd7vOhOXNwB3Dg==", "dependencies": { "tslib": "^2.3.0" }, @@ -406,32 +439,32 @@ "parse5": "^7.1.2" }, "peerDependencies": { - "@angular/common": "^17.0.0 || ^18.0.0", - "@angular/core": "^17.0.0 || ^18.0.0", + "@angular/common": "^18.0.0 || ^19.0.0", + "@angular/core": "^18.0.0 || ^19.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/cli": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-18.2.0.tgz", - "integrity": "sha512-hA60QIA7Dh8LQxM42wqd7WrhwQjbjB8oIRH5Slgbiv8iocAo76scp1/qyZo2SSzjfkB7jxUiao5L4ckiJ/hvZg==", + "version": "18.1.4", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-18.1.4.tgz", + "integrity": "sha512-ppX4iilA6k+sKD6iRMRYnt2bH9Jpik+hJlndRBCjWo2EmEUQ04CBRKYONh8BLbnmwBxPG+/osUpcFrbkPCjQUw==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1802.0", - "@angular-devkit/core": "18.2.0", - "@angular-devkit/schematics": "18.2.0", - "@inquirer/prompts": "5.3.8", - "@listr2/prompt-adapter-inquirer": "2.0.15", - "@schematics/angular": "18.2.0", + "@angular-devkit/architect": "0.1801.4", + "@angular-devkit/core": "18.1.4", + "@angular-devkit/schematics": "18.1.4", + "@inquirer/prompts": "5.0.7", + "@listr2/prompt-adapter-inquirer": "2.0.13", + "@schematics/angular": "18.1.4", "@yarnpkg/lockfile": "1.1.0", "ini": "4.1.3", "jsonc-parser": "3.3.1", - "listr2": "8.2.4", - "npm-package-arg": "11.0.3", - "npm-pick-manifest": "9.1.0", + "listr2": "8.2.3", + "npm-package-arg": "11.0.2", + "npm-pick-manifest": "9.0.1", "pacote": "18.0.6", "resolve": "1.22.8", - "semver": "7.6.3", + "semver": "7.6.2", "symbol-observable": "4.0.0", "yargs": "17.7.2" }, @@ -444,22 +477,10 @@ "yarn": ">= 1.13.0" } }, - "node_modules/@angular/cli/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@angular/common": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.0.tgz", - "integrity": "sha512-DELx/QYNqqjmiM+kE5PoVmyG4gPw5WB1bDDeg3hEuBCK3eS2KosgQH0/MQo3OSBZHOcAMFjfHMGqKgxndmYixQ==", + "version": "18.1.4", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.1.4.tgz", + "integrity": "sha512-No4lCrL80WlAGg0DAyuPW+jsfA6EIQ06CFrRgt3R6YFrKbIuU0NKUt+D8IB7UNgTLNYXmurxapNf8jef8rq1wg==", "dependencies": { "tslib": "^2.3.0" }, @@ -467,14 +488,14 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "18.2.0", + "@angular/core": "18.1.4", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.2.0.tgz", - "integrity": "sha512-RmGwQ7jRzotUKKMk0CwxTcIXFr5mRxSbJf9o5S3ujuIOo1lYop8SQZvjq67a5BuoYyD+1pX6iMmxZqlbKoihBQ==", + "version": "18.1.4", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.1.4.tgz", + "integrity": "sha512-Xdvm9trEmrWZaxCk3a7bt5kN/jdXBPukVsibFpu5lKl9ZL7j2sn4JUd7j/dVNRUIVsPahQMATAOgl8xdUJzh4Q==", "dependencies": { "tslib": "^2.3.0" }, @@ -482,7 +503,7 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "18.2.0" + "@angular/core": "18.1.4" }, "peerDependenciesMeta": { "@angular/core": { @@ -491,12 +512,12 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.2.0.tgz", - "integrity": "sha512-pPBFjMqNTNettrleLtEc6a/ysOZjG3F0Z5lyKYePcyNQmn2rpa9XmD2y6PhmzTmIhxeXrogWA84Xgg/vK5wBNw==", + "version": "18.1.4", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.1.4.tgz", + "integrity": "sha512-wOOLzxPLsDYsD+f6Bqr31ol8K7I4cm4k5uuaQl+wkLBpX9AD1rMi/7CPJrXAWBdgOW67uPzAdLBsK+axKfg91w==", "dev": true, "dependencies": { - "@babel/core": "7.25.2", + "@babel/core": "7.24.9", "@jridgewell/sourcemap-codec": "^1.4.14", "chokidar": "^3.0.0", "convert-source-map": "^1.5.1", @@ -514,14 +535,74 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/compiler": "18.2.0", + "@angular/compiler": "18.1.4", "typescript": ">=5.4 <5.6" } }, + "node_modules/@angular/compiler-cli/node_modules/@babel/core": { + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.9.tgz", + "integrity": "sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.9", + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-module-transforms": "^7.24.9", + "@babel/helpers": "^7.24.8", + "@babel/parser": "^7.24.8", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.9", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@angular/compiler-cli/node_modules/@babel/generator": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", + "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.25.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@angular/core": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.0.tgz", - "integrity": "sha512-7+4wXfeAk1TnG3MGho2gpBI5XHxeSRWzLK2rC5qyyRbmMV+GrIgf1HqFjQ4S02rydkQvGpjqQHtO1PYJnyn4bg==", + "version": "18.1.4", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.1.4.tgz", + "integrity": "sha512-+N3oWYFubT3GdCkBfD/CmH4DGjr/fGFQZChWbph2ZuPpK7JYNgfyvXS4SjLtdL4WTjjBevBTgR70GyLH/5EbKA==", "dependencies": { "tslib": "^2.3.0" }, @@ -530,13 +611,13 @@ }, "peerDependencies": { "rxjs": "^6.5.3 || ^7.4.0", - "zone.js": "~0.14.10" + "zone.js": "~0.14.0" } }, "node_modules/@angular/forms": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.2.0.tgz", - "integrity": "sha512-G+4BjNCUo4cRwg9NwisGLbtG/1AbIJNOO3RUejPJJbCcAkYMSzmDWSQ+LQEGW4vC/1xaDKO8AT71DI/I09bOxA==", + "version": "18.1.4", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.1.4.tgz", + "integrity": "sha512-PYaQ7/2toAwgJWIznVWgJAd3l8mjAreilGOVIMbBIaotL/EHRQjhlikitJEFDGXeVUarY/rm3IlLWBYnLyliyg==", "dependencies": { "tslib": "^2.3.0" }, @@ -544,80 +625,33 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "18.2.0", - "@angular/core": "18.2.0", - "@angular/platform-browser": "18.2.0", + "@angular/common": "18.1.4", + "@angular/core": "18.1.4", + "@angular/platform-browser": "18.1.4", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/material": { - "version": "17.3.10", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-17.3.10.tgz", - "integrity": "sha512-hHMQES0tQPH5JW33W+mpBPuM8ybsloDTqFPuRV8cboDjosAWfJhzAKF3ozICpNlUrs62La/2Wu/756GcQrxebg==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/auto-init": "15.0.0-canary.7f224ddd4.0", - "@material/banner": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/button": "15.0.0-canary.7f224ddd4.0", - "@material/card": "15.0.0-canary.7f224ddd4.0", - "@material/checkbox": "15.0.0-canary.7f224ddd4.0", - "@material/chips": "15.0.0-canary.7f224ddd4.0", - "@material/circular-progress": "15.0.0-canary.7f224ddd4.0", - "@material/data-table": "15.0.0-canary.7f224ddd4.0", - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/dialog": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/drawer": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/fab": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/floating-label": "15.0.0-canary.7f224ddd4.0", - "@material/form-field": "15.0.0-canary.7f224ddd4.0", - "@material/icon-button": "15.0.0-canary.7f224ddd4.0", - "@material/image-list": "15.0.0-canary.7f224ddd4.0", - "@material/layout-grid": "15.0.0-canary.7f224ddd4.0", - "@material/line-ripple": "15.0.0-canary.7f224ddd4.0", - "@material/linear-progress": "15.0.0-canary.7f224ddd4.0", - "@material/list": "15.0.0-canary.7f224ddd4.0", - "@material/menu": "15.0.0-canary.7f224ddd4.0", - "@material/menu-surface": "15.0.0-canary.7f224ddd4.0", - "@material/notched-outline": "15.0.0-canary.7f224ddd4.0", - "@material/radio": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/segmented-button": "15.0.0-canary.7f224ddd4.0", - "@material/select": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/slider": "15.0.0-canary.7f224ddd4.0", - "@material/snackbar": "15.0.0-canary.7f224ddd4.0", - "@material/switch": "15.0.0-canary.7f224ddd4.0", - "@material/tab": "15.0.0-canary.7f224ddd4.0", - "@material/tab-bar": "15.0.0-canary.7f224ddd4.0", - "@material/tab-indicator": "15.0.0-canary.7f224ddd4.0", - "@material/tab-scroller": "15.0.0-canary.7f224ddd4.0", - "@material/textfield": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tooltip": "15.0.0-canary.7f224ddd4.0", - "@material/top-app-bar": "15.0.0-canary.7f224ddd4.0", - "@material/touch-target": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", + "version": "18.1.4", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-18.1.4.tgz", + "integrity": "sha512-xmKIVOKZA8yFXrw4PsBvShFSYFQCnuVNGGuJlc8S8xvURh/f9P6hAo1Ua9pSBkOKz2W2dHE+726zOqL+o4kNxg==", + "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/animations": "^17.0.0 || ^18.0.0", - "@angular/cdk": "17.3.10", - "@angular/common": "^17.0.0 || ^18.0.0", - "@angular/core": "^17.0.0 || ^18.0.0", - "@angular/forms": "^17.0.0 || ^18.0.0", - "@angular/platform-browser": "^17.0.0 || ^18.0.0", + "@angular/animations": "^18.0.0 || ^19.0.0", + "@angular/cdk": "18.1.4", + "@angular/common": "^18.0.0 || ^19.0.0", + "@angular/core": "^18.0.0 || ^19.0.0", + "@angular/forms": "^18.0.0 || ^19.0.0", + "@angular/platform-browser": "^18.0.0 || ^19.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/platform-browser": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.2.0.tgz", - "integrity": "sha512-yhj281TuPz5a8CehwucwIVl29Oqte9KS4X/VQkMV++GpYQE2KKKcoff4FXSdF5RUcUYkK2li4IvawIqPmUSagg==", + "version": "18.1.4", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.1.4.tgz", + "integrity": "sha512-zGx33St0JVYT8EZOaf0s8Twr0RgfU2cqEAc9Wwx9HVJ0pF5y4VnftK3pewwiHWDHkPfiJy0jBKbtrkVUSbgZfg==", "dependencies": { "tslib": "^2.3.0" }, @@ -625,9 +659,9 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/animations": "18.2.0", - "@angular/common": "18.2.0", - "@angular/core": "18.2.0" + "@angular/animations": "18.1.4", + "@angular/common": "18.1.4", + "@angular/core": "18.1.4" }, "peerDependenciesMeta": { "@angular/animations": { @@ -636,9 +670,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.2.0.tgz", - "integrity": "sha512-izfaXKNC/kqOEzJG8eTnFu39VLI3vv3dTKoYOdEKRB7MTI0t0x66oZmABnHcihtkTSvXs/is+7lA5HmH2ZuIEQ==", + "version": "18.1.4", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.1.4.tgz", + "integrity": "sha512-ZQQcKXGIriOzILTZxIbmDpGnwuiwfJ0xh2EmmnfC0zh/NB+li6whgplOLEciaHgsUKtDn7kNZFn2vKrx+B/cDQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -646,16 +680,16 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "18.2.0", - "@angular/compiler": "18.2.0", - "@angular/core": "18.2.0", - "@angular/platform-browser": "18.2.0" + "@angular/common": "18.1.4", + "@angular/compiler": "18.1.4", + "@angular/core": "18.1.4", + "@angular/platform-browser": "18.1.4" } }, "node_modules/@angular/router": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.2.0.tgz", - "integrity": "sha512-6/462hvC3HSwbps8VItECHpkdkiFqRmTKdn1Trik+FjnvdupYrKB6kBsveM3eP+gZD4zyMBMKzBWB9N/xA1clw==", + "version": "18.1.4", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.1.4.tgz", + "integrity": "sha512-982+bnO3uGFYjRFcQDoKmnWvUcZUvFxEpX/I2Yu+WmPJrY7fPJ693mBaWgwVFa0xIBNfjvJjNXdikGBz5UrMsw==", "dependencies": { "tslib": "^2.3.0" }, @@ -663,9 +697,9 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "18.2.0", - "@angular/core": "18.2.0", - "@angular/platform-browser": "18.2.0", + "@angular/common": "18.1.4", + "@angular/core": "18.1.4", + "@angular/platform-browser": "18.1.4", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -683,30 +717,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz", - "integrity": "sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.8.tgz", + "integrity": "sha512-c4IM7OTg6k1Q+AJ153e2mc2QVTezTwnb4VzquwcyiEzGnW0Kedv4do/TrkU98qPeC5LNiMt/QXwIjzYXLBpyZg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", - "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz", + "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/helper-compilation-targets": "^7.25.2", - "@babel/helper-module-transforms": "^7.25.2", - "@babel/helpers": "^7.25.0", - "@babel/parser": "^7.25.0", - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.2", - "@babel/types": "^7.25.2", + "@babel/generator": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helpers": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -737,12 +771,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", - "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", + "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", "dev": true, "dependencies": { - "@babel/types": "^7.25.0", + "@babel/types": "^7.24.7", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" @@ -777,12 +811,12 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", - "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz", + "integrity": "sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.25.2", + "@babel/compat-data": "^7.24.8", "@babel/helper-validator-option": "^7.24.8", "browserslist": "^4.23.1", "lru-cache": "^5.1.1", @@ -802,17 +836,19 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.0.tgz", - "integrity": "sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.8.tgz", + "integrity": "sha512-4f6Oqnmyp2PP3olgUMmOwC3akxSm5aBYraQ6YDdKy7NcAMkDECHWG0DEnV6M2UAkERgIBhYt8S27rURPg7SxWA==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", "@babel/helper-member-expression-to-functions": "^7.24.8", "@babel/helper-optimise-call-expression": "^7.24.7", - "@babel/helper-replace-supers": "^7.25.0", + "@babel/helper-replace-supers": "^7.24.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/traverse": "^7.25.0", + "@babel/helper-split-export-declaration": "^7.24.7", "semver": "^6.3.1" }, "engines": { @@ -832,9 +868,9 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", - "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz", + "integrity": "sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", @@ -873,6 +909,43 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", + "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", + "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", @@ -900,15 +973,16 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", - "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.9.tgz", + "integrity": "sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw==", "dev": true, "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", "@babel/helper-module-imports": "^7.24.7", "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7", - "@babel/traverse": "^7.25.2" + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -939,14 +1013,14 @@ } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", - "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz", + "integrity": "sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-wrap-function": "^7.25.0", - "@babel/traverse": "^7.25.0" + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-wrap-function": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -956,14 +1030,14 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", - "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz", + "integrity": "sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==", "dev": true, "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.24.8", - "@babel/helper-optimise-call-expression": "^7.24.7", - "@babel/traverse": "^7.25.0" + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.7", + "@babel/helper-optimise-call-expression": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1038,27 +1112,28 @@ } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", - "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz", + "integrity": "sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==", "dev": true, "dependencies": { - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.0", - "@babel/types": "^7.25.0" + "@babel/helper-function-name": "^7.24.7", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz", - "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.8.tgz", + "integrity": "sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==", "dev": true, "dependencies": { - "@babel/template": "^7.25.0", - "@babel/types": "^7.25.0" + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1080,13 +1155,10 @@ } }, "node_modules/@babel/parser": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz", - "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.8.tgz", + "integrity": "sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==", "dev": true, - "dependencies": { - "@babel/types": "^7.25.2" - }, "bin": { "parser": "bin/babel-parser.js" }, @@ -1095,28 +1167,13 @@ } }, "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", - "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/traverse": "^7.25.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", - "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz", + "integrity": "sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1126,12 +1183,12 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", - "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.7.tgz", + "integrity": "sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1158,13 +1215,13 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", - "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz", + "integrity": "sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/traverse": "^7.25.0" + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1436,15 +1493,15 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz", - "integrity": "sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz", + "integrity": "sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-remap-async-to-generator": "^7.25.0", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/traverse": "^7.25.0" + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7", + "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { "node": ">=6.9.0" @@ -1486,12 +1543,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", - "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz", + "integrity": "sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1534,16 +1591,18 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.0.tgz", - "integrity": "sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.8.tgz", + "integrity": "sha512-VXy91c47uujj758ud9wx+OMgheXm4qJfyhj1P18YvlrQkNOSrwsteHk+EFS3OMGfhMhpZa0A+81eE7G4QC+3CA==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-replace-supers": "^7.25.0", - "@babel/traverse": "^7.25.0", + "@babel/helper-replace-supers": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", "globals": "^11.1.0" }, "engines": { @@ -1615,22 +1674,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", - "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.0", - "@babel/helper-plugin-utils": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, "node_modules/@babel/plugin-transform-dynamic-import": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", @@ -1696,14 +1739,14 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.25.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", - "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz", + "integrity": "sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.24.8", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/traverse": "^7.25.1" + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1729,12 +1772,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", - "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz", + "integrity": "sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1808,15 +1851,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", - "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz", + "integrity": "sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.25.0", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-validator-identifier": "^7.24.7", - "@babel/traverse": "^7.25.0" + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -2235,20 +2278,19 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.3.tgz", - "integrity": "sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.7.tgz", + "integrity": "sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.25.2", - "@babel/helper-compilation-targets": "^7.25.2", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-validator-option": "^7.24.8", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", + "@babel/compat-data": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.7", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.7", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", @@ -2269,30 +2311,29 @@ "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.24.7", - "@babel/plugin-transform-async-generator-functions": "^7.25.0", + "@babel/plugin-transform-async-generator-functions": "^7.24.7", "@babel/plugin-transform-async-to-generator": "^7.24.7", "@babel/plugin-transform-block-scoped-functions": "^7.24.7", - "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-block-scoping": "^7.24.7", "@babel/plugin-transform-class-properties": "^7.24.7", "@babel/plugin-transform-class-static-block": "^7.24.7", - "@babel/plugin-transform-classes": "^7.25.0", + "@babel/plugin-transform-classes": "^7.24.7", "@babel/plugin-transform-computed-properties": "^7.24.7", - "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-destructuring": "^7.24.7", "@babel/plugin-transform-dotall-regex": "^7.24.7", "@babel/plugin-transform-duplicate-keys": "^7.24.7", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", "@babel/plugin-transform-dynamic-import": "^7.24.7", "@babel/plugin-transform-exponentiation-operator": "^7.24.7", "@babel/plugin-transform-export-namespace-from": "^7.24.7", "@babel/plugin-transform-for-of": "^7.24.7", - "@babel/plugin-transform-function-name": "^7.25.1", + "@babel/plugin-transform-function-name": "^7.24.7", "@babel/plugin-transform-json-strings": "^7.24.7", - "@babel/plugin-transform-literals": "^7.25.2", + "@babel/plugin-transform-literals": "^7.24.7", "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", "@babel/plugin-transform-member-expression-literals": "^7.24.7", "@babel/plugin-transform-modules-amd": "^7.24.7", - "@babel/plugin-transform-modules-commonjs": "^7.24.8", - "@babel/plugin-transform-modules-systemjs": "^7.25.0", + "@babel/plugin-transform-modules-commonjs": "^7.24.7", + "@babel/plugin-transform-modules-systemjs": "^7.24.7", "@babel/plugin-transform-modules-umd": "^7.24.7", "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", "@babel/plugin-transform-new-target": "^7.24.7", @@ -2301,7 +2342,7 @@ "@babel/plugin-transform-object-rest-spread": "^7.24.7", "@babel/plugin-transform-object-super": "^7.24.7", "@babel/plugin-transform-optional-catch-binding": "^7.24.7", - "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-optional-chaining": "^7.24.7", "@babel/plugin-transform-parameters": "^7.24.7", "@babel/plugin-transform-private-methods": "^7.24.7", "@babel/plugin-transform-private-property-in-object": "^7.24.7", @@ -2312,7 +2353,7 @@ "@babel/plugin-transform-spread": "^7.24.7", "@babel/plugin-transform-sticky-regex": "^7.24.7", "@babel/plugin-transform-template-literals": "^7.24.7", - "@babel/plugin-transform-typeof-symbol": "^7.24.8", + "@babel/plugin-transform-typeof-symbol": "^7.24.7", "@babel/plugin-transform-unicode-escapes": "^7.24.7", "@babel/plugin-transform-unicode-property-regex": "^7.24.7", "@babel/plugin-transform-unicode-regex": "^7.24.7", @@ -2321,7 +2362,7 @@ "babel-plugin-polyfill-corejs2": "^0.4.10", "babel-plugin-polyfill-corejs3": "^0.10.4", "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.37.1", + "core-js-compat": "^3.31.0", "semver": "^6.3.1" }, "engines": { @@ -2361,9 +2402,9 @@ "dev": true }, "node_modules/@babel/runtime": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz", - "integrity": "sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", + "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", "dev": true, "dependencies": { "regenerator-runtime": "^0.14.0" @@ -2373,30 +2414,33 @@ } }, "node_modules/@babel/template": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", - "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", + "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", "dev": true, "dependencies": { "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.25.0", - "@babel/types": "^7.25.0" + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz", - "integrity": "sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.8.tgz", + "integrity": "sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/parser": "^7.25.3", - "@babel/template": "^7.25.0", - "@babel/types": "^7.25.2", + "@babel/generator": "^7.24.8", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/parser": "^7.24.8", + "@babel/types": "^7.24.8", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -2404,6 +2448,21 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/traverse/node_modules/@babel/generator": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.8.tgz", + "integrity": "sha512-47DG+6F5SzOi0uEvK4wMShmn5yY0mVjVJoWTphdY2B4Rx9wHgjK7Yhtr0ru6nE+sn0v38mzrWOlah0p/YlHHOQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.8", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/types": { "version": "7.25.2", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", @@ -2428,18 +2487,18 @@ } }, "node_modules/@discoveryjs/json-ext": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.1.tgz", - "integrity": "sha512-boghen8F0Q8D+0/Q1/1r6DUEieUJ8w2a1gIknExMSHBsJFOr2+0KUfHiVYBvucPwl3+RU5PFBK833FjFCh3BhA==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true, "engines": { - "node": ">=14.17.0" + "node": ">=10.0.0" } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.0.tgz", - "integrity": "sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", "cpu": [ "ppc64" ], @@ -2449,13 +2508,13 @@ "aix" ], "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@esbuild/android-arm": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.0.tgz", - "integrity": "sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", "cpu": [ "arm" ], @@ -2465,13 +2524,13 @@ "android" ], "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@esbuild/android-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.0.tgz", - "integrity": "sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", "cpu": [ "arm64" ], @@ -2481,13 +2540,13 @@ "android" ], "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@esbuild/android-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.0.tgz", - "integrity": "sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", "cpu": [ "x64" ], @@ -2497,13 +2556,13 @@ "android" ], "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.0.tgz", - "integrity": "sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", "cpu": [ "arm64" ], @@ -2513,13 +2572,13 @@ "darwin" ], "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.0.tgz", - "integrity": "sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", "cpu": [ "x64" ], @@ -2529,13 +2588,13 @@ "darwin" ], "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.0.tgz", - "integrity": "sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", "cpu": [ "arm64" ], @@ -2545,13 +2604,13 @@ "freebsd" ], "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.0.tgz", - "integrity": "sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", "cpu": [ "x64" ], @@ -2561,13 +2620,13 @@ "freebsd" ], "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@esbuild/linux-arm": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.0.tgz", - "integrity": "sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", "cpu": [ "arm" ], @@ -2577,13 +2636,13 @@ "linux" ], "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.0.tgz", - "integrity": "sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", "cpu": [ "arm64" ], @@ -2593,13 +2652,13 @@ "linux" ], "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.0.tgz", - "integrity": "sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", "cpu": [ "ia32" ], @@ -2609,13 +2668,13 @@ "linux" ], "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.0.tgz", - "integrity": "sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", "cpu": [ "loong64" ], @@ -2625,13 +2684,13 @@ "linux" ], "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.0.tgz", - "integrity": "sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", "cpu": [ "mips64el" ], @@ -2641,13 +2700,13 @@ "linux" ], "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.0.tgz", - "integrity": "sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", "cpu": [ "ppc64" ], @@ -2657,13 +2716,13 @@ "linux" ], "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.0.tgz", - "integrity": "sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", "cpu": [ "riscv64" ], @@ -2673,13 +2732,13 @@ "linux" ], "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.0.tgz", - "integrity": "sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", "cpu": [ "s390x" ], @@ -2689,13 +2748,13 @@ "linux" ], "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@esbuild/linux-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.0.tgz", - "integrity": "sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", "cpu": [ "x64" ], @@ -2705,13 +2764,13 @@ "linux" ], "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.0.tgz", - "integrity": "sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", "cpu": [ "x64" ], @@ -2721,29 +2780,13 @@ "netbsd" ], "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.0.tgz", - "integrity": "sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.0.tgz", - "integrity": "sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", "cpu": [ "x64" ], @@ -2753,13 +2796,13 @@ "openbsd" ], "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.0.tgz", - "integrity": "sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", "cpu": [ "x64" ], @@ -2769,13 +2812,13 @@ "sunos" ], "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.0.tgz", - "integrity": "sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", "cpu": [ "arm64" ], @@ -2785,13 +2828,13 @@ "win32" ], "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.0.tgz", - "integrity": "sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", "cpu": [ "ia32" ], @@ -2801,13 +2844,13 @@ "win32" ], "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@esbuild/win32-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.0.tgz", - "integrity": "sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", "cpu": [ "x64" ], @@ -2817,18 +2860,18 @@ "win32" ], "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/@inquirer/checkbox": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-2.4.7.tgz", - "integrity": "sha512-5YwCySyV1UEgqzz34gNsC38eKxRBtlRDpJLlKcRtTjlYA/yDKuc1rfw+hjw+2WJxbAZtaDPsRl5Zk7J14SBoBw==", + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-2.3.10.tgz", + "integrity": "sha512-CTc864M2/523rKc9AglIzAcUCuPXDZENgc5S2KZFVRbnMzpXcYTsUWmbqSeL0XLvtlvEtNevkkVbfVhJpruOyQ==", "dev": true, "dependencies": { - "@inquirer/core": "^9.0.10", - "@inquirer/figures": "^1.0.5", - "@inquirer/type": "^1.5.2", + "@inquirer/core": "^9.0.2", + "@inquirer/figures": "^1.0.3", + "@inquirer/type": "^1.4.0", "ansi-escapes": "^4.3.2", "yoctocolors-cjs": "^2.1.2" }, @@ -2836,29 +2879,16 @@ "node": ">=18" } }, - "node_modules/@inquirer/confirm": { - "version": "3.1.22", - "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.1.22.tgz", - "integrity": "sha512-gsAKIOWBm2Q87CDfs9fEo7wJT3fwWIJfnDGMn9Qy74gBnNFOACDNfhUzovubbJjWnKLGBln7/NcSmZwj5DuEXg==", - "dev": true, - "dependencies": { - "@inquirer/core": "^9.0.10", - "@inquirer/type": "^1.5.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@inquirer/core": { - "version": "9.0.10", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.0.10.tgz", - "integrity": "sha512-TdESOKSVwf6+YWDz8GhS6nKscwzkIyakEzCLJ5Vh6O3Co2ClhCJ0A4MG909MUWfaWdpJm7DE45ii51/2Kat9tA==", + "node_modules/@inquirer/checkbox/node_modules/@inquirer/core": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.0.2.tgz", + "integrity": "sha512-nguvH3TZar3ACwbytZrraRTzGqyxJfYJwv+ZwqZNatAosdWQMP1GV8zvmkNlBe2JeZSaw0WYBHZk52pDpWC9qA==", "dev": true, "dependencies": { - "@inquirer/figures": "^1.0.5", - "@inquirer/type": "^1.5.2", + "@inquirer/figures": "^1.0.3", + "@inquirer/type": "^1.4.0", "@types/mute-stream": "^0.0.4", - "@types/node": "^22.1.0", + "@types/node": "^20.14.9", "@types/wrap-ansi": "^3.0.0", "ansi-escapes": "^4.3.2", "cli-spinners": "^2.9.2", @@ -2873,7 +2903,40 @@ "node": ">=18" } }, - "node_modules/@inquirer/core/node_modules/signal-exit": { + "node_modules/@inquirer/checkbox/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@inquirer/checkbox/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@inquirer/checkbox/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@inquirer/checkbox/node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", @@ -2885,391 +2948,969 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@inquirer/editor": { - "version": "2.1.22", - "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-2.1.22.tgz", - "integrity": "sha512-K1QwTu7GCK+nKOVRBp5HY9jt3DXOfPGPr6WRDrPImkcJRelG9UTx2cAtK1liXmibRrzJlTWOwqgWT3k2XnS62w==", + "node_modules/@inquirer/checkbox/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "dependencies": { - "@inquirer/core": "^9.0.10", - "@inquirer/type": "^1.5.2", - "external-editor": "^3.1.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=18" + "node": ">=8" } }, - "node_modules/@inquirer/expand": { - "version": "2.1.22", - "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-2.1.22.tgz", - "integrity": "sha512-wTZOBkzH+ItPuZ3ZPa9lynBsdMp6kQ9zbjVPYEtSBG7UulGjg2kQiAnUjgyG4SlntpTce5bOmXAPvE4sguXjpA==", + "node_modules/@inquirer/confirm": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.1.11.tgz", + "integrity": "sha512-3wWw10VPxQP279FO4bzWsf8YjIAq7NdwATJ4xS2h1uwsXZu/RmtOVV95rZ7yllS1h/dzu+uLewjMAzNDEj8h2w==", "dev": true, "dependencies": { - "@inquirer/core": "^9.0.10", - "@inquirer/type": "^1.5.2", - "yoctocolors-cjs": "^2.1.2" + "@inquirer/core": "^8.2.4", + "@inquirer/type": "^1.3.3" }, "engines": { "node": ">=18" } }, - "node_modules/@inquirer/figures": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.5.tgz", - "integrity": "sha512-79hP/VWdZ2UVc9bFGJnoQ/lQMpL74mGgzSYX1xUqCVk7/v73vJCMw1VuyWN1jGkZ9B3z7THAbySqGbCNefcjfA==", - "dev": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/@inquirer/input": { - "version": "2.2.9", - "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-2.2.9.tgz", - "integrity": "sha512-7Z6N+uzkWM7+xsE+3rJdhdG/+mQgejOVqspoW+w0AbSZnL6nq5tGMEVASaYVWbkoSzecABWwmludO2evU3d31g==", + "node_modules/@inquirer/core": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-8.2.4.tgz", + "integrity": "sha512-7vsXSfxtrrbwMTirfaKwPcjqJy7pzeuF/bP62yo1NQrRJ5HjmMlrhZml/Ljm9ODc1RnbhJlTeSnCkjtFddKjwA==", "dev": true, "dependencies": { - "@inquirer/core": "^9.0.10", - "@inquirer/type": "^1.5.2" + "@inquirer/figures": "^1.0.3", + "@inquirer/type": "^1.3.3", + "@types/mute-stream": "^0.0.4", + "@types/node": "^20.14.9", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "cli-spinners": "^2.9.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "picocolors": "^1.0.1", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0" }, "engines": { "node": ">=18" } }, - "node_modules/@inquirer/number": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-1.0.10.tgz", - "integrity": "sha512-kWTxRF8zHjQOn2TJs+XttLioBih6bdc5CcosXIzZsrTY383PXI35DuhIllZKu7CdXFi2rz2BWPN9l0dPsvrQOA==", + "node_modules/@inquirer/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "@inquirer/core": "^9.0.10", - "@inquirer/type": "^1.5.2" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=18" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@inquirer/password": { - "version": "2.1.22", - "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-2.1.22.tgz", - "integrity": "sha512-5Fxt1L9vh3rAKqjYwqsjU4DZsEvY/2Gll+QkqR4yEpy6wvzLxdSgFhUcxfDAOtO4BEoTreWoznC0phagwLU5Kw==", + "node_modules/@inquirer/core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "@inquirer/core": "^9.0.10", - "@inquirer/type": "^1.5.2", - "ansi-escapes": "^4.3.2" + "color-name": "~1.1.4" }, "engines": { - "node": ">=18" + "node": ">=7.0.0" } }, - "node_modules/@inquirer/prompts": { - "version": "5.3.8", - "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-5.3.8.tgz", - "integrity": "sha512-b2BudQY/Si4Y2a0PdZZL6BeJtl8llgeZa7U2j47aaJSCeAl1e4UI7y8a9bSkO3o/ZbZrgT5muy/34JbsjfIWxA==", + "node_modules/@inquirer/core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@inquirer/core/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "dependencies": { - "@inquirer/checkbox": "^2.4.7", - "@inquirer/confirm": "^3.1.22", - "@inquirer/editor": "^2.1.22", - "@inquirer/expand": "^2.1.22", - "@inquirer/input": "^2.2.9", - "@inquirer/number": "^1.0.10", - "@inquirer/password": "^2.1.22", - "@inquirer/rawlist": "^2.2.4", - "@inquirer/search": "^1.0.7", - "@inquirer/select": "^2.4.7" - }, "engines": { - "node": ">=18" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@inquirer/rawlist": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-2.2.4.tgz", - "integrity": "sha512-pb6w9pWrm7EfnYDgQObOurh2d2YH07+eDo3xQBsNAM2GRhliz6wFXGi1thKQ4bN6B0xDd6C3tBsjdr3obsCl3Q==", + "node_modules/@inquirer/core/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "dependencies": { - "@inquirer/core": "^9.0.10", - "@inquirer/type": "^1.5.2", - "yoctocolors-cjs": "^2.1.2" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=18" + "node": ">=8" } }, - "node_modules/@inquirer/search": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-1.0.7.tgz", - "integrity": "sha512-p1wpV+3gd1eST/o5N3yQpYEdFNCzSP0Klrl+5bfD3cTTz8BGG6nf4Z07aBW0xjlKIj1Rp0y3x/X4cZYi6TfcLw==", + "node_modules/@inquirer/editor": { + "version": "2.1.14", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-2.1.14.tgz", + "integrity": "sha512-6nWpoJyVAKwAcv67bkbBmmi3f32xua79fP7TRmNUoR4K+B1GiOBsHO1YdvET/jvC+nTlBZL7puKAKyM7G+Lkzw==", "dev": true, "dependencies": { - "@inquirer/core": "^9.0.10", - "@inquirer/figures": "^1.0.5", - "@inquirer/type": "^1.5.2", - "yoctocolors-cjs": "^2.1.2" + "@inquirer/core": "^9.0.2", + "@inquirer/type": "^1.4.0", + "external-editor": "^3.1.0" }, "engines": { "node": ">=18" } }, - "node_modules/@inquirer/select": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-2.4.7.tgz", - "integrity": "sha512-JH7XqPEkBpNWp3gPCqWqY8ECbyMoFcCZANlL6pV9hf59qK6dGmkOlx1ydyhY+KZ0c5X74+W6Mtp+nm2QX0/MAQ==", + "node_modules/@inquirer/editor/node_modules/@inquirer/core": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.0.2.tgz", + "integrity": "sha512-nguvH3TZar3ACwbytZrraRTzGqyxJfYJwv+ZwqZNatAosdWQMP1GV8zvmkNlBe2JeZSaw0WYBHZk52pDpWC9qA==", "dev": true, "dependencies": { - "@inquirer/core": "^9.0.10", - "@inquirer/figures": "^1.0.5", - "@inquirer/type": "^1.5.2", + "@inquirer/figures": "^1.0.3", + "@inquirer/type": "^1.4.0", + "@types/mute-stream": "^0.0.4", + "@types/node": "^20.14.9", + "@types/wrap-ansi": "^3.0.0", "ansi-escapes": "^4.3.2", + "cli-spinners": "^2.9.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" } }, - "node_modules/@inquirer/type": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.5.2.tgz", - "integrity": "sha512-w9qFkumYDCNyDZmNQjf/n6qQuvQ4dMC3BJesY4oF+yr0CxR5vxujflAVeIcS6U336uzi9GM0kAfZlLrZ9UTkpA==", + "node_modules/@inquirer/editor/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "mute-stream": "^1.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=18" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "node_modules/@inquirer/editor/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=12" + "node": ">=7.0.0" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "node_modules/@inquirer/editor/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@inquirer/editor/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "engines": { - "node": ">=12" + "node": ">=14" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "node_modules/@inquirer/editor/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, - "engines": { - "node": ">=12" + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=8" } }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "node_modules/@inquirer/expand": { + "version": "2.1.14", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-2.1.14.tgz", + "integrity": "sha512-JcxsLajwPykF2kq6biIUdoOzTQ3LXqb8XMVrWkCprG/pFeU1SsxcSSFbF1T5jJGvvlTVcsE+JdGjbQ8ZRZ82RA==", "dev": true, "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "@inquirer/core": "^9.0.2", + "@inquirer/type": "^1.4.0", + "yoctocolors-cjs": "^2.1.2" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/@inquirer/expand/node_modules/@inquirer/core": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.0.2.tgz", + "integrity": "sha512-nguvH3TZar3ACwbytZrraRTzGqyxJfYJwv+ZwqZNatAosdWQMP1GV8zvmkNlBe2JeZSaw0WYBHZk52pDpWC9qA==", "dev": true, "dependencies": { - "ansi-regex": "^6.0.1" + "@inquirer/figures": "^1.0.3", + "@inquirer/type": "^1.4.0", + "@types/mute-stream": "^0.0.4", + "@types/node": "^20.14.9", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "cli-spinners": "^2.9.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=18" } }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "node_modules/@inquirer/expand/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=12" + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "node_modules/@inquirer/expand/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=8" + "node": ">=7.0.0" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "node_modules/@inquirer/expand/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@inquirer/expand/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, "engines": { - "node": ">=6.0.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "node_modules/@inquirer/expand/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "node_modules/@inquirer/figures": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.3.tgz", + "integrity": "sha512-ErXXzENMH5pJt5/ssXV0DfWUZqly8nGzf0UcBV9xTnP+KyffE2mqyxIMBrZ8ijQck2nU0TQm40EQB53YreyWHw==", "dev": true, "engines": { - "node": ">=6.0.0" + "node": ">=18" } }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "node_modules/@inquirer/input": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-2.2.1.tgz", + "integrity": "sha512-Yl1G6h7qWydzrJwqN777geeJVaAFL5Ly83aZlw4xHf8Z/BoTMfKRheyuMaQwOG7LQ4e5nQP7PxXdEg4SzQ+OKw==", "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" + "@inquirer/core": "^9.0.2", + "@inquirer/type": "^1.4.0" + }, + "engines": { + "node": ">=18" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "node_modules/@inquirer/input/node_modules/@inquirer/core": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.0.2.tgz", + "integrity": "sha512-nguvH3TZar3ACwbytZrraRTzGqyxJfYJwv+ZwqZNatAosdWQMP1GV8zvmkNlBe2JeZSaw0WYBHZk52pDpWC9qA==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "@inquirer/figures": "^1.0.3", + "@inquirer/type": "^1.4.0", + "@types/mute-stream": "^0.0.4", + "@types/node": "^20.14.9", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "cli-spinners": "^2.9.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" } }, - "node_modules/@jsonjoy.com/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", + "node_modules/@inquirer/input/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=10.0" + "node": ">=8" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@jsonjoy.com/json-pack": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.1.0.tgz", - "integrity": "sha512-zlQONA+msXPPwHWZMKFVS78ewFczIll5lXiVPwFPCZUsrOKdxc2AvxU1HoNBmMRhqDZUR9HkC3UOm+6pME6Xsg==", + "node_modules/@inquirer/input/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "@jsonjoy.com/base64": "^1.1.1", - "@jsonjoy.com/util": "^1.1.2", - "hyperdyperid": "^1.2.0", - "thingies": "^1.20.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" + "node": ">=7.0.0" } }, - "node_modules/@jsonjoy.com/util": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.3.0.tgz", - "integrity": "sha512-Cebt4Vk7k1xHy87kHY7KSPLT77A7Ev7IfOblyLZhtYEhrdQ6fX4EoLq3xOQ3O/DRMEh2ok5nyC180E+ABS8Wmw==", + "node_modules/@inquirer/input/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@inquirer/input/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "engines": { - "node": ">=10.0" + "node": ">=14" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.5", + "node_modules/@inquirer/input/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@inquirer/password": { + "version": "2.1.14", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-2.1.14.tgz", + "integrity": "sha512-sPzOkXLhWJQ96K6nPZFnF8XB8tsDrcCRobd1d3EDz81F+4hp8BbdmsnsQcqZ7oYDIOVM/mWJyIUtJ35TrssJxQ==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.0.2", + "@inquirer/type": "^1.4.0", + "ansi-escapes": "^4.3.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/password/node_modules/@inquirer/core": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.0.2.tgz", + "integrity": "sha512-nguvH3TZar3ACwbytZrraRTzGqyxJfYJwv+ZwqZNatAosdWQMP1GV8zvmkNlBe2JeZSaw0WYBHZk52pDpWC9qA==", + "dev": true, + "dependencies": { + "@inquirer/figures": "^1.0.3", + "@inquirer/type": "^1.4.0", + "@types/mute-stream": "^0.0.4", + "@types/node": "^20.14.9", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "cli-spinners": "^2.9.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/password/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@inquirer/password/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@inquirer/password/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@inquirer/password/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@inquirer/password/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@inquirer/prompts": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-5.0.7.tgz", + "integrity": "sha512-GFcigCxJTKCH3aECzMIu4FhgLJWnFvMXzpI4CCSoELWFtkOOU2P+goYA61+OKpGrB8fPE7q6n8zAXBSlZRrHjQ==", + "dev": true, + "dependencies": { + "@inquirer/checkbox": "^2.3.7", + "@inquirer/confirm": "^3.1.11", + "@inquirer/editor": "^2.1.11", + "@inquirer/expand": "^2.1.11", + "@inquirer/input": "^2.1.11", + "@inquirer/password": "^2.1.11", + "@inquirer/rawlist": "^2.1.11", + "@inquirer/select": "^2.3.7" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/rawlist": { + "version": "2.1.14", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-2.1.14.tgz", + "integrity": "sha512-pLpEzhKNQ/ugFAFfgCNaXljB+dcCwmXwR1jOxAbVeFIdB3l02E5gjI+h1rb136tq0T8JO6P5KFR1oTeld/wdrA==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.0.2", + "@inquirer/type": "^1.4.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/rawlist/node_modules/@inquirer/core": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.0.2.tgz", + "integrity": "sha512-nguvH3TZar3ACwbytZrraRTzGqyxJfYJwv+ZwqZNatAosdWQMP1GV8zvmkNlBe2JeZSaw0WYBHZk52pDpWC9qA==", + "dev": true, + "dependencies": { + "@inquirer/figures": "^1.0.3", + "@inquirer/type": "^1.4.0", + "@types/mute-stream": "^0.0.4", + "@types/node": "^20.14.9", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "cli-spinners": "^2.9.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/rawlist/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@inquirer/rawlist/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@inquirer/rawlist/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@inquirer/rawlist/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@inquirer/rawlist/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@inquirer/select": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-2.3.10.tgz", + "integrity": "sha512-rr7iR0Zj1YFfgM8IUGimPD9Yukd+n/U63CnYT9kdum6DbRXtMxR45rrreP+EA9ixCnShr+W4xj7suRxC1+8t9g==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.0.2", + "@inquirer/figures": "^1.0.3", + "@inquirer/type": "^1.4.0", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/select/node_modules/@inquirer/core": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.0.2.tgz", + "integrity": "sha512-nguvH3TZar3ACwbytZrraRTzGqyxJfYJwv+ZwqZNatAosdWQMP1GV8zvmkNlBe2JeZSaw0WYBHZk52pDpWC9qA==", + "dev": true, + "dependencies": { + "@inquirer/figures": "^1.0.3", + "@inquirer/type": "^1.4.0", + "@types/mute-stream": "^0.0.4", + "@types/node": "^20.14.9", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "cli-spinners": "^2.9.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/select/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@inquirer/select/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@inquirer/select/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@inquirer/select/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@inquirer/select/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@inquirer/type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.4.0.tgz", + "integrity": "sha512-AjOqykVyjdJQvtfkNDGUyMYGF8xN50VUxftCQWsOyIo4DFRLr6VQhW0VItGI1JIyQGCGgIpKa7hMMwNhZb4OIw==", + "dev": true, + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jsonjoy.com/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", + "dev": true, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pack": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.1.0.tgz", + "integrity": "sha512-zlQONA+msXPPwHWZMKFVS78ewFczIll5lXiVPwFPCZUsrOKdxc2AvxU1HoNBmMRhqDZUR9HkC3UOm+6pME6Xsg==", + "dev": true, + "dependencies": { + "@jsonjoy.com/base64": "^1.1.1", + "@jsonjoy.com/util": "^1.1.2", + "hyperdyperid": "^1.2.0", + "thingies": "^1.20.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/util": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.3.0.tgz", + "integrity": "sha512-Cebt4Vk7k1xHy87kHY7KSPLT77A7Ev7IfOblyLZhtYEhrdQ6fX4EoLq3xOQ3O/DRMEh2ok5nyC180E+ABS8Wmw==", + "dev": true, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", "dev": true }, "node_modules/@listr2/prompt-adapter-inquirer": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.15.tgz", - "integrity": "sha512-MZrGem/Ujjd4cPTLYDfCZK2iKKeiO/8OX13S6jqxldLs0Prf2aGqVlJ77nMBqMv7fzqgXEgjrNHLXcKR8l9lOg==", + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.13.tgz", + "integrity": "sha512-nAl6teTt7EWSjttNavAnv3uFR3w3vPP3OTYmHyPNHzKhAj2NoBDHmbS3MGpvvO8KXXPASnHjEGrrKrdKTMKPnQ==", "dev": true, "dependencies": { - "@inquirer/type": "^1.5.1" + "@inquirer/type": "^1.3.3" }, "engines": { "node": ">=18.0.0" @@ -3279,9 +3920,9 @@ } }, "node_modules/@lmdb/lmdb-darwin-arm64": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.0.13.tgz", - "integrity": "sha512-uiKPB0Fv6WEEOZjruu9a6wnW/8jrjzlZbxXscMB8kuCJ1k6kHpcBnuvaAWcqhbI7rqX5GKziwWEdD+wi2gNLfA==", + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.0.12.tgz", + "integrity": "sha512-vgTwzNUD3Hy4aqtGhX2+nV/usI0mwy3hDRuTjs8VcK0BLiMVEpNQXgzwlWEgPmA8AAPloUgyOs2nK5clJF5oIg==", "cpu": [ "arm64" ], @@ -3292,9 +3933,9 @@ ] }, "node_modules/@lmdb/lmdb-darwin-x64": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.0.13.tgz", - "integrity": "sha512-bEVIIfK5mSQoG1R19qA+fJOvCB+0wVGGnXHT3smchBVahYBdlPn2OsZZKzlHWfb1E+PhLBmYfqB5zQXFP7hJig==", + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.0.12.tgz", + "integrity": "sha512-qOt0hAhj2ZLY6aEWu85rzt5zcyCAQITMhCMEPNlo1tuYekpVAdkQNiwXxEkCjBYvwTskvXuwXOOUpjuSc+aJnA==", "cpu": [ "x64" ], @@ -3305,9 +3946,9 @@ ] }, "node_modules/@lmdb/lmdb-linux-arm": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.0.13.tgz", - "integrity": "sha512-Yml1KlMzOnXj/tnW7yX8U78iAzTk39aILYvCPbqeewAq1kSzl+w59k/fiVkTBfvDi/oW/5YRxL+Fq+Y1Fr1r2Q==", + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.0.12.tgz", + "integrity": "sha512-Ggd/UXpE+alMncbELCXA3OKpDj9bDBR3qVO7WRTxstloDglRAHfZmUJgTkeaNKjFO1JHqS7AKy0jba9XebZB1w==", "cpu": [ "arm" ], @@ -3318,9 +3959,9 @@ ] }, "node_modules/@lmdb/lmdb-linux-arm64": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.0.13.tgz", - "integrity": "sha512-afbVrsMgZ9dUTNUchFpj5VkmJRxvht/u335jUJ7o23YTbNbnpmXif3VKQGCtnjSh+CZaqm6N3CPG8KO3zwyZ1Q==", + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.0.12.tgz", + "integrity": "sha512-Qy4cFXFe9h1wAWMsojex8x1ifvw2kqiZv686YiRTdQEzAfc3vJASHFcD/QejHUCx7YHMYdnUoCS45rG2AiGDTQ==", "cpu": [ "arm64" ], @@ -3331,9 +3972,9 @@ ] }, "node_modules/@lmdb/lmdb-linux-x64": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.0.13.tgz", - "integrity": "sha512-vOtxu0xC0SLdQ2WRXg8Qgd8T32ak4SPqk5zjItRszrJk2BdeXqfGxBJbP7o4aOvSPSmSSv46Lr1EP4HXU8v7Kg==", + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.0.12.tgz", + "integrity": "sha512-c+noT9IofktxktFllKHFmci8ka2SYGSLN17pj/KSl1hg7mmfAiGp4xxFxEwMLTb+SX95vP1DFiR++1I3WLVxvA==", "cpu": [ "x64" ], @@ -3344,9 +3985,9 @@ ] }, "node_modules/@lmdb/lmdb-win32-x64": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.0.13.tgz", - "integrity": "sha512-UCrMJQY/gJnOl3XgbWRZZUvGGBuKy6i0YNSptgMzHBjs+QYDYR1Mt/RLTOPy4fzzves65O1EDmlL//OzEqoLlA==", + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.0.12.tgz", + "integrity": "sha512-CO3MFV8gUx16NU/CyyuumAKblESwvoGVA2XhQKZ976OTOxaTbb8F8D3f0iiZ4MYqsN74jIrFuCmXpPnpjbhfOQ==", "cpu": [ "x64" ], @@ -3356,758 +3997,6 @@ "win32" ] }, - "node_modules/@material/animation": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-1GSJaPKef+7HRuV+HusVZHps64cmZuOItDbt40tjJVaikcaZvwmHlcTxRIqzcRoCdt5ZKHh3NoO7GB9Khg4Jnw==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@material/auto-init": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-t7ZGpRJ3ec0QDUO0nJu/SMgLW7qcuG2KqIsEYD1Ej8qhI2xpdR2ydSDQOkVEitXmKoGol1oq4nYSBjTlB65GqA==", - "dependencies": { - "@material/base": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/banner": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-g9wBUZzYBizyBcBQXTIafnRUUPi7efU9gPJfzeGgkynXiccP/vh5XMmH+PBxl5v+4MlP/d4cZ2NUYoAN7UTqSA==", - "dependencies": { - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/button": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/base": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-I9KQOKXpLfJkP8MqZyr8wZIzdPHrwPjFvGd9zSK91/vPyE4hzHRJc/0njsh9g8Lm9PRYLbifXX+719uTbHxx+A==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@material/button": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-BHB7iyHgRVH+JF16+iscR+Qaic+p7LU1FOLgP8KucRlpF9tTwIxQA6mJwGRi5gUtcG+vyCmzVS+hIQ6DqT/7BA==", - "dependencies": { - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/touch-target": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/card": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-kt7y9/IWOtJTr3Z/AoWJT3ZLN7CLlzXhx2udCLP9ootZU2bfGK0lzNwmo80bv/pJfrY9ihQKCtuGTtNxUy+vIw==", - "dependencies": { - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/checkbox": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-rURcrL5O1u6hzWR+dNgiQ/n89vk6tdmdP3mZgnxJx61q4I/k1yijKqNJSLrkXH7Rto3bM5NRKMOlgvMvVd7UMQ==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/touch-target": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/chips": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-AYAivV3GSk/T/nRIpH27sOHFPaSMrE3L0WYbnb5Wa93FgY8a0fbsFYtSH2QmtwnzXveg+B1zGTt7/xIIcynKdQ==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/checkbox": "15.0.0-canary.7f224ddd4.0", - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/touch-target": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "safevalues": "^0.3.4", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/circular-progress": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-DJrqCKb+LuGtjNvKl8XigvyK02y36GRkfhMUYTcJEi3PrOE00bwXtyj7ilhzEVshQiXg6AHGWXtf5UqwNrx3Ow==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/progress-indicator": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/data-table": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-/2WZsuBIq9z9RWYF5Jo6b7P6u0fwit+29/mN7rmAZ6akqUR54nXyNfoSNiyydMkzPlZZsep5KrSHododDhBZbA==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/checkbox": "15.0.0-canary.7f224ddd4.0", - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/icon-button": "15.0.0-canary.7f224ddd4.0", - "@material/linear-progress": "15.0.0-canary.7f224ddd4.0", - "@material/list": "15.0.0-canary.7f224ddd4.0", - "@material/menu": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/select": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/touch-target": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/density": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-o9EXmGKVpiQ6mHhyV3oDDzc78Ow3E7v8dlaOhgaDSXgmqaE8v5sIlLNa/LKSyUga83/fpGk3QViSGXotpQx0jA==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@material/dialog": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-u0XpTlv1JqWC/bQ3DavJ1JguofTelLT2wloj59l3/1b60jv42JQ6Am7jU3I8/SIUB1MKaW7dYocXjDWtWJakLA==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/button": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/icon-button": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/touch-target": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/dom": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-mQ1HT186GPQSkRg5S18i70typ5ZytfjL09R0gJ2Qg5/G+MLCGi7TAjZZSH65tuD/QGOjel4rDdWOTmYbPYV6HA==", - "dependencies": { - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/drawer": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-qyO0W0KBftfH8dlLR0gVAgv7ZHNvU8ae11Ao6zJif/YxcvK4+gph1z8AO4H410YmC2kZiwpSKyxM1iQCCzbb4g==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/list": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/elevation": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-tV6s4/pUBECedaI36Yj18KmRCk1vfue/JP/5yYRlFNnLMRVISePbZaKkn/BHXVf+26I3W879+XqIGlDVdmOoMA==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/fab": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-4h76QrzfZTcPdd+awDPZ4Q0YdSqsXQnS540TPtyXUJ/5G99V6VwGpjMPIxAsW0y+pmI9UkLL/srrMaJec+7r4Q==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/touch-target": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/feature-targeting": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-SAjtxYh6YlKZriU83diDEQ7jNSP2MnxKsER0TvFeyG1vX/DWsUyYDOIJTOEa9K1N+fgJEBkNK8hY55QhQaspew==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@material/floating-label": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-0KMo5ijjYaEHPiZ2pCVIcbaTS2LycvH9zEhEMKwPPGssBCX7iz5ffYQFk7e5yrQand1r3jnQQgYfHAwtykArnQ==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/focus-ring": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-Jmg1nltq4J6S6A10EGMZnvufrvU3YTi+8R8ZD9lkSbun0Fm2TVdICQt/Auyi6An9zP66oQN6c31eqO6KfIPsDg==", - "dependencies": { - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0" - } - }, - "node_modules/@material/form-field": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-fEPWgDQEPJ6WF7hNnIStxucHR9LE4DoDSMqCsGWS2Yu+NLZYLuCEecgR0UqQsl1EQdNRaFh8VH93KuxGd2hiPg==", - "dependencies": { - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/icon-button": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-DcK7IL4ICY/DW+48YQZZs9g0U1kRaW0Wb0BxhvppDMYziHo/CTpFdle4gjyuTyRxPOdHQz5a97ru48Z9O4muTw==", - "dependencies": { - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/touch-target": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/image-list": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-voMjG2p80XbjL1B2lmF65zO5gEgJOVKClLdqh4wbYzYfwY/SR9c8eLvlYG7DLdFaFBl/7gGxD8TvvZ329HUFPw==", - "dependencies": { - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/layout-grid": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-veDABLxMn2RmvfnUO2RUmC1OFfWr4cU+MrxKPoDD2hl3l3eDYv5fxws6r5T1JoSyXoaN+oEZpheS0+M9Ure8Pg==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@material/line-ripple": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-f60hVJhIU6I3/17Tqqzch1emUKEcfVVgHVqADbU14JD+oEIz429ZX9ksZ3VChoU3+eejFl+jVdZMLE/LrAuwpg==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/linear-progress": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-pRDEwPQielDiC9Sc5XhCXrGxP8wWOnAO8sQlMebfBYHYqy5hhiIzibezS8CSaW4MFQFyXmCmpmqWlbqGYRmiyg==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/progress-indicator": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/list": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-Is0NV91sJlXF5pOebYAtWLF4wU2MJDbYqztML/zQNENkQxDOvEXu3nWNb3YScMIYJJXvARO0Liur5K4yPagS1Q==", - "dependencies": { - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/menu": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-D11QU1dXqLbh5X1zKlEhS3QWh0b5BPNXlafc5MXfkdJHhOiieb7LC9hMJhbrHtj24FadJ7evaFW/T2ugJbJNnQ==", - "dependencies": { - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/list": "15.0.0-canary.7f224ddd4.0", - "@material/menu-surface": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/menu-surface": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-7RZHvw0gbwppaAJ/Oh5SWmfAKJ62aw1IMB3+3MRwsb5PLoV666wInYa+zJfE4i7qBeOn904xqT2Nko5hY0ssrg==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/notched-outline": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-Yg2usuKB2DKlKIBISbie9BFsOVuffF71xjbxPbybvqemxqUBd+bD5/t6H1fLE+F8/NCu5JMigho4ewUU+0RCiw==", - "dependencies": { - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/floating-label": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/progress-indicator": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-UPbDjE5CqT+SqTs0mNFG6uFEw7wBlgYmh+noSkQ6ty/EURm8lF125dmi4dv4kW0+octonMXqkGtAoZwLIHKf/w==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@material/radio": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-wR1X0Sr0KmQLu6+YOFKAI84G3L6psqd7Kys5kfb8WKBM36zxO5HQXC5nJm/Y0rdn22ixzsIz2GBo0MNU4V4k1A==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/touch-target": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/ripple": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-JqOsWM1f4aGdotP0rh1vZlPZTg6lZgh39FIYHFMfOwfhR+LAikUJ+37ciqZuewgzXB6iiRO6a8aUH6HR5SJYPg==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/rtl": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-UVf14qAtmPiaaZjuJtmN36HETyoKWmsZM/qn1L5ciR2URb8O035dFWnz4ZWFMmAYBno/L7JiZaCkPurv2ZNrGA==", - "dependencies": { - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/segmented-button": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-LCnVRUSAhELTKI/9hSvyvIvQIpPpqF29BV+O9yM4WoNNmNWqTulvuiv7grHZl6Z+kJuxSg4BGbsPxxb9dXozPg==", - "dependencies": { - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/touch-target": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/select": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-WioZtQEXRpglum0cMSzSqocnhsGRr+ZIhvKb3FlaNrTaK8H3Y4QA7rVjv3emRtrLOOjaT6/RiIaUMTo9AGzWQQ==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/floating-label": "15.0.0-canary.7f224ddd4.0", - "@material/line-ripple": "15.0.0-canary.7f224ddd4.0", - "@material/list": "15.0.0-canary.7f224ddd4.0", - "@material/menu": "15.0.0-canary.7f224ddd4.0", - "@material/menu-surface": "15.0.0-canary.7f224ddd4.0", - "@material/notched-outline": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/shape": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-8z8l1W3+cymObunJoRhwFPKZ+FyECfJ4MJykNiaZq7XJFZkV6xNmqAVrrbQj93FtLsECn9g4PjjIomguVn/OEw==", - "dependencies": { - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/slider": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-QU/WSaSWlLKQRqOhJrPgm29wqvvzRusMqwAcrCh1JTrCl+xwJ43q5WLDfjYhubeKtrEEgGu9tekkAiYfMG7EBw==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/snackbar": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-sm7EbVKddaXpT/aXAYBdPoN0k8yeg9+dprgBUkrdqGzWJAeCkxb4fv2B3He88YiCtvkTz2KLY4CThPQBSEsMFQ==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/button": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/icon-button": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/switch": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-lEDJfRvkVyyeHWIBfoxYjJVl+WlEAE2kZ/+6OqB1FW0OV8ftTODZGhHRSzjVBA1/p4FPuhAtKtoK9jTpa4AZjA==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "safevalues": "^0.3.4", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/tab": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-E1xGACImyCLurhnizyOTCgOiVezce4HlBFAI6YhJo/AyVwjN2Dtas4ZLQMvvWWqpyhITNkeYdOchwCC1mrz3AQ==", - "dependencies": { - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/focus-ring": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/tab-indicator": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/tab-bar": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-p1Asb2NzrcECvAQU3b2SYrpyJGyJLQWR+nXTYzDKE8WOpLIRCXap2audNqD7fvN/A20UJ1J8U01ptrvCkwJ4eA==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/tab": "15.0.0-canary.7f224ddd4.0", - "@material/tab-indicator": "15.0.0-canary.7f224ddd4.0", - "@material/tab-scroller": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/tab-indicator": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-h9Td3MPqbs33spcPS7ecByRHraYgU4tNCZpZzZXw31RypjKvISDv/PS5wcA4RmWqNGih78T7xg4QIGsZg4Pk4w==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/tab-scroller": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-LFeYNjQpdXecwECd8UaqHYbhscDCwhGln5Yh+3ctvcEgvmDPNjhKn/DL3sWprWvG8NAhP6sHMrsGhQFVdCWtTg==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/tab": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/textfield": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-AExmFvgE5nNF0UA4l2cSzPghtxSUQeeoyRjFLHLy+oAaE4eKZFrSy0zEpqPeWPQpEMDZk+6Y+6T3cOFYBeSvsw==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/density": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/floating-label": "15.0.0-canary.7f224ddd4.0", - "@material/line-ripple": "15.0.0-canary.7f224ddd4.0", - "@material/notched-outline": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/theme": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-hs45hJoE9yVnoVOcsN1jklyOa51U4lzWsEnQEuJTPOk2+0HqCQ0yv/q0InpSnm2i69fNSyZC60+8HADZGF8ugQ==", - "dependencies": { - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/tokens": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-r9TDoicmcT7FhUXC4eYMFnt9TZsz0G8T3wXvkKncLppYvZ517gPyD/1+yhuGfGOxAzxTrM66S/oEc1fFE2q4hw==", - "dependencies": { - "@material/elevation": "15.0.0-canary.7f224ddd4.0" - } - }, - "node_modules/@material/tooltip": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-8qNk3pmPLTnam3XYC1sZuplQXW9xLn4Z4MI3D+U17Q7pfNZfoOugGr+d2cLA9yWAEjVJYB0mj8Yu86+udo4N9w==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/button": "15.0.0-canary.7f224ddd4.0", - "@material/dom": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/tokens": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "safevalues": "^0.3.4", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/top-app-bar": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-SARR5/ClYT4CLe9qAXakbr0i0cMY0V3V4pe3ElIJPfL2Z2c4wGR1mTR8m2LxU1MfGKK8aRoUdtfKaxWejp+eNA==", - "dependencies": { - "@material/animation": "15.0.0-canary.7f224ddd4.0", - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/elevation": "15.0.0-canary.7f224ddd4.0", - "@material/ripple": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/shape": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "@material/typography": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/touch-target": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-BJo/wFKHPYLGsRaIpd7vsQwKr02LtO2e89Psv0on/p0OephlNIgeB9dD9W+bQmaeZsZ6liKSKRl6wJWDiK71PA==", - "dependencies": { - "@material/base": "15.0.0-canary.7f224ddd4.0", - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/rtl": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@material/typography": { - "version": "15.0.0-canary.7f224ddd4.0", - "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.7f224ddd4.0.tgz", - "integrity": "sha512-kBaZeCGD50iq1DeRRH5OM5Jl7Gdk+/NOfKArkY4ksBZvJiStJ7ACAhpvb8MEGm4s3jvDInQFLsDq3hL+SA79sQ==", - "dependencies": { - "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0", - "@material/theme": "15.0.0-canary.7f224ddd4.0", - "tslib": "^2.1.0" - } - }, "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", @@ -4187,9 +4076,9 @@ ] }, "node_modules/@ngtools/webpack": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-18.2.0.tgz", - "integrity": "sha512-a6hbkYzh/KUlI52huiU4vztqIuxzyddg6kJGcelUJx3Ju6MJeziu+XmJ6wqFRvfH89zmJeaSADKsGFQaBHtJLg==", + "version": "18.1.4", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-18.1.4.tgz", + "integrity": "sha512-suoeZjd+7qd3ivzbNGGSzHtY/WMxTKU6ZD1gIIya0Un8Ve1eVxfq6Si6ReKqhygO8zN3paJMATn8sMmAV7qVrw==", "dev": true, "engines": { "node": "^18.19.1 || ^20.11.1 || >=22.0.0", @@ -4254,10 +4143,13 @@ } }, "node_modules/@npmcli/agent/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } }, "node_modules/@npmcli/fs": { "version": "3.1.1", @@ -4272,13 +4164,12 @@ } }, "node_modules/@npmcli/git": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.8.tgz", - "integrity": "sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.7.tgz", + "integrity": "sha512-WaOVvto604d5IpdCRV2KjQu8PzkfE96d50CQGKgywXh2GxXmDeUO5EWcBC4V57uFyrNqx83+MewuJh3WTR3xPA==", "dev": true, "dependencies": { "@npmcli/promise-spawn": "^7.0.0", - "ini": "^4.1.3", "lru-cache": "^10.0.1", "npm-pick-manifest": "^9.0.0", "proc-log": "^4.0.0", @@ -4301,10 +4192,13 @@ } }, "node_modules/@npmcli/git/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } }, "node_modules/@npmcli/git/node_modules/which": { "version": "4.0.0", @@ -4347,9 +4241,9 @@ } }, "node_modules/@npmcli/package-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.2.0.tgz", - "integrity": "sha512-qe/kiqqkW0AGtvBjL8TJKZk/eBBSpnJkUWvHdQ9jM2lKHXRYYJuyNpJPlJw3c8QjC2ow6NZYiLExhUaeJelbxQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.1.0.tgz", + "integrity": "sha512-1aL4TuVrLS9sf8quCLerU3H9J4vtCtgu8VauYozrmEyU57i/EdKleCnsQ7vpnABIH6c9mnTxcH5sFkO3BlV8wQ==", "dev": true, "dependencies": { "@npmcli/git": "^5.0.0", @@ -4374,29 +4268,40 @@ } }, "node_modules/@npmcli/package-json/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.0.tgz", + "integrity": "sha512-+K6CicMIL11UEbC3gH/MVxgGG4gJDMu9tPD+nH+d6W3+y2fYuDSbpa2b+EGyvCGvSN/PT/7daJTH25NknJkcIQ==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@npmcli/package-json/node_modules/json-parse-even-better-errors": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", + "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/@npmcli/package-json/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -4445,9 +4350,9 @@ } }, "node_modules/@npmcli/redact": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-2.0.1.tgz", - "integrity": "sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-2.0.0.tgz", + "integrity": "sha512-SEjCPAVHWYUIQR+Yn03kJmrJjZDtJLYpj300m3HV9OTRZNpC5YpbMsM3eTkECyT4aWj8lDr9WeY6TWefpubtYQ==", "dev": true, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -4505,9 +4410,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.20.0.tgz", - "integrity": "sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz", + "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==", "cpu": [ "arm" ], @@ -4518,9 +4423,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.20.0.tgz", - "integrity": "sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz", + "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==", "cpu": [ "arm64" ], @@ -4531,9 +4436,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.20.0.tgz", - "integrity": "sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz", + "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==", "cpu": [ "arm64" ], @@ -4544,9 +4449,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.20.0.tgz", - "integrity": "sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz", + "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==", "cpu": [ "x64" ], @@ -4557,9 +4462,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.20.0.tgz", - "integrity": "sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz", + "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==", "cpu": [ "arm" ], @@ -4570,9 +4475,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.20.0.tgz", - "integrity": "sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz", + "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==", "cpu": [ "arm" ], @@ -4583,9 +4488,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.20.0.tgz", - "integrity": "sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz", + "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==", "cpu": [ "arm64" ], @@ -4596,9 +4501,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.20.0.tgz", - "integrity": "sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz", + "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==", "cpu": [ "arm64" ], @@ -4609,9 +4514,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.20.0.tgz", - "integrity": "sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz", + "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==", "cpu": [ "ppc64" ], @@ -4622,9 +4527,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.20.0.tgz", - "integrity": "sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz", + "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==", "cpu": [ "riscv64" ], @@ -4635,9 +4540,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.20.0.tgz", - "integrity": "sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz", + "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==", "cpu": [ "s390x" ], @@ -4648,9 +4553,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.20.0.tgz", - "integrity": "sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz", + "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==", "cpu": [ "x64" ], @@ -4661,9 +4566,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.20.0.tgz", - "integrity": "sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz", + "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==", "cpu": [ "x64" ], @@ -4674,9 +4579,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.20.0.tgz", - "integrity": "sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz", + "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==", "cpu": [ "arm64" ], @@ -4687,9 +4592,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.20.0.tgz", - "integrity": "sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz", + "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==", "cpu": [ "ia32" ], @@ -4700,9 +4605,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.20.0.tgz", - "integrity": "sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz", + "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", "cpu": [ "x64" ], @@ -4713,13 +4618,13 @@ ] }, "node_modules/@schematics/angular": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-18.2.0.tgz", - "integrity": "sha512-XePvx2ZnxCcAQw5lHVMUrJvm8MXqAWGcMyJDAuQUqNZrPCk3GpCaplWx2n+nPkinYVX2Q2v/DqtvWStQwgU4nA==", + "version": "18.1.4", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-18.1.4.tgz", + "integrity": "sha512-M3edVYKiAGWAAKs7XDLpz1OKUy4STVMT+46Y44ydYz06hI8m/dJfS8ZHTvXPl7JhkrIrSDEMed+WidZtGPIxMg==", "dev": true, "dependencies": { - "@angular-devkit/core": "18.2.0", - "@angular-devkit/schematics": "18.2.0", + "@angular-devkit/core": "18.1.4", + "@angular-devkit/schematics": "18.1.4", "jsonc-parser": "3.3.1" }, "engines": { @@ -4815,9 +4720,9 @@ } }, "node_modules/@socket.io/component-emitter": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", - "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", "dev": true }, "node_modules/@tufjs/canonical-json": { @@ -4852,9 +4757,9 @@ } }, "node_modules/@tufjs/models/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -4911,18 +4816,18 @@ "dev": true }, "node_modules/@types/cors": { - "version": "2.8.17", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", - "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", + "version": "2.8.13", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", + "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", "dev": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/eslint": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.0.tgz", - "integrity": "sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==", + "version": "8.44.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", + "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", "dev": true, "dependencies": { "@types/estree": "*", @@ -4930,9 +4835,9 @@ } }, "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", "dev": true, "dependencies": { "@types/eslint": "*", @@ -4976,9 +4881,9 @@ "dev": true }, "node_modules/@types/http-proxy": { - "version": "1.17.15", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", - "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", "dev": true, "dependencies": { "@types/node": "*" @@ -4991,9 +4896,9 @@ "dev": true }, "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", "dev": true }, "node_modules/@types/mime": { @@ -5012,12 +4917,12 @@ } }, "node_modules/@types/node": { - "version": "22.3.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.3.0.tgz", - "integrity": "sha512-nrWpWVaDZuaVc5X84xJ0vNrLvomM205oQyLsRt7OHNZbSHslcWsvgFR7O7hire2ZonjLrWBbedmotmIlJDVd6g==", + "version": "20.14.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.10.tgz", + "integrity": "sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==", "dev": true, "dependencies": { - "undici-types": "~6.18.2" + "undici-types": "~5.26.4" } }, "node_modules/@types/node-forge": { @@ -5300,9 +5205,9 @@ } }, "node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -5373,15 +5278,15 @@ } }, "node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" }, "funding": { "type": "github", @@ -5487,18 +5392,6 @@ "node": ">= 8" } }, - "node_modules/anymatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -5506,9 +5399,9 @@ "dev": true }, "node_modules/autoprefixer": { - "version": "10.4.20", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", - "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", "dev": true, "funding": [ { @@ -5525,11 +5418,11 @@ } ], "dependencies": { - "browserslist": "^4.23.3", - "caniuse-lite": "^1.0.30001646", + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.1", + "picocolors": "^1.0.0", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -5583,13 +5476,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", - "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2", - "core-js-compat": "^3.38.0" + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -5658,15 +5551,12 @@ } }, "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/bl": { @@ -5758,9 +5648,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", - "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", + "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", "dev": true, "funding": [ { @@ -5777,9 +5667,9 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001646", - "electron-to-chromium": "^1.5.4", - "node-releases": "^2.0.18", + "caniuse-lite": "^1.0.30001640", + "electron-to-chromium": "^1.4.820", + "node-releases": "^2.0.14", "update-browserslist-db": "^1.1.0" }, "bin": { @@ -5844,9 +5734,9 @@ } }, "node_modules/cacache": { - "version": "18.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.4.tgz", - "integrity": "sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==", + "version": "18.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.3.tgz", + "integrity": "sha512-qXCd4rh6I07cnDqh8V48/94Tc/WSfj+o3Gn6NZ0aZovS255bUx8O13uKxRFd2eWG0xgsco7+YItQNPaa5E85hg==", "dev": true, "dependencies": { "@npmcli/fs": "^3.1.0", @@ -5876,35 +5766,40 @@ } }, "node_modules/cacache/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.0.tgz", + "integrity": "sha512-+K6CicMIL11UEbC3gH/MVxgGG4gJDMu9tPD+nH+d6W3+y2fYuDSbpa2b+EGyvCGvSN/PT/7daJTH25NknJkcIQ==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/cacache/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } }, "node_modules/cacache/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -5945,9 +5840,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001651", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", - "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", + "version": "1.0.30001641", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001641.tgz", + "integrity": "sha512-Phv5thgl67bHYo1TtMY/MurjkHhV4EDaCosezRXgZ8jzA/Ub+wjxAvbGvjoFENStinwi5kCyOYV3mi5tOGykwA==", "dev": true, "funding": [ { @@ -6018,9 +5913,9 @@ } }, "node_modules/chrome-trace-event": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "dev": true, "engines": { "node": ">=6.0" @@ -6148,56 +6043,6 @@ "node": ">=12" } }, - "node_modules/cliui/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/cliui/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/cliui/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", @@ -6450,12 +6295,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.38.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.0.tgz", - "integrity": "sha512-75LAicdLa4OJVwFxFbQR3NdnZjNgX6ILpVcVzcC4T2smerB5lELMrJQQQoWV6TiuC/vlaFqgU2tKQx9w5s0e0A==", + "version": "3.37.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", + "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", "dev": true, "dependencies": { - "browserslist": "^4.23.3" + "browserslist": "^4.23.0" }, "funding": { "type": "opencollective", @@ -6730,9 +6575,9 @@ } }, "node_modules/debug": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", - "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -6959,9 +6804,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.5.7", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.7.tgz", - "integrity": "sha512-6FTNWIWMxMy/ZY6799nBlPtF1DFDQ6VQJ7yyDP27SJNt5lwtQ5ufqVvHylb3fdQefvRcgA3fKcFMJi9OLwBRNw==", + "version": "1.4.827", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.827.tgz", + "integrity": "sha512-VY+J0e4SFcNfQy19MEoMdaIcZLmDCprqvBtkii1WTCTQHpRvf5N8+3kTYCgL/PcntvwQvmMJWTuDPsq+IlhWKQ==", "dev": true }, "node_modules/emoji-regex": { @@ -7033,18 +6878,18 @@ } }, "node_modules/engine.io-parser": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", - "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.1.tgz", + "integrity": "sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==", "dev": true, "engines": { "node": ">=10.0.0" } }, "node_modules/enhanced-resolve": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz", + "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -7055,16 +6900,10 @@ } }, "node_modules/ent": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.1.tgz", - "integrity": "sha512-QHuXVeZx9d+tIQAz/XztU0ZwZf2Agg9CcXcgE1rurqvdBeDBrpSwjl8/6XUqMg7tw2Y7uAdKb2sRv+bSEFqQ5A==", - "dev": true, - "dependencies": { - "punycode": "^1.4.1" - }, - "engines": { - "node": ">= 0.4" - } + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==", + "dev": true }, "node_modules/entities": { "version": "4.5.0", @@ -7087,18 +6926,6 @@ "node": ">=6" } }, - "node_modules/environment": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", - "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/err-code": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", @@ -7149,60 +6976,59 @@ } }, "node_modules/es-module-lexer": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", - "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", "dev": true }, "node_modules/esbuild": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.0.tgz", - "integrity": "sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", "dev": true, "hasInstallScript": true, "bin": { "esbuild": "bin/esbuild" }, "engines": { - "node": ">=18" + "node": ">=12" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.23.0", - "@esbuild/android-arm": "0.23.0", - "@esbuild/android-arm64": "0.23.0", - "@esbuild/android-x64": "0.23.0", - "@esbuild/darwin-arm64": "0.23.0", - "@esbuild/darwin-x64": "0.23.0", - "@esbuild/freebsd-arm64": "0.23.0", - "@esbuild/freebsd-x64": "0.23.0", - "@esbuild/linux-arm": "0.23.0", - "@esbuild/linux-arm64": "0.23.0", - "@esbuild/linux-ia32": "0.23.0", - "@esbuild/linux-loong64": "0.23.0", - "@esbuild/linux-mips64el": "0.23.0", - "@esbuild/linux-ppc64": "0.23.0", - "@esbuild/linux-riscv64": "0.23.0", - "@esbuild/linux-s390x": "0.23.0", - "@esbuild/linux-x64": "0.23.0", - "@esbuild/netbsd-x64": "0.23.0", - "@esbuild/openbsd-arm64": "0.23.0", - "@esbuild/openbsd-x64": "0.23.0", - "@esbuild/sunos-x64": "0.23.0", - "@esbuild/win32-arm64": "0.23.0", - "@esbuild/win32-ia32": "0.23.0", - "@esbuild/win32-x64": "0.23.0" + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" } }, "node_modules/esbuild-wasm": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.23.0.tgz", - "integrity": "sha512-6jP8UmWy6R6TUUV8bMuC3ZyZ6lZKI56x0tkxyCIqWwRRJ/DgeQKneh/Oid5EoGoPFLrGNkz47ZEtWAYuiY/u9g==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.21.5.tgz", + "integrity": "sha512-L/FlOPMMFtw+6qPAbuPvJXdrOYOp9yx/PEwSrIZW0qghY4vgV003evdYDwqQ/9ENMQI0B6RMod9xT4FHtto6OQ==", "dev": true, "bin": { "esbuild": "bin/esbuild" }, "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/escalade": { @@ -7242,6 +7068,15 @@ "node": ">=8.0.0" } }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", @@ -7254,7 +7089,7 @@ "node": ">=4.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { + "node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", @@ -7263,15 +7098,6 @@ "node": ">=4.0" } }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -7475,12 +7301,6 @@ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, - "node_modules/fast-uri": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", - "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", - "dev": true - }, "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", @@ -7585,9 +7405,9 @@ } }, "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, "node_modules/follow-redirects": { @@ -7611,9 +7431,9 @@ } }, "node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "dev": true, "dependencies": { "cross-spawn": "^7.0.0", @@ -7789,7 +7609,6 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -7899,9 +7718,9 @@ } }, "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", "dev": true, "engines": { "node": ">= 0.4" @@ -7923,9 +7742,9 @@ } }, "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", "dev": true, "dependencies": { "function-bind": "^1.1.2" @@ -7947,10 +7766,13 @@ } }, "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } }, "node_modules/hpack.js": { "version": "2.1.6", @@ -8198,9 +8020,9 @@ ] }, "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, "engines": { "node": ">= 4" @@ -8228,9 +8050,9 @@ } }, "node_modules/ignore-walk/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -8256,9 +8078,9 @@ } }, "node_modules/immutable": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", - "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", + "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==", "dev": true }, "node_modules/import-fresh": { @@ -8308,7 +8130,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, "dependencies": { "once": "^1.3.0", @@ -8343,6 +8164,12 @@ "node": ">= 12" } }, + "node_modules/ip-address/node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true + }, "node_modules/ipaddr.js": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", @@ -8371,15 +8198,12 @@ } }, "node_modules/is-core-module": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", - "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dev": true, "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -8587,9 +8411,9 @@ } }, "node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", "dev": true, "engines": { "node": ">=8" @@ -8679,9 +8503,9 @@ } }, "node_modules/istanbul-reports": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", - "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", "dev": true, "dependencies": { "html-escaper": "^2.0.0", @@ -8692,13 +8516,16 @@ } }, "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.1.2.tgz", + "integrity": "sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==", "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" }, + "engines": { + "node": ">=14" + }, "funding": { "url": "https://github.com/sponsors/isaacs" }, @@ -8707,9 +8534,9 @@ } }, "node_modules/jasmine-core": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.1.2.tgz", - "integrity": "sha512-2oIUMGn00FdUiqz6epiiJr7xcFyNYj3rDcfmnzfkBnHyBQ3cBQUs4mmyGsOb7TTLb9kxk7dBcmEmqhDKkBoDyA==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.2.0.tgz", + "integrity": "sha512-tSAtdrvWybZkQmmaIoDgnvHG8ORUNw5kEVlO5CvrXj02Jjr9TZrmjFq7FUiOUzJiOP2wLGYT6PgrQgQF4R1xiw==", "dev": true }, "node_modules/jest-worker": { @@ -8751,9 +8578,9 @@ } }, "node_modules/jiti": { - "version": "1.21.6", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", - "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", "dev": true, "bin": { "jiti": "bin/jiti.js" @@ -8784,13 +8611,10 @@ } }, "node_modules/json-parse-even-better-errors": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", - "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true }, "node_modules/json-schema-traverse": { "version": "1.0.0", @@ -8925,9 +8749,9 @@ } }, "node_modules/karma-jasmine/node_modules/jasmine-core": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.1.tgz", - "integrity": "sha512-VYz/BjjmC3klLJlLwA4Kw8ytk0zDSmbbDLNs794VnWmkcCB7I9aAL/D48VNQtmITyPvea2C3jdUMfc3kAoy0PQ==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.0.tgz", + "integrity": "sha512-O236+gd0ZXS8YAjFx8xKaJ94/erqUliEkJTDedyE7iHvv4ZVqi+q+8acJxu05/WJDKm512EUNn809In37nWlAQ==", "dev": true }, "node_modules/karma-source-map-support": { @@ -8939,21 +8763,6 @@ "source-map-support": "^0.5.5" } }, - "node_modules/karma/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/karma/node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -8965,24 +8774,6 @@ "wrap-ansi": "^7.0.0" } }, - "node_modules/karma/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/karma/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/karma/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -8993,29 +8784,15 @@ } }, "node_modules/karma/node_modules/tmp": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", - "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", - "dev": true, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/karma/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "rimraf": "^3.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=8.17.0" } }, "node_modules/karma/node_modules/yargs": { @@ -9187,15 +8964,15 @@ "dev": true }, "node_modules/listr2": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.4.tgz", - "integrity": "sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==", + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.3.tgz", + "integrity": "sha512-Lllokma2mtoniUOS94CcOErHWAug5iu7HOmDrvWgpw8jyQH2fomgB+7lZS4HWZxytUuQwkGOwe49FvwVaA85Xw==", "dev": true, "dependencies": { "cli-truncate": "^4.0.0", "colorette": "^2.0.20", "eventemitter3": "^5.0.1", - "log-update": "^6.1.0", + "log-update": "^6.0.0", "rfdc": "^1.4.1", "wrap-ansi": "^9.0.0" }, @@ -9289,9 +9066,9 @@ } }, "node_modules/lmdb": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.0.13.tgz", - "integrity": "sha512-UGe+BbaSUQtAMZobTb4nHvFMrmvuAQKSeaqAX2meTEQjfsbpl5sxdHD8T72OnwD4GU9uwNhYXIVe4QGs8N9Zyw==", + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.0.12.tgz", + "integrity": "sha512-JnoEulTgveoC64vlYJ9sufGLuNkk6TcxSYpKxSC9aM42I61jIv3pQH0fgb6qW7HV0+FNqA3g1WCQQYfhfawGoQ==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -9305,12 +9082,12 @@ "download-lmdb-prebuilds": "bin/download-prebuilds.js" }, "optionalDependencies": { - "@lmdb/lmdb-darwin-arm64": "3.0.13", - "@lmdb/lmdb-darwin-x64": "3.0.13", - "@lmdb/lmdb-linux-arm": "3.0.13", - "@lmdb/lmdb-linux-arm64": "3.0.13", - "@lmdb/lmdb-linux-x64": "3.0.13", - "@lmdb/lmdb-win32-x64": "3.0.13" + "@lmdb/lmdb-darwin-arm64": "3.0.12", + "@lmdb/lmdb-darwin-x64": "3.0.12", + "@lmdb/lmdb-linux-arm": "3.0.12", + "@lmdb/lmdb-linux-arm64": "3.0.12", + "@lmdb/lmdb-linux-x64": "3.0.12", + "@lmdb/lmdb-win32-x64": "3.0.12" } }, "node_modules/loader-runner": { @@ -9430,14 +9207,14 @@ } }, "node_modules/log-update": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", - "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.0.0.tgz", + "integrity": "sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==", "dev": true, "dependencies": { - "ansi-escapes": "^7.0.0", - "cli-cursor": "^5.0.0", - "slice-ansi": "^7.1.0", + "ansi-escapes": "^6.2.0", + "cli-cursor": "^4.0.0", + "slice-ansi": "^7.0.0", "strip-ansi": "^7.1.0", "wrap-ansi": "^9.0.0" }, @@ -9449,15 +9226,12 @@ } }, "node_modules/log-update/node_modules/ansi-escapes": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", - "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz", + "integrity": "sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==", "dev": true, - "dependencies": { - "environment": "^1.0.0" - }, "engines": { - "node": ">=18" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -9488,15 +9262,15 @@ } }, "node_modules/log-update/node_modules/cli-cursor": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", - "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", "dev": true, "dependencies": { - "restore-cursor": "^5.0.0" + "restore-cursor": "^4.0.0" }, "engines": { - "node": ">=18" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -9523,47 +9297,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update/node_modules/onetime": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", - "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", - "dev": true, - "dependencies": { - "mimic-function": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/log-update/node_modules/restore-cursor": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", - "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", "dev": true, "dependencies": { - "onetime": "^7.0.0", - "signal-exit": "^4.1.0" - }, - "engines": { - "node": ">=18" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, "engines": { - "node": ">=14" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/log-update/node_modules/slice-ansi": { @@ -9657,12 +9404,12 @@ } }, "node_modules/magic-string": { - "version": "0.30.11", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", - "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", "dev": true, "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" + "@jridgewell/sourcemap-codec": "^1.4.15" } }, "node_modules/make-dir": { @@ -9762,30 +9509,18 @@ } }, "node_modules/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "dependencies": { - "braces": "^3.0.3", + "braces": "^3.0.2", "picomatch": "^2.3.1" }, "engines": { "node": ">=8.6" } }, - "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/mime": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", @@ -9828,18 +9563,6 @@ "node": ">=6" } }, - "node_modules/mimic-function": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", - "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/mini-css-extract-plugin": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.0.tgz", @@ -9890,1501 +9613,1115 @@ "node_modules/minipass": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minipass-collect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", - "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", - "dev": true, - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minipass-fetch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", - "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", - "dev": true, - "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-flush/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-flush/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mrmime": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", - "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/msgpackr": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.0.tgz", - "integrity": "sha512-I8qXuuALqJe5laEBYoFykChhSXLikZmUhccjGsPuSJ/7uPip2TJ7lwdIQwWSAi0jGZDXv4WOP8Qg65QZRuXxXw==", - "dev": true, - "optionalDependencies": { - "msgpackr-extract": "^3.0.2" - } - }, - "node_modules/msgpackr-extract": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", - "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "dependencies": { - "node-gyp-build-optional-packages": "5.2.2" - }, - "bin": { - "download-msgpackr-prebuilds": "bin/download-prebuilds.js" - }, - "optionalDependencies": { - "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" - } - }, - "node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "dev": true, - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/mute-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", - "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" + "dependencies": { + "minipass": "^7.0.3" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/needle": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", - "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", + "node_modules/minipass-fetch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", + "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", "dev": true, - "optional": true, "dependencies": { - "iconv-lite": "^0.6.3", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" }, "engines": { - "node": ">= 4.4.x" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "node_modules/needle/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", "dev": true, - "optional": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "minipass": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8" } }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "node_modules/minipass-flush/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/nice-napi": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", - "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", + "node_modules/minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "!win32" - ], "dependencies": { - "node-addon-api": "^3.0.0", - "node-gyp-build": "^4.2.2" - } - }, - "node_modules/nice-napi/node_modules/node-addon-api": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", - "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", - "dev": true, - "optional": true - }, - "node_modules/node-addon-api": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", - "dev": true - }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "dev": true, - "engines": { - "node": ">= 6.13.0" + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" } }, - "node_modules/node-gyp": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.2.0.tgz", - "integrity": "sha512-sp3FonBAaFe4aYTcFdZUn2NYkbP7xroPGYvQmP4Nl5PxamznItBnNCgjrVTKrEfQynInMsJvZrdmqUnysCJ8rw==", + "node_modules/minipass-json-stream/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "glob": "^10.3.10", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^13.0.0", - "nopt": "^7.0.0", - "proc-log": "^4.1.0", - "semver": "^7.3.5", - "tar": "^6.2.1", - "which": "^4.0.0" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" + "yallist": "^4.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/node-gyp-build": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.1.tgz", - "integrity": "sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==", - "dev": true, - "optional": true, - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } + "node_modules/minipass-json-stream/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, - "node_modules/node-gyp-build-optional-packages": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", - "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", "dev": true, "dependencies": { - "detect-libc": "^2.0.1" + "minipass": "^3.0.0" }, - "bin": { - "node-gyp-build-optional-packages": "bin.js", - "node-gyp-build-optional-packages-optional": "optional.js", - "node-gyp-build-optional-packages-test": "build-test.js" + "engines": { + "node": ">=8" } }, - "node_modules/node-gyp/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/node-gyp/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", "dev": true, "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" + "minipass": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/node-gyp/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true, "engines": { - "node": ">=16" + "node": ">=8" } }, - "node_modules/node-gyp/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "yallist": "^4.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=8" } }, - "node_modules/node-gyp/node_modules/which": { + "node_modules/minipass-sized/node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "dev": true, "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" + "minipass": "^3.0.0", + "yallist": "^4.0.0" }, "engines": { - "node": "^16.13.0 || >=18.0.0" + "node": ">= 8" } }, - "node_modules/node-releases": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", - "dev": true - }, - "node_modules/nopt": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", - "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, "dependencies": { - "abbrev": "^2.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" + "yallist": "^4.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/normalize-package-data": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", - "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "dependencies": { - "hosted-git-info": "^7.0.0", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" + "minimist": "^1.2.6" }, - "engines": { - "node": "^16.14.0 || >=18.0.0" + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/msgpackr": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.0.tgz", + "integrity": "sha512-I8qXuuALqJe5laEBYoFykChhSXLikZmUhccjGsPuSJ/7uPip2TJ7lwdIQwWSAi0jGZDXv4WOP8Qg65QZRuXxXw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" } }, - "node_modules/npm-bundled": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.1.tgz", - "integrity": "sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ==", + "node_modules/msgpackr-extract": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", + "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", "dev": true, + "hasInstallScript": true, + "optional": true, "dependencies": { - "npm-normalize-package-bin": "^3.0.0" + "node-gyp-build-optional-packages": "5.2.2" }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" } }, - "node_modules/npm-install-checks": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", - "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", "dev": true, "dependencies": { - "semver": "^7.1.1" + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "bin": { + "multicast-dns": "cli.js" } }, - "node_modules/npm-normalize-package-bin": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", - "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", + "node_modules/mute-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", + "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", "dev": true, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm-package-arg": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.3.tgz", - "integrity": "sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==", + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true, - "dependencies": { - "hosted-git-info": "^7.0.0", - "proc-log": "^4.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/npm-packlist": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.2.tgz", - "integrity": "sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==", + "node_modules/needle": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", + "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", "dev": true, + "optional": true, "dependencies": { - "ignore-walk": "^6.0.4" + "debug": "^3.2.6", + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 4.4.x" } }, - "node_modules/npm-pick-manifest": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.1.0.tgz", - "integrity": "sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA==", + "node_modules/needle/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "optional": true, "dependencies": { - "npm-install-checks": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "npm-package-arg": "^11.0.0", - "semver": "^7.3.5" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" + "ms": "^2.1.1" } }, - "node_modules/npm-registry-fetch": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-17.1.0.tgz", - "integrity": "sha512-5+bKQRH0J1xG1uZ1zMNvxW0VEyoNWgJpY9UDuluPFLKDfJ9u2JmmjmTJV1srBGQOROfdBMiVvnH2Zvpbm+xkVA==", + "node_modules/needle/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, + "optional": true, "dependencies": { - "@npmcli/redact": "^2.0.0", - "jsonparse": "^1.3.1", - "make-fetch-happen": "^13.0.0", - "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minizlib": "^2.1.2", - "npm-package-arg": "^11.0.0", - "proc-log": "^4.0.0" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "node_modules/nice-napi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", + "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", "dev": true, - "engines": { - "node": ">=0.10.0" + "hasInstallScript": true, + "optional": true, + "os": [ + "!win32" + ], + "dependencies": { + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" } }, - "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "node_modules/nice-napi/node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "optional": true }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", "dev": true }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, "engines": { - "node": ">= 0.8" + "node": ">= 6.13.0" } }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "node_modules/node-gyp": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.1.0.tgz", + "integrity": "sha512-B4J5M1cABxPc5PwfjhbV5hoy2DP9p8lFXASnEN6hugXOa61416tnTZ29x9sSwAd0o99XNIcpvDDy1swAExsVKA==", "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^10.3.10", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^13.0.0", + "nopt": "^7.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^4.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, "engines": { - "node": ">= 0.8" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "node_modules/node-gyp-build": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.1.tgz", + "integrity": "sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==", "dev": true, - "dependencies": { - "wrappy": "1" + "optional": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/node-gyp-build-optional-packages": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", + "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", "dev": true, "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" + "detect-libc": "^2.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" } }, - "node_modules/open": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", - "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", + "node_modules/node-gyp/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "dependencies": { - "default-browser": "^5.2.1", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^3.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "balanced-match": "^1.0.0" } }, - "node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "node_modules/node-gyp/node_modules/glob": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.0.tgz", + "integrity": "sha512-+K6CicMIL11UEbC3gH/MVxgGG4gJDMu9tPD+nH+d6W3+y2fYuDSbpa2b+EGyvCGvSN/PT/7daJTH25NknJkcIQ==", "dev": true, "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.18" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/ora/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/node-gyp/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=16" } }, - "node_modules/ora/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/node-gyp/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/ora/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/node-gyp/node_modules/proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/ora/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/ora/node_modules/has-flag": { + "node_modules/node-gyp/node_modules/which": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" }, "engines": { - "node": ">=8" + "node": "^16.13.0 || >=18.0.0" } }, - "node_modules/ordered-binary": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.1.tgz", - "integrity": "sha512-5VyHfHY3cd0iza71JepYG50My+YUbrFtGoUz2ooEydPyPM7Aai/JW098juLr+RG6+rDJuzNNTsEQu2DZa1A41A==", + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", "dev": true }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "node_modules/nopt": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", + "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", "dev": true, "dependencies": { - "aggregate-error": "^3.0.0" + "abbrev": "^2.0.0" }, - "engines": { - "node": ">=10" + "bin": { + "nopt": "bin/nopt.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/p-retry": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.0.tgz", - "integrity": "sha512-JA6nkq6hKyWLLasXQXUrO4z8BUZGUt/LjlJxx8Gb2+2ntodU/SS63YZ8b0LUTbQ8ZB9iwOfhEPhg4ykKnn2KsA==", + "node_modules/normalize-package-data": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.1.tgz", + "integrity": "sha512-6rvCfeRW+OEZagAB4lMLSNuTNYZWLVtKccK79VSTf//yTY5VOCgcpH80O+bZK8Neps7pUnd5G+QlMg1yV/2iZQ==", "dev": true, "dependencies": { - "@types/retry": "0.12.2", - "is-network-error": "^1.0.0", - "retry": "^0.13.1" + "hosted-git-info": "^7.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/p-retry/node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, "engines": { - "node": ">= 4" + "node": ">=0.10.0" } }, - "node_modules/package-json-from-dist": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", - "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", - "dev": true - }, - "node_modules/pacote": { - "version": "18.0.6", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-18.0.6.tgz", - "integrity": "sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==", + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", "dev": true, - "dependencies": { - "@npmcli/git": "^5.0.0", - "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/package-json": "^5.1.0", - "@npmcli/promise-spawn": "^7.0.0", - "@npmcli/run-script": "^8.0.0", - "cacache": "^18.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^7.0.2", - "npm-package-arg": "^11.0.0", - "npm-packlist": "^8.0.0", - "npm-pick-manifest": "^9.0.0", - "npm-registry-fetch": "^17.0.0", - "proc-log": "^4.0.0", - "promise-retry": "^2.0.1", - "sigstore": "^2.2.0", - "ssri": "^10.0.0", - "tar": "^6.1.11" - }, - "bin": { - "pacote": "bin/index.js" - }, "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "node": ">=0.10.0" + } + }, + "node_modules/npm-bundled": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.1.tgz", + "integrity": "sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ==", "dev": true, "dependencies": { - "callsites": "^3.0.0" + "npm-normalize-package-bin": "^3.0.0" }, "engines": { - "node": ">=6" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "node_modules/npm-install-checks": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", + "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" + "semver": "^7.1.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/parse-json/node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "node_modules/npm-normalize-package-bin": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", "dev": true, "engines": { - "node": ">= 0.10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "devOptional": true, + "node_modules/npm-package-arg": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.2.tgz", + "integrity": "sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw==", + "dev": true, "dependencies": { - "entities": "^4.4.0" + "hosted-git-info": "^7.0.0", + "proc-log": "^4.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/parse5-html-rewriting-stream": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz", - "integrity": "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==", + "node_modules/npm-packlist": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.2.tgz", + "integrity": "sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==", "dev": true, "dependencies": { - "entities": "^4.3.0", - "parse5": "^7.0.0", - "parse5-sax-parser": "^7.0.0" + "ignore-walk": "^6.0.4" }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/parse5-sax-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz", - "integrity": "sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==", + "node_modules/npm-pick-manifest": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.0.1.tgz", + "integrity": "sha512-Udm1f0l2nXb3wxDpKjfohwgdFUSV50UVwzEIpDXVsbDMXVIEF81a/i0UhuQbhrPMMmdiq3+YMFLFIRVLs3hxQw==", "dev": true, "dependencies": { - "parse5": "^7.0.0" + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^11.0.0", + "semver": "^7.3.5" }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, "engines": { - "node": ">= 0.8" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "node_modules/npm-registry-fetch": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-17.0.1.tgz", + "integrity": "sha512-fLu9MTdZTlJAHUek/VLklE6EpIiP3VZpTiuN7OOMCt2Sd67NCpSEetMaxHHEZiZxllp8ZLsUpvbEszqTFEc+wA==", "dev": true, + "dependencies": { + "@npmcli/redact": "^2.0.0", + "make-fetch-happen": "^13.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^11.0.0", + "proc-log": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" + "boolbase": "^1.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "dev": true - }, - "node_modules/path-type": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", - "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", - "dev": true - }, - "node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true, - "engines": { - "node": ">=12" - }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "optional": true, - "engines": { - "node": ">=6" - } + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true }, - "node_modules/piscina": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.6.1.tgz", - "integrity": "sha512-z30AwWGtQE+Apr+2WBZensP2lIvwoaMcOPkQlIEmSGMJNUvaYACylPYrQM6wSdUNJlnDVMSpLv7xTMJqlVshOA==", + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, - "optionalDependencies": { - "nice-napi": "^1.0.2" + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" } }, - "node_modules/pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", "dev": true, - "dependencies": { - "find-up": "^6.3.0" - }, "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "wrappy": "1" } }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "dependencies": { - "p-locate": "^6.0.0" + "mimic-fn": "^2.1.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "node_modules/open": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", + "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", "dev": true, "dependencies": { - "yocto-queue": "^1.0.0" + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dev": true, "dependencies": { - "p-limit": "^4.0.0" + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/postcss": { - "version": "8.4.41", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", - "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/postcss-loader": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-8.1.1.tgz", - "integrity": "sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==", + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "cosmiconfig": "^9.0.0", - "jiti": "^1.20.0", - "semver": "^7.5.4" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } + "node": ">=7.0.0" } }, - "node_modules/postcss-media-query-parser": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", - "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=8" } }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", - "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=8" } }, - "node_modules/postcss-modules-scope": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", - "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "node_modules/ordered-binary": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.1.tgz", + "integrity": "sha512-5VyHfHY3cd0iza71JepYG50My+YUbrFtGoUz2ooEydPyPM7Aai/JW098juLr+RG6+rDJuzNNTsEQu2DZa1A41A==", + "dev": true + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=0.10.0" } }, - "node_modules/postcss-modules-values": { + "node_modules/p-map": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, "dependencies": { - "icss-utils": "^5.0.0" + "aggregate-error": "^3.0.0" }, "engines": { - "node": "^10 || ^12 || >= 14" + "node": ">=10" }, - "peerDependencies": { - "postcss": "^8.1.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "node_modules/p-retry": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.0.tgz", + "integrity": "sha512-JA6nkq6hKyWLLasXQXUrO4z8BUZGUt/LjlJxx8Gb2+2ntodU/SS63YZ8b0LUTbQ8ZB9iwOfhEPhg4ykKnn2KsA==", "dev": true, "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", + "retry": "^0.13.1" }, "engines": { - "node": ">=4" + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/proc-log": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", - "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", + "node_modules/p-retry/node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "dev": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 4" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", "dev": true }, - "node_modules/promise-inflight": { + "node_modules/pacote": { + "version": "18.0.6", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-18.0.6.tgz", + "integrity": "sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==", + "dev": true, + "dependencies": { + "@npmcli/git": "^5.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/package-json": "^5.1.0", + "@npmcli/promise-spawn": "^7.0.0", + "@npmcli/run-script": "^8.0.0", + "cacache": "^18.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^11.0.0", + "npm-packlist": "^8.0.0", + "npm-pick-manifest": "^9.0.0", + "npm-registry-fetch": "^17.0.0", + "proc-log": "^4.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^2.2.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "bin/index.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true - }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" + "callsites": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { - "node": ">= 0.10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", "dev": true, "engines": { "node": ">= 0.10" } }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true, - "optional": true - }, - "node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "devOptional": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } }, - "node_modules/qjobs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", - "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "node_modules/parse5-html-rewriting-stream": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz", + "integrity": "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==", "dev": true, - "engines": { - "node": ">=0.9" + "dependencies": { + "entities": "^4.3.0", + "parse5": "^7.0.0", + "parse5-sax-parser": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "node_modules/parse5-sax-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz", + "integrity": "sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==", "dev": true, "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" + "parse5": "^7.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "engines": { + "node": ">= 0.8" + } }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, "engines": { - "node": ">= 6" + "node": "14 || >=16.14" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/path-type": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, "engines": { - "node": ">=8.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/readdirp/node_modules/picomatch": { + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true + }, + "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", @@ -11396,305 +10733,353 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/reflect-metadata": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", - "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", - "dev": true + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=6" + } }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true + "node_modules/piscina": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.6.1.tgz", + "integrity": "sha512-z30AwWGtQE+Apr+2WBZensP2lIvwoaMcOPkQlIEmSGMJNUvaYACylPYrQM6wSdUNJlnDVMSpLv7xTMJqlVshOA==", + "dev": true, + "optionalDependencies": { + "nice-napi": "^1.0.2" + } }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "dev": true, + "dependencies": { + "find-up": "^6.3.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", "dev": true, "dependencies": { - "regenerate": "^1.4.2" + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" }, "engines": { - "node": ">=4" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true - }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", "dev": true, "dependencies": { - "@babel/runtime": "^7.8.4" + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/regex-parser": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz", - "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==", - "dev": true - }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, "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" + "yocto-queue": "^1.0.0" }, "engines": { - "node": ">=4" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dev": true, "dependencies": { - "jsesc": "~0.5.0" + "p-limit": "^4.0.0" }, - "bin": { - "regjsparser": "bin/parser" + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", "dev": true, - "bin": { - "jsesc": "bin/jsesc" + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14" } }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "node_modules/postcss-loader": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-8.1.1.tgz", + "integrity": "sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==", "dev": true, + "dependencies": { + "cosmiconfig": "^9.0.0", + "jiti": "^1.20.0", + "semver": "^7.5.4" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } } }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", "dev": true }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": "^10 || ^12 || >= 14" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/resolve-url-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", - "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", + "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", "dev": true, "dependencies": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.14", - "source-map": "0.6.1" + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" }, "engines": { - "node": ">=12" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/resolve-url-loader/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "node_modules/postcss-modules-scope": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", + "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", "dev": true, "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "postcss-selector-parser": "^6.0.4" }, "engines": { - "node": ">=8.9.0" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/resolve-url-loader/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", "dev": true, + "dependencies": { + "icss-utils": "^5.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "node_modules/postcss-selector-parser": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", + "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", "dev": true, "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "dev": true, - "engines": { - "node": ">= 4" - } + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "node_modules/proc-log": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", + "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", "dev": true, "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/rfdc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", "dev": true, "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "err-code": "^2.0.2", + "retry": "^0.12.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=10" } }, - "node_modules/rollup": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.20.0.tgz", - "integrity": "sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==", + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, "dependencies": { - "@types/estree": "1.0.5" - }, - "bin": { - "rollup": "dist/bin/rollup" + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" }, "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.20.0", - "@rollup/rollup-android-arm64": "4.20.0", - "@rollup/rollup-darwin-arm64": "4.20.0", - "@rollup/rollup-darwin-x64": "4.20.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.20.0", - "@rollup/rollup-linux-arm-musleabihf": "4.20.0", - "@rollup/rollup-linux-arm64-gnu": "4.20.0", - "@rollup/rollup-linux-arm64-musl": "4.20.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.20.0", - "@rollup/rollup-linux-riscv64-gnu": "4.20.0", - "@rollup/rollup-linux-s390x-gnu": "4.20.0", - "@rollup/rollup-linux-x64-gnu": "4.20.0", - "@rollup/rollup-linux-x64-musl": "4.20.0", - "@rollup/rollup-win32-arm64-msvc": "4.20.0", - "@rollup/rollup-win32-ia32-msvc": "4.20.0", - "@rollup/rollup-win32-x64-msvc": "4.20.0", - "fsevents": "~2.3.2" + "node": ">= 0.10" } }, - "node_modules/run-applescript": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", - "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.10" } }, - "node_modules/run-parallel": { + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qjobs": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" + "engines": { + "node": ">=0.9" } }, - "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, "dependencies": { - "tslib": "^2.1.0" + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ { @@ -11711,1848 +11096,1771 @@ } ] }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/safevalues": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/safevalues/-/safevalues-0.3.4.tgz", - "integrity": "sha512-LRneZZRXNgjzwG4bDQdOTSbze3fHm1EAKN/8bePxnlEZiBmkYEDggaHbuvHI9/hoqHbGfsEA7tWS9GhYHZBBsw==" - }, - "node_modules/sass": { - "version": "1.77.8", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz", - "integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==", - "dev": true, - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-loader": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.0.tgz", - "integrity": "sha512-n13Z+3rU9A177dk4888czcVFiC8CL9dii4qpXWUg3YIIgZEvi9TCFKjOQcbK0kJM7DJu9VucrZFddvNfYCPwtw==", + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "dependencies": { - "neo-async": "^2.6.2" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "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" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "webpack": { - "optional": true - } + "safe-buffer": "^5.1.0" } }, - "node_modules/sax": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", - "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", - "dev": true, - "optional": true - }, - "node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">= 0.6" } }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "dev": true - }, - "node_modules/selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, "dependencies": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.8" } }, - "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=10" + "node": ">= 6" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "picomatch": "^2.2.1" }, "engines": { - "node": ">=10" + "node": ">=8.10.0" } }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", "dev": true }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", "dev": true, "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" + "regenerate": "^1.4.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">=4" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dev": true, "dependencies": { - "ms": "2.0.0" + "@babel/runtime": "^7.8.4" } }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", "dev": true }, - "node_modules/send/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", "dev": true, - "bin": { - "mime": "cli.js" + "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" }, "engines": { "node": ">=4" } }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } }, - "node_modules/send/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "dev": true, - "engines": { - "node": ">= 0.8" + "bin": { + "jsesc": "bin/jsesc" } }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, - "dependencies": { - "randombytes": "^2.1.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, "dependencies": { - "ms": "2.0.0" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "node_modules/resolve-url-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", + "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", "dev": true, + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.14", + "source-map": "0.6.1" + }, "engines": { - "node": ">= 0.6" + "node": ">=12" } }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "node_modules/resolve-url-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "engines": { - "node": ">= 0.6" + "node": ">=8.9.0" } }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, "engines": { - "node": ">= 0.4" + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", "dev": true }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "dependencies": { - "kind-of": "^6.0.2" + "glob": "^7.1.3" }, - "engines": { - "node": ">=8" + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "node_modules/rollup": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz", + "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", "dev": true, "dependencies": { - "shebang-regex": "^3.0.0" + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=8" + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.18.0", + "@rollup/rollup-android-arm64": "4.18.0", + "@rollup/rollup-darwin-arm64": "4.18.0", + "@rollup/rollup-darwin-x64": "4.18.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", + "@rollup/rollup-linux-arm-musleabihf": "4.18.0", + "@rollup/rollup-linux-arm64-gnu": "4.18.0", + "@rollup/rollup-linux-arm64-musl": "4.18.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", + "@rollup/rollup-linux-riscv64-gnu": "4.18.0", + "@rollup/rollup-linux-s390x-gnu": "4.18.0", + "@rollup/rollup-linux-x64-gnu": "4.18.0", + "@rollup/rollup-linux-x64-musl": "4.18.0", + "@rollup/rollup-win32-arm64-msvc": "4.18.0", + "@rollup/rollup-win32-ia32-msvc": "4.18.0", + "@rollup/rollup-win32-x64-msvc": "4.18.0", + "fsevents": "~2.3.2" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", "dev": true, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" } }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "dev": true, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "tslib": "^2.1.0" } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "node_modules/sigstore": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.3.1.tgz", - "integrity": "sha512-8G+/XDU8wNsJOQS5ysDVO0Etg9/2uA5gR9l4ZwijjlwxBcrU6RPfwi2+jJmbP+Ap1Hlp/nVAaEO4Fj22/SL2gQ==", + "node_modules/sass": { + "version": "1.77.6", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz", + "integrity": "sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==", "dev": true, "dependencies": { - "@sigstore/bundle": "^2.3.2", - "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.3.2", - "@sigstore/sign": "^2.3.2", - "@sigstore/tuf": "^2.3.4", - "@sigstore/verify": "^1.2.1" + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=14.0.0" } }, - "node_modules/slash": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "node_modules/sass-loader": { + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-14.2.1.tgz", + "integrity": "sha512-G0VcnMYU18a4N7VoNDegg2OuMjYtxnqzQWARVWCIVSZwJeiL9kg8QMsuIZOplsJgTzZLF6jGxI3AClj8I9nRdQ==", "dev": true, + "dependencies": { + "neo-async": "^2.6.2" + }, "engines": { - "node": ">=14.16" + "node": ">= 18.12.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "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" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "webpack": { + "optional": true + } } }, - "node_modules/slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true, + "optional": true + }, + "node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", "dev": true, "dependencies": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">=12" + "node": ">= 12.13.0" }, "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true }, - "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", "dev": true, - "engines": { - "node": ">=12" + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=10" } }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" + "node": ">=10" } }, - "node_modules/socket.io": { - "version": "4.7.5", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.5.tgz", - "integrity": "sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==", + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "dependencies": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "cors": "~2.8.5", - "debug": "~4.3.2", - "engine.io": "~6.5.2", - "socket.io-adapter": "~2.5.2", - "socket.io-parser": "~4.2.4" + "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" }, "engines": { - "node": ">=10.2.0" + "node": ">= 0.8.0" } }, - "node_modules/socket.io-adapter": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", - "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { - "debug": "~4.3.4", - "ws": "~8.17.1" + "ms": "2.0.0" } }, - "node_modules/socket.io-parser": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", - "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" + "bin": { + "mime": "cli.js" }, "engines": { - "node": ">=10.0.0" + "node": ">=4" } }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" + "engines": { + "node": ">= 0.8" } }, - "node_modules/socks": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", - "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" + "randombytes": "^2.1.0" } }, - "node_modules/socks-proxy-agent": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz", - "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==", + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", "dev": true, "dependencies": { - "agent-base": "^7.1.1", - "debug": "^4.3.4", - "socks": "^2.8.3" + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" }, "engines": { - "node": ">= 14" + "node": ">= 0.8.0" } }, - "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "engines": { - "node": ">= 8" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/source-map-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-5.0.0.tgz", - "integrity": "sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==", + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", "dev": true, "dependencies": { - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.2" + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" }, "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.72.1" + "node": ">= 0.6" } }, - "node_modules/source-map-loader/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "node": ">= 0.4" } }, - "node_modules/spdx-exceptions": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, - "node_modules/spdx-expression-parse": { + "node_modules/shallow-clone": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.18", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", - "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==", - "dev": true - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/spdy-transport": { + "node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "node_modules/ssri": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", - "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", + "node_modules/sigstore": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.3.1.tgz", + "integrity": "sha512-8G+/XDU8wNsJOQS5ysDVO0Etg9/2uA5gR9l4ZwijjlwxBcrU6RPfwi2+jJmbP+Ap1Hlp/nVAaEO4Fj22/SL2gQ==", "dev": true, "dependencies": { - "minipass": "^7.0.3" + "@sigstore/bundle": "^2.3.2", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.2", + "@sigstore/sign": "^2.3.2", + "@sigstore/tuf": "^2.3.4", + "@sigstore/verify": "^1.2.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/streamroller": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", - "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", "dev": true, "dependencies": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "fs-extra": "^8.1.0" + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" }, "engines": { - "node": ">=8.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "engines": { + "node": ">=12" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, "engines": { - "node": ">=8" + "node": ">= 6.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/socket.io": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.2.tgz", + "integrity": "sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==", "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.5.2", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" }, "engines": { - "node": ">=8" + "node": ">=10.2.0" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/socket.io-adapter": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", + "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" + "debug": "~4.3.4", + "ws": "~8.17.1" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" }, "engines": { - "node": ">=8" + "node": ">=10.0.0" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "dev": true, - "engines": { - "node": ">=6" + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" } }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/socks": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" }, "engines": { - "node": ">=4" + "node": ">= 10.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "node_modules/socks-proxy-agent": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.3.tgz", + "integrity": "sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "agent-base": "^7.1.1", + "debug": "^4.3.4", + "socks": "^2.7.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 14" } }, - "node_modules/symbol-observable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", - "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, "engines": { - "node": ">=0.10" + "node": ">= 8" } }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "dev": true, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "node_modules/source-map-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-5.0.0.tgz", + "integrity": "sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==", "dev": true, "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.2" }, "engines": { - "node": ">=10" + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.72.1" } }, - "node_modules/tar/node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "node_modules/source-map-loader/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, "dependencies": { - "minipass": "^3.0.0" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">= 8" + "node": ">=0.10.0" } }, - "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/tar/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", "dev": true }, - "node_modules/terser": { - "version": "5.31.6", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", - "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "node_modules/spdx-license-ids": { + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", + "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==", + "dev": true + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.20", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } + "node": ">=6.0.0" } }, - "node_modules/terser-webpack-plugin/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" } }, - "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "node_modules/ssri": { + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", + "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "minipass": "^7.0.3" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/thingies": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", - "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "dev": true, "engines": { - "node": ">=10.18" - }, - "peerDependencies": { - "tslib": "^2" + "node": ">= 0.6" } }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "node_modules/streamroller": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", + "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", "dev": true, "dependencies": { - "os-tmpdir": "~1.0.2" + "date-format": "^4.0.14", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" }, "engines": { - "node": ">=0.6.0" + "node": ">=8.0" } }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { - "is-number": "^7.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=8.0" + "node": ">=8" } }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, "engines": { - "node": ">=0.6" + "node": ">=8" } }, - "node_modules/tree-dump": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz", - "integrity": "sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "dependencies": { + "ansi-regex": "^5.0.1" }, - "peerDependencies": { - "tslib": "2" + "engines": { + "node": ">=8" } }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, - "bin": { - "tree-kill": "cli.js" + "engines": { + "node": ">=6" } }, - "node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" - }, - "node_modules/tuf-js": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-2.2.1.tgz", - "integrity": "sha512-GwIJau9XaA8nLVbUXsN3IlFi7WmQ48gBUrl3FTkkL/XLu/POhBzfmX9hd33FNMX1qAsfl6ozO1iMmW9NC8YniA==", + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "dependencies": { - "@tufjs/models": "2.0.1", - "debug": "^4.3.4", - "make-fetch-happen": "^13.0.1" + "has-flag": "^3.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=4" } }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "node_modules/symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", "dev": true, - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, "engines": { - "node": ">= 0.6" + "node": ">=0.10" } }, - "node_modules/typed-assert": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", - "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", - "dev": true - }, - "node_modules/typescript": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", - "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, "engines": { - "node": ">=14.17" + "node": ">=6" } }, - "node_modules/ua-parser-js": { - "version": "0.7.38", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.38.tgz", - "integrity": "sha512-fYmIy7fKTSFAhG3fuPlubeGaMoAd6r0rSnfEsO5nEY55i26KSLt9EH7PLQiiqPUhNqYIJvSkTy1oArIcXAbPbA==", + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - }, - { - "type": "github", - "url": "https://github.com/sponsors/faisalman" - } - ], + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, "engines": { - "node": "*" + "node": ">=10" } }, - "node_modules/undici-types": { - "version": "6.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.18.2.tgz", - "integrity": "sha512-5ruQbENj95yDYJNS3TvcaxPMshV7aizdv/hWYjGIKoANWKjhWNBsr2YEuYZKodQulB1b8l7ILOuDQep3afowQQ==", - "dev": true - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, "engines": { - "node": ">=4" + "node": ">= 8" } }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/unicorn-magic": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", - "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/terser": { + "version": "5.31.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.0.tgz", + "integrity": "sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==", "dev": true, - "engines": { - "node": ">=18" + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" } }, - "node_modules/unique-filename": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", - "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, "dependencies": { - "unique-slug": "^4.0.0" + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } } }, - "node_modules/unique-slug": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", - "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "node_modules/terser-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "dependencies": { - "imurmurhash": "^0.1.4" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, - "engines": { - "node": ">= 4.0.0" + "peerDependencies": { + "ajv": "^6.9.1" } }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } + "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, - "node_modules/update-browserslist-db": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", - "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" }, - "bin": { - "update-browserslist-db": "cli.js" + "engines": { + "node": ">= 10.13.0" }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/uri-js/node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "node_modules/thingies": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", + "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", "dev": true, "engines": { - "node": ">=6" + "node": ">=10.18" + }, + "peerDependencies": { + "tslib": "^2" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" + "node": ">=0.6.0" } }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "engines": { + "node": ">=4" } }, - "node_modules/validate-npm-package-name": { + "node_modules/to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", - "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8.0" } }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=0.6" } }, - "node_modules/vite": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.0.tgz", - "integrity": "sha512-5xokfMX0PIiwCMCMb9ZJcMyh5wbBun0zUzKib+L65vAZ8GY9ePZMXxFrHbr/Kyll2+LSCY7xtERPpxkBDKngwg==", + "node_modules/tree-dump": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz", + "integrity": "sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==", "dev": true, - "dependencies": { - "esbuild": "^0.21.3", - "postcss": "^8.4.40", - "rollup": "^4.13.0" - }, - "bin": { - "vite": "bin/vite.js" - }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": ">=10.0" }, "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" + "type": "github", + "url": "https://github.com/sponsors/streamich" }, "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } + "tslib": "2" } }, - "node_modules/vite/node_modules/@esbuild/aix-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", - "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", - "cpu": [ - "ppc64" - ], + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" + "bin": { + "tree-kill": "cli.js" } }, - "node_modules/vite/node_modules/@esbuild/android-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", - "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } + "node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, - "node_modules/vite/node_modules/@esbuild/android-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", - "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", - "cpu": [ - "arm64" - ], + "node_modules/tuf-js": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-2.2.1.tgz", + "integrity": "sha512-GwIJau9XaA8nLVbUXsN3IlFi7WmQ48gBUrl3FTkkL/XLu/POhBzfmX9hd33FNMX1qAsfl6ozO1iMmW9NC8YniA==", "dev": true, - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "@tufjs/models": "2.0.1", + "debug": "^4.3.4", + "make-fetch-happen": "^13.0.1" + }, "engines": { - "node": ">=12" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/vite/node_modules/@esbuild/android-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", - "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", - "cpu": [ - "x64" - ], + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, - "optional": true, - "os": [ - "android" - ], "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/vite/node_modules/@esbuild/darwin-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", - "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", - "cpu": [ - "arm64" - ], + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, "engines": { - "node": ">=12" + "node": ">= 0.6" } }, - "node_modules/vite/node_modules/@esbuild/darwin-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", - "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", - "cpu": [ - "x64" - ], + "node_modules/typed-assert": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", + "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", + "dev": true + }, + "node_modules/typescript": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", "dev": true, - "optional": true, - "os": [ - "darwin" - ], + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, "engines": { - "node": ">=12" + "node": ">=14.17" } }, - "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", - "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", - "cpu": [ - "arm64" - ], + "node_modules/ua-parser-js": { + "version": "0.7.35", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.35.tgz", + "integrity": "sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g==", "dev": true, - "optional": true, - "os": [ - "freebsd" + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } ], "engines": { - "node": ">=12" + "node": "*" } }, - "node_modules/vite/node_modules/@esbuild/freebsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", - "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", - "cpu": [ - "x64" - ], + "node_modules/undici": { + "version": "6.19.2", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.19.2.tgz", + "integrity": "sha512-JfjKqIauur3Q6biAtHJ564e3bWa8VvT+7cSiOJHFbX4Erv6CLGDpg8z+Fmg/1OI/47RA+GI2QZaF48SSaLvyBA==", "dev": true, - "optional": true, - "os": [ - "freebsd" - ], "engines": { - "node": ">=12" + "node": ">=18.17" } }, - "node_modules/vite/node_modules/@esbuild/linux-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", - "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", - "cpu": [ - "arm" - ], + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", "dev": true, - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/vite/node_modules/@esbuild/linux-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", - "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", - "cpu": [ - "arm64" - ], + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/vite/node_modules/@esbuild/linux-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", - "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", - "cpu": [ - "ia32" - ], + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", "dev": true, - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/vite/node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", - "cpu": [ - "loong64" - ], + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/vite/node_modules/@esbuild/linux-mips64el": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", - "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", - "cpu": [ - "mips64el" - ], + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", "dev": true, - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=12" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/vite/node_modules/@esbuild/linux-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", - "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", - "cpu": [ - "ppc64" - ], + "node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "unique-slug": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/vite/node_modules/@esbuild/linux-riscv64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", - "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", - "cpu": [ - "riscv64" - ], + "node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "imurmurhash": "^0.1.4" + }, "engines": { - "node": ">=12" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/vite/node_modules/@esbuild/linux-s390x": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", - "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", - "cpu": [ - "s390x" - ], + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=12" + "node": ">= 4.0.0" } }, - "node_modules/vite/node_modules/@esbuild/linux-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", - "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", - "cpu": [ - "x64" - ], + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true, - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=12" + "node": ">= 0.8" } }, - "node_modules/vite/node_modules/@esbuild/netbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", - "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", - "cpu": [ - "x64" - ], + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, - "optional": true, - "os": [ - "netbsd" + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } ], - "engines": { - "node": ">=12" + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "node_modules/vite/node_modules/@esbuild/openbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", - "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", - "cpu": [ - "x64" - ], + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" + "dependencies": { + "punycode": "^2.1.0" } }, - "node_modules/vite/node_modules/@esbuild/sunos-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", - "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", - "cpu": [ - "x64" - ], + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true, - "optional": true, - "os": [ - "sunos" - ], "engines": { - "node": ">=12" + "node": ">= 0.4.0" } }, - "node_modules/vite/node_modules/@esbuild/win32-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", - "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", - "cpu": [ - "arm64" - ], + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/vite/node_modules/@esbuild/win32-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", - "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", - "cpu": [ - "ia32" - ], + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", + "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", "dev": true, - "optional": true, - "os": [ - "win32" - ], "engines": { - "node": ">=12" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/vite/node_modules/@esbuild/win32-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", - "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", - "cpu": [ - "x64" - ], + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true, - "optional": true, - "os": [ - "win32" - ], "engines": { - "node": ">=12" + "node": ">= 0.8" } }, - "node_modules/vite/node_modules/esbuild": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "node_modules/vite": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.2.tgz", + "integrity": "sha512-6lA7OBHBlXUxiJxbO5aAY2fsHHzDr1q7DvXYnyZycRs2Dz+dXBWuhpWHvmljTRTpQC2uvGmUFFkSHF2vGo90MA==", "dev": true, - "hasInstallScript": true, + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.38", + "rollup": "^4.13.0" + }, "bin": { - "esbuild": "bin/esbuild" + "vite": "bin/vite.js" }, "engines": { - "node": ">=12" + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "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 + } } }, "node_modules/void-elements": { @@ -13602,9 +12910,9 @@ "dev": true }, "node_modules/webpack": { - "version": "5.93.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz", - "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==", + "version": "5.92.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.92.1.tgz", + "integrity": "sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", @@ -13649,9 +12957,9 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.3.0.tgz", - "integrity": "sha512-xD2qnNew+F6KwOGZR7kWdbIou/ud7cVqLEXeK1q0nHcNsX/u7ul/fSdlOTX4ntSL5FNFy7ZJJXbf0piF591JYw==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.2.1.tgz", + "integrity": "sha512-hRLz+jPQXo999Nx9fXVdKlg/aehsw1ajA9skAneGmT03xwmyuhvF93p6HUKKbWhXdcERtGTzUCtIQr+2IQegrA==", "dev": true, "dependencies": { "colorette": "^2.0.10", @@ -13820,17 +13128,17 @@ } }, "node_modules/webpack-merge": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", - "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", "dev": true, "dependencies": { "clone-deep": "^4.0.1", "flat": "^5.0.2", - "wildcard": "^2.0.1" + "wildcard": "^2.0.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=10.0.0" } }, "node_modules/webpack-sources": { @@ -13888,12 +13196,6 @@ "ajv": "^6.9.1" } }, - "node_modules/webpack/node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, "node_modules/webpack/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -13960,9 +13262,9 @@ "dev": true }, "node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "dependencies": { "ansi-styles": "^4.0.0", @@ -13970,7 +13272,10 @@ "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/wrap-ansi-cjs": { @@ -14127,9 +13432,9 @@ } }, "node_modules/yocto-queue": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", - "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", "dev": true, "engines": { "node": ">=12.20" diff --git a/frontend/package.json b/frontend/package.json index 5661a9c..5723a80 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,40 +1,40 @@ { - "name": "frontend", + "name": "angular-shop", "version": "0.0.0", "scripts": { "ng": "ng", - "start": "ng serve", + "start": "ng serve -o", "build": "ng build", "watch": "ng build --watch --configuration development", "test": "ng test" }, "private": true, "dependencies": { - "@angular/animations": "^18.2.0", - "@angular/cdk": "^17.3.10", - "@angular/common": "^18.2.0", - "@angular/compiler": "^18.2.0", - "@angular/core": "^18.2.0", - "@angular/forms": "^18.2.0", - "@angular/material": "^17.3.10", - "@angular/platform-browser": "^18.2.0", - "@angular/platform-browser-dynamic": "^18.2.0", - "@angular/router": "^18.2.0", + "@angular/animations": "^18.1.4", + "@angular/cdk": "^18.1.4", + "@angular/common": "^18.1.4", + "@angular/compiler": "^18.1.4", + "@angular/core": "^18.1.4", + "@angular/forms": "^18.1.4", + "@angular/material": "^18.1.4", + "@angular/platform-browser": "^18.1.4", + "@angular/platform-browser-dynamic": "^18.1.4", + "@angular/router": "^18.1.4", "rxjs": "~7.8.0", - "tslib": "^2.3.0", - "zone.js": "~0.14.3" + "tslib": "^2.6.3", + "zone.js": "~0.14.10" }, "devDependencies": { - "@angular-devkit/build-angular": "^18.2.0", - "@angular/cli": "^18.2.0", - "@angular/compiler-cli": "^18.2.0", - "@types/jasmine": "~5.1.0", - "jasmine-core": "~5.1.0", - "karma": "~6.4.0", + "@angular-devkit/build-angular": "^18.1.4", + "@angular/cli": "~18.1.4", + "@angular/compiler-cli": "^18.1.4", + "@types/jasmine": "~5.1.4", + "jasmine-core": "~5.2.0", + "karma": "~6.4.4", "karma-chrome-launcher": "~3.2.0", "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", "typescript": "~5.5.4" } -} +} \ No newline at end of file diff --git a/frontend/src/app/app.component.html b/frontend/src/app/app.component.html deleted file mode 100644 index 08d693a..0000000 --- a/frontend/src/app/app.component.html +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/frontend/src/app/app.component.spec.ts b/frontend/src/app/app.component.spec.ts new file mode 100644 index 0000000..c5ba3fe --- /dev/null +++ b/frontend/src/app/app.component.spec.ts @@ -0,0 +1,28 @@ +import { TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { AppComponent } from './app.component'; + +describe('AppComponent', () => { + beforeEach(() => TestBed.configureTestingModule({ + imports: [RouterTestingModule, AppComponent] +})); + + it('should create the app', () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.componentInstance; + expect(app).toBeTruthy(); + }); + + it(`should have as title 'angular-shop'`, () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.componentInstance; + expect(app.title).toEqual('angular-shop'); + }); + + it('should render title', () => { + const fixture = TestBed.createComponent(AppComponent); + fixture.detectChanges(); + const compiled = fixture.nativeElement as HTMLElement; + expect(compiled.querySelector('.content span')?.textContent).toContain('angular-shop app is running!'); + }); +}); diff --git a/frontend/src/app/app.component.ts b/frontend/src/app/app.component.ts index 74c293e..adef026 100644 --- a/frontend/src/app/app.component.ts +++ b/frontend/src/app/app.component.ts @@ -1,21 +1,18 @@ -import { CommonModule } from '@angular/common'; import { Component } from '@angular/core'; -import {MatToolbarModule} from '@angular/material/toolbar'; -import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { RouterOutlet } from '@angular/router'; +import { HeaderComponent } from './shared/header/header.component'; + @Component({ selector: 'app-root', + styles: [], + template: ` + + + `, standalone: true, - imports: [ - MatToolbarModule, - BrowserAnimationsModule, - CommonModule, - RouterOutlet - ], - templateUrl: './app.component.html', - styleUrl: './app.component.css' + imports: [RouterOutlet, HeaderComponent] }) export class AppComponent { - title = 'MyMarket'; + title = 'angular-shop'; } diff --git a/frontend/src/app/app.config.ts b/frontend/src/app/app.config.ts deleted file mode 100644 index 6c6ef60..0000000 --- a/frontend/src/app/app.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { ApplicationConfig } from '@angular/core'; -import { provideRouter } from '@angular/router'; - -import { routes } from './app.routes'; - -export const appConfig: ApplicationConfig = { - providers: [provideRouter(routes)] -}; diff --git a/frontend/src/app/app.routes.ts b/frontend/src/app/app.routes.ts index a6ce8c2..06b63d0 100644 --- a/frontend/src/app/app.routes.ts +++ b/frontend/src/app/app.routes.ts @@ -1,3 +1,15 @@ import { Routes } from '@angular/router'; -export const APP_ROUTES: Routes = []; +export const APP_ROUTES: Routes = [ + { + path: '', pathMatch: 'full', redirectTo: 'products' + }, + { + path: 'products', + loadChildren: () => import('./products/products.routes').then(r => r.PRODUCT_ROUTES) + }, + { + path: 'cart', + loadComponent: () => import('./cart/cart/cart.component').then(c => c.CartComponent) + } +]; diff --git a/frontend/src/app/cart/cart-item.ts b/frontend/src/app/cart/cart-item.ts new file mode 100644 index 0000000..803ce1b --- /dev/null +++ b/frontend/src/app/cart/cart-item.ts @@ -0,0 +1,6 @@ +import { Product } from "../products/product"; + +export interface CartItem { + product: Product; + quantity: number; +} diff --git a/frontend/src/app/cart/cart-item/cart-item.component.html b/frontend/src/app/cart/cart-item/cart-item.component.html new file mode 100644 index 0000000..486481b --- /dev/null +++ b/frontend/src/app/cart/cart-item/cart-item.component.html @@ -0,0 +1,52 @@ +
+
+ {{ cartItem.product.name }} +
+

{{ cartItem.product.name }}

+

+ {{ cartItem.product.description }} +

+
+
+
+ + Quantidade + + @for (quantity of quantityOptions; track quantity) { + {{ quantity }} +} + + +
+
+
+

+ {{ cartItem.product.price * cartItem.quantity | currency : "BRL" }} +

+

+ {{ cartItem.product.price | currency : "BRL" }} cada +

+
+
+
+ +
+
diff --git a/frontend/src/app/cart/cart-item/cart-item.component.scss b/frontend/src/app/cart/cart-item/cart-item.component.scss new file mode 100644 index 0000000..2bd5b86 --- /dev/null +++ b/frontend/src/app/cart/cart-item/cart-item.component.scss @@ -0,0 +1,13 @@ +.parent { + width: 80%; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; +} + +.product-details { + display: flex; + justify-content: center; + align-items: center; +} diff --git a/frontend/src/app/cart/cart-item/cart-item.component.spec.ts b/frontend/src/app/cart/cart-item/cart-item.component.spec.ts new file mode 100644 index 0000000..01566f5 --- /dev/null +++ b/frontend/src/app/cart/cart-item/cart-item.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CartItemComponent } from './cart-item.component'; + +describe('CartItemComponent', () => { + let component: CartItemComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [CartItemComponent] +}); + fixture = TestBed.createComponent(CartItemComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/cart/cart-item/cart-item.component.ts b/frontend/src/app/cart/cart-item/cart-item.component.ts new file mode 100644 index 0000000..681f2a5 --- /dev/null +++ b/frontend/src/app/cart/cart-item/cart-item.component.ts @@ -0,0 +1,34 @@ +import { Component, Input, inject } from '@angular/core'; +import { CartItem } from '../cart-item'; +import { CartService } from '../cart.service'; +import { MatIconModule } from '@angular/material/icon'; +import { MatButtonModule } from '@angular/material/button'; +import { MatOptionModule } from '@angular/material/core'; +import { CurrencyPipe } from '@angular/common'; +import { MatSelectModule } from '@angular/material/select'; +import { MatFormFieldModule } from '@angular/material/form-field'; + +@Component({ + selector: 'app-cart-item', + templateUrl: './cart-item.component.html', + styleUrls: ['./cart-item.component.scss'], + standalone: true, + imports: [MatFormFieldModule, MatSelectModule, MatOptionModule, MatButtonModule, MatIconModule, CurrencyPipe] +}) +export class CartItemComponent { + + @Input({ required: true, alias: 'item' }) cartItem !: CartItem; + + quantityOptions = [1, 2, 3, 4, 5]; + + private cartService = inject(CartService); + + onQuantityChange(quantity: number, cartItem: CartItem) { + cartItem.quantity = quantity; + this.cartService.updateCartQuantity(cartItem); + } + + onRemove(): void { + this.cartService.removeProduct(this.cartItem.product); + } +} diff --git a/frontend/src/app/cart/cart-list/cart-list.component.html b/frontend/src/app/cart/cart-list/cart-list.component.html new file mode 100644 index 0000000..75a19c3 --- /dev/null +++ b/frontend/src/app/cart/cart-list/cart-list.component.html @@ -0,0 +1,12 @@ + + + Itens do carrinho + + + @for (cartItem of cartItems(); track cartItem) { +
+ +
+} +
+
diff --git a/frontend/src/app/app.component.css b/frontend/src/app/cart/cart-list/cart-list.component.scss similarity index 100% rename from frontend/src/app/app.component.css rename to frontend/src/app/cart/cart-list/cart-list.component.scss diff --git a/frontend/src/app/cart/cart-list/cart-list.component.spec.ts b/frontend/src/app/cart/cart-list/cart-list.component.spec.ts new file mode 100644 index 0000000..a3989ee --- /dev/null +++ b/frontend/src/app/cart/cart-list/cart-list.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CartListComponent } from './cart-list.component'; + +describe('CartListComponent', () => { + let component: CartListComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [CartListComponent] +}); + fixture = TestBed.createComponent(CartListComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/cart/cart-list/cart-list.component.ts b/frontend/src/app/cart/cart-list/cart-list.component.ts new file mode 100644 index 0000000..515d51a --- /dev/null +++ b/frontend/src/app/cart/cart-list/cart-list.component.ts @@ -0,0 +1,21 @@ +import { AsyncPipe } from '@angular/common'; +import { Component, inject } from '@angular/core'; +import { MatCardModule } from '@angular/material/card'; + +import { CartItemComponent } from '../cart-item/cart-item.component'; +import { CartService } from '../cart.service'; + +@Component({ + selector: 'app-cart-list', + templateUrl: './cart-list.component.html', + styleUrls: ['./cart-list.component.scss'], + standalone: true, + imports: [MatCardModule, CartItemComponent, AsyncPipe] +}) +export class CartListComponent { + + private cartService = inject(CartService); + + cartItems = this.cartService.cartItems; + +} diff --git a/frontend/src/app/cart/cart-total-summary/cart-total-summary.component.html b/frontend/src/app/cart/cart-total-summary/cart-total-summary.component.html new file mode 100644 index 0000000..037190c --- /dev/null +++ b/frontend/src/app/cart/cart-total-summary/cart-total-summary.component.html @@ -0,0 +1,28 @@ + + + TOTAL DO CARRINHO + + +
+
+ Preço + {{ cartService.cartSubTotal() | currency : "BRL" }} +
+
+ Taxa + {{ cartService.cartTax() | currency : "BRL" }} +
+
+ Total + {{ + cartService.cartTotal() | currency : "BRL" + }} +
+
+
+ +
diff --git a/frontend/src/app/cart/cart-total-summary/cart-total-summary.component.scss b/frontend/src/app/cart/cart-total-summary/cart-total-summary.component.scss new file mode 100644 index 0000000..bf21a4e --- /dev/null +++ b/frontend/src/app/cart/cart-total-summary/cart-total-summary.component.scss @@ -0,0 +1,20 @@ +.sub-total { + display: flex; + justify-content: space-between; + align-items: center; + align-content: center; + margin-top: 10px; + margin-bottom: 5px; +} + +.total { + font-weight: bold; + font-size: 1.2em; +} + +.checkout { + display: flex; + justify-content: center; + align-items: center; + align-content: center; +} diff --git a/frontend/src/app/cart/cart-total-summary/cart-total-summary.component.spec.ts b/frontend/src/app/cart/cart-total-summary/cart-total-summary.component.spec.ts new file mode 100644 index 0000000..6a0ff0e --- /dev/null +++ b/frontend/src/app/cart/cart-total-summary/cart-total-summary.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CartTotalSummaryComponent } from './cart-total-summary.component'; + +describe('CartTotalSummaryComponent', () => { + let component: CartTotalSummaryComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [CartTotalSummaryComponent] +}); + fixture = TestBed.createComponent(CartTotalSummaryComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/cart/cart-total-summary/cart-total-summary.component.ts b/frontend/src/app/cart/cart-total-summary/cart-total-summary.component.ts new file mode 100644 index 0000000..9d685ba --- /dev/null +++ b/frontend/src/app/cart/cart-total-summary/cart-total-summary.component.ts @@ -0,0 +1,18 @@ +import { Component, inject } from '@angular/core'; + +import { CartService } from '../cart.service'; +import { AsyncPipe, CurrencyPipe } from '@angular/common'; +import { MatButtonModule } from '@angular/material/button'; +import { MatCardModule } from '@angular/material/card'; + +@Component({ + selector: 'app-cart-total-summary', + templateUrl: './cart-total-summary.component.html', + styleUrls: ['./cart-total-summary.component.scss'], + standalone: true, + imports: [MatCardModule, MatButtonModule, AsyncPipe, CurrencyPipe] +}) +export class CartTotalSummaryComponent { + + cartService = inject(CartService); +} diff --git a/frontend/src/app/cart/cart.service.spec.ts b/frontend/src/app/cart/cart.service.spec.ts new file mode 100644 index 0000000..cb4a750 --- /dev/null +++ b/frontend/src/app/cart/cart.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { CartService } from './cart.service'; + +describe('CartService', () => { + let service: CartService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(CartService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/cart/cart.service.ts b/frontend/src/app/cart/cart.service.ts new file mode 100644 index 0000000..1c85d66 --- /dev/null +++ b/frontend/src/app/cart/cart.service.ts @@ -0,0 +1,50 @@ +import { computed, effect, Injectable, signal } from '@angular/core'; + +import { Product } from '../products/product'; +import { CartItem } from './cart-item'; + +@Injectable({ + providedIn: 'root' +}) +export class CartService { + + cartItems = signal([]); + + cartCount = computed(() => this.cartItems().reduce((acc, curr) => acc + curr.quantity, 0)); + + cartSubTotal = computed(() => this.cartItems().reduce((acc, curr) => acc + (curr.quantity * curr.product.price), 0)); + + // calculate tax of 8% on top of the subtotal + cartTax = computed(() => this.cartSubTotal() * 0.08); + + cartTotal = computed(() => this.cartSubTotal() + this.cartTax()); + + e = effect(() => console.log('cartCount updated', this.cartCount())); + i = effect(() => console.log('cartItems updated', this.cartItems())); + + + addProduct(product: Product): void { + const indexFound = this.cartItems().findIndex((p) => p.product.id === product.id); + if (indexFound >= 0) { + const cartItem = this.cartItems()[indexFound]; + cartItem.quantity += 1; + this.updateCartQuantity(cartItem); + //this.cartItems.mutate((items) => items[indexFound].quantity += 1); + } else { + //this.cartItems.mutate((items) => items.push({ product, quantity: 1 })); + this.cartItems.update((items) => [...items, { product, quantity: 1 }]); + } + } + + updateCartQuantity(cartItem: CartItem): void { + const indexFound = this.cartItems().findIndex((p) => p.product.id === cartItem.product.id); + if (indexFound >= 0) { + this.cartItems.update((items) => items.map((p) => p.product.id === cartItem.product.id ? cartItem : p)); + } + } + + removeProduct(product: Product): void { + this.cartItems.update((items) => items.filter((p) => p.product.id !== product.id)); + } + +} diff --git a/frontend/src/app/cart/cart/cart.component.html b/frontend/src/app/cart/cart/cart.component.html new file mode 100644 index 0000000..4f4d317 --- /dev/null +++ b/frontend/src/app/cart/cart/cart.component.html @@ -0,0 +1,11 @@ + + Carrinho de compras + +
+
+ +
+
+ +
+
diff --git a/frontend/src/app/cart/cart/cart.component.scss b/frontend/src/app/cart/cart/cart.component.scss new file mode 100644 index 0000000..410896a --- /dev/null +++ b/frontend/src/app/cart/cart/cart.component.scss @@ -0,0 +1,17 @@ +.cart-summary { + display: flex; + flex-direction: row; +} + +.cart-items { + width: 70%; + text-align: center; + margin: 50px; +} + +.cart-total { + width: 30%; + padding: 30px; + height: 100vh; + margin: 50px; +} diff --git a/frontend/src/app/cart/cart/cart.component.spec.ts b/frontend/src/app/cart/cart/cart.component.spec.ts new file mode 100644 index 0000000..73a231c --- /dev/null +++ b/frontend/src/app/cart/cart/cart.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CartComponent } from './cart.component'; + +describe('CartComponent', () => { + let component: CartComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [CartComponent] +}); + fixture = TestBed.createComponent(CartComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/cart/cart/cart.component.ts b/frontend/src/app/cart/cart/cart.component.ts new file mode 100644 index 0000000..f7dfc71 --- /dev/null +++ b/frontend/src/app/cart/cart/cart.component.ts @@ -0,0 +1,15 @@ +import { Component } from '@angular/core'; +import { CartTotalSummaryComponent } from '../cart-total-summary/cart-total-summary.component'; +import { CartListComponent } from '../cart-list/cart-list.component'; +import { MatToolbarModule } from '@angular/material/toolbar'; + +@Component({ + selector: 'app-cart', + templateUrl: './cart.component.html', + styleUrls: ['./cart.component.scss'], + standalone: true, + imports: [MatToolbarModule, CartListComponent, CartTotalSummaryComponent] +}) +export class CartComponent { + +} diff --git a/frontend/src/app/core/data-access/credential.interceptor.ts b/frontend/src/app/core/data-access/credential.interceptor.ts deleted file mode 100644 index 45c90a1..0000000 --- a/frontend/src/app/core/data-access/credential.interceptor.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { HttpInterceptorFn } from '@angular/common/http'; - -export const credentialInterceptor: HttpInterceptorFn = (request, next) => { - const modifiedRequest = request.clone({ - withCredentials: true - }); - return next(modifiedRequest); -}; \ No newline at end of file diff --git a/frontend/src/app/products/product-form/product-form.component.html b/frontend/src/app/products/product-form/product-form.component.html new file mode 100644 index 0000000..513caf2 --- /dev/null +++ b/frontend/src/app/products/product-form/product-form.component.html @@ -0,0 +1,106 @@ + + Detalhe do produto + +
+ + Nome + + {{ name.value.length }} / 100 + @if (form.get('name')?.invalid) { +{{ + formUtils.getErrorMessage(form, "name") + }} +} + + + + Descrição + + {{ description.value.length }} / 100 + @if (form.get('description')?.invalid) { +{{ + formUtils.getErrorMessage(form, "description") + }} +} + + +
+ + Preço + + @if (form.get('price')?.invalid) { +{{ + formUtils.getErrorMessage(form, "price") + }} +} + + + + Status + + Padrão + Oferta + + + + + Desconto + + Não + Sim + + + + + Desconto + + @if (form.get('discount')?.invalid) { +{{ + formUtils.getErrorMessage(form, "discount") + }} +} + + + + Imagem + + @for (image of images; track image) { + + + {{ image }} + +} + + @if (form.get('image')?.invalid) { +{{ + formUtils.getErrorMessage(form, "image") + }} +} + +
+
+
+ + + + +
diff --git a/frontend/src/app/products/product-form/product-form.component.scss b/frontend/src/app/products/product-form/product-form.component.scss new file mode 100644 index 0000000..6fb61b3 --- /dev/null +++ b/frontend/src/app/products/product-form/product-form.component.scss @@ -0,0 +1,37 @@ +mat-card { + max-width: 80%; + margin: 2em auto; + text-align: center; +} + +.full-width { + width: 100%; +} + +.min-width { + width: 100%; + min-width: 150px; +} + +.row { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: center; +} + +.column { + display: flex; + flex-direction: column; + flex-basis: 90%; + flex: 1; + padding-left: 10px; +} + +.actions-center { + justify-content: center; +} + +.btn-space { + margin-left: 5px; +} diff --git a/frontend/src/app/products/product-form/product-form.component.spec.ts b/frontend/src/app/products/product-form/product-form.component.spec.ts new file mode 100644 index 0000000..224b43f --- /dev/null +++ b/frontend/src/app/products/product-form/product-form.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ProductFormComponent } from './product-form.component'; + +describe('ProductFormComponent', () => { + let component: ProductFormComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [ProductFormComponent] +}); + fixture = TestBed.createComponent(ProductFormComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/products/product-form/product-form.component.ts b/frontend/src/app/products/product-form/product-form.component.ts new file mode 100644 index 0000000..f849e50 --- /dev/null +++ b/frontend/src/app/products/product-form/product-form.component.ts @@ -0,0 +1,97 @@ +import { Location } from '@angular/common'; +import { Component, inject } from '@angular/core'; +import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms'; +import { MatButtonModule } from '@angular/material/button'; +import { MatCardModule } from '@angular/material/card'; +import { MatOptionModule } from '@angular/material/core'; +import { MatFormFieldModule } from '@angular/material/form-field'; +import { MatInputModule } from '@angular/material/input'; +import { MatSelectModule } from '@angular/material/select'; +import { MatSnackBar, MatSnackBarModule } from '@angular/material/snack-bar'; +import { MatToolbarModule } from '@angular/material/toolbar'; + +import { Product } from '../product'; +import { ProductsService } from '../products.service'; +import { FormUtilsService } from './../../shared/form/form-utils.service'; + +@Component({ + selector: 'app-product-form', + templateUrl: './product-form.component.html', + styleUrls: ['./product-form.component.scss'], + standalone: true, + imports: [ + MatCardModule, + MatToolbarModule, + ReactiveFormsModule, + MatFormFieldModule, + MatInputModule, + MatSelectModule, + MatOptionModule, + MatButtonModule, + MatSnackBarModule +], +}) +export class ProductFormComponent { + images: string[] = []; + form = new FormGroup({ + id: new FormControl(''), + name: new FormControl('', [ + Validators.required, + Validators.minLength(5), + Validators.maxLength(100), + ]), + description: new FormControl('', [ + Validators.required, + Validators.minLength(5), + Validators.maxLength(100), + ]), + price: new FormControl(0, [ + Validators.required, + Validators.min(1), + Validators.max(500), + ]), + image: new FormControl('', [Validators.required]), + status: new FormControl(''), + discounted: new FormControl('', [Validators.max(400)]), + discount: new FormControl(0), + }); + + formUtils = inject(FormUtilsService); + private snackBar = inject(MatSnackBar); + private location = inject(Location); + private productsService = inject(ProductsService); + + constructor() { + this.generateImages(); + } + + private generateImages() { + for (let num = 1; num <= 14; num++) { + this.images.push(`${num}`); + } + } + + onSubmit() { + if (this.form.valid) { + this.productsService.create(this.form.value as Product).subscribe({ + next: () => this.onSuccess(), + error: () => this.onError(), + }); + } else { + this.formUtils.validateAllFormFields(this.form); + } + } + + private onSuccess() { + this.snackBar.open('Product saved successfully!', '', { duration: 5000 }); + this.form.reset(); + } + + private onError() { + this.snackBar.open('Error saving product.', '', { duration: 10000 }); + } + + onCancel() { + this.location.back(); + } +} diff --git a/frontend/src/app/products/product.ts b/frontend/src/app/products/product.ts new file mode 100644 index 0000000..eceb66d --- /dev/null +++ b/frontend/src/app/products/product.ts @@ -0,0 +1,10 @@ +export interface Product { + id: string; + price: number; + status: string; + discounted: string; + discount: number; + name: string; + description: string; + image: string; +} diff --git a/frontend/src/app/products/products-list/products-list.component.html b/frontend/src/app/products/products-list/products-list.component.html new file mode 100644 index 0000000..44cda5a --- /dev/null +++ b/frontend/src/app/products/products-list/products-list.component.html @@ -0,0 +1,45 @@ +
+ @for (product of products$ | async; track product) { + +
+
+ @if (product.status === 'sale') { +
+ Oferta +
+} + {{ product.name }} +
+
+ +
+
+

{{ product.name }}

+

{{ product.description }}

+
+
+ @if (product.discounted === 'discounted') { +R$ {{ product.discount }} +} + R$ {{ product.price }} +
+ +
+
+
+} +
diff --git a/frontend/src/app/products/products-list/products-list.component.scss b/frontend/src/app/products/products-list/products-list.component.scss new file mode 100644 index 0000000..99c92ba --- /dev/null +++ b/frontend/src/app/products/products-list/products-list.component.scss @@ -0,0 +1,49 @@ +.parent { + display: flex; + flex-flow: row wrap; + justify-content: space-around; +} + +mat-card { + width: 300px; + margin: 15px; +} + +.product-details { + display: flex; + flex-flow: row; + justify-content: space-between; + align-items: center; +} + +.media-grid { + text-align: center; + overflow: hidden; + +} + +.product-figure { + background-color:white; + height: 245px; +} + +.product-badge { + color: #fff; + text-align: center; + position: absolute; + font-weight: bold; + border-top: 30px solid #7CB342; + border-bottom: 30px solid transparent; + border-right: 30px solid transparent; + border-left: 30px solid #7CB342; + top: 0; + left: 0; + z-index: 100; + span { + position: absolute; + transform: rotate(-45deg); + top: -18px; + left: -25px; + white-space: nowrap; + } +} diff --git a/frontend/src/app/products/products-list/products-list.component.spec.ts b/frontend/src/app/products/products-list/products-list.component.spec.ts new file mode 100644 index 0000000..2c724b5 --- /dev/null +++ b/frontend/src/app/products/products-list/products-list.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ProductsListComponent } from './products-list.component'; + +describe('ProductsListComponent', () => { + let component: ProductsListComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [ProductsListComponent] +}); + fixture = TestBed.createComponent(ProductsListComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/products/products-list/products-list.component.ts b/frontend/src/app/products/products-list/products-list.component.ts new file mode 100644 index 0000000..475f38f --- /dev/null +++ b/frontend/src/app/products/products-list/products-list.component.ts @@ -0,0 +1,27 @@ +import { AsyncPipe } from '@angular/common'; +import { Component, inject } from '@angular/core'; +import { MatButtonModule } from '@angular/material/button'; +import { MatCardModule } from '@angular/material/card'; +import { MatIconModule } from '@angular/material/icon'; + +import { Product } from '../product'; +import { ProductsService } from '../products.service'; +import { CartService } from './../../cart/cart.service'; + +@Component({ + selector: 'app-products-list', + templateUrl: './products-list.component.html', + styleUrls: ['./products-list.component.scss'], + standalone: true, + imports: [MatCardModule, MatButtonModule, MatIconModule, AsyncPipe] +}) +export class ProductsListComponent { + + private service = inject(ProductsService); + private cartService = inject(CartService); + products$ = this.service.load(); + + addProductToCart(product: Product): void { + this.cartService.addProduct(product); + } +} diff --git a/frontend/src/app/products/products.routes.ts b/frontend/src/app/products/products.routes.ts new file mode 100644 index 0000000..0d582b6 --- /dev/null +++ b/frontend/src/app/products/products.routes.ts @@ -0,0 +1,10 @@ +import { Routes } from '@angular/router'; + +import { ProductFormComponent } from './product-form/product-form.component'; +import { ProductsListComponent } from './products-list/products-list.component'; + + +export const PRODUCT_ROUTES: Routes = [ + { path: '', component: ProductsListComponent }, + { path: 'new', component: ProductFormComponent } +] diff --git a/frontend/src/app/products/products.service.spec.ts b/frontend/src/app/products/products.service.spec.ts new file mode 100644 index 0000000..62eb6c7 --- /dev/null +++ b/frontend/src/app/products/products.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { ProductsService } from './products.service'; + +describe('ProductsService', () => { + let service: ProductsService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(ProductsService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/products/products.service.ts b/frontend/src/app/products/products.service.ts new file mode 100644 index 0000000..4a73f46 --- /dev/null +++ b/frontend/src/app/products/products.service.ts @@ -0,0 +1,47 @@ +import { Injectable, inject } from '@angular/core'; +import { Product } from './product'; +import { HttpClient } from '@angular/common/http'; +import { Observable, of } from 'rxjs'; + +@Injectable({ + providedIn: 'root' +}) +export class ProductsService { + + private products: Product[] = []; + + private readonly API = `/products`; + private readonly isLocal = true; + private http = inject(HttpClient); + + load(): Observable { + if (this.isLocal) { + for (let num = 1; num <= 10; num++) { + this.addProducts(num); + } + return of(this.products); + } + return this.http.get(this.API); + } + + create(product: Product): Observable { + if (this.isLocal) { + this.products.push(product); + return of(product); + } + return this.http.post(this.API, product); + } + + private addProducts(i: number): void { + this.products.push({ + id: `${i}`, + price: parseFloat((Math.random() * (0.0 - 10.0) + 10.0).toFixed(2)), + status: ['', '', '', 'sale'][Math.floor(Math.random() * 4)], + discounted: ['', '', '', 'discounted'][Math.floor(Math.random() * 4)], + discount: parseFloat((Math.random() * (0.0 - 10.0) + 10.0).toFixed(2)), + name: ['Blusa'][Math.floor(Math.random() * 1)], + description: ['Yellow', 'Grey', 'Black', 'Green', 'Black'][Math.floor(Math.random() * 5)], + image: `${i}` + }); + } +} diff --git a/frontend/src/app/shared/form/form-utils.service.spec.ts b/frontend/src/app/shared/form/form-utils.service.spec.ts new file mode 100644 index 0000000..70609be --- /dev/null +++ b/frontend/src/app/shared/form/form-utils.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { FormUtilsService } from './form-utils.service'; + +describe('FormUtilsService', () => { + let service: FormUtilsService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(FormUtilsService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/shared/form/form-utils.service.ts b/frontend/src/app/shared/form/form-utils.service.ts new file mode 100644 index 0000000..2aee667 --- /dev/null +++ b/frontend/src/app/shared/form/form-utils.service.ts @@ -0,0 +1,55 @@ +import { Injectable } from '@angular/core'; +import { UntypedFormArray, UntypedFormControl, UntypedFormGroup } from '@angular/forms'; + +@Injectable({ + providedIn: 'root' +}) +export class FormUtilsService { + + constructor() { } + + validateAllFormFields(formGroup: UntypedFormGroup | UntypedFormArray) { + Object.keys(formGroup.controls).forEach(field => { + const control = formGroup.get(field); + if (control instanceof UntypedFormControl) { + control.markAsTouched({ onlySelf: true }); + } else if (control instanceof UntypedFormGroup || control instanceof UntypedFormArray) { + control.markAsTouched({ onlySelf: true }); + this.validateAllFormFields(control); + } + }); + } + + getErrorMessage(formGroup: UntypedFormGroup, fieldName: string) { + const field = formGroup.get(fieldName) as UntypedFormControl; + return this.getErrorMessageFromField(field); + } + + getErrorMessageFromField(field: UntypedFormControl): string { + if (field?.hasError('required')) { + return 'Field is required.'; + } + + if (field?.hasError('maxlength') && field.errors) { + const requiredLength = field.errors['maxlength']['requiredLength']; + return `Field cannot be more than ${requiredLength} characters long.`; + } + + if (field?.hasError('minlength') && field.errors) { + const requiredLength = field.errors['minlength']['requiredLength']; + return `Field cannot be less than ${requiredLength} characters long.`; + } + + if (field?.hasError('min') && field.errors) { + const requiredValue = field.errors['min']['min']; + return 'Minium value is ' + requiredValue; + } + + if (field?.hasError('max') && field.errors) { + const requiredValue = field.errors['max']['max']; + return 'Maxium value is ' + requiredValue; + } + + return field['errors'] ? 'Error' : ''; + } +} diff --git a/frontend/src/app/shared/header/header.component.html b/frontend/src/app/shared/header/header.component.html new file mode 100644 index 0000000..1d31da7 --- /dev/null +++ b/frontend/src/app/shared/header/header.component.html @@ -0,0 +1,18 @@ + + +
MyMarket
+ + + +
diff --git a/frontend/src/app/shared/header/header.component.scss b/frontend/src/app/shared/header/header.component.scss new file mode 100644 index 0000000..127f285 --- /dev/null +++ b/frontend/src/app/shared/header/header.component.scss @@ -0,0 +1,40 @@ +mat-toolbar { + .notification-label { + position: absolute; + top: 0; + left: 50%; + font-size: 12px; + font-weight: 700; + line-height: 13px; + border-radius: 50%; + width: 13px; + height: 13px; + background-color: #f44336; + border: 4px solid #f44336; + color: white; + text-align: center; + } + &.main-header { + padding: 0 8px; + position: relative; + box-shadow: 0 1px 8px rgba(0,0,0,.3); + z-index: 9; + .branding { + display: -webkit-box; + display: -moz-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: auto 0; + line-height: 50px; + padding: 0 64px 0 16px; + } + } +} + +.example-spacer { + flex: 1 1 auto; +} diff --git a/frontend/src/app/shared/header/header.component.spec.ts b/frontend/src/app/shared/header/header.component.spec.ts new file mode 100644 index 0000000..99d6e98 --- /dev/null +++ b/frontend/src/app/shared/header/header.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { HeaderComponent } from './header.component'; + +describe('HeaderComponent', () => { + let component: HeaderComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [HeaderComponent] +}); + fixture = TestBed.createComponent(HeaderComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/shared/header/header.component.ts b/frontend/src/app/shared/header/header.component.ts new file mode 100644 index 0000000..63b9f07 --- /dev/null +++ b/frontend/src/app/shared/header/header.component.ts @@ -0,0 +1,21 @@ +import { AsyncPipe } from '@angular/common'; +import { Component, inject } from '@angular/core'; +import { MatButtonModule } from '@angular/material/button'; +import { MatIconModule } from '@angular/material/icon'; +import { MatToolbarModule } from '@angular/material/toolbar'; +import { RouterLink } from '@angular/router'; + +import { CartService } from './../../cart/cart.service'; + +@Component({ + selector: 'app-header', + templateUrl: './header.component.html', + styleUrls: ['./header.component.scss'], + standalone: true, + imports: [MatToolbarModule, MatButtonModule, RouterLink, MatIconModule, AsyncPipe] +}) +export class HeaderComponent { + + private cartService = inject(CartService); + cartCount = this.cartService.cartCount; +} diff --git a/frontend/src/assets/images/1.jpg b/frontend/src/assets/images/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9934d5449724cbcdf7cff00d93831c2c817f725c GIT binary patch literal 14385 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 literal 0 HcmV?d00001 diff --git a/frontend/src/assets/images/2.jpg b/frontend/src/assets/images/2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..305263fe790114e6dc12c56873c7916165655570 GIT binary patch literal 18877 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 literal 0 HcmV?d00001 diff --git a/frontend/src/assets/images/4.jpg b/frontend/src/assets/images/4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e03132e46773e8b6a513f16674c4b8b0ebcf20aa GIT binary patch literal 24171 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 SAK(drEyXX=%Cu literal 0 HcmV?d00001 diff --git a/frontend/src/assets/images/5.jpg b/frontend/src/assets/images/5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..077324b8dbb4c871c40484f4b3b1837aa86b017f GIT binary patch literal 18299 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 =Gjsc`u)?J0*1bvGDwFOw zeENt-$|0mMv*T2mVYR&8D5$F^pW~fkbYq(#3upiJ*ElIU9ZHJU3Q2i$NnFNt-UN}K zLh1OlR(ldi61Z^lt+!py^%PB7S}qT<`d?WxRT1ZG@EdA5`kxg9`o6tx6PS*H_9bm zX7du(=y;|DebfFWS~V>aANYkfdx&3}SNdhCi_dlyDF`KJ-vT@j)piB?5IV&lGatx7 z18oF+%1dMHuq8@o0+NYVUl=Jn4aYmBDDvg%k%#fdC-~g-2}M^Vy?d9xXoaKuwC*U_ zTCDos@%n&{qUaBC|9jsglCfDs-2G;o7GAt$BGOScuOlvudLeUItDVL+|3qevtS-3y zjOns-4Y{sqHrGslfo=Z%vhN-jsvbecUekih$t^$(JmY=bHlAoJVQuR!w!0v;=cQC) z3ul@$qBgQ9amKZv+*?CQU&TF)f@rL!GTRJuVUXT?(OWp%TYa#M`wg&p2E2S6L_hIE z-}H#`KHj-``rZ;;Z%i~M@`j)ATndnZbz zfqEOM**HE`dspkKuf%><`^#1`>f4s8* literal 0 HcmV?d00001 diff --git a/frontend/src/assets/images/8.jpg b/frontend/src/assets/images/8.jpg new file mode 100644 index 0000000000000000000000000000000000000000..96668449821f6a585bae679853dc71a51dd58937 GIT binary patch literal 14258 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 Yd8tYM&aP0NKL&%ptOoxHmS30u56`kzO8@`> literal 0 HcmV?d00001 diff --git a/frontend/src/assets/images/9.jpg b/frontend/src/assets/images/9.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9934d5449724cbcdf7cff00d93831c2c817f725c GIT binary patch literal 14385 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 Nr__JTFzvMr^FKp4S3v*( diff --git a/frontend/src/index.html b/frontend/src/index.html index b07c761..44b0a92 100644 --- a/frontend/src/index.html +++ b/frontend/src/index.html @@ -6,6 +6,7 @@ + diff --git a/frontend/src/main.ts b/frontend/src/main.ts index 9a51077..e6ff96a 100644 --- a/frontend/src/main.ts +++ b/frontend/src/main.ts @@ -1,20 +1,20 @@ -import { bootstrapApplication, BrowserModule } from '@angular/platform-browser'; -import { AppComponent } from './app/app.component'; +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http'; import { importProvidersFrom } from '@angular/core'; -import { provideHttpClient, withFetch, withInterceptors, withInterceptorsFromDi } from '@angular/common/http'; -import { provideAnimations } from '@angular/platform-browser/animations'; +import { bootstrapApplication, BrowserModule } from '@angular/platform-browser'; +import { provideNoopAnimations } from '@angular/platform-browser/animations'; import { provideRouter } from '@angular/router'; + +import { AppComponent } from './app/app.component'; import { APP_ROUTES } from './app/app.routes'; -import { credentialInterceptor } from './app/core/data-access/credential.interceptor'; -import { provideAnimationsAsync } from '@angular/platform-browser/animations/async'; + + bootstrapApplication(AppComponent, { providers: [ - importProvidersFrom(BrowserModule), - provideHttpClient(withFetch(), withInterceptors([credentialInterceptor])), - provideAnimations(), - provideHttpClient(withInterceptorsFromDi()), - provideRouter(APP_ROUTES), provideAnimationsAsync() + importProvidersFrom(BrowserModule), + provideNoopAnimations(), + provideHttpClient(withInterceptorsFromDi()), + provideRouter(APP_ROUTES) ] }) - .catch(err => console.error(err)); \ No newline at end of file + .catch(err => console.error(err)); diff --git a/frontend/src/styles.css b/frontend/src/styles.css deleted file mode 100644 index 125cb72..0000000 --- a/frontend/src/styles.css +++ /dev/null @@ -1,10 +0,0 @@ -/* You can add global styles to this file, and also import other style files */ -@import '@angular/material/prebuilt-themes/purple-green.css'; - -html, -body { - height: 100%; - background-color: #271818; -} -html, body { height: 100%; } -body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } diff --git a/frontend/src/styles.scss b/frontend/src/styles.scss new file mode 100644 index 0000000..ecdb37c --- /dev/null +++ b/frontend/src/styles.scss @@ -0,0 +1,59 @@ + +// Custom Theming for Angular Material +// For more information: https://material.angular.io/guide/theming +@use '@angular/material' as mat; +// Plus imports for other components in your app. + +// Include the common styles for Angular Material. We include this here so that you only +// have to load a single css file for Angular Material in your app. +// Be sure that you only ever include this mixin once! +@include mat.core(); + +// Define the palettes for your theme using the Material Design palettes available in palette.scss +// (imported above). For each palette, you can optionally specify a default, lighter, and darker +// hue. Available color palettes: https://material.io/design/color/ +$angular-shop-primary: mat.m2-define-palette(mat.$m2-cyan-palette, 800, 800); +$angular-shop-accent: mat.m2-define-palette(mat.$m2-teal-palette, 400); + +// The warn palette is optional (defaults to red). +$angular-shop-warn: mat.m2-define-palette(mat.$m2-red-palette); + +// Create the theme object. A theme consists of configurations for individual +// theming systems such as "color" or "typography". +$angular-shop-theme: mat.m2-define-light-theme(( + color: ( + primary: $angular-shop-primary, + accent: $angular-shop-accent, + warn: $angular-shop-warn, + ) +)); + +// Include theme styles for core and each component used in your app. +// Alternatively, you can import and @include the theme mixins for each component +// that you are using. +@include mat.all-component-themes($angular-shop-theme); + +/* You can add global styles to this file, and also import other style files */ +$foreground: map-get($angular-shop-theme, foreground); +$background: map-get($angular-shop-theme, background); + +html, body { height: 100%; } +body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } + +.pa-1 { + padding: 1rem 1rem !important; +} + +.ma-0 { + margin: 0 0 !important; +} + +.text-sm { font-size: 70% !important; } +.text-md { font-size: 80% !important; } +.text-xl { font-size: 120% !important; } +.mat-text-muted { + color: rgba(0, 0, 0, 0.54) !important; +} +.mat-text-primary { + color: #673AB7 !important; +} diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json index f37b67f..ed966d4 100644 --- a/frontend/tsconfig.json +++ b/frontend/tsconfig.json @@ -2,6 +2,7 @@ { "compileOnSave": false, "compilerOptions": { + "baseUrl": "./", "outDir": "./dist/out-tsc", "forceConsistentCasingInFileNames": true, "strict": true, @@ -9,10 +10,9 @@ "noPropertyAccessFromIndexSignature": true, "noImplicitReturns": true, "noFallthroughCasesInSwitch": true, - "skipLibCheck": true, - "esModuleInterop": true, "sourceMap": true, "declaration": false, + "downlevelIteration": true, "experimentalDecorators": true, "moduleResolution": "node", "importHelpers": true, From b5a81d5212d0bd95957a667f48c78c49b6f50b16 Mon Sep 17 00:00:00 2001 From: "200030264-Guilherme.Nishimura" <78215376+Guilherme-Nishi@users.noreply.github.com> Date: Thu, 15 Aug 2024 23:39:23 -0300 Subject: [PATCH 4/4] Update 4.1.2.DAS2.md --- docs/ArquiteturaReutilizacao/4.1.2.DAS2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ArquiteturaReutilizacao/4.1.2.DAS2.md b/docs/ArquiteturaReutilizacao/4.1.2.DAS2.md index c68492e..f5f3857 100644 --- a/docs/ArquiteturaReutilizacao/4.1.2.DAS2.md +++ b/docs/ArquiteturaReutilizacao/4.1.2.DAS2.md @@ -4,7 +4,7 @@ O **Documento de Arquitetura de Software (DAS)** é um artefato essencial no desenvolvimento de sistemas complexos, fornecendo uma visão detalhada da estrutura e organização do sistema. Ele descreve os principais componentes, suas interações e os princípios de design que guiam sua construção, facilitando a comunicação entre todas as partes interessadas e garantindo uma compreensão comum do sistema. -Este DAS é focado no fluxo de descontos e cupons para o projeto "SupermarketX", um sistema de e-commerce para um supermercado. O documento utiliza o modelo arquitetural **4+1**, que inclui cinco visões diferentes para capturar e abordar diversas preocupações dos stakeholders, conforme proposto por Philippe Kruchten em 1995. +Este DAS é focado no fluxo de descontos e cupons para o projeto My Market, um sistema de e-commerce para um supermercado. O documento utiliza o modelo arquitetural **4+1**, que inclui cinco visões diferentes para capturar e abordar diversas preocupações dos stakeholders, conforme proposto por Philippe Kruchten em 1995. Este documento foi realizado por Guilherme Nishimura e Pedro Henrique