From 7b2c5c9ebd166d968ba769f26d02cd65160d45c7 Mon Sep 17 00:00:00 2001 From: "Mohamad.Elsena" Date: Thu, 8 May 2025 15:02:09 +0200 Subject: [PATCH] Svelte to Quasar --- fe/.editorconfig | 7 + fe/.gitignore | 46 +- fe/.npmrc | 6 +- fe/.prettierignore | 6 - fe/.prettierrc | 15 - fe/.prettierrc.json | 5 + fe/.vscode/extensions.json | 15 + fe/.vscode/settings.json | 16 + fe/README.md | 52 +- fe/eslint.config.js | 86 + fe/index.html | 21 + fe/package-lock.json | 15215 +++++++++++++--- fe/package.json | 85 +- fe/postcss.config.js | 29 + fe/public/favicon.ico | Bin 0 -> 64483 bytes fe/public/icons/apple-icon-120x120.png | Bin 0 -> 11522 bytes fe/public/icons/apple-icon-152x152.png | Bin 0 -> 14752 bytes fe/public/icons/apple-icon-167x167.png | Bin 0 -> 16020 bytes fe/public/icons/apple-icon-180x180.png | Bin 0 -> 17500 bytes fe/public/icons/favicon-128x128.png | Bin 0 -> 12324 bytes fe/public/icons/favicon-16x16.png | Bin 0 -> 859 bytes fe/public/icons/favicon-32x32.png | Bin 0 -> 2039 bytes fe/public/icons/favicon-96x96.png | Bin 0 -> 9643 bytes fe/public/icons/icon-128x128.png | Bin 0 -> 12324 bytes fe/public/icons/icon-192x192.png | Bin 0 -> 20321 bytes fe/public/icons/icon-256x256.png | Bin 0 -> 27228 bytes fe/public/icons/icon-384x384.png | Bin 0 -> 42820 bytes fe/public/icons/icon-512x512.png | Bin 0 -> 56941 bytes fe/public/icons/ms-icon-144x144.png | Bin 0 -> 15206 bytes fe/public/icons/safari-pinned-tab.svg | 1 + fe/quasar.config.ts | 235 + fe/src-pwa/custom-service-worker.ts | 36 + fe/src-pwa/manifest.json | 32 + fe/src-pwa/pwa-env.d.ts | 7 + fe/src-pwa/register-service-worker.ts | 41 + fe/src-pwa/tsconfig.json | 7 + fe/src/App.vue | 7 + fe/src/app.css | 2 - fe/src/app.d.ts | 13 - fe/src/app.html | 17 - fe/src/assets/quasar-logo-vertical.svg | 15 + fe/src/boot/.gitkeep | 0 fe/src/boot/axios.ts | 70 + fe/src/boot/i18n.ts | 33 + fe/src/components/EssentialLink.vue | 35 + fe/src/components/ExampleComponent.vue | 37 + fe/src/components/models.ts | 8 + fe/src/css/app.scss | 1 + fe/src/css/quasar.variables.scss | 25 + fe/src/env.d.ts | 7 + fe/src/i18n/en-US/index.ts | 7 + fe/src/i18n/index.ts | 5 + fe/src/layouts/AuthLayout.vue | 11 + fe/src/layouts/MainLayout.vue | 89 + fe/src/lib/apiClient.ts | 197 - fe/src/lib/components/ImageOcrInput.svelte | 234 - fe/src/lib/components/ItemDisplay.svelte | 318 - fe/src/lib/components/ListForm.svelte | 201 - fe/src/lib/components/OcrReview.svelte | 165 - fe/src/lib/db.ts | 195 - fe/src/lib/index.ts | 1 - fe/src/lib/schemas/auth.ts | 4 - fe/src/lib/schemas/group.ts | 9 - fe/src/lib/schemas/health.ts | 4 - fe/src/lib/schemas/invite.ts | 5 - fe/src/lib/schemas/item.ts | 27 - fe/src/lib/schemas/list.ts | 35 - fe/src/lib/schemas/message.ts | 3 - fe/src/lib/schemas/ocr.ts | 8 - fe/src/lib/schemas/user.ts | 6 - fe/src/lib/stores/authStore.ts | 119 - fe/src/lib/syncService.ts | 154 - fe/src/pages/AccountPage.vue | 10 + fe/src/pages/ErrorNotFound.vue | 27 + fe/src/pages/GroupDetailPage.vue | 149 + fe/src/pages/GroupsPage.vue | 230 + fe/src/pages/IndexPage.vue | 43 + fe/src/pages/ListsPage.vue | 10 + fe/src/pages/LoginPage.vue | 107 + fe/src/pages/SignupPage.vue | 128 + fe/src/router/index.ts | 61 + fe/src/router/routes.ts | 33 + fe/src/routes/(app)/+layout.svelte | 49 - fe/src/routes/(app)/+layout.ts | 38 - fe/src/routes/(app)/dashboard/+page.svelte | 187 - fe/src/routes/(app)/dashboard/+page.ts | 51 - .../(app)/groups/[groupId]/+page.svelte | 189 - fe/src/routes/(app)/groups/[groupId]/+page.ts | 55 - .../routes/(app)/lists/[listId]/+page.svelte | 731 - fe/src/routes/(app)/lists/[listId]/+page.ts | 53 - .../(app)/lists/[listId]/edit/+page.svelte | 16 - .../routes/(app)/lists/[listId]/edit/+page.ts | 75 - fe/src/routes/(app)/lists/new/+page.svelte | 13 - fe/src/routes/(app)/lists/new/+page.ts | 32 - fe/src/routes/+layout.svelte | 56 - fe/src/routes/+page.svelte | 100 - fe/src/routes/join/+page.svelte | 138 - fe/src/routes/join/+page.ts | 19 - fe/src/routes/login/+page.svelte | 150 - fe/src/routes/signup/+page.svelte | 118 - fe/src/service-worker.ts | 135 - fe/src/stores/auth.ts | 105 + fe/src/stores/example-store.ts | 21 + fe/src/stores/index.ts | 32 + fe/static/favicon.png | Bin 1571 -> 0 bytes fe/static/icon-144x144.png | Bin 7314 -> 0 bytes fe/static/icon-192x192.png | Bin 7314 -> 0 bytes fe/static/icon-512x512.png | Bin 19015 -> 0 bytes fe/static/manifest.json | 29 - fe/svelte.config.js | 9 - fe/tsconfig.json | 20 +- fe/vite.config.ts | 7 - 112 files changed, 14766 insertions(+), 6490 deletions(-) create mode 100644 fe/.editorconfig delete mode 100644 fe/.prettierignore delete mode 100644 fe/.prettierrc create mode 100644 fe/.prettierrc.json create mode 100644 fe/.vscode/extensions.json create mode 100644 fe/.vscode/settings.json create mode 100644 fe/eslint.config.js create mode 100644 fe/index.html create mode 100644 fe/postcss.config.js create mode 100644 fe/public/favicon.ico create mode 100644 fe/public/icons/apple-icon-120x120.png create mode 100644 fe/public/icons/apple-icon-152x152.png create mode 100644 fe/public/icons/apple-icon-167x167.png create mode 100644 fe/public/icons/apple-icon-180x180.png create mode 100644 fe/public/icons/favicon-128x128.png create mode 100644 fe/public/icons/favicon-16x16.png create mode 100644 fe/public/icons/favicon-32x32.png create mode 100644 fe/public/icons/favicon-96x96.png create mode 100644 fe/public/icons/icon-128x128.png create mode 100644 fe/public/icons/icon-192x192.png create mode 100644 fe/public/icons/icon-256x256.png create mode 100644 fe/public/icons/icon-384x384.png create mode 100644 fe/public/icons/icon-512x512.png create mode 100644 fe/public/icons/ms-icon-144x144.png create mode 100644 fe/public/icons/safari-pinned-tab.svg create mode 100644 fe/quasar.config.ts create mode 100644 fe/src-pwa/custom-service-worker.ts create mode 100644 fe/src-pwa/manifest.json create mode 100644 fe/src-pwa/pwa-env.d.ts create mode 100644 fe/src-pwa/register-service-worker.ts create mode 100644 fe/src-pwa/tsconfig.json create mode 100644 fe/src/App.vue delete mode 100644 fe/src/app.css delete mode 100644 fe/src/app.d.ts delete mode 100644 fe/src/app.html create mode 100644 fe/src/assets/quasar-logo-vertical.svg create mode 100644 fe/src/boot/.gitkeep create mode 100644 fe/src/boot/axios.ts create mode 100644 fe/src/boot/i18n.ts create mode 100644 fe/src/components/EssentialLink.vue create mode 100644 fe/src/components/ExampleComponent.vue create mode 100644 fe/src/components/models.ts create mode 100644 fe/src/css/app.scss create mode 100644 fe/src/css/quasar.variables.scss create mode 100644 fe/src/env.d.ts create mode 100644 fe/src/i18n/en-US/index.ts create mode 100644 fe/src/i18n/index.ts create mode 100644 fe/src/layouts/AuthLayout.vue create mode 100644 fe/src/layouts/MainLayout.vue delete mode 100644 fe/src/lib/apiClient.ts delete mode 100644 fe/src/lib/components/ImageOcrInput.svelte delete mode 100644 fe/src/lib/components/ItemDisplay.svelte delete mode 100644 fe/src/lib/components/ListForm.svelte delete mode 100644 fe/src/lib/components/OcrReview.svelte delete mode 100644 fe/src/lib/db.ts delete mode 100644 fe/src/lib/index.ts delete mode 100644 fe/src/lib/schemas/auth.ts delete mode 100644 fe/src/lib/schemas/group.ts delete mode 100644 fe/src/lib/schemas/health.ts delete mode 100644 fe/src/lib/schemas/invite.ts delete mode 100644 fe/src/lib/schemas/item.ts delete mode 100644 fe/src/lib/schemas/list.ts delete mode 100644 fe/src/lib/schemas/message.ts delete mode 100644 fe/src/lib/schemas/ocr.ts delete mode 100644 fe/src/lib/schemas/user.ts delete mode 100644 fe/src/lib/stores/authStore.ts delete mode 100644 fe/src/lib/syncService.ts create mode 100644 fe/src/pages/AccountPage.vue create mode 100644 fe/src/pages/ErrorNotFound.vue create mode 100644 fe/src/pages/GroupDetailPage.vue create mode 100644 fe/src/pages/GroupsPage.vue create mode 100644 fe/src/pages/IndexPage.vue create mode 100644 fe/src/pages/ListsPage.vue create mode 100644 fe/src/pages/LoginPage.vue create mode 100644 fe/src/pages/SignupPage.vue create mode 100644 fe/src/router/index.ts create mode 100644 fe/src/router/routes.ts delete mode 100644 fe/src/routes/(app)/+layout.svelte delete mode 100644 fe/src/routes/(app)/+layout.ts delete mode 100644 fe/src/routes/(app)/dashboard/+page.svelte delete mode 100644 fe/src/routes/(app)/dashboard/+page.ts delete mode 100644 fe/src/routes/(app)/groups/[groupId]/+page.svelte delete mode 100644 fe/src/routes/(app)/groups/[groupId]/+page.ts delete mode 100644 fe/src/routes/(app)/lists/[listId]/+page.svelte delete mode 100644 fe/src/routes/(app)/lists/[listId]/+page.ts delete mode 100644 fe/src/routes/(app)/lists/[listId]/edit/+page.svelte delete mode 100644 fe/src/routes/(app)/lists/[listId]/edit/+page.ts delete mode 100644 fe/src/routes/(app)/lists/new/+page.svelte delete mode 100644 fe/src/routes/(app)/lists/new/+page.ts delete mode 100644 fe/src/routes/+layout.svelte delete mode 100644 fe/src/routes/+page.svelte delete mode 100644 fe/src/routes/join/+page.svelte delete mode 100644 fe/src/routes/join/+page.ts delete mode 100644 fe/src/routes/login/+page.svelte delete mode 100644 fe/src/routes/signup/+page.svelte delete mode 100644 fe/src/service-worker.ts create mode 100644 fe/src/stores/auth.ts create mode 100644 fe/src/stores/example-store.ts create mode 100644 fe/src/stores/index.ts delete mode 100644 fe/static/favicon.png delete mode 100644 fe/static/icon-144x144.png delete mode 100644 fe/static/icon-192x192.png delete mode 100644 fe/static/icon-512x512.png delete mode 100644 fe/static/manifest.json delete mode 100644 fe/svelte.config.js delete mode 100644 fe/vite.config.ts diff --git a/fe/.editorconfig b/fe/.editorconfig new file mode 100644 index 0000000..f654551 --- /dev/null +++ b/fe/.editorconfig @@ -0,0 +1,7 @@ +[*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue}] +charset = utf-8 +indent_size = 2 +indent_style = space +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/fe/.gitignore b/fe/.gitignore index 3b462cb..f1d913c 100644 --- a/fe/.gitignore +++ b/fe/.gitignore @@ -1,23 +1,33 @@ +.DS_Store +.thumbs.db node_modules -# Output -.output -.vercel -.netlify -.wrangler -/.svelte-kit -/build +# Quasar core related directories +.quasar +/dist +/quasar.config.*.temporary.compiled* -# OS -.DS_Store -Thumbs.db +# Cordova related directories and files +/src-cordova/node_modules +/src-cordova/platforms +/src-cordova/plugins +/src-cordova/www -# Env -.env -.env.* -!.env.example -!.env.test +# Capacitor related directories and files +/src-capacitor/www +/src-capacitor/node_modules -# Vite -vite.config.js.timestamp-* -vite.config.ts.timestamp-* +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +*.suo +*.ntvs* +*.njsproj +*.sln + +# local .env files +.env.local* diff --git a/fe/.npmrc b/fe/.npmrc index b6f27f1..eb19082 100644 --- a/fe/.npmrc +++ b/fe/.npmrc @@ -1 +1,5 @@ -engine-strict=true +# pnpm-related options +shamefully-hoist=true +strict-peer-dependencies=false +# to get the latest compatible packages when creating the project https://github.com/pnpm/pnpm/issues/6463 +resolution-mode=highest diff --git a/fe/.prettierignore b/fe/.prettierignore deleted file mode 100644 index 6562bcb..0000000 --- a/fe/.prettierignore +++ /dev/null @@ -1,6 +0,0 @@ -# Package Managers -package-lock.json -pnpm-lock.yaml -yarn.lock -bun.lock -bun.lockb diff --git a/fe/.prettierrc b/fe/.prettierrc deleted file mode 100644 index 7ebb855..0000000 --- a/fe/.prettierrc +++ /dev/null @@ -1,15 +0,0 @@ -{ - "useTabs": true, - "singleQuote": true, - "trailingComma": "none", - "printWidth": 100, - "plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"], - "overrides": [ - { - "files": "*.svelte", - "options": { - "parser": "svelte" - } - } - ] -} diff --git a/fe/.prettierrc.json b/fe/.prettierrc.json new file mode 100644 index 0000000..1263a63 --- /dev/null +++ b/fe/.prettierrc.json @@ -0,0 +1,5 @@ +{ + "$schema": "https://json.schemastore.org/prettierrc", + "singleQuote": true, + "printWidth": 100 +} \ No newline at end of file diff --git a/fe/.vscode/extensions.json b/fe/.vscode/extensions.json new file mode 100644 index 0000000..fe38802 --- /dev/null +++ b/fe/.vscode/extensions.json @@ -0,0 +1,15 @@ +{ + "recommendations": [ + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode", + "editorconfig.editorconfig", + "vue.volar", + "wayou.vscode-todo-highlight" + ], + "unwantedRecommendations": [ + "octref.vetur", + "hookyqr.beautify", + "dbaeumer.jshint", + "ms-vscode.vscode-typescript-tslint-plugin" + ] +} \ No newline at end of file diff --git a/fe/.vscode/settings.json b/fe/.vscode/settings.json new file mode 100644 index 0000000..746cf57 --- /dev/null +++ b/fe/.vscode/settings.json @@ -0,0 +1,16 @@ +{ + "editor.bracketPairColorization.enabled": true, + "editor.guides.bracketPairs": true, + "editor.formatOnSave": true, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.codeActionsOnSave": [ + "source.fixAll.eslint" + ], + "eslint.validate": [ + "javascript", + "javascriptreact", + "typescript", + "vue" + ], + "typescript.tsdk": "node_modules/typescript/lib" +} \ No newline at end of file diff --git a/fe/README.md b/fe/README.md index b5b2950..a4fe5a5 100644 --- a/fe/README.md +++ b/fe/README.md @@ -1,38 +1,40 @@ -# sv +# mitlist (mitlist) -Everything you need to build a Svelte project, powered by [`sv`](https://github.com/sveltejs/cli). - -## Creating a project - -If you're seeing this, you've probably already done this step. Congrats! +mitlist pwa +## Install the dependencies ```bash -# create a new project in the current directory -npx sv create - -# create a new project in my-app -npx sv create my-app +yarn +# or +npm install ``` -## Developing - -Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: - +### Start the app in development mode (hot-code reloading, error reporting, etc.) ```bash -npm run dev - -# or start the server and open the app in a new browser tab -npm run dev -- --open +quasar dev ``` -## Building - -To create a production version of your app: +### Lint the files ```bash -npm run build +yarn lint +# or +npm run lint ``` -You can preview the production build with `npm run preview`. -> To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment. +### Format the files +```bash +yarn format +# or +npm run format +``` + + +### Build the app for production +```bash +quasar build +``` + +### Customize the configuration +See [Configuring quasar.config.js](https://v2.quasar.dev/quasar-cli-vite/quasar-config-js). diff --git a/fe/eslint.config.js b/fe/eslint.config.js new file mode 100644 index 0000000..20e7947 --- /dev/null +++ b/fe/eslint.config.js @@ -0,0 +1,86 @@ +import js from '@eslint/js' +import globals from 'globals' +import pluginVue from 'eslint-plugin-vue' +import pluginQuasar from '@quasar/app-vite/eslint' +import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript' +import prettierSkipFormatting from '@vue/eslint-config-prettier/skip-formatting' + +export default defineConfigWithVueTs( + { + /** + * Ignore the following files. + * Please note that pluginQuasar.configs.recommended() already ignores + * the "node_modules" folder for you (and all other Quasar project + * relevant folders and files). + * + * ESLint requires "ignores" key to be the only one in this object + */ + // ignores: [] + }, + + pluginQuasar.configs.recommended(), + js.configs.recommended, + + /** + * https://eslint.vuejs.org + * + * pluginVue.configs.base + * -> Settings and rules to enable correct ESLint parsing. + * pluginVue.configs[ 'flat/essential'] + * -> base, plus rules to prevent errors or unintended behavior. + * pluginVue.configs["flat/strongly-recommended"] + * -> Above, plus rules to considerably improve code readability and/or dev experience. + * pluginVue.configs["flat/recommended"] + * -> Above, plus rules to enforce subjective community defaults to ensure consistency. + */ + pluginVue.configs[ 'flat/essential' ], + + { + files: ['**/*.ts', '**/*.vue'], + rules: { + '@typescript-eslint/consistent-type-imports': [ + 'error', + { prefer: 'type-imports' } + ], + } + }, + // https://github.com/vuejs/eslint-config-typescript + vueTsConfigs.recommendedTypeChecked, + + { + languageOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + + globals: { + ...globals.browser, + ...globals.node, // SSR, Electron, config files + process: 'readonly', // process.env.* + ga: 'readonly', // Google Analytics + cordova: 'readonly', + Capacitor: 'readonly', + chrome: 'readonly', // BEX related + browser: 'readonly' // BEX related + } + }, + + // add your custom rules here + rules: { + 'prefer-promise-reject-errors': 'off', + + // allow debugger during development only + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' + } + }, + + { + files: [ 'src-pwa/custom-service-worker.ts' ], + languageOptions: { + globals: { + ...globals.serviceworker + } + } + }, + + prettierSkipFormatting +) diff --git a/fe/index.html b/fe/index.html new file mode 100644 index 0000000..3c8c78f --- /dev/null +++ b/fe/index.html @@ -0,0 +1,21 @@ + + + + <%= productName %> + + + + + + + + + + + + + + + + + diff --git a/fe/package-lock.json b/fe/package-lock.json index a0137bb..274237f 100644 --- a/fe/package-lock.json +++ b/fe/package-lock.json @@ -1,2410 +1,12809 @@ { - "name": "fe", - "version": "0.0.1", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "fe", - "version": "0.0.1", - "dependencies": { - "idb": "^8.0.2" - }, - "devDependencies": { - "@sveltejs/adapter-node": "^5.2.11", - "@sveltejs/kit": "^2.16.0", - "@sveltejs/vite-plugin-svelte": "^5.0.0", - "@tailwindcss/forms": "^0.5.9", - "@tailwindcss/vite": "^4.0.0", - "prettier": "^3.4.2", - "prettier-plugin-svelte": "^3.3.3", - "prettier-plugin-tailwindcss": "^0.6.11", - "svelte": "^5.0.0", - "svelte-check": "^4.0.0", - "tailwindcss": "^4.0.0", - "typescript": "^5.0.0", - "vite": "^6.0.0" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.1.tgz", - "integrity": "sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.1.tgz", - "integrity": "sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.1.tgz", - "integrity": "sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.1.tgz", - "integrity": "sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.1.tgz", - "integrity": "sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.1.tgz", - "integrity": "sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.1.tgz", - "integrity": "sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.1.tgz", - "integrity": "sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.1.tgz", - "integrity": "sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.1.tgz", - "integrity": "sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.1.tgz", - "integrity": "sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.1.tgz", - "integrity": "sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.1.tgz", - "integrity": "sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.1.tgz", - "integrity": "sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.1.tgz", - "integrity": "sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.1.tgz", - "integrity": "sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.1.tgz", - "integrity": "sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.1.tgz", - "integrity": "sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.1.tgz", - "integrity": "sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.1.tgz", - "integrity": "sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.1.tgz", - "integrity": "sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.1.tgz", - "integrity": "sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.1.tgz", - "integrity": "sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.1.tgz", - "integrity": "sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.1.tgz", - "integrity": "sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", - "dev": true, - "license": "MIT", - "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.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "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, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "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, - "license": "MIT" - }, - "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, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@polka/url": { - "version": "1.0.0-next.28", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz", - "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/plugin-commonjs": { - "version": "28.0.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-28.0.3.tgz", - "integrity": "sha512-pyltgilam1QPdn+Zd9gaCfOLcnjMEJ9gV+bTw6/r73INdvzf1ah9zLIJBm+kW7R6IUFIQ1YO+VqZtYxZNWFPEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "commondir": "^1.0.1", - "estree-walker": "^2.0.2", - "fdir": "^6.2.0", - "is-reference": "1.2.1", - "magic-string": "^0.30.3", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=16.0.0 || 14 >= 14.17" - }, - "peerDependencies": { - "rollup": "^2.68.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-json": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.1.0.tgz", - "integrity": "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.1.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-16.0.1.tgz", - "integrity": "sha512-tk5YCxJWIG81umIvNkSod2qK5KyQW19qcBF/B78n1bjtOON6gzKoVeSzAE8yHCZEDmqkHKkxplExA8KzdJLJpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "@types/resolve": "1.20.2", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.22.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.78.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/pluginutils": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", - "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.38.0.tgz", - "integrity": "sha512-ldomqc4/jDZu/xpYU+aRxo3V4mGCV9HeTgUBANI3oIQMOL+SsxB+S2lxMpkFp5UamSS3XuTMQVbsS24R4J4Qjg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.38.0.tgz", - "integrity": "sha512-VUsgcy4GhhT7rokwzYQP+aV9XnSLkkhlEJ0St8pbasuWO/vwphhZQxYEKUP3ayeCYLhk6gEtacRpYP/cj3GjyQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.38.0.tgz", - "integrity": "sha512-buA17AYXlW9Rn091sWMq1xGUvWQFOH4N1rqUxGJtEQzhChxWjldGCCup7r/wUnaI6Au8sKXpoh0xg58a7cgcpg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.38.0.tgz", - "integrity": "sha512-Mgcmc78AjunP1SKXl624vVBOF2bzwNWFPMP4fpOu05vS0amnLcX8gHIge7q/lDAHy3T2HeR0TqrriZDQS2Woeg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.38.0.tgz", - "integrity": "sha512-zzJACgjLbQTsscxWqvrEQAEh28hqhebpRz5q/uUd1T7VTwUNZ4VIXQt5hE7ncs0GrF+s7d3S4on4TiXUY8KoQA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.38.0.tgz", - "integrity": "sha512-hCY/KAeYMCyDpEE4pTETam0XZS4/5GXzlLgpi5f0IaPExw9kuB+PDTOTLuPtM10TlRG0U9OSmXJ+Wq9J39LvAg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.38.0.tgz", - "integrity": "sha512-mimPH43mHl4JdOTD7bUMFhBdrg6f9HzMTOEnzRmXbOZqjijCw8LA5z8uL6LCjxSa67H2xiLFvvO67PT05PRKGg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.38.0.tgz", - "integrity": "sha512-tPiJtiOoNuIH8XGG8sWoMMkAMm98PUwlriOFCCbZGc9WCax+GLeVRhmaxjJtz6WxrPKACgrwoZ5ia/uapq3ZVg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.38.0.tgz", - "integrity": "sha512-wZco59rIVuB0tjQS0CSHTTUcEde+pXQWugZVxWaQFdQQ1VYub/sTrNdY76D1MKdN2NB48JDuGABP6o6fqos8mA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.38.0.tgz", - "integrity": "sha512-fQgqwKmW0REM4LomQ+87PP8w8xvU9LZfeLBKybeli+0yHT7VKILINzFEuggvnV9M3x1Ed4gUBmGUzCo/ikmFbQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.38.0.tgz", - "integrity": "sha512-hz5oqQLXTB3SbXpfkKHKXLdIp02/w3M+ajp8p4yWOWwQRtHWiEOCKtc9U+YXahrwdk+3qHdFMDWR5k+4dIlddg==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.38.0.tgz", - "integrity": "sha512-NXqygK/dTSibQ+0pzxsL3r4Xl8oPqVoWbZV9niqOnIHV/J92fe65pOir0xjkUZDRSPyFRvu+4YOpJF9BZHQImw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.38.0.tgz", - "integrity": "sha512-GEAIabR1uFyvf/jW/5jfu8gjM06/4kZ1W+j1nWTSSB3w6moZEBm7iBtzwQ3a1Pxos2F7Gz+58aVEnZHU295QTg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.38.0.tgz", - "integrity": "sha512-9EYTX+Gus2EGPbfs+fh7l95wVADtSQyYw4DfSBcYdUEAmP2lqSZY0Y17yX/3m5VKGGJ4UmIH5LHLkMJft3bYoA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.38.0.tgz", - "integrity": "sha512-Mpp6+Z5VhB9VDk7RwZXoG2qMdERm3Jw07RNlXHE0bOnEeX+l7Fy4bg+NxfyN15ruuY3/7Vrbpm75J9QHFqj5+Q==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.38.0.tgz", - "integrity": "sha512-vPvNgFlZRAgO7rwncMeE0+8c4Hmc+qixnp00/Uv3ht2x7KYrJ6ERVd3/R0nUtlE6/hu7/HiiNHJ/rP6knRFt1w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.38.0.tgz", - "integrity": "sha512-q5Zv+goWvQUGCaL7fU8NuTw8aydIL/C9abAVGCzRReuj5h30TPx4LumBtAidrVOtXnlB+RZkBtExMsfqkMfb8g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.38.0.tgz", - "integrity": "sha512-u/Jbm1BU89Vftqyqbmxdq14nBaQjQX1HhmsdBWqSdGClNaKwhjsg5TpW+5Ibs1mb8Es9wJiMdl86BcmtUVXNZg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.38.0.tgz", - "integrity": "sha512-mqu4PzTrlpNHHbu5qleGvXJoGgHpChBlrBx/mEhTPpnAL1ZAYFlvHD7rLK839LLKQzqEQMFJfGrrOHItN4ZQqA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.38.0.tgz", - "integrity": "sha512-jjqy3uWlecfB98Psxb5cD6Fny9Fupv9LrDSPTQZUROqjvZmcCqNu4UMl7qqhlUUGpwiAkotj6GYu4SZdcr/nLw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@sveltejs/acorn-typescript": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.5.tgz", - "integrity": "sha512-IwQk4yfwLdibDlrXVE04jTZYlLnwsTT2PIOQQGNLWfjavGifnk1JD1LcZjZaBTRcxZu2FfPfNLOE04DSu9lqtQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^8.9.0" - } - }, - "node_modules/@sveltejs/adapter-node": { - "version": "5.2.12", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-5.2.12.tgz", - "integrity": "sha512-0bp4Yb3jKIEcZWVcJC/L1xXp9zzJS4hDwfb4VITAkfT4OVdkspSHsx7YhqJDbb2hgLl6R9Vs7VQR+fqIVOxPUQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rollup/plugin-commonjs": "^28.0.1", - "@rollup/plugin-json": "^6.1.0", - "@rollup/plugin-node-resolve": "^16.0.0", - "rollup": "^4.9.5" - }, - "peerDependencies": { - "@sveltejs/kit": "^2.4.0" - } - }, - "node_modules/@sveltejs/kit": { - "version": "2.20.2", - "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.20.2.tgz", - "integrity": "sha512-Dv8TOAZC9vyfcAB9TMsvUEJsRbklRTeNfcYBPaeH6KnABJ99i3CvCB2eNx8fiiliIqe+9GIchBg4RodRH5p1BQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/cookie": "^0.6.0", - "cookie": "^0.6.0", - "devalue": "^5.1.0", - "esm-env": "^1.2.2", - "import-meta-resolve": "^4.1.0", - "kleur": "^4.1.5", - "magic-string": "^0.30.5", - "mrmime": "^2.0.0", - "sade": "^1.8.1", - "set-cookie-parser": "^2.6.0", - "sirv": "^3.0.0" - }, - "bin": { - "svelte-kit": "svelte-kit.js" - }, - "engines": { - "node": ">=18.13" - }, - "peerDependencies": { - "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0", - "svelte": "^4.0.0 || ^5.0.0-next.0", - "vite": "^5.0.3 || ^6.0.0" - } - }, - "node_modules/@sveltejs/vite-plugin-svelte": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-5.0.3.tgz", - "integrity": "sha512-MCFS6CrQDu1yGwspm4qtli0e63vaPCehf6V7pIMP15AsWgMKrqDGCPFF/0kn4SP0ii4aySu4Pa62+fIRGFMjgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@sveltejs/vite-plugin-svelte-inspector": "^4.0.1", - "debug": "^4.4.0", - "deepmerge": "^4.3.1", - "kleur": "^4.1.5", - "magic-string": "^0.30.15", - "vitefu": "^1.0.4" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22" - }, - "peerDependencies": { - "svelte": "^5.0.0", - "vite": "^6.0.0" - } - }, - "node_modules/@sveltejs/vite-plugin-svelte-inspector": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-4.0.1.tgz", - "integrity": "sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.3.7" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22" - }, - "peerDependencies": { - "@sveltejs/vite-plugin-svelte": "^5.0.0", - "svelte": "^5.0.0", - "vite": "^6.0.0" - } - }, - "node_modules/@tailwindcss/forms": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.10.tgz", - "integrity": "sha512-utI1ONF6uf/pPNO68kmN1b8rEwNXv3czukalo8VtJH8ksIkZXr3Q3VYudZLkCsDd4Wku120uF02hYK25XGPorw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mini-svg-data-uri": "^1.2.3" - }, - "peerDependencies": { - "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1" - } - }, - "node_modules/@tailwindcss/node": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.0.17.tgz", - "integrity": "sha512-LIdNwcqyY7578VpofXyqjH6f+3fP4nrz7FBLki5HpzqjYfXdF2m/eW18ZfoKePtDGg90Bvvfpov9d2gy5XVCbg==", - "dev": true, - "license": "MIT", - "dependencies": { - "enhanced-resolve": "^5.18.1", - "jiti": "^2.4.2", - "tailwindcss": "4.0.17" - } - }, - "node_modules/@tailwindcss/oxide": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.0.17.tgz", - "integrity": "sha512-B4OaUIRD2uVrULpAD1Yksx2+wNarQr2rQh65nXqaqbLY1jCd8fO+3KLh/+TH4Hzh2NTHQvgxVbPdUDOtLk7vAw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10" - }, - "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.0.17", - "@tailwindcss/oxide-darwin-arm64": "4.0.17", - "@tailwindcss/oxide-darwin-x64": "4.0.17", - "@tailwindcss/oxide-freebsd-x64": "4.0.17", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.0.17", - "@tailwindcss/oxide-linux-arm64-gnu": "4.0.17", - "@tailwindcss/oxide-linux-arm64-musl": "4.0.17", - "@tailwindcss/oxide-linux-x64-gnu": "4.0.17", - "@tailwindcss/oxide-linux-x64-musl": "4.0.17", - "@tailwindcss/oxide-win32-arm64-msvc": "4.0.17", - "@tailwindcss/oxide-win32-x64-msvc": "4.0.17" - } - }, - "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.0.17.tgz", - "integrity": "sha512-3RfO0ZK64WAhop+EbHeyxGThyDr/fYhxPzDbEQjD2+v7ZhKTb2svTWy+KK+J1PHATus2/CQGAGp7pHY/8M8ugg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.0.17.tgz", - "integrity": "sha512-e1uayxFQCCDuzTk9s8q7MC5jFN42IY7nzcr5n0Mw/AcUHwD6JaBkXnATkD924ZsHyPDvddnusIEvkgLd2CiREg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.0.17.tgz", - "integrity": "sha512-d6z7HSdOKfXQ0HPlVx1jduUf/YtBuCCtEDIEFeBCzgRRtDsUuRtofPqxIVaSCUTOk5+OfRLonje6n9dF6AH8wQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.0.17.tgz", - "integrity": "sha512-EjrVa6lx3wzXz3l5MsdOGtYIsRjgs5Mru6lDv4RuiXpguWeOb3UzGJ7vw7PEzcFadKNvNslEQqoAABeMezprxQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.0.17.tgz", - "integrity": "sha512-65zXfCOdi8wuaY0Ye6qMR5LAXokHYtrGvo9t/NmxvSZtCCitXV/gzJ/WP5ksXPhff1SV5rov0S+ZIZU+/4eyCQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.0.17.tgz", - "integrity": "sha512-+aaq6hJ8ioTdbJV5IA1WjWgLmun4T7eYLTvJIToiXLHy5JzUERRbIZjAcjgK9qXMwnvuu7rqpxzej+hGoEcG5g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.0.17.tgz", - "integrity": "sha512-/FhWgZCdUGAeYHYnZKekiOC0aXFiBIoNCA0bwzkICiMYS5Rtx2KxFfMUXQVnl4uZRblG5ypt5vpPhVaXgGk80w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.0.17.tgz", - "integrity": "sha512-gELJzOHK6GDoIpm/539Golvk+QWZjxQcbkKq9eB2kzNkOvrP0xc5UPgO9bIMNt1M48mO8ZeNenCMGt6tfkvVBg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.0.17.tgz", - "integrity": "sha512-68NwxcJrZn94IOW4TysMIbYv5AlM6So1luTlbYUDIGnKma1yTFGBRNEJ+SacJ3PZE2rgcTBNRHX1TB4EQ/XEHw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.0.17.tgz", - "integrity": "sha512-AkBO8efP2/7wkEXkNlXzRD4f/7WerqKHlc6PWb5v0jGbbm22DFBLbIM19IJQ3b+tNewQZa+WnPOaGm0SmwMNjw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.0.17.tgz", - "integrity": "sha512-7/DTEvXcoWlqX0dAlcN0zlmcEu9xSermuo7VNGX9tJ3nYMdo735SHvbrHDln1+LYfF6NhJ3hjbpbjkMOAGmkDg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/vite": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.0.17.tgz", - "integrity": "sha512-HJbBYDlDVg5cvYZzECb6xwc1IDCEM3uJi3hEZp3BjZGCNGJcTsnCpan+z+VMW0zo6gR0U6O6ElqU1OoZ74Dhww==", - "dev": true, - "license": "MIT", - "dependencies": { - "@tailwindcss/node": "4.0.17", - "@tailwindcss/oxide": "4.0.17", - "lightningcss": "1.29.2", - "tailwindcss": "4.0.17" - }, - "peerDependencies": { - "vite": "^5.2.0 || ^6" - } - }, - "node_modules/@types/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", - "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/resolve": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", - "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/acorn": { - "version": "8.14.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", - "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/aria-query": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", - "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/axobject-query": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", - "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "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, - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/devalue": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.1.1.tgz", - "integrity": "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==", - "dev": true, - "license": "MIT" - }, - "node_modules/enhanced-resolve": { - "version": "5.18.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", - "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/esbuild": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.1.tgz", - "integrity": "sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.1", - "@esbuild/android-arm": "0.25.1", - "@esbuild/android-arm64": "0.25.1", - "@esbuild/android-x64": "0.25.1", - "@esbuild/darwin-arm64": "0.25.1", - "@esbuild/darwin-x64": "0.25.1", - "@esbuild/freebsd-arm64": "0.25.1", - "@esbuild/freebsd-x64": "0.25.1", - "@esbuild/linux-arm": "0.25.1", - "@esbuild/linux-arm64": "0.25.1", - "@esbuild/linux-ia32": "0.25.1", - "@esbuild/linux-loong64": "0.25.1", - "@esbuild/linux-mips64el": "0.25.1", - "@esbuild/linux-ppc64": "0.25.1", - "@esbuild/linux-riscv64": "0.25.1", - "@esbuild/linux-s390x": "0.25.1", - "@esbuild/linux-x64": "0.25.1", - "@esbuild/netbsd-arm64": "0.25.1", - "@esbuild/netbsd-x64": "0.25.1", - "@esbuild/openbsd-arm64": "0.25.1", - "@esbuild/openbsd-x64": "0.25.1", - "@esbuild/sunos-x64": "0.25.1", - "@esbuild/win32-arm64": "0.25.1", - "@esbuild/win32-ia32": "0.25.1", - "@esbuild/win32-x64": "0.25.1" - } - }, - "node_modules/esm-env": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz", - "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/esrap": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.4.5.tgz", - "integrity": "sha512-CjNMjkBWWZeHn+VX+gS8YvFwJ5+NDhg8aWZBSFJPR8qQduDNjbJodA2WcwCm7uQa5Rjqj+nZvVmceg1RbHFB9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/fdir": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz", - "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/idb": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/idb/-/idb-8.0.2.tgz", - "integrity": "sha512-CX70rYhx7GDDQzwwQMDwF6kDRQi5vVs6khHUumDrMecBylKkwvZ8HWvKV08AGb7VbpoGCWUQ4aHzNDgoUiOIUg==", - "license": "ISC" - }, - "node_modules/import-meta-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", - "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-reference": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", - "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/jiti": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", - "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", - "dev": true, - "license": "MIT", - "bin": { - "jiti": "lib/jiti-cli.mjs" - } - }, - "node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/lightningcss": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.29.2.tgz", - "integrity": "sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA==", - "dev": true, - "license": "MPL-2.0", - "dependencies": { - "detect-libc": "^2.0.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "lightningcss-darwin-arm64": "1.29.2", - "lightningcss-darwin-x64": "1.29.2", - "lightningcss-freebsd-x64": "1.29.2", - "lightningcss-linux-arm-gnueabihf": "1.29.2", - "lightningcss-linux-arm64-gnu": "1.29.2", - "lightningcss-linux-arm64-musl": "1.29.2", - "lightningcss-linux-x64-gnu": "1.29.2", - "lightningcss-linux-x64-musl": "1.29.2", - "lightningcss-win32-arm64-msvc": "1.29.2", - "lightningcss-win32-x64-msvc": "1.29.2" - } - }, - "node_modules/lightningcss-darwin-arm64": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.29.2.tgz", - "integrity": "sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-x64": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.29.2.tgz", - "integrity": "sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-freebsd-x64": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.29.2.tgz", - "integrity": "sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.29.2.tgz", - "integrity": "sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.29.2.tgz", - "integrity": "sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.29.2.tgz", - "integrity": "sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.29.2.tgz", - "integrity": "sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.29.2.tgz", - "integrity": "sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.29.2.tgz", - "integrity": "sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.29.2.tgz", - "integrity": "sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/locate-character": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", - "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", - "dev": true, - "license": "MIT" - }, - "node_modules/magic-string": { - "version": "0.30.17", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", - "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" - } - }, - "node_modules/mini-svg-data-uri": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", - "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", - "dev": true, - "license": "MIT", - "bin": { - "mini-svg-data-uri": "cli.js" - } - }, - "node_modules/mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/mrmime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", - "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "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, - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "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, - "license": "MIT" - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "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, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/postcss": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", - "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", - "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" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/prettier": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", - "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-plugin-svelte": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.3.3.tgz", - "integrity": "sha512-yViK9zqQ+H2qZD1w/bH7W8i+bVfKrD8GIFjkFe4Thl6kCT9SlAsXVNmt3jCvQOCsnOhcvYgsoVlRV/Eu6x5nNw==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "prettier": "^3.0.0", - "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" - } - }, - "node_modules/prettier-plugin-tailwindcss": { - "version": "0.6.11", - "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.11.tgz", - "integrity": "sha512-YxaYSIvZPAqhrrEpRtonnrXdghZg1irNg4qrjboCXrpybLWVs55cW2N3juhspVJiO0JBvYJT8SYsJpc8OQSnsA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.21.3" - }, - "peerDependencies": { - "@ianvs/prettier-plugin-sort-imports": "*", - "@prettier/plugin-pug": "*", - "@shopify/prettier-plugin-liquid": "*", - "@trivago/prettier-plugin-sort-imports": "*", - "@zackad/prettier-plugin-twig": "*", - "prettier": "^3.0", - "prettier-plugin-astro": "*", - "prettier-plugin-css-order": "*", - "prettier-plugin-import-sort": "*", - "prettier-plugin-jsdoc": "*", - "prettier-plugin-marko": "*", - "prettier-plugin-multiline-arrays": "*", - "prettier-plugin-organize-attributes": "*", - "prettier-plugin-organize-imports": "*", - "prettier-plugin-sort-imports": "*", - "prettier-plugin-style-order": "*", - "prettier-plugin-svelte": "*" - }, - "peerDependenciesMeta": { - "@ianvs/prettier-plugin-sort-imports": { - "optional": true - }, - "@prettier/plugin-pug": { - "optional": true - }, - "@shopify/prettier-plugin-liquid": { - "optional": true - }, - "@trivago/prettier-plugin-sort-imports": { - "optional": true - }, - "@zackad/prettier-plugin-twig": { - "optional": true - }, - "prettier-plugin-astro": { - "optional": true - }, - "prettier-plugin-css-order": { - "optional": true - }, - "prettier-plugin-import-sort": { - "optional": true - }, - "prettier-plugin-jsdoc": { - "optional": true - }, - "prettier-plugin-marko": { - "optional": true - }, - "prettier-plugin-multiline-arrays": { - "optional": true - }, - "prettier-plugin-organize-attributes": { - "optional": true - }, - "prettier-plugin-organize-imports": { - "optional": true - }, - "prettier-plugin-sort-imports": { - "optional": true - }, - "prettier-plugin-style-order": { - "optional": true - }, - "prettier-plugin-svelte": { - "optional": true - } - } - }, - "node_modules/readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.18.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/rollup": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.38.0.tgz", - "integrity": "sha512-5SsIRtJy9bf1ErAOiFMFzl64Ex9X5V7bnJ+WlFMb+zmP459OSWCEG7b0ERZ+PEU7xPt4OG3RHbrp1LJlXxYTrw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.7" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.38.0", - "@rollup/rollup-android-arm64": "4.38.0", - "@rollup/rollup-darwin-arm64": "4.38.0", - "@rollup/rollup-darwin-x64": "4.38.0", - "@rollup/rollup-freebsd-arm64": "4.38.0", - "@rollup/rollup-freebsd-x64": "4.38.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.38.0", - "@rollup/rollup-linux-arm-musleabihf": "4.38.0", - "@rollup/rollup-linux-arm64-gnu": "4.38.0", - "@rollup/rollup-linux-arm64-musl": "4.38.0", - "@rollup/rollup-linux-loongarch64-gnu": "4.38.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.38.0", - "@rollup/rollup-linux-riscv64-gnu": "4.38.0", - "@rollup/rollup-linux-riscv64-musl": "4.38.0", - "@rollup/rollup-linux-s390x-gnu": "4.38.0", - "@rollup/rollup-linux-x64-gnu": "4.38.0", - "@rollup/rollup-linux-x64-musl": "4.38.0", - "@rollup/rollup-win32-arm64-msvc": "4.38.0", - "@rollup/rollup-win32-ia32-msvc": "4.38.0", - "@rollup/rollup-win32-x64-msvc": "4.38.0", - "fsevents": "~2.3.2" - } - }, - "node_modules/sade": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", - "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", - "dev": true, - "license": "MIT", - "dependencies": { - "mri": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/set-cookie-parser": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", - "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/sirv": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.1.tgz", - "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@polka/url": "^1.0.0-next.24", - "mrmime": "^2.0.0", - "totalist": "^3.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.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==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svelte": { - "version": "5.25.3", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.25.3.tgz", - "integrity": "sha512-J9rcZ/xVJonAoESqVGHHZhrNdVbrCfkdB41BP6eiwHMoFShD9it3yZXApVYMHdGfCshBsZCKsajwJeBbS/M1zg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.3.0", - "@jridgewell/sourcemap-codec": "^1.5.0", - "@sveltejs/acorn-typescript": "^1.0.5", - "@types/estree": "^1.0.5", - "acorn": "^8.12.1", - "aria-query": "^5.3.1", - "axobject-query": "^4.1.0", - "clsx": "^2.1.1", - "esm-env": "^1.2.1", - "esrap": "^1.4.3", - "is-reference": "^3.0.3", - "locate-character": "^3.0.0", - "magic-string": "^0.30.11", - "zimmerframe": "^1.1.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/svelte-check": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-4.1.5.tgz", - "integrity": "sha512-Gb0T2IqBNe1tLB9EB1Qh+LOe+JB8wt2/rNBDGvkxQVvk8vNeAoG+vZgFB/3P5+zC7RWlyBlzm9dVjZFph/maIg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", - "chokidar": "^4.0.1", - "fdir": "^6.2.0", - "picocolors": "^1.0.0", - "sade": "^1.7.4" - }, - "bin": { - "svelte-check": "bin/svelte-check" - }, - "engines": { - "node": ">= 18.0.0" - }, - "peerDependencies": { - "svelte": "^4.0.0 || ^5.0.0-next.0", - "typescript": ">=5.0.0" - } - }, - "node_modules/svelte/node_modules/is-reference": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz", - "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.6" - } - }, - "node_modules/tailwindcss": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.0.17.tgz", - "integrity": "sha512-OErSiGzRa6rLiOvaipsDZvLMSpsBZ4ysB4f0VKGXUrjw2jfkJRd6kjRKV2+ZmTCNvwtvgdDam5D7w6WXsdLJZw==", - "dev": true, - "license": "MIT" - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/totalist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", - "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/typescript": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", - "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/vite": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.3.tgz", - "integrity": "sha512-IzwM54g4y9JA/xAeBPNaDXiBF8Jsgl3VBQ2YQ/wOY6fyW3xMdSoltIV3Bo59DErdqdE6RxUfv8W69DvUorE4Eg==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.25.0", - "postcss": "^8.5.3", - "rollup": "^4.30.1" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/vitefu": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.0.6.tgz", - "integrity": "sha512-+Rex1GlappUyNN6UfwbVZne/9cYC4+R2XDk9xkNXBKMw6HQagdX9PgZ8V2v1WUSK1wfBLp7qbI1+XSNIlB1xmA==", - "dev": true, - "license": "MIT", - "workspaces": [ - "tests/deps/*", - "tests/projects/*" - ], - "peerDependencies": { - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" - }, - "peerDependenciesMeta": { - "vite": { - "optional": true - } - } - }, - "node_modules/zimmerframe": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.2.tgz", - "integrity": "sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==", - "dev": true, - "license": "MIT" - } - } + "name": "mitlist", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "mitlist", + "version": "0.0.1", + "hasInstallScript": true, + "dependencies": { + "@quasar/extras": "^1.16.4", + "axios": "^1.2.1", + "pinia": "^3.0.1", + "quasar": "^2.16.0", + "register-service-worker": "^1.7.2", + "vue": "^3.4.18", + "vue-i18n": "^11.0.0", + "vue-router": "^4.0.12" + }, + "devDependencies": { + "@eslint/js": "^9.14.0", + "@intlify/unplugin-vue-i18n": "^4.0.0", + "@quasar/app-vite": "^2.1.0", + "@types/node": "^20.5.9", + "@vue/eslint-config-prettier": "^10.1.0", + "@vue/eslint-config-typescript": "^14.4.0", + "autoprefixer": "^10.4.2", + "eslint": "^9.14.0", + "eslint-plugin-vue": "^9.30.0", + "globals": "^15.12.0", + "prettier": "^3.3.3", + "typescript": "~5.5.3", + "vite-plugin-checker": "^0.9.0", + "vue-tsc": "^2.0.29", + "workbox-build": "^7.3.0", + "workbox-cacheable-response": "^7.3.0", + "workbox-core": "^7.3.0", + "workbox-expiration": "^7.3.0", + "workbox-precaching": "^7.3.0", + "workbox-routing": "^7.3.0", + "workbox-strategies": "^7.3.0" + }, + "engines": { + "node": "^28 || ^26 || ^24 || ^22 || ^20 || ^18", + "npm": ">= 6.13.4", + "yarn": ">= 1.21.1" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.2.tgz", + "integrity": "sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz", + "integrity": "sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.1", + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helpers": "^7.27.1", + "@babel/parser": "^7.27.1", + "@babel/template": "^7.27.1", + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1", + "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/@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, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.1.tgz", + "integrity": "sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.27.1", + "@babel/types": "^7.27.1", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz", + "integrity": "sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/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, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz", + "integrity": "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.27.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.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", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz", + "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "regexpu-core": "^6.2.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.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", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz", + "integrity": "sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw==", + "dev": true, + "license": "MIT", + "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" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", + "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.1.tgz", + "integrity": "sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz", + "integrity": "sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.1", + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.1.tgz", + "integrity": "sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.2.tgz", + "integrity": "sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz", + "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "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.27.1", + "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.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.27.1.tgz", + "integrity": "sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", + "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.27.1.tgz", + "integrity": "sha512-eST9RrwlpaoJBDHShc+DS2SG4ATTi2MYNb4OxYkf3n+7eb49LWpnS+HSpVfW4x927qQwgk8A2hGNVaajAEw0EA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", + "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.1.tgz", + "integrity": "sha512-QEcFlMl9nGTgh1rn2nIeU5bkfb9BAjaQcWbiP4LvKxUot52ABcTkpcyJ7f2Q2U2RuQ84BNLgts3jRme2dTx6Fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", + "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.27.1.tgz", + "integrity": "sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.27.1.tgz", + "integrity": "sha512-7iLhfFAubmpeJe/Wo2TVuDrykh/zlWXLzPNdL0Jqn/Xu8R3QQ8h9ff8FQoISZOsw74/HFqFI7NX63HN7QFIHKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/traverse": "^7.27.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", + "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/template": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.27.1.tgz", + "integrity": "sha512-ttDCqhfvpE9emVkXbPD8vyxxh4TWYACVybGkDj+oReOGwnp066ITEivDlLwe0b1R0+evJ13IXQuLNB5w1fhC5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", + "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz", + "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", + "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz", + "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", + "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz", + "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", + "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", + "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.2.tgz", + "integrity": "sha512-AIUHD7xJ1mCrj3uPozvtngY3s0xpv7Nu7DoUSnzNY6Xam1Cy4rUznR//pvMHOhQ4AvbCexhbqXCtpxGHOGOO6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.27.1", + "@babel/plugin-transform-parameters": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", + "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz", + "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.1.tgz", + "integrity": "sha512-018KRk76HWKeZ5l4oTj2zPpSh+NbGdt0st5S6x0pga6HgrjBOJb24mMDHorFopOOd6YHkLgOZ+zaCjZGPO4aKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", + "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", + "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.1.tgz", + "integrity": "sha512-B19lbbL7PMrKr52BNPjCqg1IyNUIjTcxKj8uX9zHO+PmWN93s19NDr/f69mIkEp2x9nmDJ08a7lgHaTTzvW7mw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", + "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", + "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", + "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", + "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.27.2.tgz", + "integrity": "sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.27.1", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.27.1", + "@babel/plugin-syntax-import-attributes": "^7.27.1", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.27.1", + "@babel/plugin-transform-async-to-generator": "^7.27.1", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.27.1", + "@babel/plugin-transform-class-properties": "^7.27.1", + "@babel/plugin-transform-class-static-block": "^7.27.1", + "@babel/plugin-transform-classes": "^7.27.1", + "@babel/plugin-transform-computed-properties": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.27.1", + "@babel/plugin-transform-dotall-regex": "^7.27.1", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-exponentiation-operator": "^7.27.1", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.27.1", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.27.1", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-modules-systemjs": "^7.27.1", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", + "@babel/plugin-transform-numeric-separator": "^7.27.1", + "@babel/plugin-transform-object-rest-spread": "^7.27.2", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1", + "@babel/plugin-transform-parameters": "^7.27.1", + "@babel/plugin-transform-private-methods": "^7.27.1", + "@babel/plugin-transform-private-property-in-object": "^7.27.1", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.27.1", + "@babel/plugin-transform-regexp-modifiers": "^7.27.1", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.27.1", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.27.1", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.11.0", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.40.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/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, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.1.tgz", + "integrity": "sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.1.tgz", + "integrity": "sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.1", + "@babel/parser": "^7.27.1", + "@babel/template": "^7.27.1", + "@babel/types": "^7.27.1", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz", + "integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bufbuild/protobuf": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.3.0.tgz", + "integrity": "sha512-WK6zH4MtBp/uesX8KGCnwDDRVnEVHUvwjsigKXcSR57Oo8Oyv1vRS9qyUlSP+6KWRl5z8tNAU5qpf3QodeVYxA==", + "dev": true, + "license": "(Apache-2.0 AND BSD-3-Clause)" + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz", + "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz", + "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz", + "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz", + "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz", + "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz", + "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz", + "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz", + "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz", + "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz", + "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz", + "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz", + "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz", + "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz", + "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz", + "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz", + "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz", + "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz", + "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz", + "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz", + "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz", + "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz", + "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz", + "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz", + "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz", + "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz", + "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.2.tgz", + "integrity": "sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz", + "integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "9.26.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.26.0.tgz", + "integrity": "sha512-I9XlJawFdSMvWjDt6wksMCrgns5ggLNfFwFvnShsleWruvXM514Qxk8V246efTw+eo9JABvVz+u3q2RiAowKxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz", + "integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.13.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@inquirer/figures": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.11.tgz", + "integrity": "sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@intlify/bundle-utils": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@intlify/bundle-utils/-/bundle-utils-8.0.0.tgz", + "integrity": "sha512-1B++zykRnMwQ+20SpsZI1JCnV/YJt9Oq7AGlEurzkWJOFtFAVqaGc/oV36PBRYeiKnTbY9VYfjBimr2Vt42wLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@intlify/message-compiler": "^9.4.0", + "@intlify/shared": "^9.4.0", + "acorn": "^8.8.2", + "escodegen": "^2.1.0", + "estree-walker": "^2.0.2", + "jsonc-eslint-parser": "^2.3.0", + "mlly": "^1.2.0", + "source-map-js": "^1.0.1", + "yaml-eslint-parser": "^1.2.2" + }, + "engines": { + "node": ">= 14.16" + }, + "peerDependenciesMeta": { + "petite-vue-i18n": { + "optional": true + }, + "vue-i18n": { + "optional": true + } + } + }, + "node_modules/@intlify/core-base": { + "version": "11.1.3", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-11.1.3.tgz", + "integrity": "sha512-cMuHunYO7LE80azTitcvEbs1KJmtd6g7I5pxlApV3Jo547zdO3h31/0uXpqHc+Y3RKt1wo2y68RGSx77Z1klyA==", + "license": "MIT", + "dependencies": { + "@intlify/message-compiler": "11.1.3", + "@intlify/shared": "11.1.3" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/core-base/node_modules/@intlify/message-compiler": { + "version": "11.1.3", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-11.1.3.tgz", + "integrity": "sha512-7rbqqpo2f5+tIcwZTAG/Ooy9C8NDVwfDkvSeDPWUPQW+Dyzfw2o9H103N5lKBxO7wxX9dgCDjQ8Umz73uYw3hw==", + "license": "MIT", + "dependencies": { + "@intlify/shared": "11.1.3", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/core-base/node_modules/@intlify/shared": { + "version": "11.1.3", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-11.1.3.tgz", + "integrity": "sha512-pTFBgqa/99JRA2H1qfyqv97MKWJrYngXBA/I0elZcYxvJgcCw3mApAoPW3mJ7vx3j+Ti0FyKUFZ4hWxdjKaxvA==", + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/message-compiler": { + "version": "9.14.4", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.14.4.tgz", + "integrity": "sha512-vcyCLiVRN628U38c3PbahrhbbXrckrM9zpy0KZVlDk2Z0OnGwv8uQNNXP3twwGtfLsCf4gu3ci6FMIZnPaqZsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@intlify/shared": "9.14.4", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/shared": { + "version": "9.14.4", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.14.4.tgz", + "integrity": "sha512-P9zv6i1WvMc9qDBWvIgKkymjY2ptIiQ065PjDv7z7fDqH3J/HBRBN5IoiR46r/ujRcU7hCuSIZWvCAFCyuOYZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/unplugin-vue-i18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@intlify/unplugin-vue-i18n/-/unplugin-vue-i18n-4.0.0.tgz", + "integrity": "sha512-q2Mhqa/mLi0tulfLFO4fMXXvEbkSZpI5yGhNNsLTNJJ41icEGUuyDe+j5zRZIKSkOJRgX6YbCyibTDJdRsukmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@intlify/bundle-utils": "^8.0.0", + "@intlify/shared": "^9.4.0", + "@rollup/pluginutils": "^5.1.0", + "@vue/compiler-sfc": "^3.2.47", + "debug": "^4.3.3", + "fast-glob": "^3.2.12", + "js-yaml": "^4.1.0", + "json5": "^2.2.3", + "pathe": "^1.0.0", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2", + "unplugin": "^1.1.0" + }, + "engines": { + "node": ">= 14.16" + }, + "peerDependencies": { + "petite-vue-i18n": "*", + "vue-i18n": "*", + "vue-i18n-bridge": "*" + }, + "peerDependenciesMeta": { + "petite-vue-i18n": { + "optional": true + }, + "vue-i18n": { + "optional": true + }, + "vue-i18n-bridge": { + "optional": true + } + } + }, + "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, + "license": "ISC", + "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.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "license": "MIT", + "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.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "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==", + "license": "MIT" + }, + "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, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@modelcontextprotocol/sdk": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.11.0.tgz", + "integrity": "sha512-k/1pb70eD638anoi0e8wUGAlbMJXyvdV4p62Ko+EZ7eBe1xMx8Uhak1R5DgfoofsK5IBBnRwsYGTaLZl+6/+RQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "content-type": "^1.0.5", + "cors": "^2.8.5", + "cross-spawn": "^7.0.3", + "eventsource": "^3.0.2", + "express": "^5.0.1", + "express-rate-limit": "^7.5.0", + "pkce-challenge": "^5.0.0", + "raw-body": "^3.0.0", + "zod": "^3.23.8", + "zod-to-json-schema": "^3.24.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/body-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", + "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.0", + "http-errors": "^2.0.0", + "iconv-lite": "^0.6.3", + "on-finished": "^2.4.1", + "qs": "^6.14.0", + "raw-body": "^3.0.0", + "type-is": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/content-disposition": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", + "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/express": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", + "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.0", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/finalhandler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", + "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@modelcontextprotocol/sdk/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, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/mime-types": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/send": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", + "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.5", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "mime-types": "^3.0.1", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/serve-static": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "dev": true, + "license": "MIT", + "dependencies": { + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgr/core": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.4.tgz", + "integrity": "sha512-ROFF39F6ZrnzSUEmQQZUar0Jt4xVoP9WnDRdWwF4NNcXs3xBTLgBUDoOwW141y1jP+S8nahIbdxbFC7IShw9Iw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/pkgr" + } + }, + "node_modules/@quasar/app-vite": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@quasar/app-vite/-/app-vite-2.2.0.tgz", + "integrity": "sha512-MvCfJrCbxUYvoGaK5jPq0h0hjO8mbxYOWngf+dIKrxhwb+1h5ERh6aVYEUuCtMIwTMEVfPkCez4DIfZIoReuDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@quasar/render-ssr-error": "^1.0.3", + "@quasar/ssl-certificate": "^1.0.0", + "@quasar/vite-plugin": "^1.9.0", + "@types/chrome": "^0.0.262", + "@types/compression": "^1.7.5", + "@types/cordova": "^11.0.3", + "@types/express": "^4.17.21", + "@vitejs/plugin-vue": "^5.1.4", + "archiver": "^7.0.1", + "chokidar": "^3.6.0", + "ci-info": "^4.0.0", + "compression": "^1.7.5", + "confbox": "^0.1.8", + "cross-spawn": "^7.0.6", + "dot-prop": "9.0.0", + "dotenv": "^16.4.5", + "dotenv-expand": "^11.0.6", + "elementtree": "0.1.7", + "esbuild": "^0.25.0", + "express": "^4.21.2", + "fs-extra": "^11.2.0", + "html-minifier-terser": "^7.2.0", + "inquirer": "^9.3.7", + "isbinaryfile": "^5.0.4", + "kolorist": "^1.8.0", + "lodash": "^4.17.21", + "minimist": "^1.2.8", + "mlly": "^1.7.4", + "open": "^10.1.0", + "rollup-plugin-visualizer": "^5.13.1", + "sass-embedded": "^1.83.0", + "semver": "^7.6.3", + "serialize-javascript": "^6.0.2", + "tinyglobby": "^0.2.10", + "ts-essentials": "^9.4.2", + "vite": "^6.1.0", + "webpack-merge": "^6.0.1" + }, + "bin": { + "quasar": "bin/quasar.js" + }, + "engines": { + "node": "^30 || ^28 || ^26 || ^24 || ^22 || ^20 || ^18", + "npm": ">= 6.14.12", + "yarn": ">= 1.17.3" + }, + "funding": { + "type": "github", + "url": "https://donate.quasar.dev" + }, + "peerDependencies": { + "@electron/packager": ">= 18", + "electron-builder": ">= 22", + "pinia": "^2.0.0 || ^3.0.0", + "quasar": "^2.16.0", + "typescript": ">= 5.4", + "vue": "^3.2.29", + "vue-router": "^4.0.12", + "workbox-build": ">= 6" + }, + "peerDependenciesMeta": { + "@electron/packager": { + "optional": true + }, + "electron-builder": { + "optional": true + }, + "eslint": { + "optional": true + }, + "pinia": { + "optional": true + }, + "typescript": { + "optional": true + }, + "workbox-build": { + "optional": true + } + } + }, + "node_modules/@quasar/extras": { + "version": "1.16.17", + "resolved": "https://registry.npmjs.org/@quasar/extras/-/extras-1.16.17.tgz", + "integrity": "sha512-4aX9XU/oj1+8O2C7LQCgywmoIw7suyUEZMPFFLWI61f21mF55VOsMdLCBhjeFgL5U4EWy079mfOR6/J8thi/ag==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://donate.quasar.dev" + } + }, + "node_modules/@quasar/render-ssr-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@quasar/render-ssr-error/-/render-ssr-error-1.0.3.tgz", + "integrity": "sha512-A8RF99q6/sOSe1Ighnh5syEIbliD3qUYEJd2HyfFyBPSMF+WYGXon5dmzg4nUoK662NgOggInevkDyBDJcZugg==", + "dev": true, + "license": "MIT", + "dependencies": { + "stack-trace": "^1.0.0-pre2" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "type": "github", + "url": "https://donate.quasar.dev" + } + }, + "node_modules/@quasar/ssl-certificate": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@quasar/ssl-certificate/-/ssl-certificate-1.0.0.tgz", + "integrity": "sha512-RhZF7rO76T7Ywer1/5lCe7xl3CIiXxSAH1xgwOj0wcHTityDxJqIN/5YIj6BxMvlFw8XkJDoB1udEQafoVFA4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fs-extra": "^11.1.1", + "selfsigned": "^2.1.1" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "type": "github", + "url": "https://donate.quasar.dev" + } + }, + "node_modules/@quasar/vite-plugin": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@quasar/vite-plugin/-/vite-plugin-1.9.0.tgz", + "integrity": "sha512-r1MFtI2QZJ2g20pe75Zuv4aoi0uoK8oP0yEdzLWRoOLCbhtf2+StJpUza9TydYi3KcvCl9+4HUf3OAWVKoxDmQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "github", + "url": "https://donate.quasar.dev" + }, + "peerDependencies": { + "@vitejs/plugin-vue": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0", + "quasar": "^2.16.0", + "vite": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0", + "vue": "^3.0.0" + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.3.1.tgz", + "integrity": "sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-terser": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", + "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", + "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.2.tgz", + "integrity": "sha512-JkdNEq+DFxZfUwxvB58tHMHBHVgX23ew41g1OQinthJ+ryhdRk67O31S7sYw8u2lTjHUPFxwar07BBt1KHp/hg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.2.tgz", + "integrity": "sha512-13unNoZ8NzUmnndhPTkWPWbX3vtHodYmy+I9kuLxN+F+l+x3LdVF7UCu8TWVMt1POHLh6oDHhnOA04n8oJZhBw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.2.tgz", + "integrity": "sha512-Gzf1Hn2Aoe8VZzevHostPX23U7N5+4D36WJNHK88NZHCJr7aVMG4fadqkIf72eqVPGjGc0HJHNuUaUcxiR+N/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.2.tgz", + "integrity": "sha512-47N4hxa01a4x6XnJoskMKTS8XZ0CZMd8YTbINbi+w03A2w4j1RTlnGHOz/P0+Bg1LaVL6ufZyNprSg+fW5nYQQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.2.tgz", + "integrity": "sha512-8t6aL4MD+rXSHHZUR1z19+9OFJ2rl1wGKvckN47XFRVO+QL/dUSpKA2SLRo4vMg7ELA8pzGpC+W9OEd1Z/ZqoQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.2.tgz", + "integrity": "sha512-C+AyHBzfpsOEYRFjztcYUFsH4S7UsE9cDtHCtma5BK8+ydOZYgMmWg1d/4KBytQspJCld8ZIujFMAdKG1xyr4Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.2.tgz", + "integrity": "sha512-de6TFZYIvJwRNjmW3+gaXiZ2DaWL5D5yGmSYzkdzjBDS3W+B9JQ48oZEsmMvemqjtAFzE16DIBLqd6IQQRuG9Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.2.tgz", + "integrity": "sha512-urjaEZubdIkacKc930hUDOfQPysezKla/O9qV+O89enqsqUmQm8Xj8O/vh0gHg4LYfv7Y7UsE3QjzLQzDYN1qg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.2.tgz", + "integrity": "sha512-KlE8IC0HFOC33taNt1zR8qNlBYHj31qGT1UqWqtvR/+NuCVhfufAq9fxO8BMFC22Wu0rxOwGVWxtCMvZVLmhQg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.2.tgz", + "integrity": "sha512-j8CgxvfM0kbnhu4XgjnCWJQyyBOeBI1Zq91Z850aUddUmPeQvuAy6OiMdPS46gNFgy8gN1xkYyLgwLYZG3rBOg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.2.tgz", + "integrity": "sha512-Ybc/1qUampKuRF4tQXc7G7QY9YRyeVSykfK36Y5Qc5dmrIxwFhrOzqaVTNoZygqZ1ZieSWTibfFhQ5qK8jpWxw==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.2.tgz", + "integrity": "sha512-3FCIrnrt03CCsZqSYAOW/k9n625pjpuMzVfeI+ZBUSDT3MVIFDSPfSUgIl9FqUftxcUXInvFah79hE1c9abD+Q==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.2.tgz", + "integrity": "sha512-QNU7BFHEvHMp2ESSY3SozIkBPaPBDTsfVNGx3Xhv+TdvWXFGOSH2NJvhD1zKAT6AyuuErJgbdvaJhYVhVqrWTg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.2.tgz", + "integrity": "sha512-5W6vNYkhgfh7URiXTO1E9a0cy4fSgfE4+Hl5agb/U1sa0kjOLMLC1wObxwKxecE17j0URxuTrYZZME4/VH57Hg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.2.tgz", + "integrity": "sha512-B7LKIz+0+p348JoAL4X/YxGx9zOx3sR+o6Hj15Y3aaApNfAshK8+mWZEf759DXfRLeL2vg5LYJBB7DdcleYCoQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.2.tgz", + "integrity": "sha512-lG7Xa+BmBNwpjmVUbmyKxdQJ3Q6whHjMjzQplOs5Z+Gj7mxPtWakGHqzMqNER68G67kmCX9qX57aRsW5V0VOng==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.2.tgz", + "integrity": "sha512-tD46wKHd+KJvsmije4bUskNuvWKFcTOIM9tZ/RrmIvcXnbi0YK/cKS9FzFtAm7Oxi2EhV5N2OpfFB348vSQRXA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.2.tgz", + "integrity": "sha512-Bjv/HG8RRWLNkXwQQemdsWw4Mg+IJ29LK+bJPW2SCzPKOUaMmPEppQlu/Fqk1d7+DX3V7JbFdbkh/NMmurT6Pg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.2.tgz", + "integrity": "sha512-dt1llVSGEsGKvzeIO76HToiYPNPYPkmjhMHhP00T9S4rDern8P2ZWvWAQUEJ+R1UdMWJ/42i/QqJ2WV765GZcA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.2.tgz", + "integrity": "sha512-bwspbWB04XJpeElvsp+DCylKfF4trJDa2Y9Go8O6A7YLX2LIKGcNK/CYImJN6ZP4DcuOHB4Utl3iCbnR62DudA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "node_modules/@surma/rollup-plugin-off-main-thread/node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/chrome": { + "version": "0.0.262", + "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.262.tgz", + "integrity": "sha512-TOoj3dqSYE13PD2fRuMQ6X6pggEvL9rRk/yOYOyWE6sfqRWxsJm4VoVm+wr9pkr4Sht/M5t7FFL4vXato8d1gA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/filesystem": "*", + "@types/har-format": "*" + } + }, + "node_modules/@types/compression": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@types/compression/-/compression-1.7.5.tgz", + "integrity": "sha512-AAQvK5pxMpaT+nDvhHrsBhLSYG5yQdtkaJE1WYieSNY2mVFKAgmU4ks65rkZD5oqnGCFLyQpUr1CqI4DmUMyDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/cordova": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-11.0.3.tgz", + "integrity": "sha512-kyuRQ40/NWQVhqGIHq78Ehu2Bf9Mlg0LhmSmis6ZFJK7z933FRfYi8tHe/k/0fB+PGfCf95rJC6TO7dopaFvAg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.19.6", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", + "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/filesystem": { + "version": "0.0.36", + "resolved": "https://registry.npmjs.org/@types/filesystem/-/filesystem-0.0.36.tgz", + "integrity": "sha512-vPDXOZuannb9FZdxgHnqSwAG/jvdGM8Wq+6N4D/d80z+D4HWH+bItqsZaVRQykAn6WEVeEkLm2oQigyHtgb0RA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/filewriter": "*" + } + }, + "node_modules/@types/filewriter": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/filewriter/-/filewriter-0.0.33.tgz", + "integrity": "sha512-xFU8ZXTw4gd358lb2jw25nxY9QAgqn2+bKKjKOYfNCzN4DKCFetK7sPtrlpg66Ywe3vWY9FNxprZawAh9wfJ3g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/har-format": { + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@types/har-format/-/har-format-1.2.16.tgz", + "integrity": "sha512-fluxdy7ryD3MV6h8pTfTYpy/xQzCFC7m89nOH9y94cNqJ1mDIDPut7MnRHI3F6qRmh/cT2fUjG1MLdCNb4hE9A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.17.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.45.tgz", + "integrity": "sha512-vO9+E1smq+149wsmmLdM8SKVW7gRzLjfo0mU7kiykhV6rL+GEUhUmW7VywJNSxJHQzt9QBIHEo+3SG4MrFTqbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/qs": { + "version": "6.9.18", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.18.tgz", + "integrity": "sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.7", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", + "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.32.0.tgz", + "integrity": "sha512-/jU9ettcntkBFmWUzzGgsClEi2ZFiikMX5eEQsmxIAWMOn4H3D4rvHssstmAHGVvrYnaMqdWWWg0b5M6IN/MTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.32.0", + "@typescript-eslint/type-utils": "8.32.0", + "@typescript-eslint/utils": "8.32.0", + "@typescript-eslint/visitor-keys": "8.32.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.32.0.tgz", + "integrity": "sha512-B2MdzyWxCE2+SqiZHAjPphft+/2x2FlO9YBx7eKE1BCb+rqBlQdhtAEhzIEdozHd55DXPmxBdpMygFJjfjjA9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.32.0", + "@typescript-eslint/types": "8.32.0", + "@typescript-eslint/typescript-estree": "8.32.0", + "@typescript-eslint/visitor-keys": "8.32.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.32.0.tgz", + "integrity": "sha512-jc/4IxGNedXkmG4mx4nJTILb6TMjL66D41vyeaPWvDUmeYQzF3lKtN15WsAeTr65ce4mPxwopPSo1yUUAWw0hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.32.0", + "@typescript-eslint/visitor-keys": "8.32.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.32.0.tgz", + "integrity": "sha512-t2vouuYQKEKSLtJaa5bB4jHeha2HJczQ6E5IXPDPgIty9EqcJxpr1QHQ86YyIPwDwxvUmLfP2YADQ5ZY4qddZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "8.32.0", + "@typescript-eslint/utils": "8.32.0", + "debug": "^4.3.4", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.32.0.tgz", + "integrity": "sha512-O5Id6tGadAZEMThM6L9HmVf5hQUXNSxLVKeGJYWNhhVseps/0LddMkp7//VDkzwJ69lPL0UmZdcZwggj9akJaA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.32.0.tgz", + "integrity": "sha512-pU9VD7anSCOIoBFnhTGfOzlVFQIA1XXiQpH/CezqOBaDppRwTglJzCC6fUQGpfwey4T183NKhF1/mfatYmjRqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.32.0", + "@typescript-eslint/visitor-keys": "8.32.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.32.0.tgz", + "integrity": "sha512-8S9hXau6nQ/sYVtC3D6ISIDoJzS1NsCK+gluVhLN2YkBPX+/1wkwyUiDKnxRh15579WoOIyVWnoyIf3yGI9REw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.32.0", + "@typescript-eslint/types": "8.32.0", + "@typescript-eslint/typescript-estree": "8.32.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.32.0.tgz", + "integrity": "sha512-1rYQTCLFFzOI5Nl0c8LUpJT8HxpwVRn9E4CkMsYfuN6ctmQqExjSTzzSk0Tz2apmXy7WU6/6fyaZVVA/thPN+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.32.0", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.3.tgz", + "integrity": "sha512-IYSLEQj4LgZZuoVpdSUCw3dIynTWQgPlaRP6iAvMle4My0HdYwr5g5wQAfwOeHQBmYwEkqF70nRpSilr6PoUDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.13", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.13.tgz", + "integrity": "sha512-MnQJ7eKchJx5Oz+YdbqyFUk8BN6jasdJv31n/7r6/WwlOOv7qzvot6B66887l2ST3bUW4Mewml54euzpJWA6bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.13" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.13", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.13.tgz", + "integrity": "sha512-l/EBcc2FkvHgz2ZxV+OZK3kMSroMr7nN3sZLF2/f6kWW66q8+tEL4giiYyFjt0BcubqJhBt6soYIrAPhg/Yr+Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.13", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.13.tgz", + "integrity": "sha512-Ukz4xv84swJPupZeoFsQoeJEOm7U9pqsEnaGGgt5ni3SCTa22m8oJP5Nng3Wed7Uw5RBELdLxxORX8YhJPyOgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.13", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz", + "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/shared": "3.5.13", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", + "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", + "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/compiler-core": "3.5.13", + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.11", + "postcss": "^8.4.48", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", + "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/compiler-vue2": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", + "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", + "dev": true, + "license": "MIT", + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "node_modules/@vue/devtools-api": { + "version": "7.7.6", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.7.6.tgz", + "integrity": "sha512-b2Xx0KvXZObePpXPYHvBRRJLDQn5nhKjXh7vUhMEtWxz1AYNFOVIsh5+HLP8xDGL7sy+Q7hXeUxPHB/KgbtsPw==", + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.6" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.7.6", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.7.6.tgz", + "integrity": "sha512-geu7ds7tem2Y7Wz+WgbnbZ6T5eadOvozHZ23Atk/8tksHMFOFylKi1xgGlQlVn0wlkEf4hu+vd5ctj1G4kFtwA==", + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^7.7.6", + "birpc": "^2.3.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.7.6", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.7.6.tgz", + "integrity": "sha512-yFEgJZ/WblEsojQQceuyK6FzpFDx4kqrz2ohInxNj5/DnhoX023upTv4OD6lNPLAA5LLkbwPVb10o/7b+Y4FVA==", + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/eslint-config-prettier": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-10.2.0.tgz", + "integrity": "sha512-GL3YBLwv/+b86yHcNNfPJxOTtVFJ4Mbc9UU3zR+KVoG7SwGTjPT+32fXamscNumElhcpXW3mT0DgzS9w32S7Bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-config-prettier": "^10.0.1", + "eslint-plugin-prettier": "^5.2.2" + }, + "peerDependencies": { + "eslint": ">= 8.21.0", + "prettier": ">= 3.0.0" + } + }, + "node_modules/@vue/eslint-config-typescript": { + "version": "14.5.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-14.5.0.tgz", + "integrity": "sha512-5oPOyuwkw++AP5gHDh5YFmST50dPfWOcm3/W7Nbh42IK5O3H74ytWAw0TrCRTaBoD/02khnWXuZf1Bz1xflavQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^8.26.0", + "fast-glob": "^3.3.3", + "typescript-eslint": "^8.26.0", + "vue-eslint-parser": "^10.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": "^9.10.0", + "eslint-plugin-vue": "^9.28.0 || ^10.0.0", + "typescript": ">=4.8.4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/language-core": { + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.2.10.tgz", + "integrity": "sha512-+yNoYx6XIKuAO8Mqh1vGytu8jkFEOH5C8iOv3i8Z/65A7x9iAOXA97Q+PqZ3nlm2lxf5rOJuIGI/wDtx/riNYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "~2.4.11", + "@vue/compiler-dom": "^3.5.0", + "@vue/compiler-vue2": "^2.7.16", + "@vue/shared": "^3.5.0", + "alien-signals": "^1.0.3", + "minimatch": "^9.0.3", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz", + "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz", + "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", + "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.13", + "@vue/runtime-core": "3.5.13", + "@vue/shared": "3.5.13", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz", + "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13" + }, + "peerDependencies": { + "vue": "3.5.13" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz", + "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", + "license": "MIT" + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/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, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "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, + "license": "MIT", + "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/alien-signals": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-1.0.13.tgz", + "integrity": "sha512-OGj9yyTnJEttvzhTUWuscOvtqxq5vrhF7vL9oS0xJ2mK0ItPYP1/y+vCFebfxoEyAz0++1AIwJ5CMr+Fk3nDmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "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, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/archiver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz", + "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "archiver-utils": "^5.0.2", + "async": "^3.2.4", + "buffer-crc32": "^1.0.0", + "readable-stream": "^4.0.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^3.0.0", + "zip-stream": "^6.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/archiver-utils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz", + "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "^10.0.0", + "graceful-fs": "^4.2.0", + "is-stream": "^2.0.1", + "lazystream": "^1.0.0", + "lodash": "^4.17.15", + "normalize-path": "^3.0.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.21", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", + "integrity": "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.24.4", + "caniuse-lite": "^1.0.30001702", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axios": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.9.0.tgz", + "integrity": "sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/b4a": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz", + "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz", + "integrity": "sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.4", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/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, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz", + "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.3", + "core-js-compat": "^3.40.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz", + "integrity": "sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.4" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/bare-events": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.4.tgz", + "integrity": "sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==", + "dev": true, + "license": "Apache-2.0", + "optional": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/birpc": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.3.0.tgz", + "integrity": "sha512-ijbtkn/F3Pvzb6jHypHRyve2QApOCZDR25D/VnkY2G/lBNcXCTsnsCxgY4k4PkVB7zfwzYbY3O9Lcqe3xufS5g==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/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, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/body-parser/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, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, + "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, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.5.tgz", + "integrity": "sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==", + "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" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001716", + "electron-to-chromium": "^1.5.149", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-builder": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/buffer-builder/-/buffer-builder-0.2.0.tgz", + "integrity": "sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==", + "dev": true, + "license": "MIT/X11" + }, + "node_modules/buffer-crc32": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz", + "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "MIT", + "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", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001717", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001717.tgz", + "integrity": "sha512-auPpttCq6BDEG8ZAuHJIplGw6GODhjw+/11e7IjpnYCxZcW/ONgPs0KVBJ0d1bY3e2+7PRe5RCLyP+PfwVgkYw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "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, + "license": "MIT", + "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/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/ci-info": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.2.0.tgz", + "integrity": "sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "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, + "license": "MIT", + "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", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/colorjs.io": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/colorjs.io/-/colorjs.io-0.5.2.tgz", + "integrity": "sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/compress-commons": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz", + "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "crc32-stream": "^6.0.0", + "is-stream": "^2.0.1", + "normalize-path": "^3.0.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.0.tgz", + "integrity": "sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.0.2", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "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, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-anything": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", + "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", + "license": "MIT", + "dependencies": { + "is-what": "^4.1.8" + }, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/core-js-compat": { + "version": "3.42.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.42.0.tgz", + "integrity": "sha512-bQasjMfyDGyaeWKBIu33lHh9qlSR0MFE/Nmc6nMjf/iU9b3rSMdAYz1Baxrv4lPdGUsTqZudHA4jIGSJy0SWZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.24.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/crc32-stream": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz", + "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==", + "dev": true, + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "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, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-prop": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-9.0.0.tgz", + "integrity": "sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^4.18.2" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dotenv": { + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz", + "integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand": { + "version": "11.0.7", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.7.tgz", + "integrity": "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dotenv": "^16.4.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true, + "license": "MIT" + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.151", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.151.tgz", + "integrity": "sha512-Rl6uugut2l9sLojjS4H4SAr3A4IgACMLgpuEMPYCVcKydzfyPrn5absNRju38IhQOf/NwjJY8OGWjlteqYeBCA==", + "dev": true, + "license": "ISC" + }, + "node_modules/elementtree": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.7.tgz", + "integrity": "sha512-wkgGT6kugeQk/P6VZ/f4T+4HB41BVgNBq5CDIZVbQ02nvTVqAiVTbskxxu3eA/X96lMlfYOwnLQpN2v5E1zDEg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "sax": "1.1.4" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-abstract": { + "version": "1.23.9", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", + "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.0", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-regex": "^1.2.1", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.0", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.3", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.18" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", + "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.4", + "@esbuild/android-arm": "0.25.4", + "@esbuild/android-arm64": "0.25.4", + "@esbuild/android-x64": "0.25.4", + "@esbuild/darwin-arm64": "0.25.4", + "@esbuild/darwin-x64": "0.25.4", + "@esbuild/freebsd-arm64": "0.25.4", + "@esbuild/freebsd-x64": "0.25.4", + "@esbuild/linux-arm": "0.25.4", + "@esbuild/linux-arm64": "0.25.4", + "@esbuild/linux-ia32": "0.25.4", + "@esbuild/linux-loong64": "0.25.4", + "@esbuild/linux-mips64el": "0.25.4", + "@esbuild/linux-ppc64": "0.25.4", + "@esbuild/linux-riscv64": "0.25.4", + "@esbuild/linux-s390x": "0.25.4", + "@esbuild/linux-x64": "0.25.4", + "@esbuild/netbsd-arm64": "0.25.4", + "@esbuild/netbsd-x64": "0.25.4", + "@esbuild/openbsd-arm64": "0.25.4", + "@esbuild/openbsd-x64": "0.25.4", + "@esbuild/sunos-x64": "0.25.4", + "@esbuild/win32-arm64": "0.25.4", + "@esbuild/win32-ia32": "0.25.4", + "@esbuild/win32-x64": "0.25.4" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/eslint": { + "version": "9.26.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.26.0.tgz", + "integrity": "sha512-Hx0MOjPh6uK9oq9nVsATZKE/Wlbai7KFjfCuw9UHaguDW3x+HF0O5nIi3ud39TWgrTjTO5nHxmL3R1eANinWHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.20.0", + "@eslint/config-helpers": "^0.2.1", + "@eslint/core": "^0.13.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.26.0", + "@eslint/plugin-kit": "^0.2.8", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@modelcontextprotocol/sdk": "^1.8.0", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.3.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "zod": "^3.24.2" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-prettier": { + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.3.tgz", + "integrity": "sha512-vDo4d9yQE+cS2tdIT4J02H/16veRvkHgiLDRpej+WL67oCfbOb97itZXn8wMPJ/GsiEBVjrjs//AVNw2Cp1EcA==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.4.0.tgz", + "integrity": "sha512-BvQOvUhkVQM1i63iMETK9Hjud9QhqBnbtT1Zc642p9ynzBuCe5pybkOnvqZIBypXmMlsGcnU4HZ8sCTPfpAexA==", + "dev": true, + "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.11.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-vue": { + "version": "9.33.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.33.0.tgz", + "integrity": "sha512-174lJKuNsuDIlLpjeXc5E2Tss8P44uIimAfGD0b90k0NoirJqpG7stLuU9Vp/9ioTOrQdWVREc4mRd1BD+CvGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "globals": "^13.24.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.15", + "semver": "^7.6.3", + "vue-eslint-parser": "^9.4.3", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-vue/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-vue/node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-vue/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-vue/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-vue/node_modules/vue-eslint-parser": { + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz", + "integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", + "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/espree": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.14.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "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, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/eventsource": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.6.tgz", + "integrity": "sha512-l19WpE2m9hSuyP06+FbuUUf1G+R0SFLrtQfbRb9PRr+oimOfxQhgGCbVaXg5IvZyyTThJsxh6L/srkMiCeBPDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventsource-parser": "^3.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/eventsource-parser": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.1.tgz", + "integrity": "sha512-VARTJ9CYeuQYb0pZEPbzi740OWFgpHe7AYJ2WFZVnUDUQp5Dk2yJUgF36YsZ81cOyxT0QxmXD2EQpapAouzWVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/express": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.12", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express-rate-limit": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.0.tgz", + "integrity": "sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/express-rate-limit" + }, + "peerDependencies": { + "express": "^4.11 || 5 || ^5.0.0-beta.1" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fdir": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", + "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", + "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true, + "license": "ISC" + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "ISC", + "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/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "15.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "license": "MIT" + }, + "node_modules/html-minifier-terser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", + "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "~5.3.2", + "commander": "^10.0.0", + "entities": "^4.4.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.15.1" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.2.tgz", + "integrity": "sha512-qHKXW1q6liAk1Oys6umoaZbDRqjcjgSrbnrifHsfsttza7zcvRAsL7mMV6xWcyhwQy7Xj5v4hhbr6b+iDYwlmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "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, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/inquirer": { + "version": "9.3.7", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.3.7.tgz", + "integrity": "sha512-LJKFHCSeIRq9hanN14IlOtPSTe3lNES7TYDTE2xxdAy1LS5rYphajK1qtwvj3YmQXvvk0U2Vbmcni8P9EIQW9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/figures": "^1.0.3", + "ansi-escapes": "^4.3.2", + "cli-width": "^4.1.0", + "external-editor": "^3.1.0", + "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", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "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, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "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, + "license": "MIT", + "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", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-what": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", + "license": "MIT", + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/is-wsl": { + "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, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/isbinaryfile": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.4.tgz", + "integrity": "sha512-YKBKVkKhty7s8rxddb40oOkuP0NbaeXrQvLin6QMHL7Ypiy2RW9LwOVrVgZRyOrhQlayMd9t+D8yDy8MKFTSDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jake": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/jake/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true, + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, + "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, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-eslint-parser": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.0.tgz", + "integrity": "sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.5.0", + "eslint-visitor-keys": "^3.0.0", + "espree": "^9.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + } + }, + "node_modules/jsonc-eslint-parser/node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/lazystream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "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, + "license": "ISC" + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "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, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "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, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "license": "MIT" + }, + "node_modules/mlly": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz", + "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.14.0", + "pathe": "^2.0.1", + "pkg-types": "^1.3.0", + "ufo": "^1.5.4" + } + }, + "node_modules/mlly/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "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, + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "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, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "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, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.2.tgz", + "integrity": "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==", + "dev": true, + "license": "MIT", + "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" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.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==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/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, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.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==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT" + }, + "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, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "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, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pinia": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-3.0.2.tgz", + "integrity": "sha512-sH2JK3wNY809JOeiiURUR0wehJ9/gd9qFN2Y828jCbxEzKEmEt0pzCXwqiSTfuRsK9vQsOflSdnbdBOGrhtn+g==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^7.7.2" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "typescript": ">=4.4.4", + "vue": "^2.7.0 || ^3.5.11" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/pkce-challenge": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.0.tgz", + "integrity": "sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, + "node_modules/pkg-types/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "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" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "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, + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", + "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/quasar": { + "version": "2.18.1", + "resolved": "https://registry.npmjs.org/quasar/-/quasar-2.18.1.tgz", + "integrity": "sha512-db/P64Mzpt1uXJ0MapaG+IYJQ9hHDb5KtTCoszwC78DR7sA+Uoj7nBW2EytwYykIExEmqavOvKrdasTvqhkgEg==", + "license": "MIT", + "engines": { + "node": ">= 10.18.1", + "npm": ">= 6.13.4", + "yarn": ">= 1.21.1" + }, + "funding": { + "type": "github", + "url": "https://donate.quasar.dev" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", + "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.6.3", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/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, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "dev": true, + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/readable-stream/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "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" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.12.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/register-service-worker": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/register-service-worker/-/register-service-worker-1.7.2.tgz", + "integrity": "sha512-CiD3ZSanZqcMPRhtfct5K9f7i3OLCcBBWsJjLh1gW9RO/nS94sVzY59iS+fgYBOBqaBpf4EzfqUF3j9IG+xo8A==", + "license": "MIT" + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.0.2" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "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, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/restore-cursor/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, + "license": "ISC" + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "license": "MIT" + }, + "node_modules/rollup": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.2.tgz", + "integrity": "sha512-tfUOg6DTP4rhQ3VjOO6B4wyrJnGOX85requAXvqYTHsOgb2TFJdZ3aWpT8W2kPoypSGP7dZUyzxJ9ee4buM5Fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.7" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.40.2", + "@rollup/rollup-android-arm64": "4.40.2", + "@rollup/rollup-darwin-arm64": "4.40.2", + "@rollup/rollup-darwin-x64": "4.40.2", + "@rollup/rollup-freebsd-arm64": "4.40.2", + "@rollup/rollup-freebsd-x64": "4.40.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.40.2", + "@rollup/rollup-linux-arm-musleabihf": "4.40.2", + "@rollup/rollup-linux-arm64-gnu": "4.40.2", + "@rollup/rollup-linux-arm64-musl": "4.40.2", + "@rollup/rollup-linux-loongarch64-gnu": "4.40.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.40.2", + "@rollup/rollup-linux-riscv64-gnu": "4.40.2", + "@rollup/rollup-linux-riscv64-musl": "4.40.2", + "@rollup/rollup-linux-s390x-gnu": "4.40.2", + "@rollup/rollup-linux-x64-gnu": "4.40.2", + "@rollup/rollup-linux-x64-musl": "4.40.2", + "@rollup/rollup-win32-arm64-msvc": "4.40.2", + "@rollup/rollup-win32-ia32-msvc": "4.40.2", + "@rollup/rollup-win32-x64-msvc": "4.40.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-visualizer": { + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.14.0.tgz", + "integrity": "sha512-VlDXneTDaKsHIw8yzJAFWtrzguoJ/LnQ+lMpoVfYJ3jJF4Ihe5oYLAqLklIK/35lgUY+1yEzCkHyZ1j4A5w5fA==", + "dev": true, + "license": "MIT", + "dependencies": { + "open": "^8.4.0", + "picomatch": "^4.0.2", + "source-map": "^0.7.4", + "yargs": "^17.5.1" + }, + "bin": { + "rollup-plugin-visualizer": "dist/bin/cli.js" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "rolldown": "1.x", + "rollup": "2.x || 3.x || 4.x" + }, + "peerDependenciesMeta": { + "rolldown": { + "optional": true + }, + "rollup": { + "optional": true + } + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/rollup-plugin-visualizer/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rollup-plugin-visualizer/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, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/router/node_modules/path-to-regexp": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", + "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "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" + } + ], + "license": "MIT" + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "MIT" + }, + "node_modules/sass-embedded": { + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.87.0.tgz", + "integrity": "sha512-1IA3iTJNh4BkkA/nidKiVwbmkxr9o6LsPegycHMX/JYs255zpocN5GdLF1+onohQCJxbs5ldr8osKV7qNaNBjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@bufbuild/protobuf": "^2.0.0", + "buffer-builder": "^0.2.0", + "colorjs.io": "^0.5.0", + "immutable": "^5.0.2", + "rxjs": "^7.4.0", + "supports-color": "^8.1.1", + "sync-child-process": "^1.0.2", + "varint": "^6.0.0" + }, + "bin": { + "sass": "dist/bin/sass.js" + }, + "engines": { + "node": ">=16.0.0" + }, + "optionalDependencies": { + "sass-embedded-android-arm": "1.87.0", + "sass-embedded-android-arm64": "1.87.0", + "sass-embedded-android-ia32": "1.87.0", + "sass-embedded-android-riscv64": "1.87.0", + "sass-embedded-android-x64": "1.87.0", + "sass-embedded-darwin-arm64": "1.87.0", + "sass-embedded-darwin-x64": "1.87.0", + "sass-embedded-linux-arm": "1.87.0", + "sass-embedded-linux-arm64": "1.87.0", + "sass-embedded-linux-ia32": "1.87.0", + "sass-embedded-linux-musl-arm": "1.87.0", + "sass-embedded-linux-musl-arm64": "1.87.0", + "sass-embedded-linux-musl-ia32": "1.87.0", + "sass-embedded-linux-musl-riscv64": "1.87.0", + "sass-embedded-linux-musl-x64": "1.87.0", + "sass-embedded-linux-riscv64": "1.87.0", + "sass-embedded-linux-x64": "1.87.0", + "sass-embedded-win32-arm64": "1.87.0", + "sass-embedded-win32-ia32": "1.87.0", + "sass-embedded-win32-x64": "1.87.0" + } + }, + "node_modules/sass-embedded-android-arm": { + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.87.0.tgz", + "integrity": "sha512-Z20u/Y1kFDpMbgiloR5YPLxNuMVeKQRC8e/n68oAAxf3u7rDSmNn2msi7USqgT1f2zdBBNawn/ifbFEla6JiHw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-android-arm64": { + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.87.0.tgz", + "integrity": "sha512-uqeZoBuXm3W2KhxolScAAfWOLHL21e50g7AxlLmG0he7WZsWw6e9kSnmq301iLIFp4kvmXYXbXbNKAeu9ItRYA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-android-ia32": { + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-ia32/-/sass-embedded-android-ia32-1.87.0.tgz", + "integrity": "sha512-hSWTqo2Igdig528cUb1W1+emw9d1J4+nqOoR4tERS04zcwRRFNDiuBT0o5meV7nkEwE982F+h57YdcRXj8gTtg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-android-riscv64": { + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.87.0.tgz", + "integrity": "sha512-kBAPSjiTBLy5ua/0LRNAJwOAARhzFU7gP35fYORJcdBuz1lkIVPVnid1lh9qQ6Ce9MOJcr7VKFtGnTuqVeig5A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-android-x64": { + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.87.0.tgz", + "integrity": "sha512-ZHMrNdtdMSpJUYco2MesnlPwDTZftD3pqkkOMI2pbqarPoFUKJtP5k80nwCM0sJGtqfNE+O16w9yPght0CMiJg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-darwin-arm64": { + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.87.0.tgz", + "integrity": "sha512-7TK1JWJdCIRSdZv5CJv/HpDz/wIfwUy2FoPz9sVOEj1pDTH0N+VfJd5VutCddIdoQN9jr0ap8vwkc65FbAxV2A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-darwin-x64": { + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.87.0.tgz", + "integrity": "sha512-2JiQzt7FmgUC4MYT2QvbeH/Bi3e76WEhaYoc5P3WyTW8unsHksyTdMuTuYe0Qf9usIyt6bmm5no/4BBw7c8Cig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-arm": { + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.87.0.tgz", + "integrity": "sha512-z5P6INMsGXiUcq1sRRbksyQUhalFFYjTEexuxfSYdK3U2YQMADHubQh8pGzkWvFRPOpnh83RiGuwvpaARYHnsw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-arm64": { + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.87.0.tgz", + "integrity": "sha512-5z+mwJCbGZcg+q+MwdEVSh0ogFK7OSAe175Gsozzr/Izw34Q+RGUw9O82jsV2c4YNuTAQvzEHgIO5cvNvt3Quw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-ia32": { + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-ia32/-/sass-embedded-linux-ia32-1.87.0.tgz", + "integrity": "sha512-Xzcp+YPp0iakGL148Jl57CO+MxLuj2jsry3M+rc1cSnDlvkjNVs6TMxaL70GFeV5HdU2V60voYcgE7adDUtJjw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-arm": { + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.87.0.tgz", + "integrity": "sha512-4PyqOWhRzyu06RRmpCCBOJdF4BOv7s446wrV6yODtEyyfSIDx3MJabo3KT0oJ1lTWSI/aU3R89bKx0JFXcIHHw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-arm64": { + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.87.0.tgz", + "integrity": "sha512-HWE5eTRCoKzFZWsxOjDMTF5m4DDTQ0n7NJxSYiUXPBDydr9viPXbGOMYG7WVJLjiF7upr7DYo/mfp/SNTMlZyg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-ia32": { + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-ia32/-/sass-embedded-linux-musl-ia32-1.87.0.tgz", + "integrity": "sha512-aQaPvlRn3kh93PLQvl6BcFKu8Ji92+42blFEkg6nMVvmugD5ZwH2TGFrX25ibx4CYxRpMS4ssF7a0i7vy5HB1Q==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-riscv64": { + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.87.0.tgz", + "integrity": "sha512-o5DxcqiFzET3KRWo+futHr/lhAMBP3tJGGx8YIgpHQYfvDMbsvE0hiFC+nZ/GF9dbcGd+ceIQwfvE5mcc7Gsjw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-x64": { + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.87.0.tgz", + "integrity": "sha512-dKxWsu9Wu/CyfzQmHdeiGqrRSzJ85VUjbSx+aP1/7ttmps3SSg+YW95PuqnCOa7GSuSreC3dKKpXHTywUxMLQA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-riscv64": { + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.87.0.tgz", + "integrity": "sha512-Sy3ESZ4FwBiijvmTA9n+0p0w3MNCue1AgINVPzpAY27EFi0h49eqQm9SWfOkFqmkFS2zFRYowdQOr5Bbr2gOXA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-x64": { + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.87.0.tgz", + "integrity": "sha512-+UfjakOcHHKTnEqB3EZ+KqzezQOe1emvy4Rs+eQhLyfekpYuNze/qlRvYxfKTmrtvDiUrIto8MXsyZfMLzkuMA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-win32-arm64": { + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.87.0.tgz", + "integrity": "sha512-m1DS6FYUE0/fv+vt38uQB/kxR4UjnyD+2zcSc298pFmA0aYh/XZIPWw7RxG1HL3KLE1ZrGyu3254MPoxRhs3ig==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-win32-ia32": { + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-ia32/-/sass-embedded-win32-ia32-1.87.0.tgz", + "integrity": "sha512-JztXLo59GMe2E6g+kCsyiERYhtZgkcyDYx6CrXoSTE5WaE+RbxRiCCCv8/1+hf406f08pUxJ8G0Ody7M5urtBA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-win32-x64": { + "version": "1.87.0", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.87.0.tgz", + "integrity": "sha512-4nQErpauvhgSo+7ClumGdjdf9sGx+U9yBgvhI0+zUw+D5YvraVgvA0Lk8Wuwntx2PqnvKUk8YDr/vxHJostv4Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/sax": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.4.tgz", + "integrity": "sha512-5f3k2PbGGp+YtKJjOItpg3P99IMD84E4HOvcfleTb5joCHNXYLsR9yWFPOYGgaeMPDubQILTCMdsFb2OMeOjtg==", + "dev": true, + "license": "ISC" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "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, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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, + "license": "MIT", + "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" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true, + "license": "ISC" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "license": "MIT", + "dependencies": { + "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, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/smob": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz", + "integrity": "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true, + "license": "MIT" + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stack-trace": { + "version": "1.0.0-pre2", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-1.0.0-pre2.tgz", + "integrity": "sha512-2ztBJRek8IVofG9DBJqdy2N5kulaacX30Nz7xmkYF6ale9WBVmIy6mFBchvGX7Vx/MyjBhx+Rcxqrj+dbOnQ6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/streamx": { + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz", + "integrity": "sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + }, + "optionalDependencies": { + "bare-events": "^2.2.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "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, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/superjson": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.2.tgz", + "integrity": "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==", + "license": "MIT", + "dependencies": { + "copy-anything": "^3.0.2" + }, + "engines": { + "node": ">=16" + } + }, + "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, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sync-child-process": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/sync-child-process/-/sync-child-process-1.0.2.tgz", + "integrity": "sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "sync-message-port": "^1.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/sync-message-port": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sync-message-port/-/sync-message-port-1.1.3.tgz", + "integrity": "sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/synckit": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.4.tgz", + "integrity": "sha512-Q/XQKRaJiLiFIBNN+mndW7S/RHxvwzuZS6ZwmRzUBqJBv/5QIKCEwkBC8GBf8EQJKYnaFs0wOZbKTXBPj8L9oQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pkgr/core": "^0.2.3", + "tslib": "^2.8.1" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/synckit" + } + }, + "node_modules/tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz", + "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==", + "dev": true, + "license": "BSD-2-Clause", + "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" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" + } + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", + "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/ts-essentials": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-9.4.2.tgz", + "integrity": "sha512-mB/cDhOvD7pg3YCLk2rOtejHjjdSi9in/IBYE13S+8WA5FBSraYf4V/ws55uvs0IvQ/l0wBOlXy5yBNZ9Bl8ZQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "typescript": ">=4.1.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.32.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.32.0.tgz", + "integrity": "sha512-UMq2kxdXCzinFFPsXc9o2ozIpYCCOiEC46MG3yEh5Vipq6BO27otTtEBZA1fQ66DulEUgE97ucQ/3YY66CPg0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.32.0", + "@typescript-eslint/parser": "8.32.0", + "@typescript-eslint/utils": "8.32.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/ufo": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", + "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unplugin": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.16.1.tgz", + "integrity": "sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.14.0", + "webpack-virtual-modules": "^0.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "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" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "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, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "6.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", + "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite-plugin-checker": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/vite-plugin-checker/-/vite-plugin-checker-0.9.3.tgz", + "integrity": "sha512-Tf7QBjeBtG7q11zG0lvoF38/2AVUzzhMNu+Wk+mcsJ00Rk/FpJ4rmUviVJpzWkagbU13cGXvKpt7CMiqtxVTbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "chokidar": "^4.0.3", + "npm-run-path": "^6.0.0", + "picocolors": "^1.1.1", + "picomatch": "^4.0.2", + "strip-ansi": "^7.1.0", + "tiny-invariant": "^1.3.3", + "tinyglobby": "^0.2.13", + "vscode-uri": "^3.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "peerDependencies": { + "@biomejs/biome": ">=1.7", + "eslint": ">=7", + "meow": "^13.2.0", + "optionator": "^0.9.4", + "stylelint": ">=16", + "typescript": "*", + "vite": ">=2.0.0", + "vls": "*", + "vti": "*", + "vue-tsc": "~2.2.10" + }, + "peerDependenciesMeta": { + "@biomejs/biome": { + "optional": true + }, + "eslint": { + "optional": true + }, + "meow": { + "optional": true + }, + "optionator": { + "optional": true + }, + "stylelint": { + "optional": true + }, + "typescript": { + "optional": true + }, + "vls": { + "optional": true + }, + "vti": { + "optional": true + }, + "vue-tsc": { + "optional": true + } + } + }, + "node_modules/vite-plugin-checker/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/vite-plugin-checker/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/vite-plugin-checker/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/vite-plugin-checker/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, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz", + "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-sfc": "3.5.13", + "@vue/runtime-dom": "3.5.13", + "@vue/server-renderer": "3.5.13", + "@vue/shared": "3.5.13" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-eslint-parser": { + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-10.1.3.tgz", + "integrity": "sha512-dbCBnd2e02dYWsXoqX5yKUZlOt+ExIpq7hmHKPb5ZqKcjf++Eo0hMseFTZMLKThrUk61m+Uv6A2YSBve6ZvuDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.6.0", + "lodash": "^4.17.21", + "semver": "^7.6.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-i18n": { + "version": "11.1.3", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-11.1.3.tgz", + "integrity": "sha512-Pcylh9z9S5+CJAqgbRZ3EKxFIBIrtY5YUppU722GIT65+Nukm0TCqiQegZnNLCZkXGthxe0cpqj0AoM51H+6Gw==", + "license": "MIT", + "dependencies": { + "@intlify/core-base": "11.1.3", + "@intlify/shared": "11.1.3", + "@vue/devtools-api": "^6.5.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vue-i18n/node_modules/@intlify/shared": { + "version": "11.1.3", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-11.1.3.tgz", + "integrity": "sha512-pTFBgqa/99JRA2H1qfyqv97MKWJrYngXBA/I0elZcYxvJgcCw3mApAoPW3mJ7vx3j+Ti0FyKUFZ4hWxdjKaxvA==", + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/vue-i18n/node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/vue-router": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.5.1.tgz", + "integrity": "sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-router/node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/vue-tsc": { + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.2.10.tgz", + "integrity": "sha512-jWZ1xSaNbabEV3whpIDMbjVSVawjAyW+x1n3JeGQo7S0uv2n9F/JMgWW90tGWNFRKya4YwKMZgCtr0vRAM7DeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/typescript": "~2.4.11", + "@vue/language-core": "2.2.10" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": ">=5.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true, + "license": "BSD-2-Clause" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/webpack-virtual-modules": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", + "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-background-sync": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-7.3.0.tgz", + "integrity": "sha512-PCSk3eK7Mxeuyatb22pcSx9dlgWNv3+M8PqPaYDokks8Y5/FX4soaOqj3yhAZr5k6Q5JWTOMYgaJBpbw11G9Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "7.3.0" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-7.3.0.tgz", + "integrity": "sha512-T9/F5VEdJVhwmrIAE+E/kq5at2OY6+OXXgOWQevnubal6sO92Gjo24v6dCVwQiclAF5NS3hlmsifRrpQzZCdUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "workbox-core": "7.3.0" + } + }, + "node_modules/workbox-build": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-7.3.0.tgz", + "integrity": "sha512-JGL6vZTPlxnlqZRhR/K/msqg3wKP+m0wfEUVosK7gsYzSgeIxvZLi1ViJJzVL7CEeI8r7rGFV973RiEqkP3lWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.24.4", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^15.2.3", + "@rollup/plugin-replace": "^2.4.1", + "@rollup/plugin-terser": "^0.4.3", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "7.3.0", + "workbox-broadcast-update": "7.3.0", + "workbox-cacheable-response": "7.3.0", + "workbox-core": "7.3.0", + "workbox-expiration": "7.3.0", + "workbox-google-analytics": "7.3.0", + "workbox-navigation-preload": "7.3.0", + "workbox-precaching": "7.3.0", + "workbox-range-requests": "7.3.0", + "workbox-recipes": "7.3.0", + "workbox-routing": "7.3.0", + "workbox-strategies": "7.3.0", + "workbox-streams": "7.3.0", + "workbox-sw": "7.3.0", + "workbox-window": "7.3.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/workbox-build/node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/workbox-build/node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/workbox-build/node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/workbox-build/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true, + "license": "MIT" + }, + "node_modules/workbox-build/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/workbox-build/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/workbox-build/node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true, + "license": "MIT" + }, + "node_modules/workbox-build/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/workbox-build/node_modules/glob": { + "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, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/workbox-build/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/workbox-build/node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/workbox-build/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/workbox-build/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/workbox-build/node_modules/rollup": { + "version": "2.79.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", + "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", + "dev": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/workbox-build/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-7.3.0.tgz", + "integrity": "sha512-eAFERIg6J2LuyELhLlmeRcJFa5e16Mj8kL2yCDbhWE+HUun9skRQrGIFVUagqWj4DMaaPSMWfAolM7XZZxNmxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "workbox-core": "7.3.0" + } + }, + "node_modules/workbox-core": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-7.3.0.tgz", + "integrity": "sha512-Z+mYrErfh4t3zi7NVTvOuACB0A/jA3bgxUN3PwtAVHvfEsZxV9Iju580VEETug3zYJRc0Dmii/aixI/Uxj8fmw==", + "dev": true, + "license": "MIT" + }, + "node_modules/workbox-expiration": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-7.3.0.tgz", + "integrity": "sha512-lpnSSLp2BM+K6bgFCWc5bS1LR5pAwDWbcKt1iL87/eTSJRdLdAwGQznZE+1czLgn/X05YChsrEegTNxjM067vQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "7.3.0" + } + }, + "node_modules/workbox-google-analytics": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-7.3.0.tgz", + "integrity": "sha512-ii/tSfFdhjLHZ2BrYgFNTrb/yk04pw2hasgbM70jpZfLk0vdJAXgaiMAWsoE+wfJDNWoZmBYY0hMVI0v5wWDbg==", + "dev": true, + "license": "MIT", + "dependencies": { + "workbox-background-sync": "7.3.0", + "workbox-core": "7.3.0", + "workbox-routing": "7.3.0", + "workbox-strategies": "7.3.0" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-7.3.0.tgz", + "integrity": "sha512-fTJzogmFaTv4bShZ6aA7Bfj4Cewaq5rp30qcxl2iYM45YD79rKIhvzNHiFj1P+u5ZZldroqhASXwwoyusnr2cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "workbox-core": "7.3.0" + } + }, + "node_modules/workbox-precaching": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-7.3.0.tgz", + "integrity": "sha512-ckp/3t0msgXclVAYaNndAGeAoWQUv7Rwc4fdhWL69CCAb2UHo3Cef0KIUctqfQj1p8h6aGyz3w8Cy3Ihq9OmIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "workbox-core": "7.3.0", + "workbox-routing": "7.3.0", + "workbox-strategies": "7.3.0" + } + }, + "node_modules/workbox-range-requests": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-7.3.0.tgz", + "integrity": "sha512-EyFmM1KpDzzAouNF3+EWa15yDEenwxoeXu9bgxOEYnFfCxns7eAxA9WSSaVd8kujFFt3eIbShNqa4hLQNFvmVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "workbox-core": "7.3.0" + } + }, + "node_modules/workbox-recipes": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-7.3.0.tgz", + "integrity": "sha512-BJro/MpuW35I/zjZQBcoxsctgeB+kyb2JAP5EB3EYzePg8wDGoQuUdyYQS+CheTb+GhqJeWmVs3QxLI8EBP1sg==", + "dev": true, + "license": "MIT", + "dependencies": { + "workbox-cacheable-response": "7.3.0", + "workbox-core": "7.3.0", + "workbox-expiration": "7.3.0", + "workbox-precaching": "7.3.0", + "workbox-routing": "7.3.0", + "workbox-strategies": "7.3.0" + } + }, + "node_modules/workbox-routing": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-7.3.0.tgz", + "integrity": "sha512-ZUlysUVn5ZUzMOmQN3bqu+gK98vNfgX/gSTZ127izJg/pMMy4LryAthnYtjuqcjkN4HEAx1mdgxNiKJMZQM76A==", + "dev": true, + "license": "MIT", + "dependencies": { + "workbox-core": "7.3.0" + } + }, + "node_modules/workbox-strategies": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-7.3.0.tgz", + "integrity": "sha512-tmZydug+qzDFATwX7QiEL5Hdf7FrkhjaF9db1CbB39sDmEZJg3l9ayDvPxy8Y18C3Y66Nrr9kkN1f/RlkDgllg==", + "dev": true, + "license": "MIT", + "dependencies": { + "workbox-core": "7.3.0" + } + }, + "node_modules/workbox-streams": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-7.3.0.tgz", + "integrity": "sha512-SZnXucyg8x2Y61VGtDjKPO5EgPUG5NDn/v86WYHX+9ZqvAsGOytP0Jxp1bl663YUuMoXSAtsGLL+byHzEuMRpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "workbox-core": "7.3.0", + "workbox-routing": "7.3.0" + } + }, + "node_modules/workbox-sw": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-7.3.0.tgz", + "integrity": "sha512-aCUyoAZU9IZtH05mn0ACUpyHzPs0lMeJimAYkQkBsOWiqaJLgusfDCR+yllkPkFRxWpZKF8vSvgHYeG7LwhlmA==", + "dev": true, + "license": "MIT" + }, + "node_modules/workbox-window": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-7.3.0.tgz", + "integrity": "sha512-qW8PDy16OV1UBaUNGlTVcepzrlzyzNW/ZJvFQQs2j2TzGsg6IKjcpZC1RSquqQnTOafl5pCj5bGfAHlCjOOjdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "7.3.0" + } + }, + "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, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "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/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz", + "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yaml-eslint-parser": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/yaml-eslint-parser/-/yaml-eslint-parser-1.3.0.tgz", + "integrity": "sha512-E/+VitOorXSLiAqtTd7Yqax0/pAS3xaYMP+AUUJGOK1OZG3rhcj9fcJOM5HJ2VrP1FrStVCWr1muTfQCdj4tAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.0.0", + "yaml": "^2.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "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, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zip-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", + "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "archiver-utils": "^5.0.0", + "compress-commons": "^6.0.2", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/zod": { + "version": "3.24.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.4.tgz", + "integrity": "sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.24.5", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.5.tgz", + "integrity": "sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==", + "dev": true, + "license": "ISC", + "peerDependencies": { + "zod": "^3.24.1" + } + } + } } diff --git a/fe/package.json b/fe/package.json index df26301..a1d0de8 100644 --- a/fe/package.json +++ b/fe/package.json @@ -1,34 +1,55 @@ { - "name": "fe", - "private": true, - "version": "0.0.1", - "type": "module", - "scripts": { - "dev": "vite dev", - "build": "vite build", - "preview": "vite preview", - "prepare": "svelte-kit sync || echo ''", - "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", - "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", - "format": "prettier --write .", - "lint": "prettier --check . && eslint ." - }, - "devDependencies": { - "@sveltejs/adapter-node": "^5.2.11", - "@sveltejs/kit": "^2.16.0", - "@sveltejs/vite-plugin-svelte": "^5.0.0", - "@tailwindcss/forms": "^0.5.9", - "@tailwindcss/vite": "^4.0.0", - "prettier": "^3.4.2", - "prettier-plugin-svelte": "^3.3.3", - "prettier-plugin-tailwindcss": "^0.6.11", - "svelte": "^5.0.0", - "svelte-check": "^4.0.0", - "tailwindcss": "^4.0.0", - "typescript": "^5.0.0", - "vite": "^6.0.0" - }, - "dependencies": { - "idb": "^8.0.2" - } + "name": "mitlist", + "version": "0.0.1", + "description": "mitlist pwa", + "productName": "mitlist", + "author": "Mohamad ", + "type": "module", + "private": true, + "scripts": { + "lint": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\"", + "format": "prettier --write \"**/*.{js,ts,vue,scss,html,md,json}\" --ignore-path .gitignore", + "test": "echo \"No test specified\" && exit 0", + "dev": "quasar dev", + "build": "quasar build", + "postinstall": "quasar prepare" + }, + "dependencies": { + "@quasar/extras": "^1.16.4", + "axios": "^1.2.1", + "pinia": "^3.0.1", + "quasar": "^2.16.0", + "register-service-worker": "^1.7.2", + "vue": "^3.4.18", + "vue-i18n": "^11.0.0", + "vue-router": "^4.0.12" + }, + "devDependencies": { + "@eslint/js": "^9.14.0", + "@intlify/unplugin-vue-i18n": "^4.0.0", + "@quasar/app-vite": "^2.1.0", + "@types/node": "^20.5.9", + "@vue/eslint-config-prettier": "^10.1.0", + "@vue/eslint-config-typescript": "^14.4.0", + "autoprefixer": "^10.4.2", + "eslint": "^9.14.0", + "eslint-plugin-vue": "^9.30.0", + "globals": "^15.12.0", + "prettier": "^3.3.3", + "typescript": "~5.5.3", + "vite-plugin-checker": "^0.9.0", + "vue-tsc": "^2.0.29", + "workbox-build": "^7.3.0", + "workbox-cacheable-response": "^7.3.0", + "workbox-core": "^7.3.0", + "workbox-expiration": "^7.3.0", + "workbox-precaching": "^7.3.0", + "workbox-routing": "^7.3.0", + "workbox-strategies": "^7.3.0" + }, + "engines": { + "node": "^28 || ^26 || ^24 || ^22 || ^20 || ^18", + "npm": ">= 6.13.4", + "yarn": ">= 1.21.1" + } } diff --git a/fe/postcss.config.js b/fe/postcss.config.js new file mode 100644 index 0000000..25db2f4 --- /dev/null +++ b/fe/postcss.config.js @@ -0,0 +1,29 @@ +// https://github.com/michael-ciniawsky/postcss-load-config + +import autoprefixer from 'autoprefixer' +// import rtlcss from 'postcss-rtlcss' + +export default { + plugins: [ + // https://github.com/postcss/autoprefixer + autoprefixer({ + overrideBrowserslist: [ + 'last 4 Chrome versions', + 'last 4 Firefox versions', + 'last 4 Edge versions', + 'last 4 Safari versions', + 'last 4 Android versions', + 'last 4 ChromeAndroid versions', + 'last 4 FirefoxAndroid versions', + 'last 4 iOS versions' + ] + }), + + // https://github.com/elchininet/postcss-rtlcss + // If you want to support RTL css, then + // 1. yarn/pnpm/bun/npm install postcss-rtlcss + // 2. optionally set quasar.config.js > framework > lang to an RTL language + // 3. uncomment the following line (and its import statement above): + // rtlcss() + ] +} diff --git a/fe/public/favicon.ico b/fe/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..ae7bbdb712f8ce9fe49761b68ef3a2d4c51606f9 GIT binary patch literal 64483 zcmX6^1yCGK7u-AC4+$=Z1QML!ez>~@5&{Hw2n3hIA%S2axChq+cXto&8vJnAKVSV@ zwYAf=JJoM%-qz0R=>Y%`fC2n>fB-0v;Q#0%|-qV-P;L{Q0i9$->LR^0?O9!tMH~cJ-jn+q;R-tGJlOZ~70Vs9813qfq(> z#QaM3Gs*4nu%bU&=7i&BU)9(&<;VmjFL|dAU(o(_8QY{V=7qse{WpZid*|4syaH(7 z=1r(F$BM>Gu<-5;Qga1Ux}4FaOr(?E&nvGOT%Nu~GVVnvRf%&Q!Mw^iZ~ZT*?%4f; zR(1WC>t*r9G}et*m0Wn_T;9^RR-p}#D!(hdX>xm70aEC#zR_7MXMDKMT~*1MJ-1$g zox9yVaNQlEcs-+zxbM1WPCTUTxN`q>e85{>KmOx*Q|F59%SsvlZJ8_JgLApY_7c*K z0rRSn2L~NdN{Xb*#e&J=#4t9ML5st2R&qNe#d!oFVb2fUrB9lzE0LzmkNSDdp# zjyd@`#}o#VR{1B%}j@x)Mhr1saR;Sx$`%>(;-7ol`3dW*r+iTWRob2mm-?Nk_ zSEL`WLtWH@SZ+wAr7D91oMC)&F0M`Zv}UzIQG{#~d6_F*!D6c^+X_6#xyOFPk)PX= z-ILSFuxCeyt+?G^hW1|n<^5_+Q`N;;&&F9DGd>%7@MkvCHu1h)bbV#PIhsmq_r-Oy z@$Ug3s{hl+g@gHjqaQ;byQg0k{l-^Vcz%YSF-iWpEqcX&l$lrC?l2=|zQfG;)5vb8 z6YZw?$l5$c_->6PDU5SXOz39CDY{dw@EzCRN zzAsfWC0wRF=M?yUFV+z{FXU3yHj}G8XDXiO!l*)nRJcP6Pd$r|qWFe*Q6>mZsBP&j z@Mf@W!+5(5WM{=)p}j7Ulw8426nq`0EJX$K;jt6t3-Yfbv&YzTuW68}T?Ga&j?g6Q z5LX$aCl0MB-cgkn1Ox2`A5{uUxT;(2XS}{fKz#ZBeH6*K7-QDpNnBBH<>R-ZV)UsW zT83-c+_*+Aem7a?M+=SZkN8CKZTjKjqpqI+>;J13QQeDZo>5}5LAk23`L=yR?MBKR zaayAy^kbVRr3wsw(K(&{W@Hy?qcV4C@%xA?_aNjt+X4zEwk@Cav+Ld=AVGE`trbkk z9Rhv)<&KZBK45hWw~w}~Pqr(ORGI$ep^`OW*g9~rXQ`Rd>E68k)*Hc*G%$ud)=P}M zz)vVPln=G~rW$51-s}FbXG5y;bH3FUKjToDuZlmp)lF5J%~b}nIlpVkQ>sia@74S7 z9Yqdv5m*$a{f5mEPh?};JUlQ6-8X@kKCM6m@XX9q@a1|8bEwT#vo&FY{+?7h`cYuk8V61 zxt|_*)belh5;{}NR{4p8R_~BTj&+8NTD92fhG!~nn$pD*SJyriC;uBWO2Qo*5s-;3 zN+Y|ZX7MTOC3m{G$Ee5lX=my7E(*QP&H;f=q+5BS`1cRuk%*hic?4nd@<(~)Tk-N2 zE6xMLFb&)zkc^P}*A8@J1J2Wt)xsaCPl+O@;y!4rJ&q^uD3SW&=or$Fb};t|cgeTB z>;kmJvmvvXc2R3m=aKgY+Zj|6g)d+7$*F{;v*|kQ(5qaVv-oio`yoihtu09``dFTr z65KV7gW67?Da3TxcAgDuGMu7qL@&H_=I&W_Zf?1X>u-^DmW)Ys-n+2qymuzlG4L|f zF>vM8A+Oau>wex9zF~hxZCkbjQysh&+NQag6F?j7+39Y0Da!$tt1!A)i027ezy#Zq z_t$LbZzeO{qNV7Eh}w03b^+KiQ!pVv%+XX~;zhbST)@*g zcpY8b2}&&Kypk)~xDzh<^Cnl@y0u5gdX%=f>=-(&yQ{Vrj>5fYbv2#&Vn^LRPf+LG zB5ZoblHDsxDK47kfw)3thZ_Wpy<^*QxyH1&+?(C!0++;Tvm{jDCKeYb+pk+}aI&gb*V?N6J z^>x-KtS+gZ)>EZvukFcV&h?Kv5Az@|v`oujn*;G^6XlQnx?U($d6Ms?-&(7T5mF*hcn2ZpuZEPbO(Tij* zboUiLV71+@=)btI*=bTsl^H&ZWIpu%#_UjE!i-}WKx*^hW2qRAl9yiZky560FR~VS zKIqu)@)>jK}>-w`g0vw;U8#_cs5Db9!+wq>j%jO$SE?iSg7hDzcZeAM-GoOASU zR*w*CDO6#Mppo2U=_z~Jr5TcK$751yf1^&}7~N~ohgiH#rlR`alUS3R8w8CF3kk47ZAigzmf&2>`Kpwp+bJ(G$v+5 zz?ya5P6LyXxU_Ij3~ja>_0;e)`%1RqT{GHL&$-j$L!u1vstMqp0jn> z2G?|^prphlsW_KGGb`8a@?VtUr1kOq+{3I7Q9(25iVANT`zEF_Ka+KEIqe2NpR z7>oIF*K%yj>Am$$@s>oNsv0vVcZ+j5Z;X(UUR8$xX$@xkTt>tN-@C@^V3r)qBmC>w*bO*ew6;1P$TPpox>sUaRGJW6B zX;?u~e96m8BFzo6ikrdBG-3Ode<(s^6d<5kbxHXB9+d~j1WAxHtD?PPY6^LuKTi8; z&qg&x%k*XAJmQWo7GrbhNP3jjqd`fjv`oiG`PUwy$mOL)t8D53KI$en=RrhG4|&z5 zdNnIP@;pX>Kud65ANh*Cs+6rpe3qaM&)~1k9*HW<5r5Jew(jz1#z3>No5Z#9nmyYiZq5emGrcvqMwZ%qq zyyD3ND!Bd(?&4F50{(3@T$qyfNp2DlZJS%l)ed*0ns=JMdF9ZKY<;wKb;d)xNqEK! zOEN_fBgwG6nt+&AhJ?41(3D)8(f}x0PtM}@3FQ?ybQll)XjXq(ilebG>PK0l|IycC zfluCsC}=ww8ke>MHxa`Qc?+mLf>6IvX6Zq;FD_s1j$0WjPf`QAyMsc1HNH=A|5b_X z5u2c6z5aKv3cr}gqn>$0^gG!H%fncwwVy9tM2H@~yQ+Xmp5|up39)MkFelE*CV^2& zFAEPhk5IuR6xxvh)X%|dpYv5xbyH8aUdtAqnc~Y7=O8ZnBz(l94OfY_iQI%F2nq39 zwEMWUrh-n(x@mRYJA&WaNhvD`3vype4i#-M=L*K-V(`58aJkW*7P@tq_UhFt{@bai zJ(O@<{G%wd=!dvJJ_@+u)b=it`KtV$LvU*4&m6d5RK1MQQL7BiC=b&+BO7y(QZ=uw zsqoJy3iZ1q0@~bPPSEV2>z|^*`hNMJDnkR|tD8P&%_oPu1}CgR;GZJZ0h~s_h?*R^ zfqf`Oi(ECPQXISN)LQ($h{lZ0s(jzL;OjLo9jry>D(TfMj=GD9{W1NS_(d3d6Kg!d{e%)HT3Hw zqvg;{ODa6=I>$zIpIB!OL6pAHycMluT^pYxI>?$3O-aYAPyTN8vAjK zbp6FLV}&2`8P{gv;fJ-(Y9vTZ>Y70;9_uPQ+Db922*BwkW zVh=k(Tg0SVNy6D5+3jyw_TKWLTf(g&=f(jNIrwk`Os7K2i!^Fd7T z@k)w_f|U7r%lnlza>IR!0EPLi8ZqE)L-(6ymE7|S07r$*uDk+g}2Qc|5Q-x0?Eoe+9+Buy`Et(Yum5Kd%}Z8!A$(g}UOK_?FLn znGt3D3+1asz-JzelME{)9zX(+42FMVf#vpSV#D!rt$h@@ZBLA z3Ws2)s9tlfBC^g1^%|{PnE@vp#ufDlir4#4+_Kn4^$U063nw33g1~rOgQQUs&Wdq6&lZX z19WNMx0=E*6lsYUCgDuuxpG7Ua&3-yie8T{_XxD0pSYaQj^!A|O9J?L6kPuQ$O9pq z&^&3Wtd|xB3e-v!7{h!ciUmJFkymeNvxG0Ys~#B9Ubd`*J>RrpoNI{GoeZ6Seo3iU z`dNJYKVp2avamb>MLW+6W9+#eX+Oz!_LnnRba8C`B7Y_|L*qrCgptEbCcOOAwhOMe zs$U;ElV6v_|DHeUe^3F9%S*N!GecAYYF%@6wfNULkh@tSTQ&hC2idU!0fcuuMNZOOFg|9+mtO5c71$i2=_%Dxqy``~|#1v*eNlwgDgT z)3=UK1yGMJ+2*5}y-p3awk>fQD@mxIsZ}EcR2kB#vn3j|1PG7`*EQ`Zxt`Uy>Iy_ zy5L%|5YKlD`;~>7$y4YHz&s%V^(*j=wXi#}IXinQw4xKc6J2(@Vai*Sn*{8kR!tI& z{x}&b~@_dag{?8!|a%({}XdUQ;qZ6YX5fCST!fLiB=Hz+CO)Qz#*z@N&BM zbg*#1QY`OFuD=XCrz=o*2L#Bed9&-f!li=y3DM(1lou-7ATi1viKXS;ol=);X3-tB zSX2Jr?!O`nb9}sR(!TC-_oEY1J(da0+^b%k3@b#t)mv+C9^~Hh}s-gZ!?~`(xfx{a&b5tW_LVc>R}g z=9g}lXmGi97NIwlGS_cVBnvVN*@AYf>Qq894Ob3&AE18SN=3@?C3otj6CYTxYN!SMtE{^u$q87~17)`Wiy!uiUc#8OpkXl73 zEl9KlNZt76mbs^)Iz@@il1%u$wW_l=qkZm&kFb2iw40gBhk4c-`KMGQeZAIu#DO!N zERgoH*56ecW%j}Y|7DE-%rG1SKV*mHqvz#?G@c%&Wuh7r=A*=a>!k@fC9KJP zfuXCsWXRpx(p%<>N~m#BFrROr=yGmg%J&5tV+$d-LU6zG$Yj(A7pFHckCXtBtC(V1 zQG11W7MoNd51Bq`X_h=e<+IiaKC&QrfV((C`iw|h^90mKcsVZnbKBk-+@T0-mqon6 zhzgZb+AZvYB`CRE(>NT2P|f50D84hK2}VU*&7Rd5Yk%=sK&|;s$Lr!(=-aU$GlEm& z_(Mgu<@fPIYip~;A)y>nw#$hq;2HAOq5>#{wr5t62Y!u(Z5US}Tmu230(B!S$n2Bw z(_7L5-S$qt_fCNa$9;u#Rol-?K3vve5Z!KJFWa9DXmR?t1#~}z2u?%1#{IpIJU>4p z;T28K7-X`y;vK8k&<#rW_N^{?#Bc1dJW0R6t&j9t_W$V)sb%6`xqValwnG-}p(l|JbGjHHD{~-oz{R`aj?QYTWu=GF6Bp8xLfBouzCms)5Fwb8b$4 z-VmBGur$3K?}{$2TY0K8un6IOE5H6+6b!#{1O%x`R{Zke6F>h^;L6BT`e!Ge;WECT z4bEg}qEQjX{$^AYJV$1No8n*ZwLQNB?tEAeqnQ%iF*I{~B@{j1aRwdy)XUGzn-t)- zuu({*bMUVq$A0a5^T(}h&u%u%J@W%rQ-+<$eB;+>Te6xDre#;AWyk(-Opw)Z3a^sy z^W$}gm+6wrF_O(9!d+LUaYr4pWlKI6Suyrb^DAp@^WA1oqFgzmW_DHmD{Cv*7Az*2 z#rg)ev%XEg_W(*soAefeOYN>%3K;N= zjq&p#Oz2v@RsN|(y$+WyjoF|M_LyGrn7JluF4vTv&wi@dH$PWGxEkU{1vUH-p+ZU;suUUk(!jn2)4jcB|N z5N>9uiTEUnk`#Di7wFvn0S3SB-z#;~0OX7Y+o3=0a0PbIx~T#=xGPMiY78ouPTdPp zj{hbeI5s~m9$}Vza4?Bnv9Xc{>L8*Luzw^vx z_kOJW349l4|9b(!@>%B1+X%{qcjl3*%L&SSa=jcbcN0}YhwgpIO+_uewUssE(O7|d z{w-3ERwI`lBOM;C`ER>N9aB@I>-NcWweMYj7qRyCaYtjldWZgA{8E-!v6Xi7jTT@S zfw(eltpP94dRY0^z#;A9W)Jw?&P{jYJmQs`Pe;Y#mrj;U-;3%Mm6F0}ob6;ft7)2j z4qg{LN{rNvZzxMk0*3gKx8-Wsp|}lG+f9|T`i;(vv#}KU!zrhmeSx|G%-p32 z+S#+u@{D<7<&G83&kdEm_BN@`!YH;@+`50{36ReyI2mUsHOP}tPH?oFkisG>rrq9? zh}>JIeg4osB@oT#x-m;Ii&>DSeClJ$cVpu(k;gp2W3@O*1mRvo>oTQzGbS@pb6|6y zd02D5SS%jyy1=SqU}I)8-6qcMPosNVOgk(<`%hzOTlLgKoDU)0%vI_M6N1fEp$h}` zJ=gsRogtZu*HyCmmw6TCSZ}6e_gUXRkS!x|waO}}&JwVN7snJ;cQT9X8u^@>Lt(n%kQ2oDq8X?Y&1>m)fv=w9bdYiC4e0!e>9o!SQEayY@fj_xMR ziaTt+Nnn*EkF}9`L^O85&{x1=RxIRJtgKTFAx+CpZ z^|J*+5Z&4?y#&VaB}c5Kk9KYMX})=b{E&z%YdMHSE2;!ovsx9m-Rmb0|v15@Iw z!ztzuw@tR7UWV!eVV}-GJ6Xta0GfTq@aOORR|5122#$s)In~Lg@2`1I>+Y433G*TC zwWYackmQ5osn;lo7VyCVs?~TVzHKc{NjsM!q@; zlVg_Byp`kD?t6dr&_)dpADR%CESKAWhsbw+DoaDmqnqCkxK>$-10{nPL(_e&?J^ z=HuJHk+wkdJ$;z}X-!(?(_fJ237ytnPN(~_g{mfQ}urZL4bD~a`&P&61yga6CTj5DjGrFh;+y^nrr z$HmvL79%?gUZuP-ey#te&FU?S=BFwC?=%6iVf#i=Lf_6UOm+&K(ba_3w~V=+X28<6 z$RmV^AhaZspG%7)L^lDRkY)ix9NcR7@CdM{Lwxi^NO1DF?EXx}=o$71?qv9kZIfKM z|1ZT62{Rd1hU^B607JLbUd;k>C8fXT8}T?r^e;_3A9>T4;t4egEVbj1E=HRMtVZ-N zkN5SvABAcNV9xQzh|d^LEK#qaJW?WSWhirx$nEj998fK`b}?gNDZ-J+zYluiw0qDR zcK>$?+xp+*&Hq5`GWd!pcTyc&HI!JJY(5e}l`o(d)WJ`2NxT*5&l|Hk)~}|IQaO!g zh8=C+HpO@0bh(vZ<>SwSsZ&qQ^yTLoWRa`YM1T+D^`KtIExtTiW5$t6WdU!{IBnDO z9C9H?osa+F)8;qDn)|ORjjN!r?OK+BUt;%%F1%wgJ#Xh+6Yds2jh;`CI(`_&0}0u^ zM1>4sL3QZwu{F=x>q%#aOs6z29joz4z-UyTkSDVeUmM$ky0Kz$rH%~X0k{XG6cgaz zI?uw=jmrNjG?E=7*`_vzhpbLK-et|1WHggOuII~{MVmF_!F?$k$CnZ8crMpkxfU=3 zHt6U>IE~RGNRVolN7!F%*zx#@Nki4AMf+Kn{Isy0DbuHz*zltas^F;#M6n1Zi97(; znuRaQQ`>fr%m$Qw?nve(J|uX`)Oufqa0J9e({zNE>!KTX<5+Gawq%mdvN8)?^+56R z&5T3XugWSl`YZJ@0EM%Fs_?s`gddCT3@U$3&(S1nIb$?Fb&lKcVTdn#cGmz~j85yC z!~EK8veFRzN?(weij3<=$U-DXx}kif$OZp|;)C_x1rTHJ0~fq1M6Pdocg4^sZ@2KhUi^<-|IMs)pw;zLAJTckiM zsJH*pZ&3e>7;XoY4kpsU>GU44lZ_Ib*GY&|VF4ki7LHeCYD6LpaCi$H5&f61zFqZg zc&BHhQ$huI2MDu^@&0&D8DQ!2wQt0gzYI6j5aC{``R9S!7r%blt<@J_l2#balyUIx z2}1wCAiK-fNn4JxyQz&kp+8*89ApUhs$P6>+v~NT8=|f?NV50L2Gg_0K zm&TE|^R)r5*S<5d7H!2*k$%VW7DD2U{uXiKz`R34iD{7Xo>=QS-Tirn-hmH?@!``G zmqzS=MagMS(^Td?cI=6NYwTHVQ_M;1dq=up`9-V5Fl&Fk8N^A^!XgKw7Va>ImU5{E z#kT=FDijyIPC9l{&cSJMZi8=Z z^k}*v{!7eH{apiyJkluHork8`+iRV7_Dx6}9xF}aq3Cdy@*FUY>E>s)k`=0x(g$&87H^9-Ac=S3rg z|G3G1p(#^|mYR5KcAMkNUAC!Bq)4P&!UWU|8lJG9Ib}z5kPQQPZ~TW`6?avD~aRaZv7m6 zp4Bc}aX;Cc$M@&hT3Z2KZREbQIu?yV;Qt;O zw)=g*z^`$Brg^+(?vYCxc<&aH3&iw7D2|9_ks9N+Yx9jOk-tzJn;bqZ@JYR(g%8RF zi#Mg*P%D}tW{moi$5mkC)WhhQ1h{~${*+0f$w2p zZoj(ci>s8X*+v4kpy z9h&^Pyt*Ytv|NpnnC~U1<9R&Chb9Zf;`7cS7$j&^u|AME8$p($CbuAUoNLicd~75n z9I!t}b^jY1TQIRGV%TMBa_k|BH=v%IPl1%DGu#yQ0pp2I4%9x`n*jX)8WRvk;&rs) z21Kw{a4>`4uXjq;A3MiR8IgdXa2mPQ;`F!uKh72&cd`OAFX?Uk+0da=K!5fQ6gZ3< z+ek7>jWK2dLvf?so|GE7m}s%*c^@w=E=rMu*KQQ7YeJ7hVbH=)ciwq4Wx0MXa~hO> zj|&X6J=v{sbl8{VSG>@VoiS%imX&vh?c-$fW2pp#?c6C2l$b-3=kE(pgWOwkK={Z0 z7GQ89faGVZH-}Cy{Hrj= zUQPYkF3{N2#O=>3*+Gnsy*C16n(@V8{M!00zEQ5i`NGZ>x(3WutE)*sX2Gh$K^wOi zbND(FQFfG8SVm>HZ`qNNnbzXud9u8=`S&G->u&ufD~?tLe#g{_t!|L>_Gv_!TWT*t zdClfD_r;%YV@ULV`m=?KjN29su_gNH?k&BZ1iuPkazgE;v1pd|x}MZT`sv!2%m6w0 zkc!2CEwA)8gxp6t<5RKM-^>c#Da?Iy>bVKHJGvq@inig)Xq|FA=!axSjO}zNccqs& zESwNnLBSK&Lk}HoyTsl~^iDL2Fd>x9a6B|}dw#yZl(>_attZk!Zja)B?h%}1`B;}L zPPyQ-xYtn&g-mA(UHtCCvu|+ucFliQ`U<<=_pQQ+!nbaOU+dS#gd9vhSMNAz;fu1l zvN2A#)l_A1IkqfTCg3KnmV3OWq;h-tl1^m#ZzXNpqA+8v$XfCPea0b0K{~;r2*)5JK6&+-NgEwU?}mdY+y~*<0}_+ zy_;K0g{uo|TT}@0(rIE%ARn)5_b22fp=6~x^PhV-Yup>7Fj!%>Lr^-D>&wl8S@ysT#rS4y%_iUeoy2P(&M%D71eP{G>_}W1D*(@A@Sq=8& zrbZ&$Hg?N?YEj`gE2c0uqhV2AAOfaUFt{b9kXo{8t~pZ8yqGWdQm#lw#Gr%XnB zTt0C!@;E&Xn5~E}_9Sj!GaYOoQDBto+{G!%gR4Kn#>Ug>?x zMA$tm{ayWNJ6=()y6u)GDh>EtO!!Y{-G&N#e~wQJ$ZH_hWFu)V zeFUi^;0OHtpAY{gwOuZ6U!?e2NkW`D@wvuDq+|NPX6C53pqf`!&Gn0fe!^-asBpXL4PnN?lJtuk`PLP(*^W9Fx`J#)O$ zA5xb?0D&%1J}*+==F)O zm_>j+Dy8=Wks~+k2CaE3g8Q`}{C@Dk`^DLF&l8REx#>>1IKdNr5h2>si6?wa;3 z^RqJu9@cQTK(Twsjt7cCNA_HMQT+Fh|1VwjA(7`59{S}V1&=QM@SSkgu{URbP=hUK zJTFeayp5Y?MB!3Lcl&hhl;w(dCs2r6x{DT0^z3T4wt6zjbAN&U9P-xH<;e)~qMYi)$`I zHS7#`Ue_72O@CMo%RP;&Kqgi->wX)zO(hpnyH)^A`v`K(sDzrnSgSNnd-?P8upp@a z+w=1wT>kwcN%9YtE_q2jvc~U1=ZEJ~!3HIUt}E##e?{DvJfrnUD+MXsF{LnrNt!Rw z7imvfo*p)NEZXXth&CT-Uh#T%$P}J3rL7UO2^;06A^Q@qA)!|=2?Nve zC5N*kp#F+r!?q1Z^4>w(r`6=*{DYpwsbbsGf`!){MzU;gngh+U{9E%;hg)LY#p}22 zmdLVstKK1Xma>!)R+}8(!Hdzp3w0IZk0|bPM2*Q?B9C^6ytu$}az|GDINm?_t(_BO zh4+I80eZ?beG;#E$gm97yLFr`CO>Q4QD203MVg_{(EUQ%JgAub3!d^`kVZG7mN>vK zAQd~nTrVh4n?QB_rIAXmqQ2_*d{1RtrJ#Fl)U74K z;+$v&c#t-io`bH!PrORO>fUIJ(-CZVXL!qR0Gt~%udTYvg2*~-`$YykcH-O0RcgYa zlfhQYX5UB^SuJoh-jdexq?yVowjn%UiA>rBM^lyjM1lfmqi7;#HifI1z_AXa} zFv*0dQPS+~YSyU`+8|4Dy>%Yev{5ST*!usy1*^ccD5RDah zaGv>lpS=WS?<|S&j|QLHT;#HjctIV;jnQ70(^jvo$gA3~kj2k-BbBF{L}uvK z&m&+H^VezTPyMv7X9HH(>I6`~z1)^Kx^~!!jycDo<^0)I8@oL%>q$Cw!EUnQ^3e9P zO)W}4#w3D)oJctJk|_lZ=MFNS!du4^ ze%4CP0G^l@R=!WU!!YxgbUg<@3DqK?`}<;k?F$@oQ#k9T)q0B`SpM0Be@CY?O)MJz zSifa=_{~J3{G#?go%v88Vz5X}Bg9Y*m+5K6`OV`qI(xbdN63c3q7&BTAITw&yua$c zBIw8qGWzoB>7rO@LDN|wlI8)BKW}#h%8FzeT96{@z?ZAM1X-SU6x*l2uhtP%1Yk-X zVzEM90KGB<1u)>4)>D*-4f4IL(bC$%nro9Ppvcr6=QZ&o@GH!QGjkwqEAetJoIWcZ zu#*Weeq+O(Yd%`;?cSW@k28wt2U8Fq)8t@;{ZM|08aws(XpH5?`-qmibWvl|aAs&T z`^0d)#B%6~iV^?VfSOy~u9+e`P-}qzErbS`)P=w_&3?`p7^4$4dQ|U~+P+dB)4vSq2W7(dD4pLn3C;X4NO zf$bFdLB{P8;e9BS3{J?QGO&Anw)Qk`;GJ4MQ`L?Cj}J~q`f@f+0vNu7Uu6L0rV!nc zToNC)B%>oGx1;J&wfpN&%4zg!w2%-D`WpA{eQk6pVL_yiZzDKssnU>t+wkY3`2LQ8 zn$YrILU1A2PQ?nF#DVMVho3aN#+@|90FPmAdUZO`y^P0-6(9?^Dt}C{@d|r~3j;uY zqQb_=;N~MN%UiUQyBk6^PYhrY4_;muv`urQvzZ>&h36)y?J|FhsI}JrD=}A(PAWi> zinR2|=&e=+(b%p(TQ-IOex1^p34`nHEuG>0`>?N;oeF>zHsNpxa{^`@0_F(JD8F>}x zZ#@pI%R~bb0*>gLy9Q;r455sl7_Xg%V?b2EjU7YCF_gd&Q0fAZ_xSyJJlgpw6sS>@ z@@2sfzNrQ^R+CFA@X>zeyBc34v+*RB4UvRpV(qAYja5%4hGmgbAl7G@hoqEVl{Y3! zR5`@>;0coe=|PX5K;6jov?%1LDgRpf7Q&;^4mW|u{7Y&w-6QMZuD_@D1Un@y?b6Inz zTcADsQ}Cz$u*A3w7Mv@gY6R6m69lWoQZJ9dF*Z|~w z-=)}q*Nd-GN`E2+^$Gl5*Mu;D;hw1;OWU`cI7wN7`R>ieA)sZu*Jppg2;DUJ zM)ll;>}(m|OLL;8%lLAv!WJ?(gz4-ewwQ&?uf{Hk-2KZ2xf5G`zDQhdPSl%i^|HQI zGDP|JJP5>S=7S|)8i!IE9F$Yt1bpXQ!x}!2;4?0Ky3V@|oyM3OaihC@-3_v$1VPE$ zX+|dyJ%}yhOxh3$_odH{BfP-km0YV>s1;8QG2rI*vizmH5uCH##x!@%9=Ku#}!l)6>p4|p*Fk|4P5+OY=)AkPq&k(W1%6TnVkJi(ba(4U}Z zl-bw^v$U$HX~}GTU#)eVfw4i2OsKf*M<*0%=H0lW1}f67Dm4yQ4I zcwA+X-jpv^pd;`a)%N8Z(D({hj5e48b65pfdWd3XYcv?gC|to})Pl)6rnuQM{79Dt z`nh-(Z0$#Y*MqU+nOj%0Uh)V4wOr;)%%`E?gW}0g#0GGN>R9+h_zcc>Y=-o}@V<6i zYA{SHD4?(7;4c`4^Yhw`Tb&=|H2JJ;J*SBCLOcQE{z6rA-nRq{DF5b1?GEQ)EHfFC-f}p#7abI&jkX5@5ivg7}`u zs7(UFuk%P>v4Ef!?fRBR5P|lyRucPXJmV9>rtyLgUF@Wtyb;i0Q6_2~?{n5-gMSMM zVckoZro|9IZQtd}6$EhskEV|z-xyriJF0^?H=Wyr;EGbDC!)nT@Vit!($d!evn?pZ z_X#rcRjmZ&EjjEMAD|^yM-_wj@_=G$+^<`RRzG4SP){+cF z=jUkpP|XMB28}E6z{ByNgiOYp)JvW>2@L28UV3(g@2r@!@jmmvKb!>i8 zE1;wpPargWt{m@V22f@`c}h&NXB-IfEaKalN zW0&jDk6AXuz*ukcUsu*1SX1Vp`sR{j7RX9q^<<4czxz`z;>#l_J&fkzPqGI0v+? z8~Pee78l%mNCabQm8>BC+pd!gI*H`?jk%8M_jic&2L=or%oEYcH#L)LmGAx?>Dmbf z8DaIEcAIL(r$1PJbA;uwHPPpyf`^69 zDDHMRD_NCm8nXJZmZ!T^(oo zy*oS~^TuZVw|}uc%f!SU-sD>k@o$5b>(F&4USrrQ&lWgA7rjX+m z&t1BUrqrBAB%j}ans21{DH@K0^Pvz{z}k`^AL;}ntO@g7P{Vg*es$YQ#U7Z4jPMS~ zh2!VU&1q;_oBz5@Vo@Kpf1FBCIjKyV(H}EHY>#h zOGVZ(Pwe^O>(MefYZMKfJlN~-oB8_T40mR>)8Y)a^xy!$-JcmX$jR-QJ3yg+lOuH+ZFA0eHOCdW+GsRh!9x2<12%6wJ0=*U8JjocsJRuWeERWOmEGn% zIoRXNWbguhUac8@?z&pDp4$A=Os_puLqopnBqt7kG;Go#{YygRCaj-;iZ@H^kX=KL z5lCKxhIa;_j{9Vij5ATh`02g(-x>ESMmgu6v_-?H^I#nBx1o+v=^n?flnSb!xYYZ& zu=G#k?F`@zeQLh9rUfCgUwr++c`Eo6eO&VkFH4s#uZOGO05{$H-%`JxWx5N<{NS-q z-$f#nCeBA-H2S9MwWJNhw%RAu+6-x4GC$|DGdB}sK2F?Dhs4&RFXGF3?s%cOO|nlQ z`wdc7>5VdZqu~8x1X|bRF?aN$2+b{03alx`#2l${2W;o>8iN(1SCC{pVREk#LR9z7 zz!wYEh4tHlgr#$Y&F%?2t~@a$=p|HI9@KPa*nCK8K#)QT86DQXVkP%k@ ztI_(E+^_I9$s_t-vF(G_@F;(59w65TNehxSd-}cKZj@262+t*~jK)xBM3;{T?7RFz zb5jSSzp^+EMo6ZGBvt9RQ-o~+5J%5#V3!qkQfqaO4}z$mHfHE#x_v{|ZnL5TaO*|> z{a2)WnXJc{=TCHA^L$GGF;(y2#datngN1qyx1*70iKzJz2wTXd=hm>LUmyVm003SR z(|=+8`~&%K>*k^X7H5U^X9D(bqMW{lusA4uazwgmPQzndha80U1o}e0^%5P71JA(n zV1WP*f&c-iUMvOK%oac}vW}OlZb>68)6TIGg>w$Rj^0NZfUnaw33QDE&XFG=Z` z6cE00-ozTY(HssqkWd9%BmLVwRpZq>EuN-zKqeq={gDK37zum?WBzsJJ>Knor#$6T z*04p=&_9b`udf}YMh_5-fQQ6kxDA~g-=-1W68{6JKv%zKVvc6G;qblj@#bOP@-S~Y zn3pwApJ;fz6x9IqhmsAr2TQqjQX8rb1xg+@>A29|An0wn}6*cxbu$165piJU<)>qx42?pxoyX`aLl5-mc{94oqK8E5HY!>^;ij zLpGm>r`+8?fOCKbFL+t|zTksGSK*8{oZz?MCE_VB2Pb$KysYa0_K5I$%mk27;7E({ z-6H{XabYgCdn6!H-G}1^c0L`qbqbZ-LJGnrW5%~?qwPh(|Bw|%6Luj>X?EV!CzR8i z`A&Y05-TT$j5H3(N(fZ)4k|(zKz$oHGJZpAFl{wVX1#>qC{Ij4T{y;pNHxxlEr!>^rIYiZg!1ZiA{s ziv}ru-iyY06WVOORU7DuGpr1xHsTX+({v*0dX@s9QrHl}#( zAz=G9{4ftR|7u?TjCtGU^)f9WbPznnQq3h2AiFMkU<(s2_Uo@M3<;@6>OPzw?D@R@ zW6i{J4qFvVT8t!h4fjLuIi`z6r7W-B>Kka3X`32p&5j6M_^%10fFl7Z5rTZo0=$Q# zj?B-(R)=Vs1}&SAq4S2w_tb}Z%Hy7N1VHohQMngBOk0H{J| zKJB%;2F@HxdSGYHg|BF-3cIHo#_#L_Nh3)J5-Rv8{%CXU8-RV)Gz;n`0L1^0+V5b8 z%YHF2U1@L@f&erN+C68c);tYZt}8zXAAzTsk=>&k-)UYZo)-1L%mEl^0YO#ZL6!h; za0Hr^;2Wu=a_9=qC6$r9?rndoxO(Z9Z=)D!StNI0A?Z2``(30{mpQ{rdvKeAptj79 zJcCwKHl0QY*t;bXb~Ll(-~(_88%`tIeT3+Y1d?l+e8jOyyab-|06x`4K$@2iitu=% z2@q-k8(8VUZjM0M+~j~MZn$e;22`!~i2Bd)$JBb8x(!8Op3*$bGT#8b$HH9sjw){Y zOU@YxoP-Tf0oIczXDovGDZ_HTjmB`gH43%TXaaW0Y;lb()7J!~r87D2v{|aO@g#hvn-gx6*>Y_`o$OJnf$eCYqq}CkW zp|i7_Vh*4ET*%N4bQJMv5HAJxzuWHrgXsnEG4pg{5>Q+SgmnS;IpYJ`H%=v$WmS5v zX`MTtn2#-2DZ`8YZawHq2AO0JZqq-I3*!r%*>nK41Crw{^>TmXQCW}OS* zLSK>@yXWaaM9g&~4DJ7CLi^wCS|t8|pXKMP!2E##=n!mxlPq{JH$MO*FI1n!)^K-z z*uCGD->`C=KaUJAyoZyJ8chHix-|b1I;Kn7NT3ne52!i4CW@>E&NEE?lc3XNy!6t` zjMb0^VvL`OpaWg~ewZ{eD!Ui51l+pM1(puPYJ_j2a;+tpFG`PprXUa*OGy9KUyGdpgl@n?3{Q7r|I6S8A%P#@Uavj@L0!N{nrU3?0wfy14jm#0 zICSzb1FG>4h@%h>;i~skVOL5dqJDJjEEM5p9&i#6Nppr%dNf>i#WfL-QTzSPx4=*x z;Dw+R#m>7oyRN~Wn@DN74MKQvR}C0EL%ib+a1z@8_gdzC7t9}O0a6)wtnmZ5=K~m& zRiAKRxT9)2sP)AA!qm=MK1_KpfaG-_nPW(hWYI6sbqYW(s$#7U!%mx@9saZP8C>K4+WtSb90j;*As~f8 z>%~j}52*0#blR=W7_Qw=M*lKu2j#5=Bsp|MsM$UO`mA;GJzSkw8oY>h7(y#B*B&u_ zdZ{pA)t_GB+yhw3^Dn#@>7-<16v}6hKk<~8GceLH^tXTZM+i=({+sqbh<8`o zc{lg&N;dNp4!+tCJR_9=uu9@l48%0=m3^}^saeS(tj^88+nE7ziPsP?P{EJ<$Loq^;?skJlE zHGC-M0sh8=gRmlmBG`h3@yD~jfQb|S0!*?G#omi+2t7e4h}R!6f5i8}&~ep2K13*> zgEPkNd;Qu;3n;6etF-{Ydtz9|1n_kJ1>S$+nZSqP#{60X;ObZ6-KxTW@u4FDHa@^d z0aCE57Jvi>%E|(EABWEz@}VO(5!xahNg)y2u~Tm$P{}-i)D}cpmE+ zh&u;|F;VBtKoohbHa1!j)hGg>l2%{~1AK<04D3pHCDL+~0>vP&Q+I-B@jjfKZB#J}U1{fbxcibwXVnCBAzA0OdicjjkDpj{pK zf%ZtcMgxp=Bqv#M?d=Q_kDG0zZDsvnag0a@*hUrrojDI}?EtS(_i$f$cn}IOb?_Pd z9@qVsKuliXYZ=frMW_oBi)xW`L4NcDl@N7r{d5VsDF#h!D{*|M%!px zG4#B5e}==SuEHLPKV`9h;t@~v-}3$wuiD;!F9A>%4d@sX6bHE`1=$sXORVh-j!>=z zY}-Ax03RPhAQ(hA5Mf}V2ZCr10!nF5pwU1rrSfL&dkN8wa_vS$=EyM^^#&L!W0RU>Dl0)9x>6@5CD^D*x=_pD}*k|3odocn_x& z9Zgp+TSCCk85jc!@hg&`Ot0haXv~N}Erdix4I<_oB~1d(MLQ&whXxQj{Ysp`6W{S& znLkMjIN)G{h%=xeUE0z>20rfg{L;tco_}gWV>iTgrfD1a!{7O*nZKQQbb1H5epqWy zz55G@fH(su#>{}~v;bZ-t3YVMWxVhL!-xQ>vy79Tzzp?f&_)mrB5Zm0M;(S^NXpaW zzscw=17}~gPQR{(I0GM>@dRTBR^?2iG-CAd%cUAHf!08a8u`~v$VPDgh$p}s9vBAV z{FCILiH28;T?2qrF9=LdK*ut4&{@uSfpINhhe@Fp;JjecD~*yp4kRck+s^CF0>D;D z8JLxFF9=sr09o?b{X^#Ot5#cU1NFrhUv`=7<1*q}#F`^F3MvJY%z$u{n4fSY{+17p zL|n)c4f+UK{%%nCL%TomL_o`Ko0%2>Vf*i;%G-aZHUqenP;vsM@rC+m0kBPByI=mc z2H8NKzvH3>HWR`v)G&m520&`s$ieky#(MAms6{74BN4LsF+Xhn{v7Um|NRe`QEiWZ zRsukddBRDjc4`I$fFN@%q+7>j4G3bFiG${d_CSM7i;hAzpnI-$S(JIgqt-<;f7twU zn%Sty`IlDxFBbx028@lQ2K#COkF?YZZ>bOLfA&EVk_I`vYgoos*5o{x}?(l90d5HF3RfQ*PPzNbl+Hgh zt<2q!Uo#Z|p%yT~%M6IyPwWdwp#_+h&_G@Za_?=&U_CtYwH81bd8FN#zn@xaxz*Hb zufO3P>vt6bqFqcp{vUTN_)jR43l?8nZkfcg8V6;~ap-g)=EnlQf%F#{fa=uy?$hf<703f1UL=RUd!+2{U6} zHouH`6hPiDx6)eFQfy$PJ|I#{ziEc8!Q!evVLianXxFrO`>%-hy?6g;=x>tY$qYk( zU4{hJFglr_23M~I*u)DdeY2e%=&4RgAAzOTq2qm{!(drQ1tPn?De5ulxyaEkuCA|v8)U*OXa{FO#gZa1Ib_X?!kb7&*{KzQ~jDSZUdt5EJ$kMC@ zL<)rL=Afvi%c7x-?OX*-LBpc1Lq3UB5n7e3Kcan4O~vl|1JvJP*@pfq4UsOP7H~$a zi?F*E0OAFFxM`l?O1N=Tpt$8BCMsZd;8ngXh-CDk_Mvy3uTSK*owIb zfjD9Q=?hgFv3jPeKlkr5jy99o(?cCKy_;{3U;aXGfdG()Few!hW&mw3>&{c}?cYe$Y9=~z zds9i}Zwjyz2#X6qNZtVq0r)UrqMc8#V0^0OhaFg&dzelFL8y)D?pZZNtpYVf;aq)W zqS?DpmNuzPn4^D{sn1~^vOL0#>^W2&+e_Z7k{{l3C|8MVVVCAT;v)_A59tN8l zjO!G;*v0`Xr6DMC_-P1`G!=0%avW^H7(;+iwSoewKs13s0mqR^3T_iesC7XEh_OO| zWF2rsQ?*S}NBNQJ@?#stA$6dM>{ytB9qgEQbG~!#nYs7Q?0dU2v%9nV=15mNZ{P0h zoqNwY_xv9T1)j*6hQpJRu0Ssj;8S1stLfy~d*Be^(!fpY6Ngkb(SMk6-D~#Q+Wg{% zpP)U^U`I~>&=ydSq<}S^6wpe=Ah%w?m!7u>Yztpx4G@BBX38I$3HNW0^XyyWu>PiS z4!>l4;j|sN`7x<(gj{&cON((P#&@61DZE-IFp5aa!vxY06Om{^hGkX;;OqMn z&D800%*Lk)Q=Y#i62Zxf9u7q+pO#FFzzVaC=NjOfN+P_VZz!Mgut>M0Ir0J zeMg5MTdXB(z)v(k!WZDW7p2(j++y0&(|--qAZW4ex_`s~qU0cz0*s_-hDr1BGjzDcKi9=Qy;MQ{&mzta0W9Yb^E0ezqkMNI&eEt z0tf_q*Xo+P2NQ=>?_=8%yZrLvC3~w@<_TYqb$`$tXwMJT?*Ic(DL`IT3Rs=X7NBk{ zqzj*z-N+JJS-G+*7e^e!N1sOcm=B)m!Cz2ujq9WukDjy*N^JRap!q{3K!b<(Q|H_J zx5>t~;36g%%7(qtd=+ceY6@zKiw^__!y0`2*Zk%6=D>jiOoT2$wv+JPEhq({B3%zHxK;veT3K@!A8`%UlpEXl>Q#0lHMK2|(tTStQirGi z>VO72MEq$|K;2BEu`8$;)Ve_sCoL8G;KGPb2x}&LfVx_!a!#VTLL)>_>pebC(!=1@ z_nF$%Io7}@Nl1xPe>6sfXTUtbIF35b3|?`MAOQ4JE&kCABXAKDuc$r8Hj}vHQWnwQ z&*MMb95r>OdGMh}BSKUIT#=`KNcgU}fAHWzv-a{4!t0_x_bOj3Zm5gKE? z_?G;tfL^0^0O{?iM!~QLAfyEn8wYOvhSc=u*5I}yaEtW}-44h694rmcGtqsyZ56~* zO;;U_5rl?FLZHEq|7~W(Ot@i$ig!Ua?l0^39X`HqPAAQ_q*Ej51T_eH41TJ%BBJODjCnPC>W{tVRs!QSrwBo+B*pFK zvDeu1Firrt0ph>&+i@l445`!!(H}i62&ctwpIP+Rn13qxL9_*1PeV)85kGgNrCu1Z}q@hF)+1YmB;;RI0r;`46nc zKgZ#t5+I6`5H9D4P*w5&5YrZDtQ4oef^s3PAiU9RvWVQeK``_Rkj@;c0mfSBKf3v#pgp)t=EP9;y=ADS%fxfd)pTmDBn^oEgkMO*n5cJ112 z?*FF;#Gg+w{FsN%s~v>j6eB=uHZTIJnaJuPd1-3XsZ<@>&}Fo(_{2}%AHrR)kxjO2 zzgPtTZTa21yFu|OkTeLcvIfC}nGAw#n6nKxA9__bhTDo|6Uh>B*u>=->9~rk^yOn*XTlSDW^(M40br^Gp->QMluwhrj9&etUfTZZ%)17gt?#EywQT zw1>@sC6NvhepB`V*n3b#h>D1WIF^a{@qOHfa2B{LdH$Ko*DK8&w1&S`Lf>MvbXWuJM?9 zKL)B26VB$SR23TjwlhunG}Z+|9}SWQ!38O$!?N20uDUl-PCPRc&}zgPHoIetz@AW{ zwLfjHO86i!Y0NxA+cU5b>FM)(s3CYg_( zf1&yA_cnWk-_AJxMhxJRQ8^WTO&}O7v;w;xNAGuRZ>?$!94He~myn zQ`A#%WD32v(>4>yt_o<{D_O+32D{bW`(d)p^q#yPd`K0XCbu0x0CS4 z8v{rfn1Pe%RROO}_Iebt=r1(0lWEAMsnVYQ3Q1Mq0^x`x&cv02GS~yikb*^_4!S7% zD1kb~`RdC)T=7{63fA-qgOkjM{%oQ7md)A&fB-@G?H2dPD+5S%F{2PE;ihCEW;XhT zqW=ZGA^N)@Jp?2+IZhc~>!|{*mJkbrgx35dSFlDe4Y%ng2x)K_R(%PVUAX9C@~e}w z85Ga#2H}r41`rvMfrEsLz{y0gPwRTWWAz_d%d`U;Vp=M)&VRcBlLbV{LL-OM^$RwV zDSNJf#%d#C>&{K$%gq?B*$cx<(Pck=jnZRhnk%mQD=&ht41_;k7=Y(ZLgpdiAaGHP zewhoLVtg#E*(R z5cN+u>AmJQ>bk3?xB(nu+a*!I5%efwoEkVuZfrt}XJVB)8eTyy80YQFNw`l#<7K#hB4B7B8@WdMHF zC&DwrISwUO;?HjJ_v`zEMqHY4J9PIP#HGaD0EP`IuEA_f01;M5AHMPn5pdn=F@O?8_#tZ)etvcJWjFXW2=*b|4=w$Dck+i2s{&fhv_{vPd4XLf&}@T|QCx%w z(BOzcTi>sjm_Wqq(lnl zX95TtM(zNTH7H}NSKNdZ1L%^Q4_SS{6~Y+~@6Aj6J|6$p;`k26`BGN*=>+&jLA3|W zBTl);Wk78U1l+J;EIg%YN<9IpvZGyEOUwi+2GC(+AFk0& z3iE*1x%;CKu-X5|IJq|FA_r1lxSx9FB=kcP6e^i)2E7^moOu+Veqks#pEQIo6 zsN1GhVoRtJR1Bc~B7das6D|NJxRMWoa)2vtN^ch8k8N0oEG}c5R}p^*esd9Bn8mzk zadJd{CV&DBaNoc#K=sns74?rcnP`Vq{d$oY4iz|7>e&DXyw3Z7_6K==u?=BEpnZaF{*f_GH z5GJ4-s@K}~n>aH!A3+Bq?y_4RX+RkO3Tpxm960DD1BKmpx<%~n&<;S_Sy+mKc9#L9 zp8B-c*mG{$fzw&rh-WwUjYj+{EG|nA|8ZyWZv{L_AYuZ`d6Qh5K$bXxgi2t8I-n9z z>n3RiN)}*_`|iFpfO>zZ1F+=c%Toyu#D>=0X-uIg<`CW|LF|;EgpR&p_aB9&mt0}H z{C0-{B-(><>o?n=745oMSC&Q;Wb=ws$6s$PV~B&9j^X>Ykp zFB)}f`L28-f6~<_IO^*BG4c0ph;Py0F#&56sIzzAK<+q!Mk)a~Hky!75BJ)MXIk3; z5oj$y>Fjd^jUg`i4Tf;?sb`o=spkLPpS{O??dwmO|K9SPd2R3BsMlXR0bPII zd~=`Kw*4h;>HUR!zsTKx=AUt{`MqPQ0V`K9qPbF~VkQ1g^#e%n1!&u{)1GpFe(3sa z<F+%@nkswlK&mu=_S{w)c=9bXxO}Cx68qhP zBR5h9nE+}6qM;|M1aUWAsst>pwg&kc>cX_+=9>4NcD7l(WV!k48*etNR{ydG7fa&Ch@Szh?KZf6di}K*am^?>GA}_U)(l{-3)C{o<8Z&5K*NQ`_zz znP)aVYaV`d0~7hpw|s_~&Iisp&&-(pZf^Dw6MK!zl4EY~IPzFCkwkv&0@O+3=WDkc zF!ql25POL|jZghtR{r$Ze!rv+1(SColSJ*S`9rlp-5_?*V$nWABY*8B9kMLfN@Dp6Ebp8SW3z&=( zK<>ciD3#c+Cs3R;fS?c(>jpmkq^Zq4z2lvPTVo0&DcBa^IDtX%(lJOr3xdT7jh0~; zAYwkj?a=q}8GJUDK9t$KQwZI5A?gOPH{J1<_6mE(B02W39jCtFoTl_rVowy?AN%rfAOMc_vSZV?F?H^orm#G~yD_{iuQ;@WbBdu|2MEJB9*c0qc8^ryju@AT= zI=>Y2aB;FC{x*Uy2}tEsEiZ<;YEoP=v0aA}GLMO!95)faviQYf$g<*0;CWmHI zFchsN)|7quuBgu$o`s3~X;yyq??VERjy+-N?uz)k3~qr@u?wg^hF*j(I9`H$$wXt7 zAXC?&o)$Qr{&9;Lyy!EgcKoSQr5GxL?P%;WgR*%MI(pJaL~o05VvW%6k=6`rhc%3( ztjM?*5PlJR87A|@R(>?<)LwlqepS(Zr2*eK==fr}EAd+O=ND=qY{&?#u@Fd#-v#16 z{-znY?VD!kPp>w$W9N!UOF=cl46J0}s0saMGf15B&NB1hqH7FZLk4X+W_N>6*u z+H^-z`_=f=-^n-=<4@(^?->YPg^|8CGKKzL$DCc=g+yYI>r^%^(z-&4}xbG;EqJDG_ZiicFXB8iU}odRw__&76vS3 z1~vg{;J%-*m7Ar587EtY0K&m(N$IRm8En&v+9WD*&hD|KhoML{B6*sJgzn4*^My!{ zxnj8-;w2Dx7y`^G_Zh~Kx>j^*?PQQ}p6=rW|qrKlGvL;tUzXX1A5#YHuUAs`V5 zzlq<*955Hm3F*@`N6Zy-#@z7?cou#pJR6=7&l;WdZ72G4aUXk*y_bClE=;tzG3Yd{ z5ge+ZhaqVojHQA4$SL&qCe}Me{KJV5=M-eAI+RCEaEZcJF=nFCR@5Xe58U&8GkE=j zW^n0kX6Wq8Ol{s-WIQ{;hQ<<6B6E=m5(DZ45hmWlsSJXJ{%xxw^Q(J}|KT(EEZ+yj zjeFSp;XQ7(M$7=eNxzLbU@n*w=EfquZP^|XJf6j6cI_4KgLO{C@Jl;xaqn$n9Efqn z$=|O;{{Dhw7_qAsETOTLMZvi0P%+6xSv?6ZL(qg4%ngW(dFov8|Hoc46TbYS8CdzR zWK3Ic20!@^~F&(vnVhsG)LI^&P+HNE10^cgZ^ty|YBu*|;B^2aV8}p92Lc~_R`ac|kgb$rXZu;(1)aB-h z-%v@c{m!8BSbB~B;WPLwzJu>7!@)h(UV-1zTK8(;jELP4={s@4kLA{@+vFW-#<|Px z@o+*dtRnix5%|3bLL(t+4Xmc|1|tm!0Z4>XBo-$-#|Xw`3Mwr)%mG9k5+uHZXK7|c z_iu1djlfGg**i<@Ny68@``9x)i=6mx*gch;eSlc_-AdFQM8FEl0e&cP7&~x0jWzWC zzCa>?IN2SkAP?m?s2`vB`{?icXw34&eSgn8h;S8@6MTsvv=7XoaWDP< zbw(%3P z8U^y`iQ`+ED@M>>!jCQcs+wsa5%xy*Xl5$mS9*R0V}b+@$+gsV^BF;XDI(lzQ zgm|JiyXrwD6%;S#>ky`^Nms&%xA2}|Z$iTN+s<_mkt*nIaH9!DWDFPqdk_}Vc#_6j zEP6`9kxB)ztpF!hJ7Ws^ZTRbjYgtpQE!J4X{NLEM#~!$r{EF}^C>VUBkipss zD6NkiM*sULz5f8c|0^%vJw|9(O&ISs19uHvqJP`VlfYVHO|iCh3QCOE8&a59_1(Rx zpn|r7MvE!JrAY;K16#o*^ghZ+?Pgsy_9AE^O6W=GcZLu@V`#z0wOa8-uiwpUhc(1n zhNnH-W^Al}6}?wM*FX`E8GPiKGx|vGvBiwi$jhER^tug)*Ux1Sj#Y!Y6J;@My zktz7kpaDAajCj_!`PnsRK-S@9yGBcR&HOdAr@dpFsffOU(m=vLJa}W6u9P*$zg|q1PMf zd;dbOKccahPgIqkSe{myg#3Yk@U!7^frZS5QIUK!o6yF{lBt&Z2JG=kfok^gpyl zzmmphX{@Ke(U9_&G~f>xks3t!pH{?H3p$7s|AT=I11IxnLqCV_;JfO{z&&wqT#Gvn z1Hb)CJD2r#Zdcm5!tN1A;3;r$75B{-x1C?rxqa(iK?S9RP|Vd7RcU^jR2dXRL_UJX zY#L_~Q7xs{Yw3Fkh5a&($7no5@BbIQ_Z(gSjK(YUJxCL;Tm4&x{*C|PGyGZl4u6;K zA@`zt^1ZLMzjc=V?IU{aGn1r-zkp`_q32OAJ01gJz98`1I`G}Vad z+@F6lCi3cJub_f1f*1Sl43+@G_X45~|Bl{sf^1v@uflBm27U+XCel?{Zfd0f0000< zMNUMnLSTZ4P) ziBeP$EOdg@&`XlN|9kH2Y&K!%&dly?68xCwxz9qf*`2xP+|$o{*uVZ-&J`?&XDKHC zCj0%%d1&wN+GW#~1Y&&!q77L_L{tC$b(X>svr1sqVTqYd@Y;qYySw1`y;-7rFiYe^ z@$aGdH?98oT~EB{Wvtd%cVks%safG{m6wSW_C7wJzUvxe^t^XDRx&@u zQr*9>6!#LA` zt^_w@gXXCxZNP%!Z1&z4u<>yq!U+%~QxL^IVq00NgdmBL!ZRQtwy>CgMzF-o4cXv0 z2YbhJ&)2R1ukW#W??fqVNNgBRSPPbtIS(71E;c-W2yQGTNR6ZtGh}ULNtu0F|CkDF zC7xptp5vNSFnO(XLzI4}u>SK)VH5kXwYg!X>Uu+sYm9M04kp zeYoqkM|fEIIy|gsBoDj3Bo8Z8468T~yRL-#|LZ(U{2M=`-_d)n!)xI(Jgj6D?yAv< zyB>InJ3EgBb9~8_m^2Qz6O5rT1ic2t5F`;Uve;v@SdUN2vL6t%8oNHfDHGyr{Ev*S z&T_DB6DzWXCl})+T((Sj?UW~Dfe6a1o!r@L8h72>hKH4@;U%W)hSFGN#A{d(OZyC$ zU?4C?k#gKs^B(SermtWKw&V;LB4Eit&rY$0G!}iZBkMgyVetq5rP5&KC53ewrQkt3 z;DL{L{CD%j7n_TP)2Dp?J9l>c2!v>)5(=l-4q{tn3Lz;o%R{683Zr#-|sNBCr{_+#Ah(lG8KLkyc*P>C*MhA_JC z`YpKf(KjB6V1W@R->@)!1sk)zESt9TDr17#aPMY=0TM5a05@MUFY;-F&T&V#iQHBC zCSlOoL3p9F3*V?N4`H$`e=N-tAcB$gFW!q+yVL_c$6Zfx<+Cl>j9`Wd$WBVW^c!2A zbu;$#DzOWaP9ZhB{W@^(ERiHJBD{7g$fAc;?W%UCN|0bS9Rw7g5neow)h``U5Gqdm9-y4vx=Fz$G91b4I@$Q_Tr$(>C)a_8->xa+1ncvy+bs?{GJAzVY1 ziGpMb+=uh&KAbH&j%O#;pc%K4{UOP@f**zyXw2dZx^cK3`YLvR1dC5kH0|3bVI$&? zaA%9I*d!Z7eGzQ(E%$N9Q+>EHU_NJ`;?%{Rgb{fGss(|aTAmU29fbE~fEU03(T06A8%3J71% z@r0L6Fab$|X**l6Is5aO2{dbe;i=iCbUyT~GWA#Ps?*y>PAf$^Idd!#FJ*6H&-7Qgk=tCXxW%`92;wH)3|3x+ULM`^~ zW&n-wDVYdO!)U!7?y5$Nyn2pYHi5JCYuPTMv@AVi3ya$q!M+QHB%m^`Zl6>{T>7Yy zuP^+3xOyQq_-tnYEhhoy{b;4o!6Gy*2p@WpZ{!^~UL9lnT*4L47{!Jxu$cjC#yLNsVZ<^U~~4}%?8=Y1k~y@_fQ+3Y99YLK(T!a?;2+FO7ZG7 z>+^dWJ;>a1*OEWSPM~m(564^m2$Xu|HN=1Gx$uK z7x~OtQT(AM&G9}Ij|Lmb#6A@-8Ofh*`!aWiA@gYTyhuhV(R*bKpk@z~GB>h8G2v|7 zMjM!bEX$ZZMUW}`(@5_-My8swkSkZI$+vI+ou4~@o==-Gn^(gBy_L8YPkb2CypA4| zxw7DhdOCzCH%WYASY+i~73+J6=}&68P&e>MtEc#>^i$mJcJqrDFY2E!Nu($y>p*-9A`P=jprp`PpqJ8Xe| zGZiE%26;lg`WuRrE~Po8MjyhRHzKL)@Zu*%&@zk?W z4UlAp3|vMK`OdrV=U;ujl3%`j+51_SE?wepyopkFIta2bIi!Z;)v;>AOQs5_()hJ$ zrC_)R!36VAl-PHEq=-AqL_hQ=<@05FpSb>ph?0DH5}NSUee_5{l(PhsFKjl*KPQb7b{Ul zs#3@!arBMy*gcXkaqRJlY}~g2FaZ5g?C~+uYF>)-qkz-M>aTWFZGQNlBc?WzHmZGx z&e>v+T(A3HKsXdl7gj5Lw3Ck-Jm??=!G`^@tz)4|k$8+ltFpw0I=nxalX$#P?+aUuFp8 z@6VsVz*{~-MKcBlVTY0OC?Of|vB!tAiNGc>eGxK8k{jR*lG9Hv)QiL9HweAm<&|#2 zTDGzg^=?H&rk4RA1`z~NX8&!?;3MKMIE(_(2Q8JCJ0Z5;9rT_h(I1M7zWdkTc0d(S z=Fz_@5QhVO6D;s)stVao?L@fWZJaTJCP)!Q#;oD+u~fyOzvd!A(z`G{uq_ zr1zanPv?;pZ@!Y#>o+&22I%+8PID((v$R$+v!b62zbT*12v~I6eTn@zna*#jQCrs_ z6ng_TjBac7VCqYO)q=K$7gd&|WX;z<{j|a7M6aIy=9Ymg(}15oecIASszIT{ymYy0 zIiiB%d!SB~$*7(s(JuA#FCk9Q!@R-g^BoNv-ow*RsnI^)rKyAL|K}Zp(DzKAF$)I@ zO)fHzpyw2shosgFBxcr;R}K*l-+7#q7G6+A`f=qh?*4{xbnFz@EMPc*)WguVeuFe~C(5nG5Ka+z;tV>L_EsNA(f> z??97F6v-r;fs964^lwrlSkCa`+<{dHKQCFjJg<36Lqsjx@zG-@@>Ofr@>8c&X%`BH zpwF88DL^nJwg54`^6|HFHISUO9rm3QRb4Xi?~d0M{{TK9a0b1kiKhEM9z8x__eYNb z#G-)E%Oi5e!G-9@D`NYiuQ0?FJ9J;#y%CcTV_Y9m8is3K-oE3je9__reiYF>JDGw0 z{`m0|JhFT>sT6QFf5n4VqN@f_y`5FxzZxLy-GQ;!3j|I*@elFq>^Mr-_@kRETB003 z=m~iS@}T<<97GfijhTKPl%#;GR8r4fa~*DkC|Rci6B-Fop= ztJmg8_yorUS^TX&{e?8rO_GsIxcHR56i_je2SCmHVF2QarNG`*L6UWP`La~dBs~#} z(?>cqGcz+_PN#VKjgi$Qx*E2?vwgE|0TTTmqk>20WaP^t1QQU7Btzr-n(?{OF znBdUXZNG}Zn(p_4`5f<|=~U_sWPPV60Ted>@JQXn4?dItnPlSM34c8~^{b#FXlKu! z($nSM4w~D9 zol|(FO|-4o3Raws{@Au{+a23x$F}W`Z6_T&9oy>Iws~^)xj2{mx~{&bzN(tf9Amsw zJL;B2;%Zg+Ui;?h&YEjybOA`>jm)MH?CB#iWcGAaIE(5WBUBG%YLD*V(Y^@)+EAD@ zBi%phEo|_Z$^`rCEYE-S?vPNjcg2vywHtrOugno2tsv?xEhdN#PTgH_*K%tSaS84MCTWgfbXuT;?UGTACRC9I&U_9 zq?pUM9x*gTH-_wZFY&%;y>vq^NATaG>MOFGyL2)?#lFf%-L(+AcRKiGfax>90*#K~IWtIi7^T`#^W?Wn< zfSa{ZC1&02x*@IvZjp+7%%?BHp%->F*XSC=?;`oisS{o;QlJ}mrPz;TK+IT9*js*{ z2y!{wB9m`Vg?>HWs~@RQL(K_3nI>ki}~=v<;hc;@*4-J-Qt{!P_;(vljFb;#0YilTEt8j|bSti{aw#W(LAYpDngDI};=$j5Ae~G-{q_TM z3}@XFgEW6&dtRFnCB?Dw9zn>(L2cRQMxk)gqCM3wn+P6Ocmr`_Z78V!gG#@in}Ej` z<=wy|G~PEYJv}7Jp~Z)icx556m^!>*!FV|C>~s|#qK^HuH9}y$vq{lZttV{zI7{JP zIAzMOZBM|s&Yw}f5;amM7iT1!uETLTTj7_w3oj0~CWJ^ZGQ4gxPGwi(IOg@;t`nYp zp`K!oTKvMRg(~C>FK3e@3aWU(2oX1^wD1Mc=1MP}O^1?OZ#rYwcx)+uEAg-jbCizj@CIPaab`iX+V|Vi}=ku4uHBNT-M& z?RNI7WCE1?v$rz=i~zE0NI_^etz68#n|Q3U(tt$3LbOt+$x9x*P@x_~VfcRjpTC`E z)j9{3;!*Do@V^bpmpn0&H6%3|Wf#e0oI*UA#x)dbwkK0BvU7a|ls^XbnpJ9dIYT#(}KBZfE zd4-Al3CUDmrXh*WN=z`(e5r|s^047mhhmo%%c6r^&BnR2*QX(WA9B&S1Fl>u;01${ zAGT;gv`TV0cpQhpiygQBR10<&E$&+K3QHt!egVsY5}3?MIljRLnA<3~FHZvg>%oiW zArQoimRhiRSu*a>?C13wn0iDXm!yQTnS-*t7`UnaxtrI zqG0~XeMs*#1I%@Xmls!^3%yetO_YelhLYa*!ckMRp=n^$%4%yi-$3cJaQdk@yaO`S z7Ag3B5o?_fe4XXI*}PI8CE8C7x?56E9`u$ggvWU+x66qg9ZKoT-9EDDhowA%KTsz| ze*_AosM@P20%MSba|{7q^&<2zI?3p-g<(I5LIFM#a7{1v9N2Y?kMC7rD>y4up;wUH zL^XnKGz=RsyDIy}3;iKSwh3FzIp#LSS-PMIWF_roR0-X$))z zh6B$Qy4VPLL`lu8HteInXndhaka|^`0m@3hqOc_n#J4TIYh_IRO*Vg?f{Y4EbnOTS zhmM8^G-1bZ#VgfJEz^JJhM>MZC)v_IksW?sE(%ob?J)X-k78QwnJ1SEWJ1H||EUJ8 zo!j1kZG+UhvLgje?Y0de@_0w{4ldIkzURz9gLU%0?E=ISP@e~W86560QHC^VJZNJ^ zWIy0@W(bBWOx*R$;JMH^PKJhsVCS6>GJ`anBRlLw`(kt*{ki2#wjv6Up6Ka7f^Ggw zbBfpInKm?SP@=Z}E zhfqI+BX1f)dI9(^?*Rh5H-`}#(*AlB(qyAr9}xr+#OuxmjJ9m}GW^=KehCN)dp6B# zSf7aRC=Wzmg^x-j7sSjoQ}50agM<^goU)5dDG zK0pg|4tygwA(XcZ^4U0f1XZ8}K0~Xxe+&0Xb+`GCwM!E2|22waXTw_&@~+tX3B-uH ziA<@8Ae3pjw7CI6s+2egJyU88hj zB5@Oss~@UXs6lngBGgl>w?(AUslz~$V{YR19?rNew6^honcS*;K3(z^7!N;j1Fdu6 z`R87iHw^4es8fUj0)i+8uo&T6N`S&=%%f#o0#$zx7z8?3%pi#&dKceiU zFjImBt{aMRX2V4-r4H_Nb+8irSKE)@I5@jDx%raW{u^sLHt!Q|`Wad`5t9$2Ox!rSF=-pcnfXp2T|aRMsZuL=!Y47PhXzTq^b2|HUjLpZP;!H!^&f1z z7ee2+03-?i1@DjZ%Qb+(4m6;|Gg~J-IHH2k6ROqPy)v2Y#%HN5OLQ%k39~mbKVDjq zJkyj4)1>}^Z;d&$2CZv=%aub=B>XR3(I*fT-)ci8G;ziV@bHGwL{P;Mq=Az;Br&ly zWTnwRgpFh%?q8+)27O+t8P*%Mh_ zx{D;;35iNi$QGV6d_~f52Hcd;7c@GYS5^S{%NQa9elB@Q!g@8I!WfkJ?U$*p{nnV6 zbz$>XDN3)cn8L?XrO+pYRXv>&E{<0PT|;*DoBTZJk-Db#&m+DAFrupy+fst+G-r4v ztTh@sGJb2&frrMsfKb7mKSyv=a~}nN2k*E$k=q1mrQUeM_7guS5tI=lOKQq&omrxg z?M*q@7tIQ@8HjR@wu87_pyxHTKCXx$W;MCA|E7Xt*{q>AfV-YOfqD@E<|mGwzbACx zfSnjI5o!-Q6GGmu`j`EHK}Af%d@V7d=NN&{0e!#17RTg7Xcl)zgMlY{$*F|!G36gY zIoP4eYDRPWuYQMHy1&@NtXu^vc*H>n6z70!s6`$A$F|XXbGs>WJ`Qltnn4Hi63VZ7d+QVf5UJ?B1K@$3UI~Q@;~7(mMnSLM&Qc8iNm_URTCgjD+7b3U z8qmN_K!Y`5P-KzJ!}Jty9pPGE*ARnWME$Dx`ijnL+_J_s*folco}oj`|DhMz`4GcK z=1X~Rymxftt1+`GL}7+VxWz=#PBx&DRt&qoK)1ii1jEm$*? z1kjI~Fc6t`p!^~b&F*Km7ZiDThexG5Hv()8Br~wY>*IFe%mHm{YNHS6;oY1UeKe9q z;dCQ9fi7be!B3=Sks$uTKS-%+69pXiMmLF~J!LtD&l3=~hPV8s2TTY^|=~W~e z+hDC2FxY2$3zUqUOF#(vQ|#F*G~u%(+55=NKW5pyNqjaY06w;z^lK`13|qB+P=rhn zLICbSv@IC3So$qVw9Nf(j7BOQUKJytNM`FZNNK7jj#yqm0Ft%N6Tz-$_bvoMkmQ1v z1%Ng9?*{8NZ&~=1eb9Hj$`9qM@u}G~X$f;1@+pSA?73T+O;Cu)pK07K+)m@g+4@`6 z^G`EJ4QCp`EI1fMo7AE9wY!*aYvck8XKRhfuYy$*spc)FUJjd4F0i92m zUii1M9Zcf@R`L>$C^dCZ;AT1n%iMcm14$i8mxA<1KV@o;uQ05_h=qZ#&4ht0yp*#5 zB^xM$N5Y3>@b2f0m6a3OrMrVNAtp~hs+}u*o?y&NyEySD-xE7q)_w6X1S+}ws3m+N zgdp+oy-$!5?uNjBVUnJ&z;(GWrCUvtcONnft5;%U2k7YUcR;HgjZoWPK1J{P@7?y) zu-A^gEW5N`0wb6?37DCOL9&9PRC*6V$bU_8>dWymi&cZh?*woZ0#6TTt_IW=9td&N zisaQSPw>vu^M=oc$<<0k;mns|S?=JUfPzBACL`3U3HXAjl2EZ?zG`Aw8N2(&Nr$E} z>@u+6a5hzgU*N%IMfD5}2tnFmH+5H~+ir7xqud1qd~QDqr>1PyuqeI;(|C-2MYu?+ zKYUO!1a%2ECN@ABB)&zEPOb|?&-W28{Q_n8|BxxIi-g@Jzc^^uNBFP{G(UpCtDe<= z@0)?7_wJpZ8#QEQLxVQ*1mz?BOfI5CNWNMHMG#*s{EczCj|zAN&?5tXhND7oz#1CP zMV0)VB7NNwZeJz6DbICaG=sFdLjVV+tTdS7oQFcyj36p=;cA0Pm3WY$RBp|>`seRp zsNpuE7QllnkuQx^v~bw@Kx7;y?xjI~EmX{p)v&F8LY-}Y z{7*ds(G2uo5Ue5E1;&F{Blv=UV##zymbAMc0^^)fl|-#RXZY&>wE1he%oSC&8gpkx zOh;}0)lKnlHC(U>n6!cAu>T%3L)X`4ebwR3739}rh0t^5D@usK=qs7gM!mEb>$c}G zy#g+mXlX}%@9{fa1tmDEs2gckzInYd?9;M9>r=_{dk!(4th&DJkKCqGWcYrWIpCZM z<1J+<8`k1W0^f`s<0t3_xaKc*vOWtLfQmfNaa2$~2Ph?NNad!b!q)>m^m$a85hk2g zlI)pqCj*MaeK|o)?>75(cfmch84@}6Ps~Fj8rSqAWh5t{E#351B}qP^_mdt+bu9QD z)-hEy7ND?Ln9I(ns1T1fJvK3(n|E`m#e!eO?5tW(=fJ{%%ioDZu1%Sojt!#FIj|I)xuEncYCy8u|bJfIZ`Hqiv83D^~U=k1&oG z`7L_oNucOY3i=UsXbKTme_R0;I#-TExRp}}>IOjIMc7rge_rp9yg%~bl;S#Ue_NmXSLFy?b&WX~ zA0Jgh=wubH8U4GhB_Dg8EX?W{8#zefw)D}Hnk{g<7|8ty)!D%TOtf*Bg8z6bdK9}E zv$ACu`7u_qd}1yHKGvG9xlt&dVys#40JQyEL!N_2W$qSzxiCbN527n2QpFU?!maVE3@hH4FW5(fja(fs^o;Gw97BpV;Bg28NFs#KUel`Uqt*I zCpXUw=3Uv*$%dJqW|qagU81$Bt(~g2txNzn@6Lo)Y-+lEECUpU44*2znYWd2Z@CJk zTThV!7Y6fg{NzK4*n`l#vfIyuSoK%f&GK*E*jR$WK>=_BsX56|9t{y!; zfL)J-6~|7lNzTqQnfJjH{l=A#!MZKT@aMHAd|5`HqxpDE40be~(AxaDNF>$!ACD+#+W*Ac z*?&`!TczV-;#29G4n3Yz9S>0ueCzxIHF+rd9cp@{nR#5a3#g%?`3y!Q_xg}Vl65y= zK%p=r*~qWuD%G^_LY(FOq8ofLIq_h${C!wX;I3z8(QE%$>6>f;NLJ|=L;A(zy9G&j z=ECc{gA$$b0&%fbdjo}UGbWQ(O)FSKwM8(|s&&&sMqNIL+Y4gX+!P1tlZO*bAHI8t z^pSVFPI7Gv%D$@Q#a%8965QkPPxU${QUJ;1&i%2fF`O6Ao5kM41X;X3FUC z@j6Q z7*#dz5ms48c7h`-1!hl$A-ZdX7U7IZWp)GlV!Wbe2$~@Kedeh-Xl(OF8 zuJ5*t8tc*^``21Llt)q-$cJ=)~plV@?{1FsO*;eH)AZk7~5JAH2{!=Nc8R-Gt z3-fp(2`<~&k~8YFLvfSL_4d}&DHSXQDIg4&>^@V|a+?O(!Wae;=iopk;@k#gCMcIj z$%JYp+*7cG9ytG1enG_ioe< zwrBu?)WCe-o^A!Ov^jCF2?Ac3)e7bN4a@O2Dom0`@2XlAu{+KWhO=UNxn)G}XkohhM8l`U=wn;h2uj9Z8cTlly;OGhwSAOj&| z`H`p1XQ#_r1PNo@N#Q$>OvL-*VEi@$EGWitrubTjK#vB#uD(ssPaK|0FbFSM<+H$b zt6Xzk^zKLSF(;7e*z|&cSphi|Y#iK2O)|d4{>Vesfu6si1`=gl{0*VYw>RlCeySi< z2KK_A@*%-u{5M!+LMNUguf4=k!H5&(#ep#X>mpG<*pwF?$sEEsEm?_xE9i6O{EERXh;$%Ndz zoao{Cn^B9fZOTY`86M~MFO*a#g?4T;tP5=O};Qu?aRa75)?9IT+l4mkmsrre_{KKKuAVQkz z&*qA0#S#R=QBIV>fWiy`NZf(MrbIA66i-x$L9!?fqyRCXk|MX1+0>WYWu{c-o7tu; zdGO-bNB0|9`h?e2x6>5gM;6WHYyEZ6;ZqZ;D=cyverwY^)sXm{sCNZ9d)D$mvt>rGk6&#a;B^eWWP2=xBE+s4CxnKqyqQqR+ z^T1wY|5KzJlQe;c(cCujuQ-9dFVq?mLh&9unrswnhT8uOnSurf_$I|x=D=<}U|K%5 zbieM5DJXBU+t87liZfPh2q;nT!T`t409w@Wfb3Tv4rB5;d*Z%sMch1e4UwJbhwrbO z$j(^F!6!9RxJNppzk(FBGgEZi4!DHDdcBk^X(T?ZY$Lu|3Nk`pYW~mW^asag4vFYA zrChWOJxR$qF39(z(1gwn{Wu4?--iD46@-kvp$xBC9s!K{6byGa*J7$?^WpUOon&}K zxtj4~9`wwfx*D_2>Uj%=t}DCui5HU_^lGGiLE!!xu3?pPj;RX|85XIV^!wF-MF5Cx zgLL|kn=|thPjyR+Fa8Tp2H=c8?0z_G}_+HFxpA@s^6HgPbJ^X*aT!u=#?ryOj%)aX5tl9 zb4sKdT93TGdYM!{kV0H<+Q*Gzlb;gB zmxhWvW@>ojS}j@3rju`}P=2~Mu19PMkz_=zD9gT=3c6SL_uAMpk#!@Y$q8#Jts$Hw z&VLeXMH@wOJP>`aT$V{sN$B+8?rr6aK>g_CAlz5Dji&wEQEEs z)YS<(lFr@?o}x==xrbpl>{cnN6YB!2B(=kE7LABW)vtSbiuzQIq?-DOL>GS>+qq#8 zq&8Wm%H_@WmZy4jzl?jy4DI}3c|15)1FxPOCH(2YUY4eeU0w`mac~)_6{6}^Jl)Wr z?InQEUIkhGOM)FzVg6AidHtsEMjWzDsohTAvl|He@)`R#pLJxT)Mo}9-q2qCg*uWv z6v8D7NE;NJ0olF00*}ucakLbd?3&un(+e9P;)2fIM1(lZ(yAo3#GNifv=Je9ST~ou z6%Lt4L@1sjrxeBYy=3RSba*;2L7%a?q5YaI_Je4570CY4mRDgMb{ldhvo$vB3DiD?1p`Y zFG?{VRV&vs@F$>zxNeF#5fpsrt%f_TDIO->=rOUV+rVeo#3c~i{-J|L%Fo?_!QsZy zpkqU!m`nf-A=&#czXYGqdVI50-#>;=V>Y$BE^qN%(rrIR&Vo)Dd}j_Zz?g27U#0wp z6O#V!JMxlD%xqjw7uyii>Q zywq6khLFdbYr~1b0pXpk1bO?mNPb0Lt+gZw7L7z3y+=8K_nJxStj)q>?hse0HUY+U zG=h!TMvvYI);_kezqnIk^r`-X_G*Gnh0S&b+iJ;DP_5a_rPpp&E;pgkcnGLgXbsO~G;iqt;4hLnZK`j^bSf)8 z=2=!y`?LKIsdx+~+PaZ{`Qr+7PV)Y-<9xS7r`77tl|rvRSR?@Y%#zS2wmtPN6&TW< zA&;T;DM_f-fL#BJCs;hLUc9I8CxRFjT7KIu{ZB@UrKv^J+m(#3QAu~EPCxX9eq8-JZWbfyh?u%BlUQ^GJu+j z(>s(QiuN2ZA_>f2!BH^xdj5LnBxnSxrBr&m#dzh=O$7wYn8{_Yz=3kHO%$K`=Y*Y zlSQ8|d?dw(fS#FRnKZr{5(-6y+|SxOx7svCD=TWgB?#)8v1Wgi-Ug)``E#}|N>4dx z^gNDf<4h80eg4X#&(XJqH30wHzbzh5A4@a2kZrsaXn(7bdQFyhy@BGfnPT{Mca;6@ zEgAtmTiEAM#57*TQ5IL@fB0Tv6-U&z2-pYzB&F{N;aq_{^;-{$R{Th@?20|GfZ{Qg z5~rgnFWvWP42DFqGK<4Nnk7~HRa_x2>q>slk|2!9gJSmDBdY60V#DJ)rBK)qb{vzM zHAtKbf$%ncjTq$XN1G@Ow+LNCyNo#YBN?o}s`WVu1krb|yYE-_-5;@4lK+jiqR&#> zg0T`5>h{`{lISf!T*C<>Z1j8yg05Qrd3dIRw_)|X-_oQ|SE|)kLwAgMle(eXVeH6g z2b7_85bl^0kvkR8{$l$tBdiIs0RzpuRwu;D`C`qb7H+BKvS(B)&*2c!fPJB;x{uz! zIY{NdpG=VJrCJYR7PGsiXe@sDS>vg-d9BYe&d1lt+;4jd8hcGP)}t5OUb2ya2nC5! z=Oy7E;$j-EOkax8EAF}h{&F0_D}l78DW?&gc-l8(kx(fGWo0KNkem5`^-V;9aTyPNcU1H;sQP1V(T2kPSJm*1w{``R_I=^cD zbr7kdtBRdaEE8NWo#8Nk80+uX8OG~V6i%}eNA@nlXHPL46bX@5>U1=nDc-v?odA`L z3It?5)P6K{xFLs`st0RsXJ*sqBGu-9yEYf9y$G~g`1Q2TKM8|+2)G$_Y!}tNp|6UN zhO!`V&Fx8cvTcLuYe+ZBxETDCWX!6laJ9aF^#{xP;qF&#Wt!Y&)?@Y-oKO2Mvp8uP0Xw1(hu#N6G?p!&%J>1!B#l{YKz;qhD2d(~?U3j+H z6)x{T31s|=hNTW)2+gjl=B#BOdz_0xx%@Tpyg&}OyUqytIZd@2IS83n1@YrZv3xUK z4D9RxVcT-TzW0?`v(WRT*0z{BGiAG|I-t#K+Sh8L1}4P|6hJiID(c473%w#LBIY+m zr|T}6RGdeB=JtUQXX(>P^4$hvHNC(7+OpVUBSfa|hJy0anA~^S7h9m2AE80; zDwPhcjXL^KD*toYu514eq1F_kcFzKD+fJ?CxH`Ct9$YbO{8UN)3?qfAfwTV~@lD=v z25adwqR(Xl9aCaxP|G1m1O8muv{Jd_G23!(AB&a8lRxAKK9Ioo=kv2qCjn|2DdW+^ z^FK~WRIn?{fmWD0I@vmD^vjsFMPqFK7|<7Me<9N~|}iLMomGfuG4?s^lfKbTI)n!<;P#s5fG z$ns5m_Qlfa=#sp$&r)9bcp!XW8dJR#FH$81v-rGCh46qn0hj1cA)w$4T0ekll_=M> zcvIx-p2AVl@*Kf-?fWrmE&u0u&xg1I@2DpBP;%Bzk6$^1D>s-B4x_12?YzS-vAz7| zfmUcS#lvYfGusCVw#KW`#eXT}CKB6~k+J?S5_=o4G`%gYgj0-{XG#t!@rT{8YVbu8 z*w1DM%>S_1sQZ(b2ETe7c8F6#;>NtL2`a88raLuyUu zWCPp9c?J!K&@gtKavJKifzv2DX9$Nqxc|WLZTHkSmiSr^-(PYO0`3lG(N6f;ofyzp zXdQg8-r=W0>zKdT6RgVQHqT5k06=^A$J)@CJ#eK~zbUVVrF7Za6X@+&5?JE^Yln|j z*C%v3iJmXtK_tQQa!Zw~onbjkkt(Z(=Dq3GA5+4$=P~Ac>MU@A@JI$H%u{aL9Z0;s z9c!2}B^)b1&>SGvF?5JBzjVd&e66V4dHvYNr-W3S4?XIX@)AZ*zd% z!;XN+yCCfep)X|6{A=m#EEwuV05*EdK=djw(k zop8Am)^MZF(dj3)5^51&PLG37gyLuB#t!61AEw!$Mt7}16 zvNS0wO~vQ2L~bzjT*Q<^wU^ ziQ0vzTKj-xrrX~0OYY}sK~%;{KOUPWFCLVzZV(&&;Y)R&t9QwJ6;Ij+`!#^(z`t>O zeNI5_2{~N|qQ@_0Sapii%sR~!u_k;SAcMI9+195kZ%-KprOLF9n~E&Q3EAt9PcLM|7h0zVmx z=CcKY-CE$9{$?I+GRcRFX06mjdHfZvJ3VfEt`&4l`f1%xyL)4lOl{i$fZ7%QlmwnR6E zd)?S@dh;*&BxxO2`u(h;-NJaV<$-MdU^}+K@D5bjK>PqYTI;y0d;sz26y@Eeb%7Y5CUu##0ZlyKU#DBTJ{x zvnjVo?Id)r&8{nKV?|uY4`g0ohUMxtaBDv+$mzef>{@CzJcLV?dPDI@XV&!pwCs4m z1eSG$C{Pxj3SL7V94r+a3g}2U1)FoE|hKRQOAQZptWjQdMopX^eBNo00&U`au)@ne9gStR}I#O7Hjx;o1HP zVRHLT+*r`U^~KEgM&VJ#v()#GnBu{N^ud00y469jHb1=X&sogp^?p94>So$vr3 zu79YMuQkH8+{a%wD_2`aVTHnWHf>=6f1J{C^cpFj{c`c2Y3FgqeQC;)@fQ`P77a$( zcJSB=KAU;FoilH-}uL_^^*jhw zVQbE+|2)_->{>%XF+L|SqBB3`=UbVs4q~dFTr)g!uP@``T(J8Mwe(YK2yi$|&z{{m zxVIO#+?$!P`X$7@M;`Q}5~=r0-v_2y!G{gm;XLgPsytlEzVa*3WBYCgl5dy|5@lT` zRp$~0{0Cu2K@%1(xC=e$<_VGRO(B{CHHLq+=zk6H=2&1tmyckrt`p?OUp)M^dX+h} zIqWhII*|i(Hp!ov--LkarL&l>#%jpm<*F{N#e>y-dvUgD!rjVD(I`9q<|+@0IbyXB z%s8CZM&c65M`vtc$U#7K?XPZA>R(pdUP3Hz3brA|3O%22%(ux+TLKt-XBQR=DK|cw zrxIxlUWlrvE`ME50=Li46HP1JZJ5cHm9IQ_-{A1d4APl-EAJzA-W*n~aa~oE1nxdt zN?Fk@2F~6vTZ_;e4xbm`o^V8_n--^RI(MdioFxrORX3yH}1FQirhNB$1uO zGd30~xn7f{y_yUI_>zQ4j!ofkdM~ zi#{6$zA)r|E99zlpB9FJNd&|*o#Y;ol_O+jJ@-lOKUF>djOASgrkn}6e2z-mg3hFP zh(c@N9N>)kn~gVx#K`2(N$-D`ojn1Cd+)KFer;%wC_+1Qp}IjWrII-Hhu^l$Tp2B7 zcm`Z#onhB@X=7IV|G;dnJ_4|5O*N`!S(5^QEN0?cY|!zrz?Qjp=wy47w#E(CJBJQl z|4t`|Cuja<5~d3;1s)+BED51+kC%iH;2(od0jWoKLetba7Z)2m6xP8F7MQo0bXvI9 zi0wWrdeA&eYu`M^9LKFd9Kg;4oFja}HQGlFk;&Mv$UhD#F{o84#B@6zi(W?Z4(+tnYxGhq$vhj2&jZjO z{Tm!z!4ZU3)K(HZW5nZPip+DZ4}Kc9>X4L9^|tISN{!f<4_)3E_4jyR{{sDT{+mvf z@UL<#iG-IpU>buntUH79SNuozB)DiZso*rE{ACwZ+iz8ZGPxfd-ibM$mt*dyzv;wX-}z^~S5M?imE@1y8EjssI@h-l(CgE5kWsLrRKaB~e*?>Lyw1bLXq zYaweG_PWF%2U4~7vgvK6hcSPZ;C5zZDec@o?HAMh-P^H+caPl}V=Tbvl^Ij`kUxDH z?-{cXrvc#*Am3CU>_Cb)3peL{U6bW^5OTEcRZrV?-?Ap8xxxM9X~f?DMm!EWXOo;* zR?}}yja^|x80Ml)c9Se zH)N@?=JX!>Rm%D+GQQFhCcV_WN($e8H`)+uvLP20PI)bYD|btbc6i?4$9Atp6mKUX z(?{|I=uy^Cb9eCF3)^!sJ8d$y3U7EMm0{gQbg9x2JMZp%Bs$%(ne=nGr*MM|BgVlI z;^=4`&2dUO_33+VhHEw?s+Udo@AhK%%dU(Urq{_?hgK&;CR6p+^EAsxhoda$9Z{;9 z4dG>Ee!3tp1`8!G6X2h$1RfKrvMTZ91gc>6MtnaD#O>8px&BExqu#0^=HJZj9=;;X zX+b|2em{xT+3ZZ|4m@A&hl9z*L)ZA$&4QMgq!BW zR{WSC_Vt+C|DYn0Dxj0z@P4nBp8MUCfN5d#{-gkJpM4H%Gz;Jv3$3jpe9WsoB!@zb z7jYA^b7)DJGfAV$>D2xmsVliV>gN>lLp|>d%~vxuket(OJh1hL!XgF{li1D1`SjaY zKBjf;*`&$aw21a(5_brqmZspN#vZ$V?)z(}jcanSE5rJ2NJlK`Piy41%5>T(_4;Qy0$7j>ZA zRaDXWS?&NrTE~QBu+k|7QU1r&c*w=!$Ct{*GSEnh&}4JM_COdSRv6M?6vALDS?1cwPPBr}s}2H!B#yhwkFD}At|y`VxCm{auszs)24JQY zp;xhIcgCj*2e+TPj=*~55RUPe5+r6r5vi^@`tq&DtItkti=wzrDvZ%3comO2GW+Ke zcz=?Q;o_(+Qnm}25fkz*BP20X68V}L`hWqpPmbu9UeVQgNVOCV;qe?Hv{cy-9EOYm z`_JOxCuqiB#aQTIN@<>i%2#h%;_xj*hiG z6DwH|NY}LxMy5UvDN zDO)?t)WmSwGuGEOe2v*>2(Z}NFf1M%!8j&AR_w@~69%FCd1R!U-~dMiNfYw^)D8^7QXuzgBCBlhyO=PvK z=b(V}I%ESiXO@*5cMWwT2trm7`$CUh^go>(U}R6rb>E>fjUo-rWN8(_lb1-1B8X{N zt|b1X=f|eqY;wY^z!WiMZ@5%kTtQ{qPvc&!#vyoX`PkA) zfh9FPRV|A_L_$K6(QZ5B(MiQ_^$n5sw=5!c_X#ZDlX{ei{NzTI3j7 zL|1<2;W7C9x5@6e?Oww!GEnHyG$|z^Gb}`JD;xkEpl*Jy3lF>9y(r3vnI#RBJGkO+ zgX~UVy8}%PAo(wr4p%Nx|CE%^=^bSgbe^0tVU7Feue`D3(L)iW@@5a6X_*Kc|qr{pv5?P|m+aUbS2t48%dCX(HdvYHhI$?lm|*BR~|Iun2g znBTw}$qh=6Esyn>zZm@C&Wk4JxAL{&!(^NWaEhdXoqIA0|3?K$=QDWGkYN5a;JCeyVlL&g-7!8-h}=x#xn!3T`0pF6y@sCa|M+HN zVzRyVAau_Wc4oP^;prV%DxZzKyi)o^O7NegH-Rr^MW?NuH^=YRK^V?_QP&r7c|{K- zc>*-#2JJy?_rr6pdg$SVoSfKiyv?{CbY(F=@In$yVWPDbWqC-C1;k{wY-JGc!nbyyac+uhu zRyw|l*oGi_=fFKJG`n>Y|6Z2ADR#Oh2iUF@BqAT*Fp-U}s8l005i83Dc^-;}pn2cA z8oC{X4Jqkgu(7j!+tsi-rR{0OVhT-Y7t$LPb&4^D;}b}(U%!8$1~xc6&mKvu^`cTJ zoY5c771Kb()8&!G8Ef5DmQ2>)zbj+lrj{Lyt0#_WTu7Eo=Ioo-Rj}FLG@tU990-gS zXU)f-AU`YsJfJudkQBpbi@uJO)#(Vta16R8E ziC&D#fMQ}Kx@Q+~(e@e#f#A@;os@)`{vzD)#6w1T{{DgUKv}hoCYa#d5FcOi*5UYU zPiSFi9h_zAD@j)@-6(DTW_Z(bZScToDvOs9GK|CQ^N8(Ch2&M(N{ac1K)#XWl3t?+ zeuh-ldtY!Q!_ttie%plp!R*9dK%!MLw1Z`%BS71;EsyGy8|MgG=Xe}}BY>mLWdkB5 z^7#V-+*ABOt68-SCT%f`62aZnzW`o40dzp%0|HqwC8LV@X3@4T{}yWP_Q|(w;hTMu z2}(fJKmWzJpk2Oq=TAlk2}b$4U!fLdV%fYm#rDXO7BuCL zjDV-hjiu=9Hs_061iS-oZHyZ!;_b--?PD!JISucFN6IQ zY4ei2;yvcAXW;t#`hE-VPOmli3NGR9k|py0P-5v@F%%J?EUynOPKi7H{&jB@8~d4? zsal_jSFdLmYQ%)?q2N;Alp|)I^$RSFHcLFqX=pQP*ag3BmvO%~QRwDNGMd2Ni?pF7 zxpK|u`I6u5NFGJN>lw$j01Z$i5=I$++8wQ&iE;ns(MKEZ7}u|@U%G{s z&8RXsYL5&)=ahj*G&T7i%kd3h_v*A;0zTOL2^BEba~P3Q7RG8mspdcMw^QjCAK!2| zk-RJlskC@vc=cXGhad`Z^2is~D%P}xwji?2Pj_|&C~?{HSU5o{WHqNo4oD)ft&%Cg z#&ApcC!VBViMm~4*p;9`iItN^HH85)=$7qDTP6ip4AEp}_pXHf0Sl}sOExp-sFpe9hu_7SR;i$mwQBPQCg!%d8TZ7ztsWFkgT-y;BAuC zso=}fW<7_f#lB~e8s#V;g#$t{$wM95`90eE804DJ%H6mD4yaoGGaWhxsiI@T)tG3nBIkn!!p55Jmec0y>=E~g88z!Z)=6yupPH!l)u0E z!?r*J?-R~oF$f-We5TJ?5E%TgY-dK!g8}0mleAla<_zM!Ka>W~=LT%%K-keQRW7kzz4Qk=Ne6+oU~W#ig?n?h z3Ql7VMY;1NCi^n*u-n^(7i7er+EyVNQ|3gaY1BqO3VAuK_u^x{_tK)IG+i}0_68^x zEqirXa0QDHm)PiTR)95qs@mDyGHf{f(DS-Vlr$Jv!^)d|x z_uO^>S7A;I#_B31_@vkr01eF2)^i@`a$z>hF&oS)G*uv03Tc~)n%cF)!b72ndf~+7 zC?#8bU-4?ipN(_5o1j_&MN6bzy2A4}HC)MB2KF&<$32cCj9(yu5O?MgwTv$kRi(W` z>xS2Al7Wcxha7gXR;mU?yG+gXgf@G4<^6t!EF6F-o6s3l!PWF_fi zMlKoJ_>nQbO+=sM6zH}ht}th#fUInjGhpNrtARCHewea(+Kb*5tIXVDAZtwQsgeqW zX85cAZ4({q+Wy&SwSZ1eILu{v(MH5AS&AC?7I#3*ebYSeZ-qxhf08#ExjRbJPK#ZLiE|pDvRa8lAmAm2 zu2@u5G$u24=BD&kkk}b*we_& z#$ZSyF{>n4HF&X{D|d5iZrqugRtv(`r;quK-l3GlpJ=7zAsnq;XWdVzpA(}O?6D#_ zgYD{IHFN_z-#aC@TE;RpmQbZOSt{I2pAn#3TG6;7%>9=Fexq)~vdiUq#;~kkNm2Tr zK~~Pxa7DV0(L>eP`{Wt!@4LQN*!;$HOg9@}0~E=KM1|Cfj$3HihfT9XeSMmalWm!| z>57|Rf;eRC{R@GA_s$1lWP30{L*@h&E9vA5!c!PmYd_r`36uQv!`_vtN^e z7-fO7t5W$C^w(tUQe5R3Kl8!9a~Bkxx~5UcR3~cPGb}aAhH2Fz=aXSkBOp`6i?KQl zPY|bW{0a8_VjwEiA1J4`s&yH1C1ed_IaIKwB{SI^8IeUBPiWV>J|bAd*Nh&^MBHa!m>QhB*f>dKtw{vznvl=nO|JL!Y z520Sx@H)nrU%#?H32BHeor2x7wZ@a#d$@MC(z3F1 zjqH2~c<=JguKQ;`YQN@|7PJ<}v}B9@G`x4SyU!_e19 zLb6lC))Sm@L?Pu-nR(AnQP>Q)RMZE7=Z{3lUv6$Q%o10V^re@HDw@tw`X!x$&8I^E zhb2urozq*GxHvor$pdljLauY#$JA=(EQCu4{i{Ov&&(--U!J~p@iTp3QpCtFDjW!&0k5DkmDoI7fBP8cTK zHL{a3E(4?vPb`u+zfvU*qvf7~E>G-XyW_cK%45e+O@<`tRzq^2lv z$>6~IRyLUhT(0eN*FxCk$aTk@S+m-b4#HRGZzo@;^T42<^U6|N@sBQ zs^;@2(ZtpgK^HeexaTMNa21-LuN=GRdxADn8duavi$R%o7OMA%OM2n)ukp``Pi{^W zF=V3L@L8lAH=3XgD-b<@6guu(N*{6!J&9{{l}Br!;NM+{PeBf}%BDHjdvy4O^;@&d zeDOP!r=wr65t0V%&xttD&+PuV@*qKl7_0GLh*`7J=xa(yga1e5Q0QAP^gofqGE0X| z0061({}(yb`G)CV!1#vge+}?UR1}d0BU1)13?tGNbEiTqgw7)Zi=$DCXedTI0e;U6 z0g@4aBOH+BP~`?f<(4-1<&YVSh@vP!lC4tjK&%SVC?ZdR~c`hFU9s*1{DWueGx{YF*PpVXEJ{3pm<*n)wN6Om?FH%u~0(sn6Hp;M9h)WnN# z?XAI072;uXXU~2!0EEZ?X_N&bkd1_mI0*dxe6VSVpJGR{N_5A!a@fT*YgXg;Pa8!( z7$!oxuF0NTIGE=jf8XW6hLv+MQrlx7EmyQ&Ha#SbHPnGRm}^Oss~=&(Pm)PnKF#)1 z+)Gdl;6EXpLVFFUFOz(8;fuhFTOBClx*`@K13JcI-Xd3CtrY}uc0jAsHQi2aK8YI3 z>^})px9~wRR1JrDwQ=Yg$`AAbtX83|dY(*6zOWPQ+J1#bwl!$ZpfmwYem?qjkk(g*fM0@qF3oedxWGq!J>0|1}bp4C?m z1EI!D0@dJ;YyW%$|J%KS`{>W!(Vblb>U0OM)fEPyWt-l$_kIViD`Efk_5lwFvIk-L z0iP7vKwkfl;;oD7^C};rwa#|4zUB+hmhUiuqa@zz{tJ>O>f)S$MegvUI@CzSQus7D06p9 zU)l=T-#1xCYeO%4=_(=RdVM>>4Yd5HKA#1*p_`)qK7lFQwc(>X%96CRe1m$;#ETn4 zz>k2>(^U@3@?ker!5tSL56o7`s(OiTT?1p5&v`dg@ltSER-$NS(%ub^eqHwr_vwDj{?Pe7*1(sfU)u zB4^zW4a#`*mZ~uKkywg}T_(HYt7&P!Cn&8?sco*iH^j(z_SNj<_nOsPUdn9^4sQi~ zf`;}W&%<sVD-haN3pbVHPK3ZF+s` zG5iLH`3L7QTnSNe4@k}yeZdL%+;ZAQ^(S=`aj#_OYEz3b2qEA6Z-o+8x3su@;+gx+Y(c^k5PN`45U3IC2(108OznFxd{AdFI5aa?olx8~ zIpL(m6L21Dz}^*I^QIGYKGV%QJ>;yZ4OD3e!t9u9 zMxb@|^$3iS@7K5$anX*nRLwcXDq!rr^^%_pIDL!|REAf0nOUrM{Z;0H%MoHhT6d(E zZ0#2e?FS5Ny5Q+saT2s%q*yEXI<+>*!si+^J;KMe(x#dcL}yCE#H7|EfbeDk?%Ho~ zfbDMglD?k{pcvv$EIp& zRkDamB%0~=w(i>Ri*fIj`2vhgOrTXoZ~7v6m7U_s`h-YUgIn$(!`UMS-VfTr6)rix z8QCo}yLLV*u3K#U16E*$5p&~+Sg9&kPuT%#EqB;p`&U||W#IuI5O5A{ceEc%SRw7q z#nVP5mHJT3oL7db@DNTnA-N;ik|F z=N8z4$Fa;M(A@59EN_}(wyPYwFk74^z9%j&FoTlrwkxg}Ho)3k#53WV+LWVLT7x1x zV082;*CyC1Wa-&3_0+}&Zq?-3%Si>!A~9qFp~w8#|L3e9NaVtjd=f~`V*@_me4!QC z<0ss2G0n!yWwg)LZ#}ZjjjPiXf^CHy%LK|`34%p~fP&Lw03v~-Liw#)fZf>u zTr9s&tz12Yl)T^g?l$LYVhzc~O{!$69*g=s#N-t`zNMe#YVwd;AVOD+x^sRGsW_1m zznJj-9c4&ITncU(D(lmeuJ1!;jfd{&E+_sv@u?PhWtEB6YE)yd0<+5+i6{=E#sWwB z5*S?{f0ilK$ieu^r*qh1s#oqu{J9b1q{1+xMmP?!Wn^;Dj$lFR!)P=NMA2DF=BaeL z0ILQX`rR_}Wq;3S>4TcUmGMyD|Kik!Yi;xK$^I4CYSv`uT}#_O^6@fZ|4=@* zL5ag@Rw|Dih6l!sWECa}AQj%-r-CJ>Dkzfs5MhloBjyYy2oZxoCFg!A*|3HwX2ALx zO@k<6Tr`f|BSKrWb7;2F;0~R<=KiHLN*`8}G@vI~R~r^rPytTFEzITmusKtDzT3~V zMr!c$2InQsZ7bf?tHCAbt~dspOx5p1Kw9lPe+WWZscHPD%X|F49Ul>%s0p}2#bjlH z*WUu#V2dw5`acd39Ed@8R4O@=M||hSLJu(rMrA!8QYxZCH}C<&Z>modRQU6o`J%9HEcPP8_F7 ze|ASe%%p9m*b5L2^pn!0v5-q>M_en~L}DkmCE@rV{m^!cqNGW-iZ)_qpp^gP{bWG&u ziP>GE#0Slhj3<#;uDD{-dy@3!N7u2*uU%q-`Dk@WNaB(EW?!Hlz%U*@P)nY8Sj7hQ zBZF;}WrNqvrHMBFa0;xWk})21*I!|wnL>7SWE&jRU8xGpfrOc?e2SyUziQ^MjdP$m zY@pC=`?Z4tp?o`=_xpqpq&1b+CWG>kx@M2A<1*5WE11yz<1l;@wVO04uYoP%H51Qep5UXQ!&=c4lS0YsEz*4f zz4J+d|CjNxzI?qsR4j0K8QLI$TFSUCTM}d+G?=u!TprS=-|Yjsd48S!vy!=+KT4wt ztn$?@3rkf=)Z`q3U5g}~o^RKWPkeptpqQFpea7heaAZhX@|Vd$>$Y{Zf9peNTac7h zrSuuqdm?q+VKRSkwLpL{ zK4ob(+lNn1!2O}j;%Awv1#8cSEVDszgAqp+5^;|ynQD50|GLHBDb4Z|A{wdmYDdQQU-_FrA z$lAnKRQ?O?Iz&u7zkoy#*0a#k8fv8hynP%yBmff&zz0#}AZ)cJTGkEbK48Z(80LnD z*R06}0|r!{4U0ZltTLeYy?T1ffYBoYNImb+Hio#GzdAe)R(UysFMU0-9c`8g3(=&- z(Y643Ts;Z#0U7c68}7F+oSIS@uAf28u{~R|W9vHTP*UOv(DDix02t4gzZ$UilQJf_ zduR2(IbkRS3B~v*E-OPAGeV^2z=}J4BZxE%M9J9M>6?eEmu3p8N4T>1e&fKFPo*Al zS2)x?uI5nv2`1+-T!y0QKt|EPX>ESH$J!ehipMS(Vu%zXI)rF!YJWI}7yX08esgzn z&CMb!5%U*7`0x;jQMn}&Lxe(}sdzX#IVv2peRMbPvp4AxOxxjI@i7@Vcero`x7=?) zMuto|TzfV3RWJ}T{D`(`MJvK#cP+9@gBi1m8_jrQTX{_;C@;7${s;xNzaQs;!kSOi zu(aMr9J2g9uF}es$B^<7;4_8RaUscG+}yZ1(Y{AY@nWw26#kK=szy>!m?{BzOBMHe z_mdS*J#rtjgldtA^8#4pAGt4sfX;ev?e|QBFX48^&}`1S@o*Q+d?=Z&c|4hw;eT?i z+nccq^>|b&E~l&gA9EeEsy1JnTNKR3tIeQ$SATK6z>UHe4!)JqmyAa{hG4?)v*I*t zNJlpjb-xYw!}?I%IGQR^y765M14S@_o<}uCZu1@tTmvyL8wE5$Dr^xlHzPuw%U}jK zU(0RU!i&9%a4qbfqu=ZEiX|*aim$`gl{eQ^FRJiPB_ly}BXxaAi*0*kYm`xGkG4*; zx%girdnKa|hKm2v_2(b^1XS3h}QA-R3W{DQ+lGZjd|L)v{Dcx|7FBLuoi9 z4MVj#)~i9}i*T1BB@%Z1r0xF*bufMFnf@o#p#gje1pr{D{u}D()P~el)xZ#_wm^~1 zBT5#_mx#7ZwurJ0w~H9s)H%m7t);b!q9c`oipU9wuokW*p~A0~m>sCllATByh=~{g zaDX8PD{*;VrvKG2+YChharuNlKGFG<>2yW?^|ICDgss8}u<3xfet5(*IO#2_IWT7DaL2_I08}whn8oUt> z8xRWknb3vshmkdP+bYv}H)FyQk?g_QC?E!G6Y>Nqh=6m6dw$rGz7od)8AVi!cnA2n z%9UGe;_vr)#7x~qO+skJ4&DdHrng9DMx%rGcb&b1Bale!h@0=ZZtq-41&vvyxo-8v zNsfHMS|?8mu2sB6<0GAjDTcu|*J$~D2SXXbuET9${%8quwMeX!?qiVU&1`@UdQ8^# z$uf{tY39b`O2e0Hetj7IMziJ+&b@=$=WiwvGhM?~hGT9mMXGr+J{ElArWQ0~?nyq& zCmwwlx~s`_jUzmXG^(U1z*AW+s<j|Slr zT*IqjEj7QvrHQ61k&@OO9!Q@eIzQ%wTb(C0hMi@Rz6li`%+{Rhl_`dx`e;v~poGOY z?Z)3qgz5IvdSEI_)L`{7N+L=NShEvwxZg@nP1QCFoxF`A656Xh_&bR3MQ*f8tr6pP zj?-dE+=RmaZ473LnlKTFU~jr8}WbLdFT z?k>Vw_k$>LASu8lB!71nF^;fHYK+T9Z_ZVFM^?=mheo$jg8$$v$(rQIRceLyQ5YgM z@8^AzIl9YQbZy-knZPWV&4~gzsukk z-LqXTf@28<=Y=~_P$qdG zg0j4kjqVO$#+3_g6KEDrw?`9-XE|r07Ns1c;a_xoj)RH-$)XWQM* z7H!>QcXy5W;&1u8W(%;}Jbw&VROsBgHrs6teS2!ukn^Siw^1f^K?{PMi!{?cs;bHD zZBo?ko9Kbb!6WJQH%x;1j-a`FOp@6O1*+16qg^fJSNz{OcN{P<1Tsi2IPU*G=yMQhLm=FVER5jqB_|`=vl7ejMuKh5Sdxi!mxNLkrJkm`3 z5~=yrX{qCHoAu(FZ8iwnUCsi%-w?%PM_HM_vupT%pTY^a=ka5`IlRcwY&g@O3D}KP zc9&q)KBhQe92A3tR&dt~A@Bjsn$GOs)n!BH%t)4c3|dpVi(4 zMybq1^l90+<+h%2&)iFRGz^S9*~umLm$r(r^1^@PjVCi0(xr>Zr6l=zYS6uE(xszh zAdu-Q02M^*JKtC3zPmEHtzx3j%XTzKQtieQ%{&&hvQ8QIZqCPZ)>KC?QBY2jK|KyhCVuK}oyG>XG2jfc4${`A*wBD*;sTfF%j^>?g(E$cLj2 zVI#zfg_K7BRe70%V%0>utyWrE^jfEsoze27=IG&ASTd~KEZRC$_}AI4zrwYK*8TlE zp&qnOoW&u2V&2RDh#qPrVD()}WyOny)Twyiy6*pe@EvkU7+><)59>VFR5!&ZfQUp^ zg?Q9ZNN2Spa)Nv?t1%O;|JtDitAl}^#0ef!NIhqYed(BGdU-xMmwWNv0Ivk0Z^y=+ z(J>a{DpVxNw1GhKG}sq`<5};{&R06_3zkI~i3hilk8vTu6&Dv@?#lP!9FEnk_?-;aj&daIbN6B5N|N(T^-H zKlw;Sp-D1LtSKSZY_+4-BffI4eV!bt&z0-Dz*P39k6l{Ghn;nl7`Cw{Yu5>^W0o&8 zLAeMif>oRRTCZh=9f?qlDcYykGV#*U(~0M4Wrx%&KPDi+lzk03(rd-f5N^#gq+Q^n zp*o9c34|4OKkclwVJi5n&L9z7)Z2W4R*RoWT9=9z=j68pxB6G{>yaB#n$6gQ@V~9u z?|1qsbv?$IzDFQY4^Eu>oi4nWop%foVu_<|biBC%bLRYpBY5Q?0uJaz0$*)5jq^%c zl|@lGzOWu5ck%RO7*{8nXz56N(-ULy^{Ai`4_j_aj-X(B7f*ZLnk8=iyqWa-wZTvv zq6RYjg}L1HjfoU1S7GHQ&e`YLMPQWhH88&|cgyXq6YZrsuMWmb5grVuelm`;LWNp- z`F@bg`Swz;grdmE8KBw3mHtvwcVKzKdn&J-a!5}R~x&_it` zW(ABw+VbweTLqj;dc4Y=&x9L*ni3PiNN$pL0S2E0lsf!=svzhk3p9VsPW?$TV8nD; zH)%HTUleO7yQ`V$h)i76JR)x(tT1qHqxMN1l}SoC`+=CSR8!>jFY%kK;Y%u?t6%jS z)PvMabSGn=SssSP(#azA-x3rl=Af*5y1&{c#+Mj=a-~s! zlfBcBE2sEsWShHCE~zcKto^QUEOt{TPJ84aVv#8I-P|rv3?wBohM-8aWzW2^6B(l4 zs5bz+nk%Dok!XWggr5*anxOLYGhy^e$C=B-a#o~yNv34^p-(h}fJa?vh#J4f=Z><= zn$&lSrptP2dt8vwB!j0;GPyLeU&Adj{NPySJ^ywKsOx_@^sxNwHe?O4UHxWrs}Pyy z)_Zo3{nXr$8#F7?4N)$nSd$XA{)7iUmcpoO4RwpqNHJn!307Bu4yduTReK#L)*+~A zPN5Y~-6i`)PkjR!=I0@fvkpO`e7Kbm4jhQ9+aYpf99m;K4J5S6gUA5rUHw(Y9pRx~jFNKG z^IRP(9X=ck^i`&I@9H3}_0tP6;iQQ0q-PhpEiYk_Wl1BqK~30*shiXxlrm9=3Cg?++WuM$Ft21wU2Dm?7{|`5S z=vz1NhsQkt0I~UBH=t78T~W;x?d#GT5k5&A3Q5dyMu|m*L{=K!X%sKfQAWI8 zahQWuc=C^>BJ-Stv6nVSL@mDwYMl5lQH(Fc2Ig5C92Ku^1PX8{AmVQ3)XQc2Qzc!r zH>>N++Z6wiYx0$=PsP>|8&k5&nm_(kYF|X#Vht)%r~;5SMC`rXkdinay(yT<_JZ}C zZuQgN+@9N*nq8Q#89VUzS2RfO)9_56BcXY1#VfYW(r7VMMe9ha`qA{Q_U&wK?=fBw z7=Bnfi?Ek3WJw=~pH;61Qp!+3iymxW?^bIxkfQnlPqrO(#PRZLc>87vd)%WXz`P%y zALQoFO))kT1|cx(;z21E4(OnUSCb#@D9*Do8)8vZiTsB7{-eGJX4Pd}3swh4_~I>3 z9BH9}oJisvf|&(-pacy`W60m?kw%t?ApiP_%s_l70?nnMc2^>FGmx;WH>&q0P+qaK zewIU4(iI8C+Qw6V1_VKr&-Pr6RREB@MiMw;65i}l5_E`(*Q7)1eu#!A*q~zuj5C21 zlA8DLH_!oe;P^Ws4;YVf+!@kE$~1uz?WA?DJ8|C$Pxag2^LPg4behA&e5p_BfX0Z1 z2Bsf5aXbe8BqJ=d+*yvXdp#t~2sIer_N2vipM`IIDhmez#t6_Jcgmbxp*!lw!mzoH}S!N#)yQOJI>f_O~4D&&b zp<%ZOL%-=n!!O^y>dMC{fRzon)#_ja4w$aVX&F%5k?QVNgpr3EmWE*ME0;hBES?OwytEtaJ#RJ4No(jye2J$oLNQJs z8=DrElcRTbcGd(i3nqe9_w8bhD){J7%a%$2#Ht4&Ot=Car|)Xc56y=v6hHNreW8PF z#a$pK@#ncRG&fky;_^oQL9ZFB@*y6JCZ-$NwwMNRGj55|rpGJO}Z0}qk zdUzKP4jaPuCt0e$$(<)e9XmW+2c}l?<`gz2y)j|IF%eT~%IvSf7}GxNL@{E}(Eg+S z-~xo&uH35qI(x(i@4@_&ehz_s=Y9?W;+CagRR+qDf`R$Hh#6ns2N#k ziD0N12Smt@({*?E5|*6Y6wi-?y`N%a(;L!F-MP-`&X5S0;)`m0%cTLerKSy6E+TL5 zLkGeI(hBB>NJNie-EZs;&L^a+%g@Cldwei)uzeU<2Ilr)iz@7`ZwgEF%#STZz4w*@ z*jBISAVa9hGV&Nw$gp8O$Tf_l>q6hHmInB=7{MAuAPX@kDuJ_gfVU`D!sm0?Kx9^7 ztgf!+p5CHI(wH3WQ}@!+GEzkqHyAcb0R1?Jdq>w$01OPq;J461WRQMuKbdCybO^YWg17&3`T1(+Ws{^f0jZnXVFGc`tQR7rBBFx0qN-iC; zEF*S(#H$l8-GUnSHRYTgkFR*63O&x&g#%kRk2aEz2~Eae|Cp>=j6`WUg_wKcU6Qrz zcrNh8Izi|2^-j6HT%4;41RPUCgyD-JZRK2oH*EtwS zQR41VOcT#lqo~<*1hAI9z)_bQ|83@&zv9{p8yhFEB#yRVFYJl@Sg~f1F&ebQV!4z% z@t)Gx^m#ew5kGszbB$t=IkaKHc+~JeEp*@B-UZ#2d_!{Qg@W_}Z#;wQ+7Zw~4Q?)o zhP*sI4Jg=Gy}rJIY@Fsoa!CRme^#-qtW$!0Sg=ue0m#b5<-zU)QR&Mb(ZSLQqB#u}BBO2f^{7BSw-qync|GHTZq&nHD?^^yE}Zk~$Oi%j=OdjKF-Yuq z^aSnwAxkX$tZPQPbC&j3iY=QEUkh9X0j9;E^7JJX}O+bLDD@15uWUs+iGI-ba2EOjVu?0Tmc>^KoKOT9l6kjxK3* zUOcW%r_yuf>pY30&A@R=Xj+E~?&L^_S1eOBYHR^iZ)B8!!t$aYyeS^^p_;Fq0xZn} zf25-dx8M)I1E!xI3=|gGb24h+jJuJ+Et$t^&p6ofB-nEe=8M5~nfwnOf|ON1_JJ&4 zqgsU|oq`bZEZp$OHVS_i)I8Hffh^@yk>ga#EMycB4&SvDR!V$V!oTNFD4T*^b#=$s zv-|J*5i)q@|1gVK-+HY7F^k)-{LcUYIKqF;Vzip~4|P*C!KcorhkPb+Fl2P}Zwgz% zo_~WGV71JOOTSL&I4#T3`vL6mB%tv|d8%HcO9Ot-GF`%dtGa=3FClrgC8fBQetjrz z#6ff1(+8c`BrMa9HdmfkPE$@eAcY z90U0iqt^ZN3=X9vtVKPD z$V85x5AK~-Lhtd$t%Z(Z#9D4Jhz?GPUpTHRXL$d3s_=y`jB1x+Jq-*p^PJnIoFgB( zXhjf*Q1bHsn`Bwnf2M6n-3e1_q#mzEN zRwvxVjV+b*(JR`{!;a~UnVUr&ppe6b(XupXylw3(<1C2&m zbex?XB{&i7;ou{Ck{4Yr{C0K>f7W`Cj@dt#HcQ!hq7t3y5$R`_wk&PnQc_S19L~-v zp)awoDb}tU1U%id$1Z+0BN%He>62W|APasoTuM-3i=$YuK?TQ$Me%Lz9g6EVhEK+% z>o$lSs#`N18sQC57Ue`&2EMKv;g3NEK)VY5+`Xo0^SqpUlnuX-8Yl%z7Nm9d&@k`M z9{~9Tp=>b6ENNk`bGj{t8B~Ska`sP=vy#%^EYQI^_3sQm5d1K8+h594R8fJQA|<|I zy(UKPY-lb<}~$M;zG0j>X!GLO=x`}W^Jwctj) z3%n+jIXa}e<@e?1telP`{C^SfBDMZMYI&2Lf30cFBu2@0&#OP6*y0#-9SD%EA6EQPeNkn`5 zwL?O6m3o**37DnQrWrI4I~?vPqovO!DV&Ji+zCxwNYMl?gQo8=(|D}B0`ZlaQs`53 z9X#s#Da_?|hJM|p8ZN2+lzC0UdN4tX*LI!wl-rIKU(qDgVYpjMoq$NuPz>vyU)Z~N zm7t?x=#Nf!`C;jAxHCmd0YO}u`EFh%Wz|S2Xg{MVHbhR8F0GbFQZEjd$ZW33(8!;E z_ZL~IAT)0nq|cH2Z=wnhI{}gjK0e@Ej6*qv|R}kMuP-$y0MoBP62~bH3phq>J<{40V z_n%|ZRsnUdAZcr0w8G#pXrR0rATgsLF=L=2hF}ytAW3uIT0rJDp!5O)n-Wyb^Sgd1 zHdzRC5|G4MK-m=_Yc)M1CpPc>x+m;*rwr?H?qkW|Wmzl~+`Qk#Yd4p8z?V zd_t06Utc+SML^R(Y+OPfUjFqB&9ASovI=TI=ORGO6QKS>N6+->>A9+=9vqbz91#~D z1s4$&pPZVdp|Qon+5uGX=l3=08Jh3x?m@t!@9yrOo}QuOkb*Hw0}75o1%85&bALBa zMo#tq{^5tB#`Vn&79Kgs-xW{=M=&zZZxyJJ9?-J}oPYrm799nX2vGS5DrE`Erv+&E z1Y?s2R6hefDnXTggV6}tJGe&2CIBsyK?QYzzjD5t2Xw0di5LVr<^#%az{t2PtbZjY zrvVMZK>}LA2$=zu4}kog?;8S!Nlwot+TPI}9uW&DzXs%Pfh7J@QP*8uTwYpUF)+3S zBV+>9y#Wdj09jlA>4K_zK;b?hXQPvhsQkMtQ=OINRRC}%C8J~ImPi2Iv+tYsyozP@hJ|F_^=^1t#|%m2zN|4&@~e?t5J6TZIO|5tp(w)juM z4e;Mxc|Z_bHz2w}vy}b!a|iif^KA?Ok)SZcQ0H(#U<&p3Pl!wpO^MYPQk2pJ8^A#nV(t<}@bLt4h;?fLbEwdPhD0t~_(A~Yx@SW-$tg1P2aR$_R- zBY0p?mV!)%f}FJmx}cz_P&QW^%vBrnyR|m z(){Yu0w)^>J1bMeNVAMgQ=^WHluVnfD^Pc}aK@HqWo~VWkz3efmn_blLV@|4LaJhv r!8(lx{&ed^{!?j``#|Ue4i4b1&wX1)@Pp+)ub{NJyjYcpLBRh9O@VDh literal 0 HcmV?d00001 diff --git a/fe/public/icons/apple-icon-120x120.png b/fe/public/icons/apple-icon-120x120.png new file mode 100644 index 0000000000000000000000000000000000000000..0f156046d88efef1e3b469c31e732542bca4ef08 GIT binary patch literal 11522 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 literal 0 HcmV?d00001 diff --git a/fe/public/icons/apple-icon-152x152.png b/fe/public/icons/apple-icon-152x152.png new file mode 100644 index 0000000000000000000000000000000000000000..6d9d3606a9a244d180abaca48d729e56ae64b49c GIT binary patch literal 14752 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 literal 0 HcmV?d00001 diff --git a/fe/public/icons/apple-icon-167x167.png b/fe/public/icons/apple-icon-167x167.png new file mode 100644 index 0000000000000000000000000000000000000000..721badb6fe9dcc8ee4c098af35eb855eae8cbc8b GIT binary patch literal 16020 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 literal 0 HcmV?d00001 diff --git a/fe/public/icons/icon-256x256.png b/fe/public/icons/icon-256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..12f043e79d4832e3d7542902ce1a6809527b7cdb GIT binary patch literal 27228 zcmV*6Ky$x|P)$_1rbES`wAXJykii>14Sd^h1cIiq9$sL zClL^XcT|Xpc%Q@rW%gi!1w8RgJmV3M#CQcmL=lB$ci#V1y`$gj?%ADw-90nA+x>m- z+u7OKnV#;ddR4!w`c)zkA06Y!5cac%=qrCH5AMp_%1v+XR z3T`WGGEtLF(VuC$EWXn0c@oa&viG9znN{8&KQrk#7yVr0BR=B8K;bgVPHQWms^rQ1 zJp=FnP;o2h>Pi*22mP62;orLAYvF(3fAc@@q+)z@%&{)nzm>Hn>v>l<7(d}ZWXgRjBY z(*ME#rSHMs3*M8ycXlfMc?^Cg`|NIbF1f#-{au7nh&_e)==2INclRuFuQS=SXKc-s zrXT&=X!>&sU02cd5dD26{rLr5KhQ-I4RkG|>uI`H@W)H(TEhRfh_AXfmUvwQ|KFwj zy;kt|UdI1cgX;%82X-zG@pGHP&$XYYr^3E>S_@NRgAgAbTH$N5`eWOj_j-LFY7F+J zKhLADy@URInJ(D1v#5+uaU}%htf#A1Dq{AIS(W%RYHQL&cuwV3bBHKGk7J7#CmpYWXrdWQ_)5h);MO^hGJN4r#dbn8NToYG8u3!;hNTvgX#4x^9T|2dlMh=5$d5AvoJtU z2l7VJ=V(k%-oe;*xm5aQP3beP-9BE5PkMoSNs|>n3ckk&lJIHkpNa4(-#9oWJXsQVz@W#9u0PR1YY+zKH@_I z_q-K<7+p7Dt-Oum+X#Lf*Ovlbz_1pPMPPjnH{iYVG6XSL7#}Xh7d7hk--gh26McRi z3RRur=9g-YK9gljeH_+uzJDp!8VHZ9P8x!Bcn{%T>Y+g*HUzQatB+O1ucB)*|XU5#1s(dpv+l;Rdbzx)OC=PJjJU!2|EQ`r@TgeCr7$1@O1m8P8Kyh&#fS87mN zP~yjbAc@Dm_g?Tfcn!R^mjCY({$5WhdHDvlKOt+Mk7{s=XB3=Xf$9;g;`g{h3HMSl zKG0bdzb0p#KM`~IcK%+t`h`<`ubo{eJN&FsI`5V%wFdC_hrcF?xqm0gnM+CXf`>@z z^qWZP*vm=!kf|iS?};S6+Yuza{ei?9u@|v6-<4Q{cko{DH~JcQE&dPu@3^V-y{@3| z`3HP&_zd_g{7m@ldgXkU$m^${yO*a>SVO=%^yo2}L3m=H93OlsoCmbog9qI3j zP;eJ}D1MZ=d#_zmC=KkQqMJ_i48U^_tRl&4o+GJq?josUE+grEP9WCEF~sV>1+lsh zAY~Q3Nm;5ZDNCgIDx<4{J(sQ|Wmb1mR@Q@*mG`7S9Sfi9!CnKe#rLV;@4?>>o}-@u zpM{@EKO4>g&IQg1&JE5H&sEg;i*81E&S?+|;UQ!^48dY{m%ha6)}L6F)l5OV59B|q*>kw6*y@&JiNA~2cXzxOJV!qRJ_|n+ zK0C?J1fINtr^@mwNu7BMN$+6;5)&0 zgYO96RqK;j*itBCkkzU)na3x>g7;81G?36iJZDMUs~+AnEbv5^LBfuJC0{amsr!<-r|zfLqZOr7SDb@;VpWFtGE+?*!ik z4OtocPV~FNcZTl{*FYBX)T^FBq+x>75Hu-rF%M0cd{^{p zy5Ti|YXR2;t_@zJMjj@3frwEV0>Q<=WaJZ+85J9djX=8s`YgWdccG8xpk;61yM7dD zJ+Iv!+*z@+J^CFBcnJ%D)^KTgtn9L*FO-TR*Q zuGbFT`htcF!ZU!>B)xX<99&DdrU)J`Q|ccUwuFrnxUqpHasxS60|?pA*b^wK@;hDr z8qytUr1Tcu@OFJw$b{mH-RXg^5aqUp@4;MrSR$tPKVmm%6K8^1y`ep!_YNDSwU9&;p1vDRAqrFBQY)$|9(SfZiLpM{uuLiFb?LNEJL|;Or?7 zS%Uc}i*da`L`O#J-4_=cdiGZ;@qTcZU)%M0oX_hApkfWdJ=N7OqMPrn@as={*KoRen1SM*~4(}OB;@4@IUTm6RFEx?=YNUTk_rOyo|R-Yln>NN-zo>lDi zA zd>E$rGSaHT*y+_WzaPb}&l_`6lV>tvqCzja<4`Gzq4-MS5W2gTXtqh?PL9gG$u=at z(^#yeg8~|Cy!p+1lAN)GByV_`ByM|;B<}f)B<8OniATQGi9jA*N1t0u5)b~DB<}hb z;}*DfB}q=JBgtRgOH!xaKvENaL(==4NUUx4C05mNThY)sl(Wawd$6ngstaxi%Eaf1 z`vv!oo(tSd*?<&e?X#~>7StOh+f zYXz~k8qE|8cDZ7?`$BPGcgJ0rD|?^Kh_&s0Bt7nIrsTh?Cy773&y*OxQ-cSCk0^y+ z#KF=!2L+gTuAaZ9f!Hf~!!iSw3w607H?+$f}3e1RGA8h#yI)LXUxXj&{Z6)< ziW;4iTTM(!qax{Si-c5i0V*7Vjr?4xQAqE55_iL^i=P$2kfe&;V|uUQo--UNYi9~f zuUE#=M_|kAWS0?$F@ZK>{*0#lC*tl>>rj5vonLkNxjPIlEV|hxue&L4*Id%66uOWpGsy4Eb#?^hDLzNY~=U+y9 zWW5s`0dM6WO)uOA4s?a%_Jdmo3bbGYN&n<@R?WwA>!sYV6B~d6hXlyoP=+!BvcfVO z8^a3+>Tx66fHL0cjeuuuKN(3c(CWZ>ehutvV(Ff{KPA@o2Qmb>L|y*a0F+8dV4n_k5#IV6;Tin(^uu@@VF zBK1~K89`a0G6S-MxPTKJ3}OV9$g<%ohYoZ)invf*W-fk<`{COd}_(3yNhIz+VeHifeDLs17P|F7?t zU2a&2(#{AvVgpcYBfv>YsSJTEq0)-tvEZIS6CYMOUrB#=@EQR&p~qR}H$%4c))X4@+@S8M=E#Rzat1u9b@TWnBkHmDI0VS!+-p4723 z15WC0M&P-g=SN#YQ~u*;FoEL(FxxXPUu*zMDMP@9rowjt84Jw_fb7>vj=`NY9qBNY zf-cYxsk`4*#&MHCF+U$golE)KEeBqEGXPE;h6;9i|0(U(0Jt**UPhoLC?-JUxN^oe z+`VIgf-`V9*T;)<{q=sp(F;1^sNKU(`RJ%Tpj`pr1#o4*@@j`8&wY-!2S*OYu49Km%_D zeq=34Uhohbi3S{sa9=tMD>3&3022UUFj$IE2L&0;-MO01wA&G6&Pu-w&gyI74L<(k zerI{FNcF)SIZle%ktn%K(g3(RE1PX{5^#y}!iqDyel2r9xz8{1yGl=?ZgvsH~AdKX1vRMzggV>B#$wnu?K4VvAnms;|f_Z z4S-jSF9xK5;$PW7(z}jl1fZhk!ejDrrx;n*oy{x+nZyR721hHgUpyd#tA%F<4r^bb zfDQTyx1~3I?i1eO*KFka3o?&7*3yezebB7Y&T9MHjR9~@MuN43(Pky5FJ_7llv=4S zoC3VMQ%*j1^$vhcLKh*l64w!(RK$NM(9Ct_6VxG9r%Kug*eO5J;WW=9(4g{L%J&xu(K39AP@4tEGR7>lEC3#0 zFA)liEA3FgUG3MEuJ`!Ko4fv;z!Uh|kj5)uj41>&RnZq8gMi|Y$s!7-EkNoNAl`(M zNRaeCCq(A~_acEOaQFp4 z{Ds0N(mhDeeuMG%M52q_p$aXOUTid&T1s`}M3p0O`VWrvsw3et0(vx(x&OhxkaK=@5!qzONP4X+&>+CIhSwC+5C|iM=SpP& z9#;?A63;uZ5dawlS*0?IY{QF)K6k)06abwnNiV>~?vvfogU>JPKkm=6dUB-hF4sUm zlN;Wp2UY%5cQSz9=)b-823fx1X|n6?`_Pjw#~rFrLg}ga$VUf*H+v9k`=5~1Id_u8 z17EQnWHAYM=hrCHxM0GrKj$rattYSo9!{9*CzU4+tkshm*v-hw7hWRb`0syLlX-XE zOUCRwmKxxmc+KH|3T+6)=b++S>^ye=@d4!NXPzVf`sCkaQ>3I2npcNMkyDe;QB52@rwIlXb0!f@nhnRq@&9T4b|f+mb)s zewTJ`AAI-`*=&pL&=W8*0osW;jEh4Mpu2RHPor=Ps|v0lxT+#vWdhJI9OV}@)RkPp zV8`#$hotvEg(Po$h3)i9)qd;9 zL%VU~Mtm%e7higX95d+@u8s9u-_1PNO7b2a*=4uA@tT9;nTBFooL|-p-*4wpV@Rf^UQ>Ly=S~Bq8i9xAKZ-`lG-d1x1z;+% zI)2QwSAYS67ZleEsBt#?kSe-X@!t^YBnLa_h6Db?It!jvr$pXuod5HDpD;AFOug!faf79 zDTCDO!*%G|a{ykO2@@x4xQbKx)x*mWi2nh_gli628VCyj8_0JDwiUmcXL!mG*}vhY zIZ~U=$ z2wbF31oG0$uliDaFC!ofzy|6)jM{TQ z}M_t5}aB;-Dey$WBkffe@ zE1!DXE40o@JG?3*r=2-f!&ZVQe{OG}Nh;#hb1%eQ7z}*Zo&)iG;5>R)ZBAxheH~f% z{r6g&?`PLGXIgs(X({kfB#+p4++)&4wJMXh7nZvKnGQwEKs+f*!^z^6#I)> z|4SCIU8=I$9FXFmU)X{v1YquM^Sl8eq5Qmh4oYbe{el{TjT>#y?vA_eli)7w{3oCGbMo=W|1x&>^En4K6g=lw zzroM$8lXrB?+2B2ka@#i0jC#mgKMxzfp-7F^uxX}j{RYQl03eiSi|>VqzVSWpDLIT z_kXu;U1)--#-x{CKAm3KB096fFQ^^ zm3feTwv%Vgu>jCP(8b8T0Gp;*?Ecf`?w>JC`vLHG#w|8=bO2NuT*GIcT^XuiiZm4* zr=D>(x|~iA0C#_=;oo9+Z!oS9$`7H&L;oY`9e>J|KinzEYFhQTm;BCkjiWFCxl)Ge zfwcsNalR=Y@bW8v)xb!rt7#}uhO%!62nq@@;RQ^WUO;46Kt|>E&-S6ee}=n`pWR;w zF2u)>&wOAN?wl%hv}GiiW#qCeW`-`9>U$gp)oO_@vZd7p0#Yv^dChZnaZe$LJ48MI zy`K|n%h9Z9ij$>;sr z_CW_w7Z$dd^a-?}4uUS$kUr822t5p_amD^qJ^20o@BWjf8>juGU{ZGs+%n;+hbfpU zD$S7SN^b)oQamSK%|n2Vh1vNz6}L5XS618;5mORYRHl27h9!-WyZ&w63n#8qCS3L7+Rt6!YG*o} zUcmD!Uvi~{efNlf>{A^8U0}QcEhe%ddIVnA+JwV509mp7kN2SZ@>lNF*kwn~2!x4fa}c%xE&Frb5XKmw7d2vQldPjAw1;4ti$ zFSP4l>PFza^DjmjGztY&FM#TTHetxW7r?2*vg0)`AYAu9E3C`uU>Lgq03ZNKL_t&n z>HcSY=Ke$2{YAkKbofC}w`l8(LNLX9{_|g-kRE*oA<)=5i6_08r(COt0bzFZ38K#X zz9iNbyYZbr8s%4a|Ep);P&C)S6b*ooi~s%aYqI(9?UCffv_L4J7r=W2vSO^*0>w*D zglPl>_%{+q8T&2#aqj*Y`*VU%1F(vf`<9bG&$~NP!4x<8jW^zsWD=g|q=W(1cKe5$ z1yGB8>e<{qYny#}(bT}mlpl?3st2;<*s0ZQr*!{Y^8%nY0UMVb*igP45i%p7VgV*Y zMOa}Fj2RyhUP{oN`kST{{`jo?6UhHp#2PqKBLAkqAAm4kC~=sFNIO0E{0prTRag#- zp1l6WaIyhvJ8v!fnI3gGGoBGsqYEP|swzAC?(ZdQ;#!Q}`yi}RGyw!FGc7q#=+?Y)Gbo;Wi4bedeg}u@NihTAHVp06D5y0eaIARxS(Hs<;t-Gk(^h*i2u?46@kv%l zRw7?sKzC*UKu1`0UyBJCC>VpjM4eR`gbm3*1o(FxR-Hl7f$!8G@Atp?^+5gTBK0RI zr=#Be-AHejHVuGA0R_`xe*ZM9*2}l=TLt~#M*ig+Vh!7kvB?DJmGH}=%eWLPvH1xn z`@rl3&t=h-=C4cRHG+Et|KGFkV6w%CoydV>4=1Oebq<+*?M>v#Oda{~qmQwv#?v5d z+~_JaD&?$$(+gO#ba|VhVm_4dpeqKoB%(i{nd|CtnhqP5{)*iHe5Lf)4E#Ixa#{G} zmw8t7`5!dy$b#+ussXt3Zl4A~42Ib6WIG$smNi#B1roe$QXcskA6q2Av^Q&UjD#8H79nu02i+W)fLbg-(X;d1A$Ceze3%W4MJH{ z^q)-BN`L(r073Y1*+K?lRaP19{*`2x-S*Mk{z3?V?E&2H%K)e?pXq~t!Bc{*7yu_d z+T6FpEV9q~4QU8HQpT z0g*95N_m_!n16Mk4F*oR*rh}t+z=5D6|0pa4TN};ARINND_12&dmYm1PSTS^p0aCb$5GL{(OvrY7mgp z8woxw3?a7MdKaA91fhb;4%Dnn8!EOTaC!mP-EfO1cSK%tBQ_2g3!iWJ=r#g^Ct#kI z4ai^lv!e44#(aNl*7whWET~)WzXfB>@#)4Q7**Dr3>dr>`Okk=Y4Lv{4sk;tcv?8bfBxx|Y26{y%bh1;q*v z)NH_~pMHi7RBaWHW-`oG~o#V-Ob3c;t4-SKaJvhRheJZ zMJ;`LwTl#kYRq*ded+Zkp;iDe|0JR4u ze%|3%UDAkusdxrp2r78d66~~thHgVHy?h3?ZntI#3JC^o zk6>VTU#-Gg7(jJLYY_664ixnOjjqtXjrd=r{|3_ajUxoe@56;q1KoGpKl*RG{}yt- z7aII?8URR5`9XBOnPB;pSgqEZPeXqAYsT!Oq)B4~kbjC8WyR`+@&cp1e|5pdAt2OXJTIuP0i z?U7%zc>LdF-1#?b6y4Q&NDsiD``?x9z5lp^$8lZ;;H$6xOM3So;v3cV0t2m{n~=mG z-(h$_J?Hi7HJIo8`^WBo&|U`aJ*K!J=sRF2xt#9At5^T8Acnv>&w$Mptn|edAUy!k z9jZeCIs}_I4sbQ!)Z3s6QzwhmWS9Gn{}n_#dE=`ZJ++DZKWp~&t{Ya2T5lLTwb>Ti z$vXEyUH~+F>~;jZp^el_I%I06O#2nWD`2w&d!sDD{kwJU?Q(ajM{>koZKJb$d`!q=Z*<5tpaqj$jK7^uJA%Oas;|`nXs~Rw; z0f3+7J&Co+*4Q$P;9v~=70wVOx*;-u+~g_Pndns5poK(ES%p$&sAd!?!MyPRXF9OK zC=*~05(S-Bn}c$A0T%yxo-z3cSe!@K5^Ko;sDXe!5fGlgJG zIsI&-X)xYKpbGo@Rc54E`J*=i0$*b7&gF>fKm(GNEeL6X1KRwn=W%m1%%x3ZcMQgp+|XP)W^V0$qQ0Xz*rCocCbt+1dg{(kwitK|L8N6uPP{4f8riv04t->_;{D$BzC_sts2 z!vN4Ji39ix0mS5>mlcf9(*scZ|JV2~08;b+hn}P5wN066u``TX=mCSaA~)VV*Jh|y z#zjYI2-FZ@QNvQBG+?|+KP(UwUVzp^+71f8ocG@;W9nmdN-;eC!>zZGft!s$*;QrP z_c^Nd092<8>H*Y(pf!>oAmf}FptJvsR@#2E{%NdRNP7DN8I4tCmGSPTx@xRnyo~HT zYHyOMT~yEtFIf!q{s*L6uT6~S!Nse6gau-^1`4ybyv`Qhk}M9Oss}1{q*0?XD^hvx%Elo!9|M{%{Uq!6GLyg*h+ji9|aZQ*wSyl)Z zqOgOZxxs1yN~^=pX6q547(CY&!%t^01mF#@W}`AP_RyoqC;$Fb*=)Ss{kPtJha7e6 ziM%hNlCvLG1-_12UjWr9IZE75HXwr}KB69Ail*z14nT`PzAEt){$rDG_kRf?$!ngY zu1jB|kzalgT)4;=UUa#m!Ylll@#=dVIQ9rLx~HO-$@1oz?p(ObdLz(^DKS{^m_7%8 z6SeiiAapikz&0G=4OGzZb4&8XlQmKXfZkjjFdOhU7hi$EFvz4ZswU;XZH*8EodVs` zNJ8=_3vJ>$eHGVnO9uk=BA|!(puvs4s*VJg-8pw@U2RdhYRpPoWC-1r|8)CZdOQ{) zbr`eu?ER*mdm&5b^c+y~ieYM_OE|?ovc~226NP6!Vf%#=iqPf8h9=I5BA*C_lQck+oV$i;{%x_v3d;5 zz0}tM`3&MuRa$?A->eJsI;*(XnZjZ)m=Xm;Q_!GN*^BzxSe#Z4bP9A!n>_6&6R-pg z!AfP;hlc^EA>HWuLNWmRr2q#~i+xVuq!!hYr?;G`9H_RMe9{@@AOH9;G<-lsf}eeE zWvK356xTz#`BXq*vhOW({)8zhzX$ve{4cx*yq5?MBLD7c{YbhJQ(#aITSh&vvP2Sw z-g&Gf|GULrpX!PgmQX|kO;#>rg6vdPE~8+zH7*Tf{H}~1u6tp;Bk2JEsSMREh5;DN z4P-j~1?srV0NC#TP`Z9l%7A@Ov#~~wkri%M0e3tVAAnZSX;;o7->zNjQewZQo+{TH z;0@KAZi(@-3YwJ;fHeSx6n;*>>Kctvm(B6phz&5g27JQb1RuXR;632I)c1~3=+!C9 zfPAM9JQW+JQb+%mq>i6XQYT+SQYX!}7yN$w4Epzrv2_+^DWrFwfFsncO|~IcuR-kn zz#!0F6pci>8#4}^tAQDX+y=pxF&j87s7EAb2U6XV?!Vtm0MqFoP{&>4!!uct0vzK? zALMHQ1hIue09q{9SG0mc4fcHx%nw{Ip#C3Bx-l6AT@dA`#t(WZz?E0Smwafnoqrdj zyTk$S3GXcc*vMR7g%b~R-%$Jlg)9)m!sDmudP-SO^XK93fOJF6d@XmAA6rKf_k2c@ z*S~}__fn_cK#j>Su?NGd-ipa6jjhpp0B?iSuzQ6H>h~?Q7ibfOZlMpI^_vQ0YmBDz z9024g!0a(bBp?e}15je_-&x^;Ahj$uii=2h7jnQshmq%3z8EMB5NV&^Uiv!;1eTie z|K#8!$hY6Fm1wmo2I9x1(yWXEzmK^E$Pny zaB>i;b47z(4@Us7=Q&&)ELczFNE@o z?g%{+SWfK0 zE%$v%QYT(rGBWH{4*)u5SP>{P0cUGE&piNc0J783rK-s`nNfg0gaC}70526pT*PcI zy!f(_0Z?%On0nj0YKT#fcNBmh#O2_ci=AH`n-*3bgvyH`JOK;`l9iE!LN4wE8vAR! zc>dhq+=fCJ2BA#w8FzomrZE@Mi_IApQQZO^GouQpI?Z%@y3P`;g#ctOrx0rLb%DVR zqw!ek^qY7Ja6rjiJfMh5l=mk6H`#*x@9VF*TWi+lDHH)hic-JIu?)o;H8G&4xE47jp9zU{{SetIkI2*cEm5u>GW0*o6L+k@|&R;D+ z6Q}r_tA_x35zxa%A%Lg>zzM)9InA~t3;4I^z&;B;J19p&eqKO1N$)?!Y*dzkmyq6h9A~pGk$Mlc762v(o7Dn{5a40G z7^p^@15j@?2SCgKRQT;m#RCwd#SfowTwnzep~ExJt}I#zpt2@Gj$Wkt3NbQW%@Bwb zA=U|`x<`@|w^U+`vYsUQ`=?p_`(#L7fJ=@!n-$KoEH4>3)@BA$9Wy8gR`~(z^-*DR z4j_yK&pxkI0s5l>TSPD1z9-5u;L<|KEjeCHjF}Fy1OD*C4`jr4KQf#A62fA@W;qt> zI9>lj@g$1RgmZ|hI#Qpm)PP5Z=4WGGuQnE+l63_6CH4U<73sM}P> zRh_rXfU_3;GSa1(Ojs2lsU-f7TZ2;8j zN;sFuu>hd}yN=hn@xn3yDwcKLJ*=F)M6y}Z00>@yg+{ypVq)+|sOyp$$Tk2l3j9+e z15nGXr!`_Po9MEnFo3S)p8FmOJY%3Ww%5Xbp9*Z+DfY|+0gA%8gh7{BWdJhS9@HgJslfahfX9Cz*5MdnsP+yPt^7o!vKiE8gMS62`RElxV9!Ohv5Z? zf;MVk7^8Ln(lP*`TU5tD*9;6mmd^-SgSzfE0HlXw7^pu3@Ywgn8oWbE|qTVQL_PsViUFw64S*;D z>P?^cwxf9fLMcTvP*?^)gaJ3*{6`6Z6(;`ghU6z|qffC70Gtb)lQ4vl*Th5DUf<10 z;;v6vO3YtlOdbZ{C9N^3!x{hw2-quF2(XULxGzxyu=0hMLkj^^w&2e{{{r3LsM27u z0m$tIq|W$*UKbzK3s5|O&SL;F9w9(Y#|i(-{L42clXG+PTKx9W zz>}@oUm;M3E(IxC>dNg((c8Mq@sFngBf8yz#q7*o<{(#GC^!@;2 z4}g~f|MCvr4cHkCk!wgoavTh z(F}CTwMaFN^9DM6Gf<~!2To)6o^yOy6kfo%@ketkAiBaJ(GCnX2x!zccFcC*yutuL z#y8uEBp&_FR56qgpcy@h)P&z4Q*h^K2kzj6AWT^*$kE517|Cww!~&ju?uAIpgKa{P z9%QR+b|v3^*Kr9!d}RZ!ekxctAjd{la)cn`!X^ai;FMqtG^-@L|M&ojT8FJ9&Y1Yb zQ_hSuCRVWkHMHqSlwkf8BaOpB45+f&2bQH#f?W{_C74bMTGN3@L1DKn>qQ0(-imzv z^%|EK5Y_-uk&=T0Mw7vGA}BzL5)Tlhps)V*wGKrJ>boc?)s3Wg8tYB?>36sdkb({v z!P9_MCFTJDDd-=fAO+2exd5CNoOB3Ua9vTV$%h|)EDZqc)=hj2R*T2f9FyT8YP<1_ zS=Y!`;i$X-K?}a^j(dDC52LOhP6vvJIG8U-2tRy}A-GG@QA;6dDDtKU$PcwiN$4)=)zsIOH=g+2NmNu4~KSbc`D6t|GI z0vUn=jR%)?0Nv>N0xzIRH6Z=J^gbup@lzp`AC;Z~Bsk*Ps?6&KsX`2%0qoEq+%WZ5 zeV@4v4)rItmd8{P=yM-w-zyJz0Qd$6m=;hGQ9P?pu!J|d@#=s`DfmQR7%S41qLRsUSXOicaIALWvk@_MDO^Rqz^iiO%Dd3yFmDW zC5nK63z6!UHW$H96(G~;FHpx-o!5Q=Pas29D%F7gYXOeAOx6NKH7Q13bcp@Rda%(^ zKROJ_9MfYau_`X%8v3|FUgwL(K`{`*NI;2k?lnNZw%`Ra{Il42^zLZ1plld=2cT&O zTzP2Ug&uxz^I^ebcnGYtF&sTe_7Ct2!vbf`>Z-U!1Yz#ssD2ZSfE z;4wTWIt}5q@IUasg*IU3g)+P^VEnnk`vSZS!NL}q?LwgNyn7h~7T^P2`$lF6ETs$> zbW0ile>DIi1MrYu1f+TZ86p}4uEIitjL%vCkw&@ZId(xpP&iHTdC>==u>jun8bnf) zXOhGt-!jD)%^Wq%5P&ye4cuCp@m5t5Io)DpK+3sCAj5;Q-dIY^aF1^6F?~+B`OI_a zU(&mNZXj@+?#72PFF*?m6nx;}uSx1>SFmy7AZH>R4ROP<#66%o1-fMr-egginNDBD zb==ZD0QRJ)2AqOcE<@dhj1L0o~kQB8}1+y#Y7oVdEaK;IZ1t*B+GKn;)PTR`EeKp8-FQfK{mA;IdUx*_<1$mc_=2?sIU?!MQ>@N(A{v&Wdzg^QZ((rK}Q zQVdIih8-GR_%Hs%GXWc;QU2ECtcIrzY518s;(R94Aj>>u=zBxN?^KRDW$>L?27u}E z%L>r%)_(*AWEhaW1HVL#k4%8@0KgTx@fD-pRf0KIcLwI%_8zmU^?53OYd1&?l3d0b zKGM4!!mt5|ui~(vsF@1D9|GeJYP#%a(}J}IhhYdnWXN{I}|Tk0wg%aDN>+Fup-4N?oiyJ6nB>r+(}N}v;Wt= z&UN^ZEA6-K4W0$nDksS-zI&#JSH_9e5wl_v0m_u&g+c2GVOwqChnWV-RF`TtQN6R{pD7^wz`C+mL|<3otkjs>|E{rb7!MMByB+0e#&i?EAM{|>I)7{0)BTD# zFnTYF})EocdY{XmNBm78L!dy8`b_IWXf6Q#T=cGqQN;L$Q&!11;|(KqQz7Ye@N+x0xX z*?^-ReBMoRGs7yT19}20OCS}DiZN;#TV|zOnei$4@$>3Ro;$~2=G_Zrp^2IXY|O6L zw)?wtzqsVnp8b&ZR_R9~e2^4UxE8{PzwC(5 z_k4!ohWL7ZE1|5(QS1G;GKF4t|4FK@8LCCL_=01h2Dkv$Ja0uoz(>c&(z%h?blXIH z>oep}pGP>{L;(TG2)SVU#OMI14WV8C7|y_Z)L2Yonrm6`7|M8f+~{&MlD(IZ-=hW% zgWO@3=2et!@D>|S4P0aYp(W$rGKzb1PrwdGZpk|WR)Zesw?AUbz5G!FTDb`~eWhDY z1SmQ8Ww6)X*>jxd^(G;jWu9aM^>6VWp5R;pDtBLW9sI?IGT~TAC%k%&rF{hK&vi1E zmNqx54}#qOEWN@t+rTKz%6-?X{U=ko3qO+_jM3qXtZaHP9vo+N=tp1cxy+~oCB+U~ z!5BdAz6i;ELXwBjh0*|AcDrvcM*V38xu0Rr+UhqNUjdFyHUIGm}M>Kw3Dc1p~n6oyfo!)RC-l zi}zPHt=VJEm^=NzUfoK_OOwaJ1iWWAkYVrslg`4|t(VV8GwaH&X-=UHTM#3{ME#f$ znz&u`!47Cu`tdvZ;dyt`nudkBACxyoz|e86m6z;dHCsp} zwl>XQfdc$8UYKUx9suMOAj@`^mEOTI+1x*ITYuzudR%T*eYQyV4O$oWcr)os908s3 zg_493o~XFs?`@Z`(1goECS9y}x=*(+m1a_3Wi(5YjUP8Fw(faIo4~vg~E^|Lj ztcxNiHjzBbyj?D|z$vOPlJkhA++VeBGs3iPm5x&OUa*4=eP`=Iz*` z`D}-)g;-$3I{B&RoLsKPN4&|ay+6k?Y3C>{F?<3B&@Ay5ucHJ+2FMLm6Q-U4 zV9X3hq%?2#0la^?4wReS;72^O8k0bvzSGO<<^QhtY}hDpEkC@(G~iHs7;C#1pF0jQ znMu_UTR?iT>3`PgY?+9aWJv^Seb~&S#J4&^EGoZ5X==vPf544>0Pof zOVzi-SS7?pF>;L$nLQwSu7^OG%dqSQ6;|K<=~+;G30}=4wLm9RX?9 zhS<(8^V@SYlNHZ!5da-XMgt&!s+o_}vuBOi(7emQg058Q`Ch0ZKii|}1wpG=b=~`6 zocmMo#8$!?d#S^`7klpu)p90-v#n@@O*VkKe2%Snpko{_TjXTSo}3 z!XHyo9h&PcsrSBnzwq>~Rl0A%O~x`!Y7_12s^{~XhIx7(Vr{W5qREx;&-g0NFKzqt zM+shR*WRiQo{sP{D^@pkesykta9dv($>7s zSb6V9=z`|VMGO7gB|j?x&8=7PVb9lgu(_Ox0!!YSe{H&Y$Lp$MCYF2R+L-i5rBk_~ z@Y1sL`GJS-OLDHcU@!V}HC~qR2=3D?_184-wt`LpzoTm7T$&ISaa^I+D23LRMOs4{ zD8>r#CzCQuMVonN$^1mRI>26AG$THUs}(7Dr-!Vkz#Mdzxz@1$N~BHdezvtM3@oD* za8i6YLwlqO!-K1bMyXQReE|u+D-3vYxqf*{-qa^{4)2jEE+*e z4KNg80#`c|oEwuB`d|~R^@_d@S;7@73-kxFQ-!?3`_EH~YsZ8Qmrc|u!<~0XtG%|1 zXxDS9KTmqclD{#yGh;WLEuGsWee=rhT6$8ndZF6IL*3YERQ8bWO?jSM>^$Jt<_b+} zyY341GiRp;Q(z`e)A=PEQ`DTPkqhXp*0zR!^}lujUzI44u+Z7A*U z_=n^dTV~+(74t-FYytO77QE9b_VQQQ_;ilHDIM(5OC(|>4~*PsevG&1b)#Fyv_hJf zpDLn=k)QzvzV40y+0F(6Af{C3x#Bj#sM}iy^Q;X@6;W7Zc`&cwt~o@>VC$(s9N1#n zWtr$rhEz{(g|L@AxY44SktWista-J&b;uM`3OKg>!?^9Rurm07TJpe+413;oAXrPG zciXkqg()ku8d+;+#Ur`R+{z6b$_LOeX2nR#FC)3?a*3$bo#esO;!t5jo;Eu8v1Tcy z4a2@9r3R2#-4u&k(xK{*XKTjI0}w0%P<5)-A9P-=k7xlu(2d$snvO`7YPF{ZZWNPW zk`@|^tfYMD_3JY~ugxWDe(Rvi!VhagGl|^Q7tH&9llG*Amt(;JnZd*E`sm>Ey|&+QAr+^YgNQVt9`$Cs($3= zUgLpm#9fZsSI&w423Fe6W!5~U10jniRs9Hr4F``WQk}ARu@y3p+4X~r0$)yx`Zj}F zQ|51c9?Z?Z3p<0DQ>YvCJ3K2O^+ApzOj^K+kXfH&itG=dUZA_MHK)GMbr}%$?OMKC z73Dx#2-=(4o|%y1k2;s=g%;-o#j}op8>Ogh8d=_bI`|y>ZHsp9nPEmNLgW6E?451@ zeeXR&meQ$K1P)<$-nr3urr~>vp8gqVzibuo(i?N5gY|Q-+EgUk_%nI;t+aE&RZJ|f zQ(kOhQ`$iK2KOD=U6dp;;pUFZsQn(2)c@FA3)nmpkvP^MDP{Nof&NuP&JZbwzBWZ3 znaRMk|2e+wuNrUa3%Hrnh0OG7KGkQCu!bH)25y1<6YIoJJ?h1)#br3PRLU!Y)Ysrx zX_&YYJnMZlqa&VqO498Q=t>IBaxd|;X@JE?kSpCv9X+1H#h|E0**ik%k0eH&L4n<= zj305(mAgDAI%P0jMbO#-6|!&X32;`tEb&sbyJy8uEL~nNmQ<@I>uX=#-1_TkDrVnb z;2&C*ly?5@1;b7F0iVH}U-xFt8S=S-A(49FpOAb|XUdAfG}V-#p8IM4ai z#hDnMudGFDDYi*A+8Ll$o+phndo^$uNap}*L>_zcxi@cxYX#-qx-SR9L(7-NR%TN1 zCl?)2l^f&W?>!iXgc1`}Cf=ULyaHopwpXQ{dRVjb(()uzj180mu|ezN7qa=o0#j21 zryATBS^!z5rY0HeW)otlzz-bUxghGJok+3CL*aDtV41Rt0hwJIxvHL9PooM1NpH<= z5QgXRguLRDt(uz=zjI$ZqTd)d|54+c`8w`8uv%xma^CU%RQoUs2zCiHc}ySwLAs4X z1iirev=nLbJtgDFJh-+J|KSz=?Xwmv@%M=TRr#WT@0H5e_#mz`rpPTz>RPx zsw$M2dC*R+vV5JhVhpJB`D(3Rk_yr&9WONRt9&c!8lEBp|q1hd_+CN?sX8kcNBC0;|E3 zlvVOp<4fw@>Y{*IdD9+_NB3HanGnX$L3(B~f9tswA+gejClJz`QCy;jC01q)ehX|< zr??sb`R`208LHpY<-G3?lfVxHpby^}0#u0e5NhQMDc{g%HU3a*zE+K>r^zbZRQE*=jn2?w&4c9R$avGQJ$ICdJuKyPm} z&9r;*;Lk&yDqYpz>$DTpu&Li+q^gY?jN$2YxDFs-o-nX~X;8kq8B|Ky-G_-+rmzNP z>c``m*!QLOdEKGav`_r1+L_bm&L>kO`+@uqK@oV4o2Y9{(5CjRsU4M)gjKd|8yhG z6nVbEGzmzd3 zp)nat>1~%P{RasJ-C%I*!yQ2x8N)Mw5Jd-ne8mTaW1rc-c)_Gmg=i__hmHLq2XW`$ znE(BifOqUgclYW9@%K?epVQ$w9S)5b^shG;-d3(PD`L1?d6le|#a6_4)r0W>6-uNpKjme*zS#1-Pg-)0 zQMgqE7`j=di4YIxkl4jy3Q6zGB$NojWZY_F&j6FFGJXCWr_V^xm3;m zJzDFuk!Pv0w&e`?u3coYat&YE{mJ!yR)_ezT>MS;1+wd>gR5&2#Qd&DZF`a>UXesQ z9S3hO6<%qcR)rNY*Ty5Lve9&>q*1q9PU;uJgG|L2A+3|;sUNwD%%ITwVYIqBe?=*b zgu^OJ9q;n#U3o2@<9K4?%lxGx3e#F&O#RTO5BmMo1k@~tGdZs(ya)$tk;+gCL@&1yv zbXG5=PxM6dQk`5*+#kubuKdnLjOdcmBw1kU*m*- z_}LGz90Yqbd|@38jDi$FcCavxrnBSrA`Dh}Q0}TO<8)N-HoLgx&ixgyBdao9prokW z&L`(4MqlYfEcVmj!;1G2N`?0_c5Z>m@1GjijdBj5f&-?IuE0^Sp7UJp!Jp@G2co*p zJ9F)TZico37W7j>?C2N;(;t^7$}L@$f-|&erCHq)iND(jYrH60`nArw<)hx7T@b6< zVRNS^EuH|rW{M{We}P&^fw%@!c?t3N4y+BQm!G@{MRLH)=;!yeZq3jRPOTu1@()+! z&HpBRYXgF!vm?c-ILV~>X%Xo%+c&;jvj zv%AA-Sp>_T^y$5kzH!TNz>C}yDI(ux&$ZC#P37bz!-W9mHnFSNx*8uwA8;4lBq>+o z=3Y1CB-iSV*caW^8julTDs8#D8WEk5SVHH|fySCi;w;CJcmpd(i0 zv!}gzwLhSSfNoEg-Yy<1%Re+mV;RTlNzECp3e4@E`iALO#UiLu3ufUgpiIeonBleQ zC|FPFt(f}_nC{i%*mNZC=<(7g05aFwS##d{QM05RGxi}{&wNYO_vYq=g6!pRTUQ>` zfhuH5P5O0qaEKOSaeTo3q11M8=gN;O==nl6UBLd-c80y-$7n`ddI%rLeR*5=g5h|< z44&L3%9K1Ar)ry`pG%Y6yI(22pD4a9q+2#z^@07huE5fFshekv>{bjoQ4Mn#v{YCU z2`dt{#Di{+4Q02fHptvq4)3d&`d>NGJ<6rG*<*kvfL)?Wx<1f|)>8^+>B?UG;@M$h znXYh=GoVdAxHny~@I<}eo)fkK9OE?%x+#8pKZxU9CJ{%hwPK&A1^vOHvoeIhisPtn zbJFxW3Eouxcj9XRTFBnL?}@j)Uv2r$N3A%6?1ca%3YgS|wb+6O+}CG}H#{W} zpLpjhMbqI1Qc#x(M7d6@0XOhbq{>DRPEJ(6s8!>=^E_=tn0L;Zf0*Cc>t%x5f2(+M zvgT8>LAN1J^qLVKH0@o;xIA|#Qw-jv5Id{}H)wtwDPn3$C!XS99@#2lLDnKtzvw>Y zOhhueT?M!Ady~Iah5|O^J$4O(DiIVcKF`0s`_5I`#AaxgWb!ob05CCPzfbSPduJ`W2^>|A#SRW+k=%r>Cuh9C(_|iiyB|vItIVH8!C;LzEC&Hm-Fn5!o zYV;aP^D%y}7cLlC^t<`P*wesM>>8t&!YsA7obQ7Wn!-DL95T-i<&Tr2*fQbdzX&y( zK96M0M?a&@%aoOc0F~K{DY?Tm zXh9h=p%z&l$kq~CHq(EUg)(oMGLK{aDa`qYD+@r0*G2QlSuE$_O%_kj$$9OwH zxk#$C)ASNtFQ^;d$lxtEo20I+9pv4>1m?B+t|G}ZnO~iaDT+o!0AOcYuJ`$fj)E0E zALj2-jk@dpN2qouB)K->W${&BRDANJDkS8j`?(Mq%}XQnhgqCnp5WQPQmfu3F5Iau;@cL;n zmpBSv=9%8D>>TIzonqMp-RX$-vHWgpB7>qVXAy-HUraHcdj2*Aa|gnYiRQC%d9$ z$Ki81u`L%BQo256gOAyI3(STNi5;R|)H40Y=r8vy|d9o1#QcrKV$6BOid;DRl=VzhT*4SFL2i}m&U zEuBtG6+>B}@e(ZqrUae%Y&@C~j_MryEupJ9KZ`&|agm7Fs0IP47>Unp&W%QG;X}I? z!@1fiof=ZoA_fSPou2#f3@BxVhyqJ>VzFD=%XnETfIEG?Qiv8XG#*a0=C zN62g;U>FeU$xjYiABUsZ!)7uo_{Z&Wz+zEw^Al4m-c07GkeMUf6a7)Uy&Y2lIZifJ zG_iYdXuz>AJ);yFY1DKo+YUZ92=F`8-FbepP#E;O7*3|PFw4dc_%hTJOZKY?v&(a? z_=e`>HNn3U-TtWWp@9`#$S)+Px}q(&4kM&Y4IEl~UFhnE=qAjvby+>2g75PJS}}8h zlxwtr4(WAZ`fXjZBsozEzLGDPI=nhI^dit?cy&3JG%$Mx^4nw7gX4m$6QpW2XJ4>( z3pJpct5@e@5L&y+-f*mYUX@(W-RZYCQD-yng3caQGasxI)+`rNbXKWLWL>|@>>x&JGh}Qa9hj{$U7n#gNCQ#>EP0^O=w|DrMmaW-0 ztOL1zG#MVV!rMs$IZP;I1N)u-7|rV={$bD$M8M68`1uJKzV#M<3k6;KCX+gtAt=6%qzC8K!Q3e5`eL=9;@JpZPxv>MG|1y0U#nIir#xC~x-mPb7kJAzbE5ClUd!CHUI{ zKk!`Jyo5m@_tbX}67Zx{{xlnd%mEsP;p-qLzCq4C0tLbgax zo~mQb7M*YA>Ok(o^KY+w`VO!txgXa>XrY|6+b!((lG)BfNvDV zNYuEf19g%=k;)06NwSvgSogXG#uO?u_U;ax1%+6h;)$ic6+p)=fSSn}x#`Ij;wTrX z*L()*scax+Ey0)63jT)p%z;>VY@v~^Y7s8=EaP~~0k;H&Yf#JoI2MKWo!y1T{31hG zoI`~-!SI3I2exvvPri{CP<>#Ck5ZMH|M04j%==?4MXs?bvM1M^Q}$uo=r=lX*cjA%1XFA= zgf#f$D6r+BEH=b=bVGPRXgE~Px60MK)~zi-UHN2OI}mUqb9PYQPjAlIQL=43Pm;EI z)MuxjrqG70WIZk4ux_>5;s2C5iHX%}t=^!XMi@y-vTcpca2s7X-WDDlKE&sI<|?#7 z?y%LdwL`xY!-m>}GyD(Ww$eK+8t!wacpG`vQFszR6ToJPo|Uq7eCJ8tKl?+g7QML# z%@SL|q1xh&irJ%>3f$wBu2qvbl3(|~@GQiDdE@}@mWG@6tI;7MjeO+N1UMc?#)7G92WwVXTc)@UOd zQ;h;u-mE74d{8B()B98-mg*NjxEF~-wEGI($oMU#XLsPG#Md@wW)((18Whmjp3fye zi#C+oFnw}L05r!}6=474a%Z%!cn-6Y*o3Fa&hH-uk2kdjoF|~qzO|!-5rASYo`1UA z%I?hmgIhfiId!E{xC;FU_#Hy`>lBCP^WlC6KMFRErQ+Y29Hn2+c7w;HzHe!bsrsR& zJsda3^^NAzP&z{gPk{aW!NLEB+HBiMY5M&T=O}1r^-5Ycqh^O=9NxI3mlr!%+kODQ zn5^ZG2hcj;a}b#UvFo~UD1_FDxc^RXO|bo~*3K%-kNp>wc&LLPLi&~$Sg`KRw@AQG z#xUcvbKKhPbm04r(T73B>>hn&1y{2)XI^RMh(;;zmYS`7VB3meI6CTTi_9E6fKjUf zb*D3hd#Ev*ad~u@1-sh=yGZ(>qD*XV0p!}QmjswD1Nd^U*Iw`#4R%EuykEgOzkHu+ zZ$fWCwXr&u9bJi%9`iR{x>vf7yPuqPUbc4mhQKk`v_*E`7P(DXKREb+;W}o1qc$6F zQt-+5XIgcv+duj$qa5lK9OMMom0n|Vjf84SQ%_Fuqu9S3@iH?;a3v;j;teHR(zr)> zScR{AzM^nRUsn+_R#)`HOU69=svB+Mqj90rvQJX>5_YX{8ARO&pMkud^X}3dwMWyo zj@GSqZX*|vAZNFIk3Gj7O2RGs@am27|M0*GPEAiGD%RI(3|01LO-oM`yRc%~3cRn;QxkU;-aot@lx#uXzL!dW^km>%ylW0&;N> z43AIiuj%SVpn>d9&SF?%lwurWqFx7ggFdCF-U^~VQ!O_YHCMj|J(hXf8?kL=;;yV= zRmm10@wZ}0mA;eY3nOi>YO{(Ma%cO-YG{|EVAI`L19Vd7=e|0ds$ zhEn}+>^;m$`Py^x`tj`g*zHodDYO^ag`B>D-h|wQ-9$`4CweBxt_U~(hkftqo1nAd zDGGN^*~3BYl$tAVJ<8V{@q(Y`eQpE`L!>&O2$OI*o#J;d__CNC#^i}sTww1%j)Cb3 zX%$SKQt}gH!baX9Z@#d9^?Stn>URvbt*HB7BeM7b(b=;uS+q`$e||p?DAv19>p3}f zDY_DD`y7eCWzq-t2J;Zu^c-7@U#!^TG|pU5U|_o#+s0M2q3gVf zcSRHJd>B=K$r*l|$=3 zvxzd|qmBPSCPxAu82;VgWq2Z0z&x=ZA(C=x5^-+)Boz2(GAT4C!T>fljPEN+i?klU2=Cq-~VE(3M~lU zH-;Wu_)hP2{yAK6N--^G@5eKFylL*b=w8 z!K*$xec7o*dX{-Gmk7UJP#Eo_MCFc<&*#ZalRp=bjnMere$Wz9sZ`GI;7*O6w7EDa zF;~lW!qwz^9b4OKe@jrs9RO;%M!l~Vb5?F`B78*?=POdK(_a#NT=0krRX?}+08Evq zy@gFj_MHqzNdE4qikjlP8ILn14JjSGXqvInriyZoPswWkX|FZ)-Os6hWsI`}i>K5q zZY?Qrj^(ViwMu!|=ghh&A%VaWk8b%)eei{5UM29Dsg?ifGs9D-#Qwy$gAbt+hdM=E z%3iCps%*AbaNz~^$Rq~?rQ#hyDvfYg?PYJ{<^}Ll_SbsV$b1L658Sxkf2%zQ;O-1a zjlfS-YBA=dd!v!>gEk95)|l#p$&wB4z&|SI*B;KM_I3ALqAMf!;R1>0xH+f=QJ8aM zX1R|7`UpU`Gv~VQ;Z{a}Q^WXc{od18} zKu&xRc-@_S+(zyS{si02O;04f!R2eW&jf;|rHBr|PqJab0Nq6`mF9HO0P z3!cn7YOi5YkgfD63h~%Pnk;x1ydrY)OnUF&q6Yi-i;6XM3JbtWl+H5Cg+= zKl_A)Th7fSk8lzn7rFksEP2Q5&XK*^lN()W9;wBrGvp!rv_8vii8(463ZSB>p-?Gj H5%T{4O*cI( literal 0 HcmV?d00001 diff --git a/fe/public/icons/icon-384x384.png b/fe/public/icons/icon-384x384.png new file mode 100644 index 0000000000000000000000000000000000000000..df8e257d8875755efab9d9543c0ab4d7705ce4d2 GIT binary patch literal 42820 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 M07*qoM6N<$f|zc1qyPW_ literal 0 HcmV?d00001 diff --git a/fe/public/icons/icon-512x512.png b/fe/public/icons/icon-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..9ca1391736afbbd5a212f56596c45a97b090cb86 GIT binary patch literal 56941 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

{|x`rqxx&s%w*I!upIdwzlO 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 &L;g2tr0)i{dR6coo7<&QQ|$rDW@5& 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 YGC|ZbPJX%SbT;6zJ>z6qXYQT)f02ppXaE2J literal 0 HcmV?d00001 diff --git a/fe/public/icons/ms-icon-144x144.png b/fe/public/icons/ms-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..83ac328f81e8660ba2d93785a085880ae337dcfa GIT binary patch literal 15206 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%0ATCpNhOe_pU0(_r; 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 literal 0 HcmV?d00001 diff --git a/fe/public/icons/safari-pinned-tab.svg b/fe/public/icons/safari-pinned-tab.svg new file mode 100644 index 0000000..d6db5ae --- /dev/null +++ b/fe/public/icons/safari-pinned-tab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fe/quasar.config.ts b/fe/quasar.config.ts new file mode 100644 index 0000000..a59d2da --- /dev/null +++ b/fe/quasar.config.ts @@ -0,0 +1,235 @@ +// Configuration for your app +// https://v2.quasar.dev/quasar-cli-vite/quasar-config-file + +import { defineConfig } from '#q-app/wrappers'; +import { fileURLToPath } from 'node:url'; + +export default defineConfig((ctx) => { + return { + // https://v2.quasar.dev/quasar-cli-vite/prefetch-feature + // preFetch: true, + + // app boot file (/src/boot) + // --> boot files are part of "main.js" + // https://v2.quasar.dev/quasar-cli-vite/boot-files + boot: ['i18n', 'axios'], + + // https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#css + css: ['app.scss'], + + // https://github.com/quasarframework/quasar/tree/dev/extras + extras: [ + // 'ionicons-v4', + // 'mdi-v7', + // 'fontawesome-v6', + // 'eva-icons', + // 'themify', + // 'line-awesome', + // 'roboto-font-latin-ext', // this or either 'roboto-font', NEVER both! + + 'roboto-font', // optional, you are not bound to it + 'material-icons', // optional, you are not bound to it + ], + + // Full list of options: https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#build + build: { + target: { + browser: ['es2022', 'firefox115', 'chrome115', 'safari14'], + node: 'node20', + }, + + typescript: { + strict: true, + vueShim: true, + // extendTsConfig (tsConfig) {} + }, + + vueRouterMode: 'hash', // available values: 'hash', 'history' + // vueRouterBase, + // vueDevtools, + // vueOptionsAPI: false, + + // rebuildCache: true, // rebuilds Vite/linter/etc cache on startup + + // publicPath: '/', + // analyze: true, + // env: {}, + // rawDefine: {} + // ignorePublicFolder: true, + // minify: false, + // polyfillModulePreload: true, + // distDir + + // extendViteConf (viteConf) {}, + // viteVuePluginOptions: {}, + + vitePlugins: [ + [ + '@intlify/unplugin-vue-i18n/vite', + { + // if you want to use Vue I18n Legacy API, you need to set `compositionOnly: false` + // compositionOnly: false, + + // if you want to use named tokens in your Vue I18n messages, such as 'Hello {name}', + // you need to set `runtimeOnly: false` + // runtimeOnly: false, + + ssr: ctx.modeName === 'ssr', + + // you need to set i18n resource including paths ! + include: [fileURLToPath(new URL('./src/i18n', import.meta.url))], + }, + ], + + [ + 'vite-plugin-checker', + { + vueTsc: true, + eslint: { + lintCommand: 'eslint -c ./eslint.config.js "./src*/**/*.{ts,js,mjs,cjs,vue}"', + useFlatConfig: true, + }, + }, + { server: false }, + ], + ], + }, + + // Full list of options: https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#devserver + devServer: { + // https: true, + open: true, // opens browser window automatically + }, + + // https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#framework + framework: { + config: {}, + + // iconSet: 'material-icons', // Quasar icon set + // lang: 'en-US', // Quasar language pack + + // For special cases outside of where the auto-import strategy can have an impact + // (like functional components as one of the examples), + // you can manually specify Quasar components/directives to be available everywhere: + // + // components: [], + // directives: [], + + // Quasar plugins + plugins: ['Notify'], + }, + + // animations: 'all', // --- includes all animations + // https://v2.quasar.dev/options/animations + animations: [], + + // https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#sourcefiles + // sourceFiles: { + // rootComponent: 'src/App.vue', + // router: 'src/router/index', + // store: 'src/store/index', + // pwaRegisterServiceWorker: 'src-pwa/register-service-worker', + // pwaServiceWorker: 'src-pwa/custom-service-worker', + // pwaManifestFile: 'src-pwa/manifest.json', + // electronMain: 'src-electron/electron-main', + // electronPreload: 'src-electron/electron-preload' + // bexManifestFile: 'src-bex/manifest.json + // }, + + // https://v2.quasar.dev/quasar-cli-vite/developing-ssr/configuring-ssr + ssr: { + prodPort: 3000, // The default port that the production server should use + // (gets superseded if process.env.PORT is specified at runtime) + + middlewares: [ + 'render', // keep this as last one + ], + + // extendPackageJson (json) {}, + // extendSSRWebserverConf (esbuildConf) {}, + + // manualStoreSerialization: true, + // manualStoreSsrContextInjection: true, + // manualStoreHydration: true, + // manualPostHydrationTrigger: true, + + pwa: false, + // pwaOfflineHtmlFilename: 'offline.html', // do NOT use index.html as name! + + // pwaExtendGenerateSWOptions (cfg) {}, + // pwaExtendInjectManifestOptions (cfg) {} + }, + + // https://v2.quasar.dev/quasar-cli-vite/developing-pwa/configuring-pwa + pwa: { + workboxMode: 'GenerateSW', // 'GenerateSW' or 'InjectManifest' + // swFilename: 'sw.js', + // manifestFilename: 'manifest.json', + // extendManifestJson (json) {}, + // useCredentialsForManifestTag: true, + // injectPwaMetaTags: false, + // extendPWACustomSWConf (esbuildConf) {}, + // extendGenerateSWOptions (cfg) {}, + // extendInjectManifestOptions (cfg) {} + }, + + // Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-cordova-apps/configuring-cordova + cordova: { + // noIosLegacyBuildFlag: true, // uncomment only if you know what you are doing + }, + + // Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-capacitor-apps/configuring-capacitor + capacitor: { + hideSplashscreen: true, + }, + + // Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-electron-apps/configuring-electron + electron: { + // extendElectronMainConf (esbuildConf) {}, + // extendElectronPreloadConf (esbuildConf) {}, + + // extendPackageJson (json) {}, + + // Electron preload scripts (if any) from /src-electron, WITHOUT file extension + preloadScripts: ['electron-preload'], + + // specify the debugging port to use for the Electron app when running in development mode + inspectPort: 5858, + + bundler: 'packager', // 'packager' or 'builder' + + packager: { + // https://github.com/electron-userland/electron-packager/blob/master/docs/api.md#options + // OS X / Mac App Store + // appBundleId: '', + // appCategoryType: '', + // osxSign: '', + // protocol: 'myapp://path', + // Windows only + // win32metadata: { ... } + }, + + builder: { + // https://www.electron.build/configuration/configuration + + appId: 'mitlist', + }, + }, + + // Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-browser-extensions/configuring-bex + bex: { + // extendBexScriptsConf (esbuildConf) {}, + // extendBexManifestJson (json) {}, + + /** + * The list of extra scripts (js/ts) not in your bex manifest that you want to + * compile and use in your browser extension. Maybe dynamic use them? + * + * Each entry in the list should be a relative filename to /src-bex/ + * + * @example [ 'my-script.ts', 'sub-folder/my-other-script.js' ] + */ + extraScripts: [], + }, + }; +}); diff --git a/fe/src-pwa/custom-service-worker.ts b/fe/src-pwa/custom-service-worker.ts new file mode 100644 index 0000000..3201f3a --- /dev/null +++ b/fe/src-pwa/custom-service-worker.ts @@ -0,0 +1,36 @@ +/* + * This file (which will be your service worker) + * is picked up by the build system ONLY if + * quasar.config file > pwa > workboxMode is set to "InjectManifest" + */ + +declare const self: ServiceWorkerGlobalScope & + typeof globalThis & { skipWaiting: () => Promise }; + +import { clientsClaim } from 'workbox-core'; +import { + precacheAndRoute, + cleanupOutdatedCaches, + createHandlerBoundToURL, +} from 'workbox-precaching'; +import { registerRoute, NavigationRoute } from 'workbox-routing'; + +self.skipWaiting().catch((error) => { + console.error('Error during service worker activation:', error); +}); +clientsClaim(); + +// Use with precache injection +precacheAndRoute(self.__WB_MANIFEST); + +cleanupOutdatedCaches(); + +// Non-SSR fallbacks to index.html +// Production SSR fallbacks to offline.html (except for dev) +if (process.env.MODE !== 'ssr' || process.env.PROD) { + registerRoute( + new NavigationRoute(createHandlerBoundToURL(process.env.PWA_FALLBACK_HTML), { + denylist: [new RegExp(process.env.PWA_SERVICE_WORKER_REGEX), /workbox-(.)*\.js$/], + }), + ); +} diff --git a/fe/src-pwa/manifest.json b/fe/src-pwa/manifest.json new file mode 100644 index 0000000..8932666 --- /dev/null +++ b/fe/src-pwa/manifest.json @@ -0,0 +1,32 @@ +{ + "orientation": "portrait", + "background_color": "#ffffff", + "theme_color": "#027be3", + "icons": [ + { + "src": "icons/icon-128x128.png", + "sizes": "128x128", + "type": "image/png" + }, + { + "src": "icons/icon-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "icons/icon-256x256.png", + "sizes": "256x256", + "type": "image/png" + }, + { + "src": "icons/icon-384x384.png", + "sizes": "384x384", + "type": "image/png" + }, + { + "src": "icons/icon-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ] +} diff --git a/fe/src-pwa/pwa-env.d.ts b/fe/src-pwa/pwa-env.d.ts new file mode 100644 index 0000000..4a04967 --- /dev/null +++ b/fe/src-pwa/pwa-env.d.ts @@ -0,0 +1,7 @@ +declare namespace NodeJS { + interface ProcessEnv { + SERVICE_WORKER_FILE: string; + PWA_FALLBACK_HTML: string; + PWA_SERVICE_WORKER_REGEX: string; + } +} diff --git a/fe/src-pwa/register-service-worker.ts b/fe/src-pwa/register-service-worker.ts new file mode 100644 index 0000000..859ab00 --- /dev/null +++ b/fe/src-pwa/register-service-worker.ts @@ -0,0 +1,41 @@ +import { register } from 'register-service-worker'; + +// The ready(), registered(), cached(), updatefound() and updated() +// events passes a ServiceWorkerRegistration instance in their arguments. +// ServiceWorkerRegistration: https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration + +register(process.env.SERVICE_WORKER_FILE, { + // The registrationOptions object will be passed as the second argument + // to ServiceWorkerContainer.register() + // https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerContainer/register#Parameter + + // registrationOptions: { scope: './' }, + + ready (/* registration */) { + // console.log('Service worker is active.') + }, + + registered (/* registration */) { + // console.log('Service worker has been registered.') + }, + + cached (/* registration */) { + // console.log('Content has been cached for offline use.') + }, + + updatefound (/* registration */) { + // console.log('New content is downloading.') + }, + + updated (/* registration */) { + // console.log('New content is available; please refresh.') + }, + + offline () { + // console.log('No internet connection found. App is running in offline mode.') + }, + + error (/* err */) { + // console.error('Error during service worker registration:', err) + }, +}); diff --git a/fe/src-pwa/tsconfig.json b/fe/src-pwa/tsconfig.json new file mode 100644 index 0000000..679bc5d --- /dev/null +++ b/fe/src-pwa/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "lib": ["WebWorker", "ESNext"] + }, + "include": ["*.ts", "*.d.ts"] +} diff --git a/fe/src/App.vue b/fe/src/App.vue new file mode 100644 index 0000000..9d87945 --- /dev/null +++ b/fe/src/App.vue @@ -0,0 +1,7 @@ + + + diff --git a/fe/src/app.css b/fe/src/app.css deleted file mode 100644 index ffb96a1..0000000 --- a/fe/src/app.css +++ /dev/null @@ -1,2 +0,0 @@ -@import 'tailwindcss'; -@plugin '@tailwindcss/forms'; diff --git a/fe/src/app.d.ts b/fe/src/app.d.ts deleted file mode 100644 index da08e6d..0000000 --- a/fe/src/app.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -// See https://svelte.dev/docs/kit/types#app.d.ts -// for information about these interfaces -declare global { - namespace App { - // interface Error {} - // interface Locals {} - // interface PageData {} - // interface PageState {} - // interface Platform {} - } -} - -export {}; diff --git a/fe/src/app.html b/fe/src/app.html deleted file mode 100644 index 448824e..0000000 --- a/fe/src/app.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - %sveltekit.head% - - - -

- - - \ No newline at end of file diff --git a/fe/src/assets/quasar-logo-vertical.svg b/fe/src/assets/quasar-logo-vertical.svg new file mode 100644 index 0000000..8210831 --- /dev/null +++ b/fe/src/assets/quasar-logo-vertical.svg @@ -0,0 +1,15 @@ + + + + + + + + + \ No newline at end of file diff --git a/fe/src/boot/.gitkeep b/fe/src/boot/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/fe/src/boot/axios.ts b/fe/src/boot/axios.ts new file mode 100644 index 0000000..ed9fb0f --- /dev/null +++ b/fe/src/boot/axios.ts @@ -0,0 +1,70 @@ +import { boot } from 'quasar/wrappers'; +import axios, { type AxiosInstance } from 'axios'; +import { useAuthStore } from 'stores/auth'; + +declare module '@vue/runtime-core' { + interface ComponentCustomProperties { + $axios: AxiosInstance; + } +} + +const api = axios.create({ + baseURL: `${import.meta.env.VITE_API_URL || 'http://localhost:8000'}/api/v1`, + headers: { + 'Content-Type': 'application/json', + }, +}); + +// Request interceptor for adding auth token +api.interceptors.request.use( + (config) => { + const authStore = useAuthStore(); + if (authStore.accessToken) { + config.headers.Authorization = `Bearer ${authStore.accessToken}`; + } + return config; + }, + (error) => { + return Promise.reject(new Error(error.message)); + }, +); + +// Response interceptor for handling errors +api.interceptors.response.use( + (response) => response, + async (error) => { + const authStore = useAuthStore(); + + // If the error is 401 and we have a refresh token, try to refresh the access token + if (error.response?.status === 401 && authStore.refreshToken) { + try { + await authStore.refreshAccessToken(); + // Retry the original request + const config = error.config; + config.headers.Authorization = `Bearer ${authStore.accessToken}`; + return api(config); + } catch (error) { + // If refresh fails, clear tokens and redirect to login + authStore.logout(); + window.location.href = '/login'; + return Promise.reject( + new Error(error instanceof Error ? error.message : 'Failed to refresh token'), + ); + } + } + + // If it's a 401 without refresh token or refresh failed, clear tokens and redirect + if (error.response?.status === 401) { + authStore.logout(); + window.location.href = '/login'; + } + + return Promise.reject(new Error(error.response?.data?.detail || error.message)); + }, +); + +export default boot(({ app }) => { + app.config.globalProperties.$axios = api; +}); + +export { api }; diff --git a/fe/src/boot/i18n.ts b/fe/src/boot/i18n.ts new file mode 100644 index 0000000..5b89b30 --- /dev/null +++ b/fe/src/boot/i18n.ts @@ -0,0 +1,33 @@ +import { defineBoot } from '#q-app/wrappers'; +import { createI18n } from 'vue-i18n'; + +import messages from 'src/i18n'; + +export type MessageLanguages = keyof typeof messages; +// Type-define 'en-US' as the master schema for the resource +export type MessageSchema = typeof messages['en-US']; + +// See https://vue-i18n.intlify.dev/guide/advanced/typescript.html#global-resource-schema-type-definition +/* eslint-disable @typescript-eslint/no-empty-object-type */ +declare module 'vue-i18n' { + // define the locale messages schema + export interface DefineLocaleMessage extends MessageSchema {} + + // define the datetime format schema + export interface DefineDateTimeFormat {} + + // define the number format schema + export interface DefineNumberFormat {} +} +/* eslint-enable @typescript-eslint/no-empty-object-type */ + +export default defineBoot(({ app }) => { + const i18n = createI18n<{ message: MessageSchema }, MessageLanguages>({ + locale: 'en-US', + legacy: false, + messages, + }); + + // Set i18n instance on app + app.use(i18n); +}); diff --git a/fe/src/components/EssentialLink.vue b/fe/src/components/EssentialLink.vue new file mode 100644 index 0000000..47f3857 --- /dev/null +++ b/fe/src/components/EssentialLink.vue @@ -0,0 +1,35 @@ + + + diff --git a/fe/src/components/ExampleComponent.vue b/fe/src/components/ExampleComponent.vue new file mode 100644 index 0000000..668fd16 --- /dev/null +++ b/fe/src/components/ExampleComponent.vue @@ -0,0 +1,37 @@ + + + diff --git a/fe/src/components/models.ts b/fe/src/components/models.ts new file mode 100644 index 0000000..6945920 --- /dev/null +++ b/fe/src/components/models.ts @@ -0,0 +1,8 @@ +export interface Todo { + id: number; + content: string; +} + +export interface Meta { + totalCount: number; +} diff --git a/fe/src/css/app.scss b/fe/src/css/app.scss new file mode 100644 index 0000000..ecac98f --- /dev/null +++ b/fe/src/css/app.scss @@ -0,0 +1 @@ +// app global css in SCSS form diff --git a/fe/src/css/quasar.variables.scss b/fe/src/css/quasar.variables.scss new file mode 100644 index 0000000..3996ce1 --- /dev/null +++ b/fe/src/css/quasar.variables.scss @@ -0,0 +1,25 @@ +// Quasar SCSS (& Sass) Variables +// -------------------------------------------------- +// To customize the look and feel of this app, you can override +// the Sass/SCSS variables found in Quasar's source Sass/SCSS files. + +// Check documentation for full list of Quasar variables + +// Your own variables (that are declared here) and Quasar's own +// ones will be available out of the box in your .vue/.scss/.sass files + +// It's highly recommended to change the default colors +// to match your app's branding. +// Tip: Use the "Theme Builder" on Quasar's documentation website. + +$primary : #1976D2; +$secondary : #26A69A; +$accent : #9C27B0; + +$dark : #1D1D1D; +$dark-page : #121212; + +$positive : #21BA45; +$negative : #C10015; +$info : #31CCEC; +$warning : #F2C037; diff --git a/fe/src/env.d.ts b/fe/src/env.d.ts new file mode 100644 index 0000000..12dcd18 --- /dev/null +++ b/fe/src/env.d.ts @@ -0,0 +1,7 @@ +declare namespace NodeJS { + interface ProcessEnv { + NODE_ENV: string; + VUE_ROUTER_MODE: 'hash' | 'history' | 'abstract' | undefined; + VUE_ROUTER_BASE: string | undefined; + } +} diff --git a/fe/src/i18n/en-US/index.ts b/fe/src/i18n/en-US/index.ts new file mode 100644 index 0000000..d555d3f --- /dev/null +++ b/fe/src/i18n/en-US/index.ts @@ -0,0 +1,7 @@ +// This is just an example, +// so you can safely delete all default props below + +export default { + failed: 'Action failed', + success: 'Action was successful' +}; diff --git a/fe/src/i18n/index.ts b/fe/src/i18n/index.ts new file mode 100644 index 0000000..5851f87 --- /dev/null +++ b/fe/src/i18n/index.ts @@ -0,0 +1,5 @@ +import enUS from './en-US'; + +export default { + 'en-US': enUS +}; diff --git a/fe/src/layouts/AuthLayout.vue b/fe/src/layouts/AuthLayout.vue new file mode 100644 index 0000000..f038553 --- /dev/null +++ b/fe/src/layouts/AuthLayout.vue @@ -0,0 +1,11 @@ + + + diff --git a/fe/src/layouts/MainLayout.vue b/fe/src/layouts/MainLayout.vue new file mode 100644 index 0000000..29c5e76 --- /dev/null +++ b/fe/src/layouts/MainLayout.vue @@ -0,0 +1,89 @@ + + + + + diff --git a/fe/src/lib/apiClient.ts b/fe/src/lib/apiClient.ts deleted file mode 100644 index 2ed431d..0000000 --- a/fe/src/lib/apiClient.ts +++ /dev/null @@ -1,197 +0,0 @@ -// src/lib/apiClient.ts - -// Import necessary modules/types -import { browser } from '$app/environment'; // For checks if needed -import { error } from '@sveltejs/kit'; // Can be used for throwing errors in load functions -import { authStore, logout, getCurrentToken } from './stores/authStore'; // Import store and helpers - -// --- Configuration --- -// Read base URL from Vite environment variables -// Ensure VITE_API_BASE_URL is set in your fe/.env file (e.g., VITE_API_BASE_URL=http://localhost:8000/api) -const BASE_URL = import.meta.env.VITE_API_BASE_URL; - -// Initial check for configuration during module load (optional but good practice) -if (!BASE_URL && browser) { // Only log error in browser, avoid during SSR build if possible - console.error( - 'VITE_API_BASE_URL is not defined. Please set it in your .env file. API calls may fail.' - ); -} - -// --- Custom Error Class for API Client --- -export class ApiClientError extends Error { - status: number; // HTTP status code - errorData: unknown; // Parsed error data from response body (if any) - - constructor(message: string, status: number, errorData: unknown = null) { - super(message); // Pass message to the base Error class - this.name = 'ApiClientError'; // Custom error name - this.status = status; - this.errorData = errorData; - - // Attempt to capture a cleaner stack trace in V8 environments (Node, Chrome) - // Conditionally check if the non-standard captureStackTrace exists - if (typeof (Error as any).captureStackTrace === 'function') { - // Call it if it exists, casting Error to 'any' to bypass static type check - (Error as any).captureStackTrace(this, ApiClientError); // Pass 'this' and the constructor - } - } -} - -// --- Request Options Interface --- -// Extends standard RequestInit but omits 'body' as we handle it separately -interface RequestOptions extends Omit { - headers?: HeadersInit; -} - - -// --- Core Request Function --- -// Uses generics to allow specifying the expected successful response data type -async function request( - method: string, - path: string, - bodyData?: unknown, - options: RequestOptions = {} -): Promise { - if (!BASE_URL) { - throw new Error('API Base URL (VITE_API_BASE_URL) is not configured.'); - } - - const cleanBase = BASE_URL.replace(/\/$/, ''); - const cleanPath = path.replace(/^\//, ''); - const url = `${cleanBase}/${cleanPath}`; - - // --- Refined Header Handling --- - const headers = new Headers({ Accept: 'application/json' }); - - if (options.headers) { - new Headers(options.headers).forEach((value, key) => { - headers.set(key, value); - }); - } - - // --- Prepare Request Body and Set Content-Type --- - let processedBody: BodyInit | null = null; - if (bodyData !== undefined && bodyData !== null) { - if (bodyData instanceof URLSearchParams) { - headers.set('Content-Type', 'application/x-www-form-urlencoded'); - processedBody = bodyData; - } else if (bodyData instanceof FormData) { - processedBody = bodyData; - } else if (typeof bodyData === 'object') { - headers.set('Content-Type', 'application/json'); - try { processedBody = JSON.stringify(bodyData); } - catch (e) { throw new Error("Invalid JSON body data provided."); } - } else { - headers.set('Content-Type', 'application/json'); - try { processedBody = JSON.stringify(bodyData); } - catch (e) { throw new Error("Invalid body data provided."); } - } - } - - // --- Add Authorization Header --- - const currentToken = getCurrentToken(); - if (currentToken && !headers.has('Authorization')) { - headers.set('Authorization', `Bearer ${currentToken}`); - } - - // --- Assemble fetch options carefully --- - const fetchOptions: RequestInit = { - method: method.toUpperCase(), - headers: headers, - body: processedBody, - }; - - const { headers: _, ...restOfOptions } = options; - Object.assign(fetchOptions, restOfOptions); - - fetchOptions.credentials = fetchOptions.credentials ?? 'same-origin'; - fetchOptions.mode = fetchOptions.mode ?? 'cors'; - fetchOptions.cache = fetchOptions.cache ?? 'default'; - - // --- Execute Fetch and Handle Response --- - try { - const response = await fetch(url, fetchOptions); - if (!response.ok) { - let errorJson: unknown = null; - try { errorJson = await response.json(); } - catch (e) { /* ignore */ } - const errorToThrow = new ApiClientError(`HTTP Error ${response.status}`, response.status, errorJson); - if (response.status === 401) { logout(); } - throw errorToThrow; - } - if (response.status === 204) { return null as T; } - return (await response.json()) as T; - } catch (err) { - if (err instanceof ApiClientError && err.status === 401) { logout(); } - if (err instanceof ApiClientError) { throw err; } - throw new ApiClientError('Unknown error occurred', 0, err); - } -} - - -// --- Convenience Methods (GET, POST, PUT, DELETE, PATCH) --- -// Provide simple wrappers around the core 'request' function - -export const apiClient = { - /** - * Performs a GET request. - * @template T The expected type of the response data. - * @param path API endpoint path (e.g., '/v1/users/me'). - * @param options Optional fetch request options. - * @returns Promise resolving to the parsed JSON response body of type T. - */ - get: (path: string, options: RequestOptions = {}): Promise => { - return request('GET', path, undefined, options); - }, - - /** - * Performs a POST request. - * @template T The expected type of the response data. - * @param path API endpoint path (e.g., '/v1/auth/signup'). - * @param data Request body data (object, FormData, URLSearchParams). - * @param options Optional fetch request options. - * @returns Promise resolving to the parsed JSON response body of type T. - */ - post: (path: string, data: unknown, options: RequestOptions = {}): Promise => { - return request('POST', path, data, options); - }, - - /** - * Performs a PUT request. - * @template T The expected type of the response data. - * @param path API endpoint path. - * @param data Request body data. - * @param options Optional fetch request options. - * @returns Promise resolving to the parsed JSON response body of type T. - */ - put: (path: string, data: unknown, options: RequestOptions = {}): Promise => { - return request('PUT', path, data, options); - }, - - /** - * Performs a DELETE request. - * @template T The expected type of the response data (often null or void). - * @param path API endpoint path. - * @param options Optional fetch request options. - * @returns Promise resolving to the parsed JSON response body (often null for 204). - */ - delete: (path: string, options: RequestOptions = {}): Promise => { - // DELETE requests might or might not have a body depending on API design - return request('DELETE', path, undefined, options); - }, - - /** - * Performs a PATCH request. - * @template T The expected type of the response data. - * @param path API endpoint path. - * @param data Request body data (usually partial updates). - * @param options Optional fetch request options. - * @returns Promise resolving to the parsed JSON response body of type T. - */ - patch: (path: string, data: unknown, options: RequestOptions = {}): Promise => { - return request('PATCH', path, data, options); - } -}; - -// Optional: Export the error class as well if needed externally -// export { ApiClientError }; \ No newline at end of file diff --git a/fe/src/lib/components/ImageOcrInput.svelte b/fe/src/lib/components/ImageOcrInput.svelte deleted file mode 100644 index 7c23158..0000000 --- a/fe/src/lib/components/ImageOcrInput.svelte +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - - diff --git a/fe/src/lib/components/ItemDisplay.svelte b/fe/src/lib/components/ItemDisplay.svelte deleted file mode 100644 index 899ae6b..0000000 --- a/fe/src/lib/components/ItemDisplay.svelte +++ /dev/null @@ -1,318 +0,0 @@ - - - - -
  • - {#if isEditing} - -
    - - - - -
    - {:else} - -
    - -
    - - {item.name} - - {#if item.quantity} - - Qty: {item.quantity} - - {/if} -
    -
    -
    - - -
    - {/if} -
  • diff --git a/fe/src/lib/components/ListForm.svelte b/fe/src/lib/components/ListForm.svelte deleted file mode 100644 index 84331a0..0000000 --- a/fe/src/lib/components/ListForm.svelte +++ /dev/null @@ -1,201 +0,0 @@ - - - -
    diff --git a/fe/src/lib/components/OcrReview.svelte b/fe/src/lib/components/OcrReview.svelte deleted file mode 100644 index 8088242..0000000 --- a/fe/src/lib/components/OcrReview.svelte +++ /dev/null @@ -1,165 +0,0 @@ - - - - - diff --git a/fe/src/lib/db.ts b/fe/src/lib/db.ts deleted file mode 100644 index 3f1da8c..0000000 --- a/fe/src/lib/db.ts +++ /dev/null @@ -1,195 +0,0 @@ -// src/lib/db.ts -import { openDB, type IDBPDatabase, type DBSchema } from 'idb'; -import type { ListDetail, ListPublic } from './schemas/list'; // Import your list types -import type { ItemPublic } from './schemas/item'; // Import your item type - -const DB_NAME = 'SharedListsDB'; -const DB_VERSION = 1; // Increment this when changing schema - -// Define the structure for queued actions -export interface SyncAction { - id?: number; // Optional: will be added by IndexedDB autoIncrement - type: 'create_list' | 'update_list' | 'delete_list' | 'create_item' | 'update_item' | 'delete_item'; - payload: any; // Data needed for the API call (e.g., listId, itemId, updateData) - timestamp: number; - tempId?: string; // Optional temporary ID for optimistic UI mapping (e.g., for newly created items) -} - -// Define the database schema using TypeScript interface -interface SharedListsDBSchema extends DBSchema { - lists: { - key: number; // Primary key (list.id) - value: ListDetail; // Store full detail including items - indexes: Record; // Example indexes - }; - items: { - key: number; // Primary key (item.id) - value: ItemPublic; - indexes: Record; // Index by listId is crucial - }; - syncQueue: { - key: number; // Auto-incrementing key - value: SyncAction; - // No indexes needed for simple queue processing - }; -} - -let dbPromise: Promise> | null = null; - -/** Gets the IndexedDB database instance, creating/upgrading if necessary. */ -function getDb(): Promise> { - if (!dbPromise) { - dbPromise = openDB(DB_NAME, DB_VERSION, { - upgrade(db, oldVersion, newVersion, transaction, event) { - console.log(`Upgrading DB from version ${oldVersion} to ${newVersion}`); - - // Create 'lists' store if it doesn't exist - if (!db.objectStoreNames.contains('lists')) { - const listStore = db.createObjectStore('lists', { keyPath: 'id' }); - listStore.createIndex('groupId', 'group_id'); // Index for potential filtering by group - listStore.createIndex('updated_at', 'updated_at'); // Index for sorting/filtering by date - console.log('Created lists object store'); - } - - // Create 'items' store if it doesn't exist - if (!db.objectStoreNames.contains('items')) { - const itemStore = db.createObjectStore('items', { keyPath: 'id' }); - // Crucial index for fetching items belonging to a list - itemStore.createIndex('listId', 'list_id'); - itemStore.createIndex('updated_at', 'updated_at'); // Index for sorting/filtering by date - console.log('Created items object store'); - } - - // Create 'syncQueue' store if it doesn't exist - if (!db.objectStoreNames.contains('syncQueue')) { - // Use autoIncrementing key - db.createObjectStore('syncQueue', { autoIncrement: true, keyPath: 'id' }); - console.log('Created syncQueue object store'); - } - - // --- Handle specific version upgrades --- - // Example: If upgrading from version 1 to 2 - // if (oldVersion < 2) { - // // Make changes needed for version 2 - // const listStore = transaction.objectStore('lists'); - // // listStore.createIndex('newIndex', 'newField'); - // } - // if (oldVersion < 3) { ... } - }, - blocked(currentVersion, blockedVersion, event) { - // Fires if an older version of the DB is open in another tab/window - console.error(`IndexedDB blocked. Current: ${currentVersion}, Blocked: ${blockedVersion}. Close other tabs.`); - alert('Database update blocked. Please close other tabs/windows using this app and refresh.'); - }, - blocking(currentVersion, blockedVersion, event) { - // Fires in the older tab/window that is blocking the upgrade - console.warn(`IndexedDB blocking upgrade. Current: ${currentVersion}, Upgrade: ${blockedVersion}. Closing connection.`); - // Attempt to close the connection in the blocking tab - // db.close(); // 'db' is not available here, need to handle differently if required - }, - terminated() { - // Fires if the browser abruptly terminates the connection (e.g., OS shutdown) - console.error('IndexedDB connection terminated unexpectedly.'); - dbPromise = null; // Reset promise to allow reconnection attempt - }, - }); - } - return dbPromise; -} - -// --- List CRUD Operations --- - -/** Gets a single list (including items) from IndexedDB by ID. */ -export async function getListFromDb(id: number): Promise { - const db = await getDb(); - return db.get('lists', id); -} - -/** Gets all lists stored in IndexedDB. */ -export async function getAllListsFromDb(): Promise { - const db = await getDb(); - // Consider adding sorting or filtering here if needed - return db.getAll('lists'); -} - -/** Adds or updates a list in IndexedDB. */ -export async function putListToDb(list: ListDetail | ListPublic): Promise { - const db = await getDb(); - // Ensure items array exists, even if empty, for ListDetail type consistency - const listToStore: ListDetail = { - ...list, - items: (list as ListDetail).items ?? [] // Default to empty array if items missing - }; - return db.put('lists', listToStore); -} - -/** Deletes a list and its associated items from IndexedDB. */ -export async function deleteListFromDb(id: number): Promise { - const db = await getDb(); - // Use a transaction to delete list and its items atomically - const tx = db.transaction(['lists', 'items'], 'readwrite'); - const listStore = tx.objectStore('lists'); - const itemStore = tx.objectStore('items'); - const itemIndex = itemStore.index('listId'); // Use the index - - // Delete the list itself - await listStore.delete(id); - - // Find and delete all items associated with the list - let cursor = await itemIndex.openCursor(id.toString()); // Open cursor on the index with the listId - while (cursor) { - await cursor.delete(); // Delete the item the cursor points to - cursor = await cursor.continue(); // Move to the next item with the same listId - } - - await tx.done; // Complete the transaction - console.log(`Deleted list ${id} and its items from DB.`); -} - -// --- Item CRUD Operations --- - -/** Gets a single item from IndexedDB by ID. */ -export async function getItemFromDb(id: number): Promise { - const db = await getDb(); - return db.get('items', id); -} - -/** Gets all items for a specific list from IndexedDB using the index. */ -export async function getItemsByListIdFromDb(listId: number): Promise { - const db = await getDb(); - return db.getAllFromIndex('items', 'listId', listId.toString()); -} - -/** Adds or updates an item in IndexedDB. */ -export async function putItemToDb(item: ItemPublic): Promise { - const db = await getDb(); - return db.put('items', item); -} - -/** Deletes an item from IndexedDB by ID. */ -export async function deleteItemFromDb(id: number): Promise { - const db = await getDb(); - return db.delete('items', id); -} - -// --- Sync Queue Operations --- - -/** Adds an action to the synchronization queue. */ -export async function addSyncAction(action: Omit): Promise { - const db = await getDb(); - // Add the action (payload should be serializable) - return db.add('syncQueue', action); -} - -/** Retrieves all actions currently in the synchronization queue. */ -export async function getSyncQueue(): Promise { - const db = await getDb(); - // Fetch all items, default order is by key (insertion order) - return db.getAll('syncQueue'); -} - -/** Deletes a specific action from the synchronization queue by its ID. */ -export async function deleteSyncAction(id: number): Promise { - const db = await getDb(); - return db.delete('syncQueue', id); -} \ No newline at end of file diff --git a/fe/src/lib/index.ts b/fe/src/lib/index.ts deleted file mode 100644 index 856f2b6..0000000 --- a/fe/src/lib/index.ts +++ /dev/null @@ -1 +0,0 @@ -// place files you want to import through the `$lib` alias in this folder. diff --git a/fe/src/lib/schemas/auth.ts b/fe/src/lib/schemas/auth.ts deleted file mode 100644 index b902ca0..0000000 --- a/fe/src/lib/schemas/auth.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface Token { - access_token: string; - token_type: string; -} \ No newline at end of file diff --git a/fe/src/lib/schemas/group.ts b/fe/src/lib/schemas/group.ts deleted file mode 100644 index b7836d4..0000000 --- a/fe/src/lib/schemas/group.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type { UserPublic } from "./user"; - -export interface GroupPublic { - id: number; - name: string; - created_by_id: number; - created_at: string; - members?: UserPublic[] | null; // Ensure this is included -} diff --git a/fe/src/lib/schemas/health.ts b/fe/src/lib/schemas/health.ts deleted file mode 100644 index 91496d8..0000000 --- a/fe/src/lib/schemas/health.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface HealthStatus { - status: string; - database: string; -} \ No newline at end of file diff --git a/fe/src/lib/schemas/invite.ts b/fe/src/lib/schemas/invite.ts deleted file mode 100644 index 4d873a2..0000000 --- a/fe/src/lib/schemas/invite.ts +++ /dev/null @@ -1,5 +0,0 @@ -export interface InviteCodePublic { - code: string; - expires_at: string; // Date as string from JSON - group_id: number; -} \ No newline at end of file diff --git a/fe/src/lib/schemas/item.ts b/fe/src/lib/schemas/item.ts deleted file mode 100644 index 68229db..0000000 --- a/fe/src/lib/schemas/item.ts +++ /dev/null @@ -1,27 +0,0 @@ - - -// Ensure this interface is exported -export interface ItemPublic { - id: number; - list_id: number; - name: string; - quantity?: string | null; - is_complete: boolean; - price?: number | null; // Or Decimal if using a library - added_by_id: number; - completed_by_id?: number | null; - created_at: string; - updated_at: string; -} - -export interface ItemCreate { - name: string; - quantity?: string | null; -} - -export interface ItemUpdate { - name?: string | null; - quantity?: string | null; - is_complete?: boolean | null; - price?: number | null; // Using number -} \ No newline at end of file diff --git a/fe/src/lib/schemas/list.ts b/fe/src/lib/schemas/list.ts deleted file mode 100644 index 3056d01..0000000 --- a/fe/src/lib/schemas/list.ts +++ /dev/null @@ -1,35 +0,0 @@ -import type { ItemPublic } from './item'; // Assuming item schema exists and is exported - -export interface ListBase { - id: number; - name: string; - description?: string | null; - created_by_id: number; - group_id?: number | null; - is_complete: boolean; - created_at: string; - updated_at: string; -} -// Export interfaces to make the file a module -export interface ListPublic extends ListBase { } -export interface ListDetail extends ListBase { - items: ItemPublic[]; -} - -export interface ListCreate { - name: string; - description?: string | null; - group_id?: number | null; -} - -export interface ListUpdate { - name?: string | null; - description?: string | null; - is_complete?: boolean | null; -} - -export interface ListStatus { - list_updated_at: string; // Expect string from JSON - latest_item_updated_at?: string | null; // Expect string or null from JSON - item_count: number; -} \ No newline at end of file diff --git a/fe/src/lib/schemas/message.ts b/fe/src/lib/schemas/message.ts deleted file mode 100644 index 68c783d..0000000 --- a/fe/src/lib/schemas/message.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface Message { - detail: string; -} \ No newline at end of file diff --git a/fe/src/lib/schemas/ocr.ts b/fe/src/lib/schemas/ocr.ts deleted file mode 100644 index f52cd24..0000000 --- a/fe/src/lib/schemas/ocr.ts +++ /dev/null @@ -1,8 +0,0 @@ -export interface OcrExtractResponse { - extracted_items: string[]; // Matches the backend schema -} - -export interface OcrReviewItem { - id: number; // Temporary unique ID for the {#each} key - text: string; // The item name, editable -} \ No newline at end of file diff --git a/fe/src/lib/schemas/user.ts b/fe/src/lib/schemas/user.ts deleted file mode 100644 index e467ca9..0000000 --- a/fe/src/lib/schemas/user.ts +++ /dev/null @@ -1,6 +0,0 @@ -export interface UserPublic { - id: number; - email: string; - name?: string | null; - created_at: string; -} diff --git a/fe/src/lib/stores/authStore.ts b/fe/src/lib/stores/authStore.ts deleted file mode 100644 index 35526ea..0000000 --- a/fe/src/lib/stores/authStore.ts +++ /dev/null @@ -1,119 +0,0 @@ -// src/lib/stores/authStore.ts -import { writable, get } from 'svelte/store'; -import { browser } from '$app/environment'; // Import browser check - -// --- Define Types --- - -// You should ideally have a shared UserPublic type or define it here -// matching the backend UserPublic schema -interface UserPublic { - id: number; - email: string; - name?: string | null; - created_at: string; // Date might be string in JSON -} - -interface AuthState { - isAuthenticated: boolean; - user: UserPublic | null; - token: string | null; -} - -// --- Store Initialization --- - -const AUTH_TOKEN_KEY = 'authToken'; // Key for localStorage - -const initialAuthState: AuthState = { - isAuthenticated: false, - user: null, - token: null -}; - -// Create the writable store -export const authStore = writable(initialAuthState); - -// --- Persistence Logic --- - -// Load initial state from localStorage (only in browser) -if (browser) { - const storedToken = localStorage.getItem(AUTH_TOKEN_KEY); - if (storedToken) { - // Token exists, tentatively set state. - // We don't know if it's *valid* yet, nor do we have user data. - // A call to /users/me on app load could validate & fetch user data. - authStore.update((state) => ({ - ...state, - token: storedToken, - // Keep isAuthenticated false until token is validated/user fetched - // Or set to true tentatively if you prefer optimistic UI - isAuthenticated: true // Optimistic: assume token might be valid - })); - console.log('AuthStore: Loaded token from localStorage.'); - } -} - -// Subscribe to store changes to persist the token (only in browser) -authStore.subscribe((state) => { - if (browser) { - if (state.token) { - // Save token to localStorage when it exists - localStorage.setItem(AUTH_TOKEN_KEY, state.token); - console.log('AuthStore: Token saved to localStorage.'); - } else { - // Remove token from localStorage when it's null (logout) - localStorage.removeItem(AUTH_TOKEN_KEY); - console.log('AuthStore: Token removed from localStorage.'); - } - } -}); - - -// --- Action Functions --- - -/** - * Updates the auth store upon successful login. - * @param token The JWT access token. - * @param userData The public user data received from the login/signup or /users/me endpoint. - */ -export function login(token: string, userData: UserPublic): void { - authStore.set({ - isAuthenticated: true, - user: userData, - token: token - }); - console.log('AuthStore: User logged in.', userData); -} - -/** - * Resets the auth store to its initial state (logged out). - */ -export function logout(): void { - authStore.set(initialAuthState); - console.log('AuthStore: User logged out.'); -} - -/** - * Updates only the user information in the store, keeping auth state. - * Useful after fetching fresh user data from /users/me. - * @param userData The updated public user data. - */ -export function updateUser(userData: UserPublic): void { - authStore.update(state => { - if (state.isAuthenticated) { - return { ...state, user: userData }; - } - return state; // No change if not authenticated - }); - console.log('AuthStore: User data updated.', userData); -} - - -// --- Helper to get token synchronously (use with caution) --- -/** - * Gets the current token synchronously from the store. - * Primarily intended for use within the apiClient where reactivity isn't needed. - * @returns The current token string or null. - */ -export function getCurrentToken(): string | null { - return get(authStore).token; -} \ No newline at end of file diff --git a/fe/src/lib/syncService.ts b/fe/src/lib/syncService.ts deleted file mode 100644 index 6a88198..0000000 --- a/fe/src/lib/syncService.ts +++ /dev/null @@ -1,154 +0,0 @@ -// src/lib/syncService.ts -import { browser } from '$app/environment'; -import { getSyncQueue, deleteSyncAction } from './db'; // Import DB functions -import { apiClient, ApiClientError } from './apiClient'; // Import API client -import { writable, get } from 'svelte/store'; // Import get for reading store value - -// Store for sync status feedback -export const syncStatus = writable<'idle' | 'syncing' | 'error'>('idle'); -export const syncError = writable(null); - -let isSyncing = false; // Prevent concurrent sync runs - -/** - * Processes the offline synchronization queue. - * Fetches actions from IndexedDB and attempts to send them to the API. - * Removes successful actions, handles basic errors/conflicts. - */ -export async function processSyncQueue() { - // Run only in browser, when online, and if not already syncing - if (!browser || !navigator.onLine || isSyncing) { - if (isSyncing) console.log('Sync: Already in progress, skipping.'); - return; - } - - isSyncing = true; - syncStatus.set('syncing'); - syncError.set(null); // Clear previous errors - console.log('Sync: Starting queue processing...'); - - try { - const queue = await getSyncQueue(); - console.log(`Sync: Found ${queue.length} actions in queue.`); - - if (queue.length === 0) { - syncStatus.set('idle'); - isSyncing = false; - return; // Nothing to do - } - - // Process actions one by one (sequential processing) - for (const action of queue) { - // Should always have an ID from IndexedDB autoIncrement - if (!action.id) { - console.error("Sync: Action missing ID, skipping.", action); - continue; - } - - console.log(`Sync: Processing action ID ${action.id}, Type: ${action.type}`); - let success = false; - try { - // --- Perform API call based on action type --- - switch (action.type) { - case 'create_list': - await apiClient.post('/v1/lists', action.payload); - // TODO: Handle mapping tempId if used - break; - case 'update_list': - // Assuming payload is { id: listId, data: ListUpdate } - await apiClient.put(`/v1/lists/${action.payload.id}`, action.payload.data); - break; - case 'delete_list': - // Assuming payload is { id: listId } - await apiClient.delete(`/v1/lists/${action.payload.id}`); - break; - case 'create_item': - // Assuming payload is { listId: number, data: ItemCreate } - await apiClient.post(`/v1/lists/${action.payload.listId}/items`, action.payload.data); - // TODO: Handle mapping tempId if used - break; - case 'update_item': - // Assuming payload is { id: itemId, data: ItemUpdate } - await apiClient.put(`/v1/items/${action.payload.id}`, action.payload.data); - break; - case 'delete_item': - // Assuming payload is { id: itemId } - await apiClient.delete(`/v1/items/${action.payload.id}`); - break; - default: - console.error(`Sync: Unknown action type: ${(action as any).type}`); - // Optionally treat as error or just skip - throw new Error(`Unknown sync action type: ${(action as any).type}`); - } - - success = true; // Mark as successful if API call didn't throw - console.log(`Sync: Action ID ${action.id} (${action.type}) successful.`); - // Remove from queue ONLY on definite success - await deleteSyncAction(action.id); - - } catch (err: any) { - console.error(`Sync: Failed to process action ID ${action.id} (${action.type})`, err); - - // --- Basic Conflict/Error Handling --- - let errorHandled = false; - if (err instanceof ApiClientError) { - if (err.status === 409) { // Example: Conflict - syncError.set(`Sync conflict for ${action.type} (ID: ${action.payload?.id ?? 'N/A'}). Data may be outdated. Please refresh.`); - // Remove conflicting action from queue - requires manual refresh/resolution by user - await deleteSyncAction(action.id); - errorHandled = true; - } else if (err.status >= 400 && err.status < 500 && err.status !== 401) { - // Other client errors (400 Bad Request, 403 Forbidden, 404 Not Found) - // Often mean the action is invalid now (e.g., deleting something already deleted). - syncError.set(`Sync failed for ${action.type} (Error ${err.status}). Action discarded.`); - await deleteSyncAction(action.id); - errorHandled = true; - } - // Note: 401 Unauthorized is handled globally by apiClient, which calls logout. - // Sync might stop if token becomes invalid mid-process. - } - - if (!errorHandled) { - // Network error or Server error (5xx) - Keep in queue and stop processing for now - syncError.set(`Sync failed for ${action.type}. Will retry later.`); - syncStatus.set('error'); // Indicate sync stopped due to error - isSyncing = false; // Allow retry later - return; // Stop processing the rest of the queue - } - } - } // End for loop - - // If loop completed without critical errors - console.log('Sync: Queue processing finished.'); - syncStatus.set('idle'); // Reset status if all processed or handled - - } catch (outerError) { - // Catch errors during queue fetching or unexpected issues in the loop - console.error("Sync: Critical error during queue processing loop.", outerError); - syncError.set("An unexpected error occurred during synchronization."); - syncStatus.set('error'); - } finally { - isSyncing = false; // Ensure this is always reset - // If an error occurred and wasn't handled by stopping, ensure status reflects it - if (get(syncError) && get(syncStatus) !== 'error') { - syncStatus.set('error'); - } - } -} - -// --- Initialize Sync --- - -// Listen for online event to trigger sync -if (browser) { - window.addEventListener('online', processSyncQueue); - // Trigger sync shortly after app loads if online - if (navigator.onLine) { - setTimeout(processSyncQueue, 3000); // Delay 3s - } -} - -// Optional: Add function to manually trigger sync if needed from UI -export function triggerSync() { - console.log("Sync: Manual trigger requested."); - processSyncQueue(); -} \ No newline at end of file diff --git a/fe/src/pages/AccountPage.vue b/fe/src/pages/AccountPage.vue new file mode 100644 index 0000000..627cd63 --- /dev/null +++ b/fe/src/pages/AccountPage.vue @@ -0,0 +1,10 @@ + + + diff --git a/fe/src/pages/ErrorNotFound.vue b/fe/src/pages/ErrorNotFound.vue new file mode 100644 index 0000000..4227d8d --- /dev/null +++ b/fe/src/pages/ErrorNotFound.vue @@ -0,0 +1,27 @@ + + + diff --git a/fe/src/pages/GroupDetailPage.vue b/fe/src/pages/GroupDetailPage.vue new file mode 100644 index 0000000..c7b2ade --- /dev/null +++ b/fe/src/pages/GroupDetailPage.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/fe/src/pages/GroupsPage.vue b/fe/src/pages/GroupsPage.vue new file mode 100644 index 0000000..01935e1 --- /dev/null +++ b/fe/src/pages/GroupsPage.vue @@ -0,0 +1,230 @@ + + + + + diff --git a/fe/src/pages/IndexPage.vue b/fe/src/pages/IndexPage.vue new file mode 100644 index 0000000..43ca6a0 --- /dev/null +++ b/fe/src/pages/IndexPage.vue @@ -0,0 +1,43 @@ + + + diff --git a/fe/src/pages/ListsPage.vue b/fe/src/pages/ListsPage.vue new file mode 100644 index 0000000..722ba1e --- /dev/null +++ b/fe/src/pages/ListsPage.vue @@ -0,0 +1,10 @@ + + + diff --git a/fe/src/pages/LoginPage.vue b/fe/src/pages/LoginPage.vue new file mode 100644 index 0000000..80d908b --- /dev/null +++ b/fe/src/pages/LoginPage.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/fe/src/pages/SignupPage.vue b/fe/src/pages/SignupPage.vue new file mode 100644 index 0000000..3bf3c8c --- /dev/null +++ b/fe/src/pages/SignupPage.vue @@ -0,0 +1,128 @@ + + + + + diff --git a/fe/src/router/index.ts b/fe/src/router/index.ts new file mode 100644 index 0000000..9a09974 --- /dev/null +++ b/fe/src/router/index.ts @@ -0,0 +1,61 @@ +import { defineRouter } from '#q-app/wrappers'; +import { + createMemoryHistory, + createRouter, + createWebHashHistory, + createWebHistory, +} from 'vue-router'; +import routes from './routes'; +import { useAuthStore } from 'stores/auth'; + +/* + * If not building with SSR mode, you can + * directly export the Router instantiation; + * + * The function below can be async too; either use + * async/await or return a Promise which resolves + * with the Router instance. + */ + +export default defineRouter(function (/* { store, ssrContext } */) { + const createHistory = process.env.SERVER + ? createMemoryHistory + : process.env.VUE_ROUTER_MODE === 'history' + ? createWebHistory + : createWebHashHistory; + + const Router = createRouter({ + scrollBehavior: () => ({ left: 0, top: 0 }), + routes, + + // Leave this as is and make changes in quasar.conf.js instead! + // quasar.conf.js -> build -> vueRouterMode + // quasar.conf.js -> build -> publicPath + history: createHistory(process.env.VUE_ROUTER_BASE), + }); + + // Navigation guard to check authentication + Router.beforeEach((to, from, next) => { + const authStore = useAuthStore(); + const isAuthenticated = authStore.isAuthenticated; + + // Define public routes that don't require authentication + const publicRoutes = ['/login', '/signup']; + + // Check if the route requires authentication + const requiresAuth = !publicRoutes.includes(to.path); + + if (requiresAuth && !isAuthenticated) { + // Redirect to login if trying to access protected route without authentication + next({ path: '/login', query: { redirect: to.fullPath } }); + } else if (!requiresAuth && isAuthenticated) { + // Redirect to home if trying to access login/signup while authenticated + next({ path: '/' }); + } else { + // Proceed with navigation + next(); + } + }); + + return Router; +}); diff --git a/fe/src/router/routes.ts b/fe/src/router/routes.ts new file mode 100644 index 0000000..c867718 --- /dev/null +++ b/fe/src/router/routes.ts @@ -0,0 +1,33 @@ +import type { RouteRecordRaw } from 'vue-router'; + +const routes: RouteRecordRaw[] = [ + { + path: '/', + component: () => import('layouts/MainLayout.vue'), + children: [ + { path: '', redirect: '/lists' }, + { path: 'lists', component: () => import('pages/ListsPage.vue') }, + { path: 'groups', component: () => import('pages/GroupsPage.vue') }, + { path: 'groups/:id', component: () => import('pages/GroupDetailPage.vue'), props: true }, + { path: 'account', component: () => import('pages/AccountPage.vue') }, + ], + }, + + { + path: '/', + component: () => import('layouts/AuthLayout.vue'), + children: [ + { path: 'login', component: () => import('pages/LoginPage.vue') }, + { path: 'signup', component: () => import('pages/SignupPage.vue') }, + ], + }, + + // Always leave this as last one, + // but you can also remove it + { + path: '/:catchAll(.*)*', + component: () => import('pages/ErrorNotFound.vue'), + }, +]; + +export default routes; diff --git a/fe/src/routes/(app)/+layout.svelte b/fe/src/routes/(app)/+layout.svelte deleted file mode 100644 index f00b016..0000000 --- a/fe/src/routes/(app)/+layout.svelte +++ /dev/null @@ -1,49 +0,0 @@ - - - - - -
    -
    -
    - App Dashboard -
    - {#if data.user} - Welcome, {data.user.name || data.user.email}! - {/if} - -
    -
    -
    - -
    - - -
    - - - -
    diff --git a/fe/src/routes/(app)/+layout.ts b/fe/src/routes/(app)/+layout.ts deleted file mode 100644 index 71f01bd..0000000 --- a/fe/src/routes/(app)/+layout.ts +++ /dev/null @@ -1,38 +0,0 @@ -// src/routes/(app)/+layout.ts -import { redirect } from '@sveltejs/kit'; -import { browser } from '$app/environment'; -import { get } from 'svelte/store'; // Import get for synchronous access in load -import { authStore } from '$lib/stores/authStore'; -import type { LayoutLoad } from './$types'; // Import generated types for load function - -export const load: LayoutLoad = ({ url }) => { - // IMPORTANT: localStorage/authStore logic relies on the browser. - // This check prevents errors during SSR or prerendering. - if (!browser) { - // On the server, we cannot reliably check auth state stored in localStorage. - // You might implement server-side session checking here later if needed. - // For now, we allow server rendering to proceed, the client-side check - // or a subsequent navigation check will handle redirection if necessary. - return {}; // Proceed with loading on server - } - - // Get the current auth state synchronously - const authState = get(authStore); - - console.log('(app) layout load: Checking auth state', authState); - - // If not authenticated in the browser, redirect to login - if (!authState.isAuthenticated) { - console.log('(app) layout load: User not authenticated, redirecting to login.'); - // Construct the redirect URL, preserving the original path the user tried to access - const redirectTo = `/login?redirectTo=${encodeURIComponent(url.pathname + url.search)}`; - throw redirect(307, redirectTo); // Use 307 Temporary Redirect - } - - // If authenticated, allow the layout and page to load. - // We could return user data here if needed by the layout/pages. - console.log('(app) layout load: User authenticated, proceeding.'); - return { - user: authState.user // Optionally pass user data to the layout/pages - }; -}; \ No newline at end of file diff --git a/fe/src/routes/(app)/dashboard/+page.svelte b/fe/src/routes/(app)/dashboard/+page.svelte deleted file mode 100644 index 9012989..0000000 --- a/fe/src/routes/(app)/dashboard/+page.svelte +++ /dev/null @@ -1,187 +0,0 @@ - - - -
    -
    -

    Your Groups

    - - - + Create New List - -
    - - -
    -

    Create New Group

    -
    -
    - - -
    - -
    - {#if createError} -

    {createError}

    - {/if} -
    - -
    -

    My Lists

    - {#if loadError} - - {:else if !data.lists || data.lists.length === 0} -

    You haven't created any lists yet.

    - {:else} - - {/if} -
    - - -
    -

    My Groups

    - - {#if loadError} - - - {:else if displayedGroups.length === 0} - -

    You are not a member of any groups yet. Create one above!

    - {:else} - -
      - {#each displayedGroups as group (group.id)} -
    • -
      - {group.name} - - - View - -
      -

      - ID: {group.id} | Created: {new Date(group.created_at).toLocaleDateString()} -

      -
    • - {/each} -
    - {/if} -
    -
    diff --git a/fe/src/routes/(app)/dashboard/+page.ts b/fe/src/routes/(app)/dashboard/+page.ts deleted file mode 100644 index 4b5db4a..0000000 --- a/fe/src/routes/(app)/dashboard/+page.ts +++ /dev/null @@ -1,51 +0,0 @@ -// src/routes/(app)/dashboard/+page.ts -import { error } from '@sveltejs/kit'; -import { apiClient, ApiClientError } from '$lib/apiClient'; -import type { GroupPublic } from '$lib/schemas/group'; // Import the Group type -import type { PageLoad } from './$types'; // SvelteKit's type for load functions -import type { ListPublic } from '$lib/schemas/list'; - -// Define the expected shape of the data returned by this load function -export interface DashboardLoadData { - groups: GroupPublic[]; - error?: string | null; // Optional error message property -} - -export const load: PageLoad = async ({ fetch }) => { - // Note: SvelteKit's 'fetch' is recommended inside load functions - // as it handles credentials and relative paths better during SSR/CSR. - // However, our apiClient uses the global fetch but includes auth logic. - // For consistency, we can continue using apiClient here. - console.log('Dashboard page load: Fetching groups...'); - try { - const groups = await apiClient.get('/v1/groups'); // apiClient adds auth header - const lists = await apiClient.get('/v1/lists'); // apiClient adds auth header - console.log('Dashboard page load: Groups fetched successfully', groups); - return { - groups: groups ?? [], // Return empty array if API returns null/undefined - lists: lists ?? [], - error: null - }; - } catch (err) { - console.error('Dashboard page load: Failed to fetch groups:', err); - let errorMessage = 'Failed to load groups.'; - if (err instanceof ApiClientError) { - // Specific API error handling (authStore's 401 handling should have run) - errorMessage = `Failed to load groups (Status: ${err.status}). Please try again later.`; - // If it was a 401, the layout guard should ideally redirect before this load runs, - // but handle defensively. - if (err.status === 401) { - errorMessage = "Your session may have expired. Please log in again." - // Redirect could also happen here, but layout guard is primary place - // throw redirect(307, '/login?sessionExpired=true'); - } - } else if (err instanceof Error) { - errorMessage = `Network or client error: ${err.message}`; - } - // Return empty list and the error message - return { - groups: [], - error: errorMessage - }; - } -}; \ No newline at end of file diff --git a/fe/src/routes/(app)/groups/[groupId]/+page.svelte b/fe/src/routes/(app)/groups/[groupId]/+page.svelte deleted file mode 100644 index 2e9ec30..0000000 --- a/fe/src/routes/(app)/groups/[groupId]/+page.svelte +++ /dev/null @@ -1,189 +0,0 @@ - - - -{#if data.group} -
    -

    Group: {data.group.name}

    -

    - ID: {data.group.id} | Created: {new Date(data.group.created_at).toLocaleDateString()} -

    - - -
    - -

    Members

    - {#if data.group.members && data.group.members.length > 0} -
      - {#each data.group.members as member (member.id)} -
    • - {member.name || member.email} - ID: {member.id} -
    • - {/each} -
    - {:else} -

    No members found (or data not loaded).

    - {/if} -
    - - - {#if isOwner} -
    - -

    Invite Members

    - -
    - {/if} - - -
    -

    Group Actions

    - {#if leaveError} -

    {leaveError}

    - {/if} - - {#if isOwner} -

    Owners may have restrictions on leaving.

    - {/if} - -
    - - - -
    -{:else} -

    Group data could not be loaded.

    -{/if} diff --git a/fe/src/routes/(app)/groups/[groupId]/+page.ts b/fe/src/routes/(app)/groups/[groupId]/+page.ts deleted file mode 100644 index 1a28cfa..0000000 --- a/fe/src/routes/(app)/groups/[groupId]/+page.ts +++ /dev/null @@ -1,55 +0,0 @@ -// src/routes/(app)/groups/[groupId]/+page.ts -import { error } from '@sveltejs/kit'; -import { apiClient, ApiClientError } from '$lib/apiClient'; -import type { GroupPublic } from '$lib/schemas/group'; -import type { PageLoad } from './$types'; // SvelteKit's type for load functions - -// Define the expected shape of the data returned -export interface GroupDetailPageLoadData { - group: GroupPublic; // The fetched group data -} - -export const load: PageLoad = async ({ params, fetch }) => { - const groupId = params.groupId; // Get groupId from the URL parameter - console.log(`Group Detail page load: Fetching data for group ID: ${groupId}`); - - // Basic validation (optional but good) - if (!groupId || isNaN(parseInt(groupId, 10))) { - throw error(400, 'Invalid Group ID'); // Use SvelteKit's error helper - } - - try { - // Fetch the specific group details using the apiClient - // The backend endpoint GET /api/v1/groups/{group_id} should include members - const groupData = await apiClient.get(`/v1/groups/${groupId}`); - - if (!groupData) { - // Should not happen if API call was successful, but check defensively - throw error(404, 'Group not found'); - } - - console.log('Group Detail page load: Data fetched successfully', groupData); - return { - group: groupData - }; - } catch (err) { - console.error(`Group Detail page load: Failed to fetch group ${groupId}:`, err); - if (err instanceof ApiClientError) { - if (err.status === 404) { - throw error(404, 'Group not found'); - } - if (err.status === 403) { - // User is authenticated (layout guard passed) but not member of this group - throw error(403, 'Forbidden: You are not a member of this group'); - } - // For other API errors (like 500) - throw error(err.status || 500, `API Error: ${err.message}`); - } else if (err instanceof Error) { - // Network or other client errors - throw error(500, `Failed to load group data: ${err.message}`); - } else { - // Unknown error - throw error(500, 'An unexpected error occurred while loading group data.'); - } - } -}; \ No newline at end of file diff --git a/fe/src/routes/(app)/lists/[listId]/+page.svelte b/fe/src/routes/(app)/lists/[listId]/+page.svelte deleted file mode 100644 index cbc9eb0..0000000 --- a/fe/src/routes/(app)/lists/[listId]/+page.svelte +++ /dev/null @@ -1,731 +0,0 @@ - - - - -{#if $localListStore} - {@const list = $localListStore} - -
    - - {#if $syncStatus === 'syncing'} -
    - Syncing changes... -
    - {:else if $syncStatus === 'error' && $syncError} - - {/if} - - -
    -
    -

    {list.name}

    - {#if list.description} -

    {list.description}

    - {/if} -

    - ID: {list.id} | - {#if list.group_id} - Shared | - {:else} - Personal | - {/if} - Status: {list.is_complete ? 'Complete' : 'In Progress'} | Updated: {new Date( - list.updated_at - ).toLocaleString()} -

    -
    -
    - - {#if isRefreshing} - Refreshing... - {/if} - - - - Edit List Details - -
    -
    - {#if ocrError || confirmOcrError} - - - {/if} - - -
    -

    Add New Item

    -
    -
    - - -
    -
    - - -
    - -
    - {#if addItemError} -

    {addItemError}

    - {/if} -
    - - -
    -

    Items ({list.items?.length ?? 0})

    - {#if itemUpdateError} - - - {/if} - {#if list.items && list.items.length > 0} -
      - - {#each list.items as item (item.id)} - - {/each} -
    - {:else} -

    This list is empty. Add items above!

    - {/if} -
    - - - -
    -{:else} - -

    Loading list data...

    -{/if} - - -{#if showOcrModal} - -{/if} - - -{#if showOcrReview} - -{/if} diff --git a/fe/src/routes/(app)/lists/[listId]/+page.ts b/fe/src/routes/(app)/lists/[listId]/+page.ts deleted file mode 100644 index f0f7f34..0000000 --- a/fe/src/routes/(app)/lists/[listId]/+page.ts +++ /dev/null @@ -1,53 +0,0 @@ -// src/routes/(app)/lists/[listId]/+page.ts -import { error } from '@sveltejs/kit'; -import { apiClient, ApiClientError } from '$lib/apiClient'; -import type { ListDetail } from '$lib/schemas/list'; -// --- Use the correct generated type --- -import type { PageLoad } from './$types'; // This type includes correctly typed 'params' - -export interface ListDetailPageLoadData { - list: ListDetail; -} - -export const load: PageLoad = async ({ params, fetch }) => { - const listId = params.listId; - console.log(`List Detail page load: Fetching data for list ID: ${listId}`); - - if (!listId || isNaN(parseInt(listId, 10))) { - throw error(400, 'Invalid List ID'); - } - try { - // Fetch the specific list details (expecting items to be included) - // The backend GET /api/v1/lists/{list_id} should return ListDetail schema - const listData = await apiClient.get(`/v1/lists/${listId}`); - - if (!listData) { - // Should not happen if API call was successful, but check defensively - throw error(404, 'List not found (API returned no data)'); - } - - console.log('List Detail page load: Data fetched successfully', listData); - return { - list: listData - }; - } catch (err) { - console.error(`List Detail page load: Failed to fetch list ${listId}:`, err); - if (err instanceof ApiClientError) { - if (err.status === 404) { - throw error(404, 'List not found'); - } - if (err.status === 403) { - // User is authenticated (layout guard passed) but not member/creator - throw error(403, 'Forbidden: You do not have permission to view this list'); - } - // For other API errors (like 500) - throw error(err.status || 500, `API Error: ${err.message}`); - } else if (err instanceof Error) { - // Network or other client errors - throw error(500, `Failed to load list data: ${err.message}`); - } else { - // Unknown error - throw error(500, 'An unexpected error occurred while loading list data.'); - } - } -}; \ No newline at end of file diff --git a/fe/src/routes/(app)/lists/[listId]/edit/+page.svelte b/fe/src/routes/(app)/lists/[listId]/edit/+page.svelte deleted file mode 100644 index f036f48..0000000 --- a/fe/src/routes/(app)/lists/[listId]/edit/+page.svelte +++ /dev/null @@ -1,16 +0,0 @@ - - - - diff --git a/fe/src/routes/(app)/lists/[listId]/edit/+page.ts b/fe/src/routes/(app)/lists/[listId]/edit/+page.ts deleted file mode 100644 index 190c3af..0000000 --- a/fe/src/routes/(app)/lists/[listId]/edit/+page.ts +++ /dev/null @@ -1,75 +0,0 @@ -// src/routes/(app)/lists/[listId]/edit/+page.ts -import { error } from '@sveltejs/kit'; -import { apiClient, ApiClientError } from '$lib/apiClient'; -import type { GroupPublic } from '$lib/schemas/group'; -import type { ListPublic } from '$lib/schemas/list'; // Use ListPublic or ListDetail -import type { PageLoad } from './$types'; - -export interface EditListPageLoadData { - list: ListPublic; // Or ListDetail if needed - groups: GroupPublic[]; - error?: string | null; // For group loading errors -} - -// Fetch the specific list to edit AND the user's groups for the dropdown -export const load: PageLoad = async ({ params, fetch }) => { - const listId = params.listId; - console.log(`Edit List page load: Fetching list ${listId} and groups...`); - - if (!listId || isNaN(parseInt(listId, 10))) { - throw error(400, 'Invalid List ID'); - } - - try { - // Fetch list details and groups in parallel - // Use apiClient for automatic auth handling - const [listResult, groupsResult] = await Promise.allSettled([ - apiClient.get(`/v1/lists/${listId}`), // Fetch specific list - apiClient.get('/v1/groups') // Fetch groups for dropdown - ]); - - let listData: ListPublic; - let groupsData: GroupPublic[] = []; - let groupsError: string | null = null; - - // Process list result - if (listResult.status === 'fulfilled' && listResult.value) { - listData = listResult.value; - } else { - // Handle list fetch failure - const reason = listResult.status === 'rejected' ? listResult.reason : new Error('List data missing'); - console.error(`Edit List page load: Failed to fetch list ${listId}:`, reason); - if (reason instanceof ApiClientError) { - if (reason.status === 404) throw error(404, 'List not found'); - if (reason.status === 403) throw error(403, 'Forbidden: You cannot edit this list'); - throw error(reason.status || 500, `API Error loading list: ${reason.message}`); - } - throw error(500, `Failed to load list data: ${reason instanceof Error ? reason.message : 'Unknown error'}`); - } - - // Process groups result (non-critical, form can work without it) - if (groupsResult.status === 'fulfilled' && groupsResult.value) { - groupsData = groupsResult.value; - } else { - const reason = groupsResult.status === 'rejected' ? groupsResult.reason : new Error('Groups data missing'); - console.error('Edit List page load: Failed to fetch groups:', reason); - groupsError = `Failed to load groups for sharing options: ${reason instanceof Error ? reason.message : 'Unknown error'}`; - // Don't throw error here, just pass the message to the component - } - - return { - list: listData, - groups: groupsData, - error: groupsError // Pass group loading error to the page - }; - - } catch (err) { - // Catch errors thrown by Promise.allSettled handling or initial setup - console.error(`Edit List page load: Unexpected error for list ${listId}:`, err); - // Check if it's a SvelteKit error object before re-throwing - if (err instanceof Error && 'status' in err && typeof err.status === 'number') { - throw err; - } - throw error(500, `An unexpected error occurred: ${err instanceof Error ? err.message : 'Unknown error'}`); - } -}; \ No newline at end of file diff --git a/fe/src/routes/(app)/lists/new/+page.svelte b/fe/src/routes/(app)/lists/new/+page.svelte deleted file mode 100644 index 951f570..0000000 --- a/fe/src/routes/(app)/lists/new/+page.svelte +++ /dev/null @@ -1,13 +0,0 @@ - - - -
    - - - -
    diff --git a/fe/src/routes/(app)/lists/new/+page.ts b/fe/src/routes/(app)/lists/new/+page.ts deleted file mode 100644 index e76f0be..0000000 --- a/fe/src/routes/(app)/lists/new/+page.ts +++ /dev/null @@ -1,32 +0,0 @@ -// src/routes/(app)/lists/new/+page.ts -import { apiClient, ApiClientError } from '$lib/apiClient'; -import type { GroupPublic } from '$lib/schemas/group'; -import type { PageLoad } from './$types'; - -export interface NewListPageLoadData { - groups: GroupPublic[]; - error?: string | null; -} - -// Fetch groups needed for the dropdown in the form -export const load: PageLoad = async ({ fetch }) => { - console.log('New List page load: Fetching groups...'); - try { - const groups = await apiClient.get('/v1/groups'); - return { - groups: groups ?? [], - error: null - }; - } catch (err) { - console.error('New List page load: Failed to fetch groups:', err); - let errorMessage = 'Failed to load group data for sharing options.'; - // Handle specific errors if needed (e.g., 401 handled globally) - if (err instanceof Error) { - errorMessage = `Error loading groups: ${err.message}`; - } - return { - groups: [], - error: errorMessage - }; - } -}; \ No newline at end of file diff --git a/fe/src/routes/+layout.svelte b/fe/src/routes/+layout.svelte deleted file mode 100644 index 00d2d3d..0000000 --- a/fe/src/routes/+layout.svelte +++ /dev/null @@ -1,56 +0,0 @@ - - - -
    - - {#if !$page.route.id?.startsWith('/(app)')} -
    -
    - Shared Lists App - - -
    -
    - {/if} - - - -
    - -
    - - - {#if !$page.route.id?.startsWith('/(app)')} -
    -

    © {new Date().getFullYear()} Shared Lists App. All rights reserved.

    -
    - {/if} -
    diff --git a/fe/src/routes/+page.svelte b/fe/src/routes/+page.svelte deleted file mode 100644 index e11d895..0000000 --- a/fe/src/routes/+page.svelte +++ /dev/null @@ -1,100 +0,0 @@ - - - - -
    - -
    -

    Welcome to Shared Lists!

    -

    - Your go-to app for managing household shopping lists, capturing items via OCR, and splitting - costs easily. -

    -
    - - -
    -

    System Status

    - {#if errorMessage} -

    {errorMessage}

    - {/if} -

    - API Reachable: - - {apiStatus} - -

    -

    - Database Connection: - - {dbStatus} - -

    -
    - - - -
    diff --git a/fe/src/routes/join/+page.svelte b/fe/src/routes/join/+page.svelte deleted file mode 100644 index 9b389ca..0000000 --- a/fe/src/routes/join/+page.svelte +++ /dev/null @@ -1,138 +0,0 @@ - - - -
    -

    Join a Group

    - -
    - {#if successMessage} - - {/if} - {#if errorMessage} - - {/if} - -
    - - -
    - - -
    - -

    - ← Back to Dashboard -

    -
    diff --git a/fe/src/routes/join/+page.ts b/fe/src/routes/join/+page.ts deleted file mode 100644 index 71214c6..0000000 --- a/fe/src/routes/join/+page.ts +++ /dev/null @@ -1,19 +0,0 @@ -// src/routes/join/+page.ts -import type { PageLoad } from './$types'; - -// Define the shape of data passed to the page component -export interface JoinPageLoadData { - codeFromUrl?: string | null; // Code extracted from URL, if present -} - -export const load: PageLoad = ({ url }) => { - // Check if a 'code' query parameter exists in the URL - const code = url.searchParams.get('code'); - - console.log(`Join page load: Checking for code in URL. Found: ${code}`); - - // Return the code (or null if not found) so the page component can access it - return { - codeFromUrl: code - }; -}; \ No newline at end of file diff --git a/fe/src/routes/login/+page.svelte b/fe/src/routes/login/+page.svelte deleted file mode 100644 index b66cde9..0000000 --- a/fe/src/routes/login/+page.svelte +++ /dev/null @@ -1,150 +0,0 @@ - - -
    -

    Log In

    - -
    - {#if signupSuccessMessage} - - {/if} - {#if errorMessage} - - {/if} - -
    - - -
    - -
    - - -
    - - -
    -

    - Don't have an account? - Sign Up -

    -
    diff --git a/fe/src/routes/signup/+page.svelte b/fe/src/routes/signup/+page.svelte deleted file mode 100644 index 663c6c2..0000000 --- a/fe/src/routes/signup/+page.svelte +++ /dev/null @@ -1,118 +0,0 @@ - - - -
    -

    Create Account

    - -
    - {#if errorMessage} - - {/if} - -
    - - -
    - -
    - - -
    - -
    - - -
    - - -
    - -

    - Already have an account? - Log In -

    -
    diff --git a/fe/src/service-worker.ts b/fe/src/service-worker.ts deleted file mode 100644 index f7047a0..0000000 --- a/fe/src/service-worker.ts +++ /dev/null @@ -1,135 +0,0 @@ -// src/service-worker.ts - -/// -/// - -// This import IS correct - it's provided by SvelteKit -import { build, files, version } from '$service-worker'; - -// Declare workbox global if needed (if TS complains after removing @types/workbox-sw) -declare const workbox: any; // Using 'any' for simplicity if specific types cause issues - -console.log(`[Service Worker] Version: ${version}`); - -// --- Precaching Core Assets --- -// Cache essential SvelteKit build artifacts and static files -workbox.precaching.precacheAndRoute(build); -workbox.precaching.precacheAndRoute(files.map(f => ({ url: f, revision: null }))); - -// --- Runtime Caching Strategies --- - -// Example: Cache Google Fonts (Optional) -workbox.routing.registerRoute( - ({ url }) => url.origin === 'https://fonts.googleapis.com' || url.origin === 'https://fonts.gstatic.com', - new workbox.strategies.StaleWhileRevalidate({ - cacheName: 'google-fonts-cache', - plugins: [ - new workbox.cacheableResponse.CacheableResponse({ statuses: [0, 200] }), - new workbox.expiration.ExpirationPlugin({ maxEntries: 20, maxAgeSeconds: 30 * 24 * 60 * 60 }), // 30 Days - ], - }), -); - -// Example: Cache images from origin (Optional) -workbox.routing.registerRoute( - ({ request, url }) => request.destination === 'image' && url.origin === self.location.origin, - new workbox.strategies.CacheFirst({ - cacheName: 'images-cache', - plugins: [ - new workbox.cacheableResponse.CacheableResponse({ statuses: [0, 200] }), - new workbox.expiration.ExpirationPlugin({ - maxEntries: 50, - maxAgeSeconds: 30 * 24 * 60 * 60, // 30 Days - purgeOnQuotaError: true, - }), - ], - }), -); - -// --- API GET Request Caching --- - -// Cache the list of lists (NetworkFirst: try network, fallback cache) -workbox.routing.registerRoute( - ({ url, request }) => url.pathname === '/api/v1/lists' && request.method === 'GET', - new workbox.strategies.NetworkFirst({ - cacheName: 'api-lists-cache', - plugins: [ - new workbox.cacheableResponse.CacheableResponse({ statuses: [0, 200] }), - new workbox.expiration.ExpirationPlugin({ maxEntries: 10, maxAgeSeconds: 60 * 60 * 24 }) // 1 Day - ] - }) -); - -// Cache individual list details (NetworkFirst) -workbox.routing.registerRoute( - ({ url, request }) => /^\/api\/v1\/lists\/\d+$/.test(url.pathname) && request.method === 'GET', - new workbox.strategies.NetworkFirst({ - cacheName: 'api-list-detail-cache', - plugins: [ - new workbox.cacheableResponse.CacheableResponse({ statuses: [0, 200] }), - new workbox.expiration.ExpirationPlugin({ maxEntries: 30, maxAgeSeconds: 60 * 60 * 24 }) // 1 Day - ] - }) -); - -// Cache list status (StaleWhileRevalidate: serve cache fast, update background) -workbox.routing.registerRoute( - ({ url, request }) => /^\/api\/v1\/lists\/\d+\/status$/.test(url.pathname) && request.method === 'GET', - new workbox.strategies.StaleWhileRevalidate({ - cacheName: 'api-list-status-cache', - plugins: [ - new workbox.cacheableResponse.CacheableResponse({ statuses: [0, 200] }), - new workbox.expiration.ExpirationPlugin({ maxEntries: 30, maxAgeSeconds: 60 * 60 }) // 1 Hour - ] - }) -); - -// --- Service Worker Lifecycle --- - -self.addEventListener('install', (event) => { - console.log('[Service Worker] Install event'); - // Force activation immediately (use with caution, ensure clients handle updates) - // event.waitUntil(self.skipWaiting()); -}); - -self.addEventListener('activate', (event) => { - const extendableEvent = event as ExtendableEvent; // Cast for type safety - console.log('[Service Worker] Activate event'); - // Remove outdated caches managed by Workbox's precaching - extendableEvent.waitUntil(workbox.precaching.cleanupOutdatedCaches()); - // Take control of uncontrolled clients immediately - // extendableEvent.waitUntil(self.clients.claim()); -}); - -self.addEventListener('fetch', (event) => { - // Workbox's registered routes handle fetch events automatically. - // console.log(`[Service Worker] Fetching: ${event.request.url}`); - - // --- Background Sync Interception (More Advanced - requires Workbox Background Sync module) --- - // This is a basic example; a full implementation requires the workbox-background-sync package - // and more robust error handling and queue management. - // const isApiMutation = event.request.url.startsWith(self.location.origin + '/api/') && event.request.method !== 'GET'; - // if (isApiMutation) { - // // Example using BackgroundSync Queue (conceptual) - // // Requires: import { Queue } from 'workbox-background-sync'; - // // const queue = new Queue('apiSyncQueue'); - // // event.respondWith( - // // fetch(event.request.clone()).catch(() => { - // // console.log('[Service Worker] Fetch failed, queueing request:', event.request.url); - // // return queue.pushRequest({ request: event.request }); - // // }) - // // ); - // } -}); - -// Optional: Listen for messages from clients (e.g., trigger sync manually) -self.addEventListener('message', (event) => { - if (event.data && event.data.type === 'TRIGGER_SYNC') { - console.log('[Service Worker] Received TRIGGER_SYNC message.'); - // Import and call processSyncQueue if structured that way, - // or use Background Sync's replayRequests. - // Example: Triggering background sync replay (if using Workbox Background Sync) - // const queue = new workbox.backgroundSync.Queue('apiSyncQueue'); - // event.waitUntil(queue.replayRequests()); - } -}); \ No newline at end of file diff --git a/fe/src/stores/auth.ts b/fe/src/stores/auth.ts new file mode 100644 index 0000000..c124d61 --- /dev/null +++ b/fe/src/stores/auth.ts @@ -0,0 +1,105 @@ +import { defineStore } from 'pinia'; +import { ref, computed } from 'vue'; +import { api } from 'boot/axios'; + +interface AuthState { + accessToken: string | null; + refreshToken: string | null; + user: { + email: string; + name: string; + } | null; +} + +export const useAuthStore = defineStore('auth', () => { + // State + const accessToken = ref(localStorage.getItem('token')); + const refreshToken = ref(localStorage.getItem('refresh_token')); + const user = ref(null); + + // Getters + const isAuthenticated = computed(() => !!accessToken.value); + const getUser = computed(() => user.value); + + // Actions + const setTokens = (tokens: { access_token: string; refresh_token: string }) => { + accessToken.value = tokens.access_token; + refreshToken.value = tokens.refresh_token; + localStorage.setItem('token', tokens.access_token); + localStorage.setItem('refresh_token', tokens.refresh_token); + }; + + const clearTokens = () => { + accessToken.value = null; + refreshToken.value = null; + user.value = null; + localStorage.removeItem('token'); + localStorage.removeItem('refresh_token'); + }; + + const setUser = (userData: AuthState['user']) => { + user.value = userData; + }; + + const login = async (email: string, password: string) => { + const formData = new FormData(); + formData.append('username', email); + formData.append('password', password); + + const response = await api.post('/auth/login', formData, { + headers: { + 'Content-Type': 'application/x-www-form-urlencoded', + }, + }); + + const { access_token, refresh_token } = response.data; + setTokens({ access_token, refresh_token }); + return response.data; + }; + + const signup = async (userData: { name: string; email: string; password: string }) => { + const response = await api.post('/auth/signup', userData); + return response.data; + }; + + const logout = () => { + clearTokens(); + }; + + const refreshAccessToken = async () => { + if (!refreshToken.value) { + throw new Error('No refresh token available'); + } + + try { + const response = await api.post('/auth/refresh', { + refresh_token: refreshToken.value, + }); + + const { access_token, refresh_token } = response.data; + setTokens({ access_token, refresh_token }); + return response.data; + } catch (error) { + clearTokens(); + throw error; + } + }; + + return { + // State + accessToken, + refreshToken, + user, + // Getters + isAuthenticated, + getUser, + // Actions + setTokens, + clearTokens, + setUser, + login, + signup, + logout, + refreshAccessToken, + }; +}); diff --git a/fe/src/stores/example-store.ts b/fe/src/stores/example-store.ts new file mode 100644 index 0000000..8640e9a --- /dev/null +++ b/fe/src/stores/example-store.ts @@ -0,0 +1,21 @@ +import { defineStore, acceptHMRUpdate } from 'pinia'; + +export const useCounterStore = defineStore('counter', { + state: () => ({ + counter: 0, + }), + + getters: { + doubleCount: (state) => state.counter * 2, + }, + + actions: { + increment() { + this.counter++; + }, + }, +}); + +if (import.meta.hot) { + import.meta.hot.accept(acceptHMRUpdate(useCounterStore, import.meta.hot)); +} diff --git a/fe/src/stores/index.ts b/fe/src/stores/index.ts new file mode 100644 index 0000000..066de2a --- /dev/null +++ b/fe/src/stores/index.ts @@ -0,0 +1,32 @@ +import { defineStore } from '#q-app/wrappers' +import { createPinia } from 'pinia' + +/* + * When adding new properties to stores, you should also + * extend the `PiniaCustomProperties` interface. + * @see https://pinia.vuejs.org/core-concepts/plugins.html#typing-new-store-properties + */ +declare module 'pinia' { + // eslint-disable-next-line @typescript-eslint/no-empty-object-type + export interface PiniaCustomProperties { + // add your custom properties here, if any + } +} + +/* + * If not building with SSR mode, you can + * directly export the Store instantiation; + * + * The function below can be async too; either use + * async/await or return a Promise which resolves + * with the Store instance. + */ + +export default defineStore((/* { ssrContext } */) => { + const pinia = createPinia() + + // You can add Pinia plugins here + // pinia.use(SomePiniaPlugin) + + return pinia +}) diff --git a/fe/static/favicon.png b/fe/static/favicon.png deleted file mode 100644 index 825b9e65af7c104cfb07089bb28659393b4f2097..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1571 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 diff --git a/fe/static/icon-192x192.png b/fe/static/icon-192x192.png deleted file mode 100644 index 53bc7dd185ca4dad7202042c1227de3e7662c2eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7314 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 diff --git a/fe/static/icon-512x512.png b/fe/static/icon-512x512.png deleted file mode 100644 index 55afb8628d27da857480388afcbb8276e10d92ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19015 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 FV1jXR#g_m8 diff --git a/fe/static/manifest.json b/fe/static/manifest.json deleted file mode 100644 index c0d2678..0000000 --- a/fe/static/manifest.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "Shared Household Lists", - "short_name": "SharedLists", - "description": "Collaborative shopping lists, OCR, and cost splitting for households.", - "start_url": "/", - "display": "standalone", - "background_color": "#f3f3f3", - "theme_color": "#c0377b", - "icons": [ - { - "src": "/icon-192x192.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "any maskable" - }, - { - "src": "/icon-512x512.png", - "sizes": "512x512", - "type": "image/png", - "purpose": "any maskable" - }, - { - "src": "/icon-144x144.png", - "sizes": "144x144", - "type": "image/png", - "purpose": "any maskable" - } - ] -} \ No newline at end of file diff --git a/fe/svelte.config.js b/fe/svelte.config.js deleted file mode 100644 index 415a6c3..0000000 --- a/fe/svelte.config.js +++ /dev/null @@ -1,9 +0,0 @@ -import adapter from '@sveltejs/adapter-node'; -import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; - -const config = { - preprocess: vitePreprocess(), - kit: { adapter: adapter() } -}; - -export default config; diff --git a/fe/tsconfig.json b/fe/tsconfig.json index 0b2d886..f154205 100644 --- a/fe/tsconfig.json +++ b/fe/tsconfig.json @@ -1,19 +1,3 @@ { - "extends": "./.svelte-kit/tsconfig.json", - "compilerOptions": { - "allowJs": true, - "checkJs": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "resolveJsonModule": true, - "skipLibCheck": true, - "sourceMap": true, - "strict": true, - "moduleResolution": "bundler" - } - // Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias - // except $lib which is handled by https://svelte.dev/docs/kit/configuration#files - // - // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes - // from the referenced tsconfig.json - TypeScript does not merge them in -} + "extends": "./.quasar/tsconfig.json" +} \ No newline at end of file diff --git a/fe/vite.config.ts b/fe/vite.config.ts deleted file mode 100644 index 2d35c4f..0000000 --- a/fe/vite.config.ts +++ /dev/null @@ -1,7 +0,0 @@ -import tailwindcss from '@tailwindcss/vite'; -import { sveltekit } from '@sveltejs/kit/vite'; -import { defineConfig } from 'vite'; - -export default defineConfig({ - plugins: [tailwindcss(), sveltekit()] -});

    -

    - {isEditMode ? 'Edit List' : 'Create New List'} -

    - - {#if successMessage} -
    - {successMessage} Redirecting... -
    - {/if} - {#if errorMessage} - - {/if} - -
    - - -
    - -
    - - - - -
    - - - {#if !isEditMode} -
    - - - {#if groups.length === 0} -

    You are not a member of any groups to share with.

    - {/if} -
    - {/if} - -
    - Cancel - -
    -