From 42c6a8313964794919b06bba7a82e1a29e70c8ed Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:00:28 +0300 Subject: [PATCH 001/121] chore: remove vue 3 / vuetify stack --- .browserslistrc | 4 - .dockerignore | 36 - .editorconfig | 9 - .env.example | 4 - .husky/pre-commit | 1 - .prettierrc.json | 7 - Dockerfile | 59 - bun.lock | 1688 +++++++++-------- compose.yml | 8 - crowdin.yml | 3 - deployment/config/nginx.conf | 31 - env.d.ts | 1 - eslint.config.ts | 32 - index.html | 21 - src/App.vue | 14 - src/assets/logo-dark.png | Bin 43618 -> 0 bytes src/assets/logo.png | Bin 43604 -> 0 bytes src/assets/main.css | 203 -- src/components/HomePage.vue | 25 - src/components/__tests__/HelloWorld.spec.ts | 11 - src/components/layout/AppFooter.vue | 203 -- src/components/layout/AppHeader.vue | 149 -- src/components/layout/PageContainer.vue | 17 - src/components/sections/DownloadSection.vue | 170 -- src/components/sections/FeaturesSection.vue | 140 -- src/components/sections/HeroSection.vue | 110 -- src/components/sections/OpenSourceSection.vue | 188 -- src/components/sections/SectionContainer.vue | 242 --- src/components/sections/TranslateSection.vue | 298 --- src/components/ui/LocaleSwitch.vue | 83 - src/components/ui/ThemeSwitch.vue | 94 - src/composables/useThemedLogo.ts | 11 - src/enums/app.ts | 6 - src/localization/ar.json | 228 --- src/localization/en.json | 228 --- src/localization/ms.json | 228 --- src/localization/ur.json | 228 --- src/main.ts | 14 - src/plugins/i18n.ts | 27 - src/plugins/index.ts | 12 - src/plugins/vuetify.ts | 157 -- src/router/index.ts | 26 - src/services/crowdin.ts | 47 - src/stores/app.ts | 32 - src/stores/index.ts | 12 - src/typed-router.d.ts | 22 - src/types/i18n.d.ts | 9 - src/types/locale.ts | 5 - tsconfig.app.json | 12 - tsconfig.json | 20 +- tsconfig.node.json | 19 - tsconfig.vitest.json | 11 - vite.config.ts | 24 - vitest.config.ts | 14 - 54 files changed, 899 insertions(+), 4344 deletions(-) delete mode 100644 .browserslistrc delete mode 100644 .dockerignore delete mode 100644 .editorconfig delete mode 100644 .env.example delete mode 100644 .husky/pre-commit delete mode 100644 .prettierrc.json delete mode 100644 Dockerfile delete mode 100644 compose.yml delete mode 100644 crowdin.yml delete mode 100644 deployment/config/nginx.conf delete mode 100644 env.d.ts delete mode 100644 eslint.config.ts delete mode 100644 index.html delete mode 100644 src/App.vue delete mode 100644 src/assets/logo-dark.png delete mode 100644 src/assets/logo.png delete mode 100644 src/assets/main.css delete mode 100644 src/components/HomePage.vue delete mode 100644 src/components/__tests__/HelloWorld.spec.ts delete mode 100644 src/components/layout/AppFooter.vue delete mode 100644 src/components/layout/AppHeader.vue delete mode 100644 src/components/layout/PageContainer.vue delete mode 100644 src/components/sections/DownloadSection.vue delete mode 100644 src/components/sections/FeaturesSection.vue delete mode 100644 src/components/sections/HeroSection.vue delete mode 100644 src/components/sections/OpenSourceSection.vue delete mode 100644 src/components/sections/SectionContainer.vue delete mode 100644 src/components/sections/TranslateSection.vue delete mode 100644 src/components/ui/LocaleSwitch.vue delete mode 100644 src/components/ui/ThemeSwitch.vue delete mode 100644 src/composables/useThemedLogo.ts delete mode 100644 src/enums/app.ts delete mode 100644 src/localization/ar.json delete mode 100644 src/localization/en.json delete mode 100644 src/localization/ms.json delete mode 100644 src/localization/ur.json delete mode 100644 src/main.ts delete mode 100644 src/plugins/i18n.ts delete mode 100644 src/plugins/index.ts delete mode 100644 src/plugins/vuetify.ts delete mode 100644 src/router/index.ts delete mode 100644 src/services/crowdin.ts delete mode 100644 src/stores/app.ts delete mode 100644 src/stores/index.ts delete mode 100644 src/typed-router.d.ts delete mode 100644 src/types/i18n.d.ts delete mode 100644 src/types/locale.ts delete mode 100644 tsconfig.app.json delete mode 100644 tsconfig.node.json delete mode 100644 tsconfig.vitest.json delete mode 100644 vite.config.ts delete mode 100644 vitest.config.ts diff --git a/.browserslistrc b/.browserslistrc deleted file mode 100644 index dc3bc09..0000000 --- a/.browserslistrc +++ /dev/null @@ -1,4 +0,0 @@ -> 1% -last 2 versions -not dead -not ie 11 diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index 912adae..0000000 --- a/.dockerignore +++ /dev/null @@ -1,36 +0,0 @@ -# Version control -.git -.gitignore -.gitattributes - -# Dependencies -node_modules -npm-debug.log -yarn-debug.log -yarn-error.log - -# Build output -dist -build -coverage - -# Development -*.log -.DS_Store -.vscode -.idea - -# Tests -test -coverage -*.spec.ts -*.test.ts - -# Documentation -README.md -docs -*.md - -# Docker -Dockerfile -.dockerignore diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 7f5b23f..0000000 --- a/.editorconfig +++ /dev/null @@ -1,9 +0,0 @@ -[*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue}] -charset = utf-8 -indent_size = 2 -indent_style = space -insert_final_newline = true -trim_trailing_whitespace = true - -end_of_line = lf -max_line_length = 100 diff --git a/.env.example b/.env.example deleted file mode 100644 index ba44687..0000000 --- a/.env.example +++ /dev/null @@ -1,4 +0,0 @@ -VITE_HEALTH_CHECK_URL= -VITE_CROWDIN_API_TOKEN= -VITE_CROWDIN_PROJECT_ID= -VITE_CROWDIN_PROJECT_URL= \ No newline at end of file diff --git a/.husky/pre-commit b/.husky/pre-commit deleted file mode 100644 index 2312dc5..0000000 --- a/.husky/pre-commit +++ /dev/null @@ -1 +0,0 @@ -npx lint-staged diff --git a/.prettierrc.json b/.prettierrc.json deleted file mode 100644 index 17a23d0..0000000 --- a/.prettierrc.json +++ /dev/null @@ -1,7 +0,0 @@ - -{ - "$schema": "https://json.schemastore.org/prettierrc", - "semi": false, - "singleQuote": true, - "printWidth": 100 -} diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index d64db79..0000000 --- a/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -# Use Bun for faster builds -FROM oven/bun:1-alpine AS base - -# Install security updates -RUN apk add --no-cache dumb-init && \ - apk upgrade - -# Create non-root user for security -RUN addgroup -g 1001 -S appgroup && \ - adduser -S appuser -u 1001 -G appgroup - -# Set working directory -WORKDIR /app - -# Change ownership of working directory -RUN chown -R appuser:appgroup /app - -# Switch to non-root user -USER appuser - -# Copy package files -COPY --chown=appuser:appgroup package.json bun.lock* ./ - -# Install dependencies -RUN bun install --frozen-lockfile - -# === Build stage === -FROM base AS builder - -# Copy source code (including .env created by CI) -COPY --chown=appuser:appgroup . . - -# Build the Vue app with env file loaded -RUN bun --env-file=.env run build-only - -# === Production stage === -FROM nginx:alpine AS production - -# Install security updates and dumb-init -RUN apk add --no-cache dumb-init && \ - apk upgrade - -# Copy built Vue app from builder stage -COPY --from=builder /app/dist /usr/share/nginx/html - -# Copy custom nginx configuration -COPY deployment/config/nginx.conf /etc/nginx/conf.d/default.conf - -# Set environment variables -ENV NODE_ENV=production - -# Expose port -EXPOSE 80 - -# Use dumb-init to handle signals properly -ENTRYPOINT ["dumb-init", "--"] - -# Start nginx -CMD ["nginx", "-g", "daemon off;"] diff --git a/bun.lock b/bun.lock index 87cea98..e8cbdfe 100644 --- a/bun.lock +++ b/bun.lock @@ -1,598 +1,596 @@ { "lockfileVersion": 1, - "configVersion": 0, + "configVersion": 1, "workspaces": { "": { "name": "nedaa-website", "dependencies": { - "@crowdin/crowdin-api-client": "^1.44.0", - "@vueuse/core": "^14.2.1", - "pinia": "^3.0.2", - "pinia-plugin-persistedstate": "^4.3.0", - "vue": "^3.5.16", - "vue-i18n": "^11.1.5", - "vue-router": "^4.5.1", - "vuetify": "^3.8.7", + "@astrojs/check": "^0.9.4", + "@astrojs/rss": "^4.0.11", + "@astrojs/sitemap": "^3.4.1", + "@astrojs/svelte": "^7.2.1", + "@fontsource/asap": "^5.2.7", + "@fontsource/ibm-plex-sans-arabic": "^5.2.6", + "@fontsource/jetbrains-mono": "^5.2.7", + "astro": "^5.14.5", + "motion": "^12.23.20", + "svelte": "^5.43.6", + "typescript": "^5.7.3", }, "devDependencies": { - "@mdi/font": "^7.4.47", - "@mdi/js": "^7.4.47", - "@tsconfig/node22": "^22.0.2", - "@types/jsdom": "^21.1.7", - "@types/node": "^22.15.27", - "@vitejs/plugin-vue": "^5.2.4", - "@vitest/eslint-plugin": "1.1.25", - "@vue/eslint-config-prettier": "^10.2.0", - "@vue/eslint-config-typescript": "^14.5.0", - "@vue/test-utils": "^2.4.6", - "@vue/tsconfig": "^0.7.0", - "eslint": "^9.27.0", - "eslint-plugin-oxlint": "^0.15.15", - "eslint-plugin-vue": "^9.33.0", - "husky": "^9.1.7", - "jiti": "^2.4.2", - "jsdom": "^26.1.0", - "lint-staged": "^15.5.2", - "npm-run-all2": "^8.0.4", - "oxlint": "^0.15.15", + "@lhci/cli": "^0.15.1", "prettier": "^3.5.3", - "sass-embedded": "^1.89.0", - "typescript": "~5.8.3", - "unplugin-vue-router": "^0.12.0", - "vite": "^6.3.5", - "vite-plugin-vue-devtools": "^7.7.6", - "vite-plugin-vuetify": "^2.1.1", - "vitest": "^3.1.4", - "vue-tsc": "^2.2.10", + "prettier-plugin-astro": "^0.14.1", + "prettier-plugin-svelte": "^3.4.0", }, }, }, + "trustedDependencies": [ + "sharp", + "esbuild", + ], "packages": { - "@ampproject/remapping": ["@ampproject/remapping@2.3.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw=="], + "@astrojs/check": ["@astrojs/check@0.9.9", "", { "dependencies": { "@astrojs/language-server": "^2.16.7", "chokidar": "^4.0.3", "kleur": "^4.1.5", "yargs": "^17.7.2" }, "peerDependencies": { "typescript": "^5.0.0 || ^6.0.0" }, "bin": { "astro-check": "bin/astro-check.js" } }, "sha512-A5UW8uIuErLWEoRQvzgXpO1gTjUFtK8r7nU2Z7GewAMxUb7bPvpk11qaKKgxqXlHJWlAvaaxy+Xg28A6bmQ1Tg=="], - "@antfu/utils": ["@antfu/utils@0.7.10", "", {}, "sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww=="], + "@astrojs/compiler": ["@astrojs/compiler@2.13.1", "", {}, "sha512-f3FN83d2G/v32ipNClRKgYv30onQlMZX1vCeZMjPsMMPl1mDpmbl0+N5BYo4S/ofzqJyS5hvwacEo0CCVDn/Qg=="], - "@asamuzakjp/css-color": ["@asamuzakjp/css-color@2.8.3", "", { "dependencies": { "@csstools/css-calc": "^2.1.1", "@csstools/css-color-parser": "^3.0.7", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "lru-cache": "^10.4.3" } }, "sha512-GIc76d9UI1hCvOATjZPyHFmE5qhRccp3/zGfMPapK3jBi+yocEzp6BBB0UnfRYP9NP4FANqUZYb0hnfs3TM3hw=="], + "@astrojs/internal-helpers": ["@astrojs/internal-helpers@0.7.6", "", {}, "sha512-GOle7smBWKfMSP8osUIGOlB5kaHdQLV3foCsf+5Q9Wsuu+C6Fs3Ez/ttXmhjZ1HkSgsogcM1RXSjjOVieHq16Q=="], - "@babel/code-frame": ["@babel/code-frame@7.26.2", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.25.9", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" } }, "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ=="], + "@astrojs/language-server": ["@astrojs/language-server@2.16.8", "", { "dependencies": { "@astrojs/compiler": "^2.13.1", "@astrojs/yaml2ts": "^0.2.3", "@jridgewell/sourcemap-codec": "^1.5.5", "@volar/kit": "~2.4.28", "@volar/language-core": "~2.4.28", "@volar/language-server": "~2.4.28", "@volar/language-service": "~2.4.28", "muggle-string": "^0.4.1", "tinyglobby": "^0.2.16", "volar-service-css": "0.0.70", "volar-service-emmet": "0.0.70", "volar-service-html": "0.0.70", "volar-service-prettier": "0.0.70", "volar-service-typescript": "0.0.70", "volar-service-typescript-twoslash-queries": "0.0.70", "volar-service-yaml": "0.0.70", "vscode-html-languageservice": "^5.6.2", "vscode-uri": "^3.1.0" }, "peerDependencies": { "prettier": "^3.0.0", "prettier-plugin-astro": ">=0.11.0" }, "optionalPeers": ["prettier", "prettier-plugin-astro"], "bin": { "astro-ls": "bin/nodeServer.js" } }, "sha512-yg1pZF6hs9FaKr2fgXMOGbW7pDLgFexFjuhWilPAc8VybTU+WSnbfbhYaUL1exm6dAK4sM3aKXGcfVwss+HXbg=="], - "@babel/compat-data": ["@babel/compat-data@7.26.5", "", {}, "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg=="], + "@astrojs/markdown-remark": ["@astrojs/markdown-remark@6.3.11", "", { "dependencies": { "@astrojs/internal-helpers": "0.7.6", "@astrojs/prism": "3.3.0", "github-slugger": "^2.0.0", "hast-util-from-html": "^2.0.3", "hast-util-to-text": "^4.0.2", "import-meta-resolve": "^4.2.0", "js-yaml": "^4.1.1", "mdast-util-definitions": "^6.0.0", "rehype-raw": "^7.0.0", "rehype-stringify": "^10.0.1", "remark-gfm": "^4.0.1", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.2", "remark-smartypants": "^3.0.2", "shiki": "^3.21.0", "smol-toml": "^1.6.0", "unified": "^11.0.5", "unist-util-remove-position": "^5.0.0", "unist-util-visit": "^5.0.0", "unist-util-visit-parents": "^6.0.2", "vfile": "^6.0.3" } }, "sha512-hcaxX/5aC6lQgHeGh1i+aauvSwIT6cfyFjKWvExYSxUhZZBBdvCliOtu06gbQyhbe0pGJNoNmqNlQZ5zYUuIyQ=="], - "@babel/core": ["@babel/core@7.26.7", "", { "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.2", "@babel/generator": "^7.26.5", "@babel/helper-compilation-targets": "^7.26.5", "@babel/helper-module-transforms": "^7.26.0", "@babel/helpers": "^7.26.7", "@babel/parser": "^7.26.7", "@babel/template": "^7.25.9", "@babel/traverse": "^7.26.7", "@babel/types": "^7.26.7", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA=="], + "@astrojs/prism": ["@astrojs/prism@3.3.0", "", { "dependencies": { "prismjs": "^1.30.0" } }, "sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ=="], - "@babel/generator": ["@babel/generator@7.26.5", "", { "dependencies": { "@babel/parser": "^7.26.5", "@babel/types": "^7.26.5", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" } }, "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw=="], + "@astrojs/rss": ["@astrojs/rss@4.0.18", "", { "dependencies": { "fast-xml-parser": "^5.5.7", "piccolore": "^0.1.3", "zod": "^4.3.6" } }, "sha512-wc5DwKlbTEdgVAWnHy8krFTeQ42t1v/DJqeq5HtulYK3FYHE4krtRGjoyhS3eXXgfdV6Raoz2RU3wrMTFAitRg=="], - "@babel/helper-annotate-as-pure": ["@babel/helper-annotate-as-pure@7.25.9", "", { "dependencies": { "@babel/types": "^7.25.9" } }, "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g=="], + "@astrojs/sitemap": ["@astrojs/sitemap@3.7.2", "", { "dependencies": { "sitemap": "^9.0.0", "stream-replace-string": "^2.0.0", "zod": "^4.3.6" } }, "sha512-PqkzkcZTb5ICiyIR8VoKbIAP/laNRXi5tw616N1Ckk+40oNB8Can1AzVV56lrbC5GKSZFCyJYUVYqVivMisvpA=="], - "@babel/helper-compilation-targets": ["@babel/helper-compilation-targets@7.26.5", "", { "dependencies": { "@babel/compat-data": "^7.26.5", "@babel/helper-validator-option": "^7.25.9", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" } }, "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA=="], + "@astrojs/svelte": ["@astrojs/svelte@7.2.5", "", { "dependencies": { "@sveltejs/vite-plugin-svelte": "^5.1.1", "svelte2tsx": "^0.7.46", "vite": "^6.4.1" }, "peerDependencies": { "astro": "^5.0.0", "svelte": "^5.1.16", "typescript": "^5.3.3" } }, "sha512-Tl5aF/dYbzzd7sLpxMBX6pRz3yJ1B4pilt9G3GJbj0I0/doJHIEmerNQsnlxX0/InNKUhMXXN8wyyet9VhA+Zw=="], - "@babel/helper-create-class-features-plugin": ["@babel/helper-create-class-features-plugin@7.25.9", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", "@babel/helper-member-expression-to-functions": "^7.25.9", "@babel/helper-optimise-call-expression": "^7.25.9", "@babel/helper-replace-supers": "^7.25.9", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", "@babel/traverse": "^7.25.9", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ=="], + "@astrojs/telemetry": ["@astrojs/telemetry@3.3.0", "", { "dependencies": { "ci-info": "^4.2.0", "debug": "^4.4.0", "dlv": "^1.1.3", "dset": "^3.1.4", "is-docker": "^3.0.0", "is-wsl": "^3.1.0", "which-pm-runs": "^1.1.0" } }, "sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ=="], - "@babel/helper-member-expression-to-functions": ["@babel/helper-member-expression-to-functions@7.25.9", "", { "dependencies": { "@babel/traverse": "^7.25.9", "@babel/types": "^7.25.9" } }, "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ=="], + "@astrojs/yaml2ts": ["@astrojs/yaml2ts@0.2.3", "", { "dependencies": { "yaml": "^2.8.2" } }, "sha512-PJzRmgQzUxI2uwpdX2lXSHtP4G8ocp24/t+bZyf5Fy0SZLSF9f9KXZoMlFM/XCGue+B0nH/2IZ7FpBYQATBsCg=="], - "@babel/helper-module-imports": ["@babel/helper-module-imports@7.25.9", "", { "dependencies": { "@babel/traverse": "^7.25.9", "@babel/types": "^7.25.9" } }, "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw=="], + "@babel/helper-string-parser": ["@babel/helper-string-parser@7.27.1", "", {}, "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA=="], - "@babel/helper-module-transforms": ["@babel/helper-module-transforms@7.26.0", "", { "dependencies": { "@babel/helper-module-imports": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9", "@babel/traverse": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw=="], + "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.28.5", "", {}, "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q=="], - "@babel/helper-optimise-call-expression": ["@babel/helper-optimise-call-expression@7.25.9", "", { "dependencies": { "@babel/types": "^7.25.9" } }, "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ=="], + "@babel/parser": ["@babel/parser@7.29.3", "", { "dependencies": { "@babel/types": "^7.29.0" }, "bin": "./bin/babel-parser.js" }, "sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA=="], - "@babel/helper-plugin-utils": ["@babel/helper-plugin-utils@7.26.5", "", {}, "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg=="], + "@babel/types": ["@babel/types@7.29.0", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.28.5" } }, "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A=="], - "@babel/helper-replace-supers": ["@babel/helper-replace-supers@7.26.5", "", { "dependencies": { "@babel/helper-member-expression-to-functions": "^7.25.9", "@babel/helper-optimise-call-expression": "^7.25.9", "@babel/traverse": "^7.26.5" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg=="], + "@capsizecss/unpack": ["@capsizecss/unpack@4.0.0", "", { "dependencies": { "fontkitten": "^1.0.0" } }, "sha512-VERIM64vtTP1C4mxQ5thVT9fK0apjPFobqybMtA1UdUujWka24ERHbRHFGmpbbhp73MhV+KSsHQH9C6uOTdEQA=="], - "@babel/helper-skip-transparent-expression-wrappers": ["@babel/helper-skip-transparent-expression-wrappers@7.25.9", "", { "dependencies": { "@babel/traverse": "^7.25.9", "@babel/types": "^7.25.9" } }, "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA=="], + "@emmetio/abbreviation": ["@emmetio/abbreviation@2.3.3", "", { "dependencies": { "@emmetio/scanner": "^1.0.4" } }, "sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA=="], - "@babel/helper-string-parser": ["@babel/helper-string-parser@7.27.1", "", {}, "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA=="], + "@emmetio/css-abbreviation": ["@emmetio/css-abbreviation@2.1.8", "", { "dependencies": { "@emmetio/scanner": "^1.0.4" } }, "sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw=="], - "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.27.1", "", {}, "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow=="], + "@emmetio/css-parser": ["@emmetio/css-parser@0.4.1", "", { "dependencies": { "@emmetio/stream-reader": "^2.2.0", "@emmetio/stream-reader-utils": "^0.1.0" } }, "sha512-2bC6m0MV/voF4CTZiAbG5MWKbq5EBmDPKu9Sb7s7nVcEzNQlrZP6mFFFlIaISM8X6514H9shWMme1fCm8cWAfQ=="], - "@babel/helper-validator-option": ["@babel/helper-validator-option@7.25.9", "", {}, "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw=="], + "@emmetio/html-matcher": ["@emmetio/html-matcher@1.3.0", "", { "dependencies": { "@emmetio/scanner": "^1.0.0" } }, "sha512-NTbsvppE5eVyBMuyGfVu2CRrLvo7J4YHb6t9sBFLyY03WYhXET37qA4zOYUjBWFCRHO7pS1B9khERtY0f5JXPQ=="], - "@babel/helpers": ["@babel/helpers@7.26.7", "", { "dependencies": { "@babel/template": "^7.25.9", "@babel/types": "^7.26.7" } }, "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A=="], + "@emmetio/scanner": ["@emmetio/scanner@1.0.4", "", {}, "sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA=="], - "@babel/parser": ["@babel/parser@7.26.7", "", { "dependencies": { "@babel/types": "^7.26.7" }, "bin": { "parser": "bin/babel-parser.js" } }, "sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w=="], + "@emmetio/stream-reader": ["@emmetio/stream-reader@2.2.0", "", {}, "sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw=="], - "@babel/plugin-proposal-decorators": ["@babel/plugin-proposal-decorators@7.25.9", "", { "dependencies": { "@babel/helper-create-class-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9", "@babel/plugin-syntax-decorators": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g=="], + "@emmetio/stream-reader-utils": ["@emmetio/stream-reader-utils@0.1.0", "", {}, "sha512-ZsZ2I9Vzso3Ho/pjZFsmmZ++FWeEd/txqybHTm4OgaZzdS8V9V/YYWQwg5TC38Z7uLWUV1vavpLLbjJtKubR1A=="], - "@babel/plugin-syntax-decorators": ["@babel/plugin-syntax-decorators@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg=="], + "@emnapi/runtime": ["@emnapi/runtime@1.10.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA=="], - "@babel/plugin-syntax-import-attributes": ["@babel/plugin-syntax-import-attributes@7.26.0", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A=="], + "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.27.7", "", { "os": "aix", "cpu": "ppc64" }, "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg=="], - "@babel/plugin-syntax-import-meta": ["@babel/plugin-syntax-import-meta@7.10.4", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g=="], + "@esbuild/android-arm": ["@esbuild/android-arm@0.27.7", "", { "os": "android", "cpu": "arm" }, "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ=="], - "@babel/plugin-syntax-jsx": ["@babel/plugin-syntax-jsx@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA=="], + "@esbuild/android-arm64": ["@esbuild/android-arm64@0.27.7", "", { "os": "android", "cpu": "arm64" }, "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ=="], - "@babel/plugin-syntax-typescript": ["@babel/plugin-syntax-typescript@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ=="], + "@esbuild/android-x64": ["@esbuild/android-x64@0.27.7", "", { "os": "android", "cpu": "x64" }, "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg=="], - "@babel/plugin-transform-typescript": ["@babel/plugin-transform-typescript@7.26.7", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", "@babel/helper-create-class-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.26.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", "@babel/plugin-syntax-typescript": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-5cJurntg+AT+cgelGP9Bt788DKiAw9gIMSMU2NJrLAilnj0m8WZWUNZPSLOmadYsujHutpgElO+50foX+ib/Wg=="], + "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.27.7", "", { "os": "darwin", "cpu": "arm64" }, "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw=="], - "@babel/template": ["@babel/template@7.25.9", "", { "dependencies": { "@babel/code-frame": "^7.25.9", "@babel/parser": "^7.25.9", "@babel/types": "^7.25.9" } }, "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg=="], + "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.27.7", "", { "os": "darwin", "cpu": "x64" }, "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ=="], - "@babel/traverse": ["@babel/traverse@7.26.7", "", { "dependencies": { "@babel/code-frame": "^7.26.2", "@babel/generator": "^7.26.5", "@babel/parser": "^7.26.7", "@babel/template": "^7.25.9", "@babel/types": "^7.26.7", "debug": "^4.3.1", "globals": "^11.1.0" } }, "sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA=="], + "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.27.7", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w=="], - "@babel/types": ["@babel/types@7.27.1", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.27.1" } }, "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q=="], + "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.27.7", "", { "os": "freebsd", "cpu": "x64" }, "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ=="], - "@bufbuild/protobuf": ["@bufbuild/protobuf@2.2.3", "", {}, "sha512-tFQoXHJdkEOSwj5tRIZSPNUuXK3RaR7T1nUrPgbYX1pUbvqqaaZAsfo+NXBPsz5rZMSKVFrgK1WL8Q/MSLvprg=="], + "@esbuild/linux-arm": ["@esbuild/linux-arm@0.27.7", "", { "os": "linux", "cpu": "arm" }, "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA=="], - "@crowdin/crowdin-api-client": ["@crowdin/crowdin-api-client@1.44.0", "", { "dependencies": { "axios": "^1" } }, "sha512-mDfow8999uC0jxoQ57yJACx6gYZohvrgbXN3/vW2E/sdrrnvYNOaYGG1o/QdNy9qq3PyKBMhc3SED7tRejigZw=="], + "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.27.7", "", { "os": "linux", "cpu": "arm64" }, "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A=="], - "@csstools/color-helpers": ["@csstools/color-helpers@5.0.1", "", {}, "sha512-MKtmkA0BX87PKaO1NFRTFH+UnkgnmySQOvNxJubsadusqPEC2aJ9MOQiMceZJJ6oitUl/i0L6u0M1IrmAOmgBA=="], + "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.27.7", "", { "os": "linux", "cpu": "ia32" }, "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg=="], - "@csstools/css-calc": ["@csstools/css-calc@2.1.1", "", { "peerDependencies": { "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3" } }, "sha512-rL7kaUnTkL9K+Cvo2pnCieqNpTKgQzy5f+N+5Iuko9HAoasP+xgprVh7KN/MaJVvVL1l0EzQq2MoqBHKSrDrag=="], + "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.27.7", "", { "os": "linux", "cpu": "none" }, "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q=="], - "@csstools/css-color-parser": ["@csstools/css-color-parser@3.0.7", "", { "dependencies": { "@csstools/color-helpers": "^5.0.1", "@csstools/css-calc": "^2.1.1" }, "peerDependencies": { "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3" } }, "sha512-nkMp2mTICw32uE5NN+EsJ4f5N+IGFeCFu4bGpiKgb2Pq/7J/MpyLBeQ5ry4KKtRFZaYs6sTmcMYrSRIyj5DFKA=="], + "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.27.7", "", { "os": "linux", "cpu": "none" }, "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw=="], - "@csstools/css-parser-algorithms": ["@csstools/css-parser-algorithms@3.0.4", "", { "peerDependencies": { "@csstools/css-tokenizer": "^3.0.3" } }, "sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A=="], + "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.27.7", "", { "os": "linux", "cpu": "ppc64" }, "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ=="], - "@csstools/css-tokenizer": ["@csstools/css-tokenizer@3.0.3", "", {}, "sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw=="], + "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.27.7", "", { "os": "linux", "cpu": "none" }, "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ=="], - "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.4", "", { "os": "aix", "cpu": "ppc64" }, "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q=="], + "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.27.7", "", { "os": "linux", "cpu": "s390x" }, "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw=="], - "@esbuild/android-arm": ["@esbuild/android-arm@0.25.4", "", { "os": "android", "cpu": "arm" }, "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ=="], + "@esbuild/linux-x64": ["@esbuild/linux-x64@0.27.7", "", { "os": "linux", "cpu": "x64" }, "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA=="], - "@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.4", "", { "os": "android", "cpu": "arm64" }, "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A=="], + "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.27.7", "", { "os": "none", "cpu": "arm64" }, "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w=="], - "@esbuild/android-x64": ["@esbuild/android-x64@0.25.4", "", { "os": "android", "cpu": "x64" }, "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ=="], + "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.27.7", "", { "os": "none", "cpu": "x64" }, "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw=="], - "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g=="], + "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.27.7", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A=="], - "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A=="], + "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.27.7", "", { "os": "openbsd", "cpu": "x64" }, "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg=="], - "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.4", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ=="], + "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.27.7", "", { "os": "none", "cpu": "arm64" }, "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw=="], - "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.4", "", { "os": "freebsd", "cpu": "x64" }, "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ=="], + "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.27.7", "", { "os": "sunos", "cpu": "x64" }, "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA=="], - "@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.4", "", { "os": "linux", "cpu": "arm" }, "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ=="], + "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.27.7", "", { "os": "win32", "cpu": "arm64" }, "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA=="], - "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ=="], + "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.27.7", "", { "os": "win32", "cpu": "ia32" }, "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw=="], - "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.4", "", { "os": "linux", "cpu": "ia32" }, "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ=="], + "@esbuild/win32-x64": ["@esbuild/win32-x64@0.27.7", "", { "os": "win32", "cpu": "x64" }, "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg=="], - "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.4", "", { "os": "linux", "cpu": "none" }, "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA=="], + "@fontsource/asap": ["@fontsource/asap@5.2.9", "", {}, "sha512-Fu10GZhJNWeTwHqnSyRH3/J1I0Nw26wX/OQrNehSy7sy5cQhvf0rslWBoEXlHoYXXWtWs3o0UO4d7rJN8rQfzg=="], - "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.4", "", { "os": "linux", "cpu": "none" }, "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg=="], + "@fontsource/ibm-plex-sans-arabic": ["@fontsource/ibm-plex-sans-arabic@5.2.9", "", {}, "sha512-mAs+anYcmatmhTuYApDy/CEEu5iYcfalXp2DB1gBN/6o2ex24lcBs635bwtgV5BNbByCYslIGsQvD4X6s7eVgw=="], - "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.4", "", { "os": "linux", "cpu": "ppc64" }, "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag=="], + "@fontsource/jetbrains-mono": ["@fontsource/jetbrains-mono@5.2.8", "", {}, "sha512-6w8/SG4kqvIMu7xd7wt6x3idn1Qux3p9N62s6G3rfldOUYHpWcc2FKrqf+Vo44jRvqWj2oAtTHrZXEP23oSKwQ=="], - "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.4", "", { "os": "linux", "cpu": "none" }, "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA=="], + "@formatjs/ecma402-abstract": ["@formatjs/ecma402-abstract@2.3.6", "", { "dependencies": { "@formatjs/fast-memoize": "2.2.7", "@formatjs/intl-localematcher": "0.6.2", "decimal.js": "^10.4.3", "tslib": "^2.8.0" } }, "sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw=="], - "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g=="], + "@formatjs/fast-memoize": ["@formatjs/fast-memoize@2.2.7", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ=="], - "@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.4", "", { "os": "linux", "cpu": "x64" }, "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA=="], + "@formatjs/icu-messageformat-parser": ["@formatjs/icu-messageformat-parser@2.11.4", "", { "dependencies": { "@formatjs/ecma402-abstract": "2.3.6", "@formatjs/icu-skeleton-parser": "1.8.16", "tslib": "^2.8.0" } }, "sha512-7kR78cRrPNB4fjGFZg3Rmj5aah8rQj9KPzuLsmcSn4ipLXQvC04keycTI1F7kJYDwIXtT2+7IDEto842CfZBtw=="], - "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.4", "", { "os": "none", "cpu": "arm64" }, "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ=="], + "@formatjs/icu-skeleton-parser": ["@formatjs/icu-skeleton-parser@1.8.16", "", { "dependencies": { "@formatjs/ecma402-abstract": "2.3.6", "tslib": "^2.8.0" } }, "sha512-H13E9Xl+PxBd8D5/6TVUluSpxGNvFSlN/b3coUp0e0JpuWXXnQDiavIpY3NnvSp4xhEMoXyyBvVfdFX8jglOHQ=="], - "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.4", "", { "os": "none", "cpu": "x64" }, "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw=="], + "@formatjs/intl-localematcher": ["@formatjs/intl-localematcher@0.6.2", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA=="], - "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.4", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A=="], + "@img/colour": ["@img/colour@1.1.0", "", {}, "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ=="], - "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.4", "", { "os": "openbsd", "cpu": "x64" }, "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw=="], + "@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.2.4" }, "os": "darwin", "cpu": "arm64" }, "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w=="], - "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.4", "", { "os": "sunos", "cpu": "x64" }, "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q=="], + "@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.2.4" }, "os": "darwin", "cpu": "x64" }, "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw=="], - "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ=="], + "@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.2.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g=="], - "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.4", "", { "os": "win32", "cpu": "ia32" }, "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg=="], + "@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.2.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg=="], - "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.4", "", { "os": "win32", "cpu": "x64" }, "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ=="], + "@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.2.4", "", { "os": "linux", "cpu": "arm" }, "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A=="], - "@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.7.0", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw=="], + "@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw=="], - "@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.1", "", {}, "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ=="], + "@img/sharp-libvips-linux-ppc64": ["@img/sharp-libvips-linux-ppc64@1.2.4", "", { "os": "linux", "cpu": "ppc64" }, "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA=="], - "@eslint/config-array": ["@eslint/config-array@0.20.0", "", { "dependencies": { "@eslint/object-schema": "^2.1.6", "debug": "^4.3.1", "minimatch": "^3.1.2" } }, "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ=="], + "@img/sharp-libvips-linux-riscv64": ["@img/sharp-libvips-linux-riscv64@1.2.4", "", { "os": "linux", "cpu": "none" }, "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA=="], - "@eslint/config-helpers": ["@eslint/config-helpers@0.2.2", "", {}, "sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg=="], + "@img/sharp-libvips-linux-s390x": ["@img/sharp-libvips-linux-s390x@1.2.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ=="], - "@eslint/core": ["@eslint/core@0.14.0", "", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg=="], + "@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw=="], - "@eslint/eslintrc": ["@eslint/eslintrc@3.3.1", "", { "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" } }, "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ=="], + "@img/sharp-libvips-linuxmusl-arm64": ["@img/sharp-libvips-linuxmusl-arm64@1.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw=="], - "@eslint/js": ["@eslint/js@9.27.0", "", {}, "sha512-G5JD9Tu5HJEu4z2Uo4aHY2sLV64B7CDMXxFzqzjl3NKd6RVzSXNoE80jk7Y0lJkTTkjiIhBAqmlYwjuBY3tvpA=="], + "@img/sharp-libvips-linuxmusl-x64": ["@img/sharp-libvips-linuxmusl-x64@1.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg=="], - "@eslint/object-schema": ["@eslint/object-schema@2.1.6", "", {}, "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA=="], + "@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.2.4" }, "os": "linux", "cpu": "arm" }, "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw=="], - "@eslint/plugin-kit": ["@eslint/plugin-kit@0.3.1", "", { "dependencies": { "@eslint/core": "^0.14.0", "levn": "^0.4.1" } }, "sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w=="], + "@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.2.4" }, "os": "linux", "cpu": "arm64" }, "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg=="], - "@humanfs/core": ["@humanfs/core@0.19.1", "", {}, "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA=="], + "@img/sharp-linux-ppc64": ["@img/sharp-linux-ppc64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-ppc64": "1.2.4" }, "os": "linux", "cpu": "ppc64" }, "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA=="], - "@humanfs/node": ["@humanfs/node@0.16.6", "", { "dependencies": { "@humanfs/core": "^0.19.1", "@humanwhocodes/retry": "^0.3.0" } }, "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw=="], + "@img/sharp-linux-riscv64": ["@img/sharp-linux-riscv64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-riscv64": "1.2.4" }, "os": "linux", "cpu": "none" }, "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw=="], - "@humanwhocodes/module-importer": ["@humanwhocodes/module-importer@1.0.1", "", {}, "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="], + "@img/sharp-linux-s390x": ["@img/sharp-linux-s390x@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-s390x": "1.2.4" }, "os": "linux", "cpu": "s390x" }, "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg=="], - "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.3", "", {}, "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ=="], + "@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.2.4" }, "os": "linux", "cpu": "x64" }, "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ=="], - "@intlify/core-base": ["@intlify/core-base@11.1.5", "", { "dependencies": { "@intlify/message-compiler": "11.1.5", "@intlify/shared": "11.1.5" } }, "sha512-xGRkISwV/2Trqb8yVQevlHm5roaQqy+75qwUzEQrviaQF0o4c5VDhjBW7WEGEoKFx09HSgq7NkvK/DAyuerTDg=="], + "@img/sharp-linuxmusl-arm64": ["@img/sharp-linuxmusl-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" }, "os": "linux", "cpu": "arm64" }, "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg=="], - "@intlify/message-compiler": ["@intlify/message-compiler@11.1.5", "", { "dependencies": { "@intlify/shared": "11.1.5", "source-map-js": "^1.0.2" } }, "sha512-YLSBbjD7qUdShe3ZAat9Hnf9E8FRpN6qmNFD/x5Xg5JVXjsks0kJ90Zj6aAuyoppJQA/YJdWZ8/bB7k3dg2TjQ=="], + "@img/sharp-linuxmusl-x64": ["@img/sharp-linuxmusl-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-x64": "1.2.4" }, "os": "linux", "cpu": "x64" }, "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q=="], - "@intlify/shared": ["@intlify/shared@11.1.5", "", {}, "sha512-+I4vRzHm38VjLr/CAciEPJhGYFzWWW4HMTm+6H3WqknXLh0ozNX9oC8ogMUwTSXYR/wGUb1/lTpNziiCH5MybQ=="], + "@img/sharp-wasm32": ["@img/sharp-wasm32@0.34.5", "", { "dependencies": { "@emnapi/runtime": "^1.7.0" }, "cpu": "none" }, "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw=="], - "@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "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" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="], + "@img/sharp-win32-arm64": ["@img/sharp-win32-arm64@0.34.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g=="], - "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.8", "", { "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA=="], + "@img/sharp-win32-ia32": ["@img/sharp-win32-ia32@0.34.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg=="], - "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], + "@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.34.5", "", { "os": "win32", "cpu": "x64" }, "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw=="], - "@jridgewell/set-array": ["@jridgewell/set-array@1.2.1", "", {}, "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A=="], + "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="], - "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="], + "@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="], - "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.25", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ=="], + "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], - "@mdi/font": ["@mdi/font@7.4.47", "", {}, "sha512-43MtGpd585SNzHZPcYowu/84Vz2a2g31TvPMTm9uTiCSWzaheQySUcSyUH/46fPnuPQWof2yd0pGBtzee/IQWw=="], + "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="], - "@mdi/js": ["@mdi/js@7.4.47", "", {}, "sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ=="], + "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="], - "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="], + "@lhci/cli": ["@lhci/cli@0.15.1", "", { "dependencies": { "@lhci/utils": "0.15.1", "chrome-launcher": "^0.13.4", "compression": "^1.7.4", "debug": "^4.3.1", "express": "^4.17.1", "inquirer": "^6.3.1", "isomorphic-fetch": "^3.0.0", "lighthouse": "12.6.1", "lighthouse-logger": "1.2.0", "open": "^7.1.0", "proxy-agent": "^6.4.0", "tmp": "^0.1.0", "uuid": "^8.3.1", "yargs": "^15.4.1", "yargs-parser": "^13.1.2" }, "bin": { "lhci": "./src/cli.js" } }, "sha512-yhC0oXnXqGHYy1xl4D8YqaydMZ/khFAnXGY/o2m/J3PqPa/D0nj3V6TLoH02oVMFeEF2AQim7UbmdXMiXx2tOw=="], - "@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="], + "@lhci/utils": ["@lhci/utils@0.15.1", "", { "dependencies": { "debug": "^4.3.1", "isomorphic-fetch": "^3.0.0", "js-yaml": "^3.13.1", "lighthouse": "12.6.1", "tree-kill": "^1.2.1" } }, "sha512-WclJnUQJeOMY271JSuaOjCv/aA0pgvuHZS29NFNdIeI14id8eiFsjith85EGKYhljgoQhJ2SiW4PsVfFiakNNw=="], - "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="], + "@nodable/entities": ["@nodable/entities@2.1.0", "", {}, "sha512-nyT7T3nbMyBI/lvr6L5TyWbFJAI9FTgVRakNoBqCD+PmID8DzFrrNdLLtHMwMszOtqZa8PAOV24ZqDnQrhQINA=="], - "@nuxt/kit": ["@nuxt/kit@3.17.3", "", { "dependencies": { "c12": "^3.0.3", "consola": "^3.4.2", "defu": "^6.1.4", "destr": "^2.0.5", "errx": "^0.1.0", "exsolve": "^1.0.5", "ignore": "^7.0.4", "jiti": "^2.4.2", "klona": "^2.0.6", "knitwork": "^1.2.0", "mlly": "^1.7.4", "ohash": "^2.0.11", "pathe": "^2.0.3", "pkg-types": "^2.1.0", "scule": "^1.3.0", "semver": "^7.7.1", "std-env": "^3.9.0", "tinyglobby": "^0.2.13", "ufo": "^1.6.1", "unctx": "^2.4.1", "unimport": "^5.0.1", "untyped": "^2.0.0" } }, "sha512-aw6u6mT3TnM/MmcCRDMv3i9Sbm5/ZMSJgDl+N+WsrWNDIQ2sWmsqdDkjb/HyXF20SNwc2891hRBkaQr3hG2mhA=="], + "@oslojs/encoding": ["@oslojs/encoding@1.1.0", "", {}, "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ=="], - "@one-ini/wasm": ["@one-ini/wasm@0.1.1", "", {}, "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw=="], + "@paulirish/trace_engine": ["@paulirish/trace_engine@0.0.53", "", { "dependencies": { "legacy-javascript": "latest", "third-party-web": "latest" } }, "sha512-PUl/vlfo08Oj804VI5nDPeSk9vyslnBlVzDDwFt8SUVxY8+KdGMkra/vrXjEEHe8gb7+RqVTfOIlGw0nyrEelA=="], - "@oxlint/darwin-arm64": ["@oxlint/darwin-arm64@0.15.15", "", { "os": "darwin", "cpu": "arm64" }, "sha512-7GOyGM6D36lUhsOvavAVpF72SycPVG0Enunx0bzv8g0+9TklzOSFN3FJlZjLst14VPdZWujZMLgkQC7tOp+Rwg=="], + "@puppeteer/browsers": ["@puppeteer/browsers@2.13.1", "", { "dependencies": { "debug": "^4.4.3", "extract-zip": "^2.0.1", "progress": "^2.0.3", "proxy-agent": "^6.5.0", "semver": "^7.7.4", "tar-fs": "^3.1.1", "yargs": "^17.7.2" }, "bin": { "browsers": "lib/cjs/main-cli.js" } }, "sha512-zmS4RTK9fbrc++WlAJhxYbfz3IjDeOmkK/CwwbLmk7ydfS9e2CiEeRJHEPvjDVElO/bwXbidwGA37Bsm6LzCnQ=="], - "@oxlint/darwin-x64": ["@oxlint/darwin-x64@0.15.15", "", { "os": "darwin", "cpu": "x64" }, "sha512-pbrnYFwMn/fuX0z3IeQ05Nvo/b1zGxjmmWgkrQSDwYHxBxP6NT41hk1pmqkcA+v53xk9wvOa/6vBBI/U30F8Ow=="], + "@rollup/pluginutils": ["@rollup/pluginutils@5.3.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", "picomatch": "^4.0.2" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q=="], - "@oxlint/linux-arm64-gnu": ["@oxlint/linux-arm64-gnu@0.15.15", "", { "os": "linux", "cpu": "arm64" }, "sha512-QWjG3YVsDlIvDTBUPmtPiyqP34ZQpFJqQh2JO94pBih11lFxQ0IGVMEXDhmW3WdiSFPZSJsZGzWynalM9eg+RA=="], + "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.60.3", "", { "os": "android", "cpu": "arm" }, "sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw=="], - "@oxlint/linux-arm64-musl": ["@oxlint/linux-arm64-musl@0.15.15", "", { "os": "linux", "cpu": "arm64" }, "sha512-4W0YsmMSbNzzExOWhk+6zNfmJEmKFqSjFIn8CKLtYFvH8kF6KjoW4/0HNsDNYW5Fz+KOut/2JgkvxAiKH+r0zA=="], + "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.60.3", "", { "os": "android", "cpu": "arm64" }, "sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw=="], - "@oxlint/linux-x64-gnu": ["@oxlint/linux-x64-gnu@0.15.15", "", { "os": "linux", "cpu": "x64" }, "sha512-agP3e+eQ6tE5tqN6VI4Uukx2yvjwYFjtrDMcB19J7PmGOaFRwuMuT0sNWK/9guvhuS9aCINNZTi3kEhMy9Qgng=="], + "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.60.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g=="], - "@oxlint/linux-x64-musl": ["@oxlint/linux-x64-musl@0.15.15", "", { "os": "linux", "cpu": "x64" }, "sha512-L2qE9NhhUafsJOO4pofLx/0hW5IB0sfJa6bS85q0j+ySaI0f3CxMaAadrZLFSuqHWB3oF18B5yvzaPWsc2ohbQ=="], + "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.60.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw=="], - "@oxlint/win32-arm64": ["@oxlint/win32-arm64@0.15.15", "", { "os": "win32", "cpu": "arm64" }, "sha512-B7f4VAS/E78n8zy6XZlNeyYOtWTel4BJn/22Ap2yEAlNzO34ot8dGfpLk6MqTUWJrRnARwVBVmc3wRVrsOT5yg=="], + "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.60.3", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ=="], - "@oxlint/win32-x64": ["@oxlint/win32-x64@0.15.15", "", { "os": "win32", "cpu": "x64" }, "sha512-ZM9T3/OpaQ3qvrk/VuHO2EQmhNH4cOZdr/b/Ju9VKwBr+ahhqMn3W5srrplWQWxfsb0yd1yBj7iD0jdAps2iLg=="], + "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.60.3", "", { "os": "freebsd", "cpu": "x64" }, "sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA=="], - "@pkgjs/parseargs": ["@pkgjs/parseargs@0.11.0", "", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="], + "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.60.3", "", { "os": "linux", "cpu": "arm" }, "sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g=="], - "@pkgr/core": ["@pkgr/core@0.1.1", "", {}, "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA=="], + "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.60.3", "", { "os": "linux", "cpu": "arm" }, "sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w=="], - "@polka/url": ["@polka/url@1.0.0-next.28", "", {}, "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw=="], + "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.60.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA=="], - "@rollup/pluginutils": ["@rollup/pluginutils@5.1.4", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", "picomatch": "^4.0.2" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" } }, "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ=="], + "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.60.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg=="], - "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.40.2", "", { "os": "android", "cpu": "arm" }, "sha512-JkdNEq+DFxZfUwxvB58tHMHBHVgX23ew41g1OQinthJ+ryhdRk67O31S7sYw8u2lTjHUPFxwar07BBt1KHp/hg=="], + "@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.60.3", "", { "os": "linux", "cpu": "none" }, "sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA=="], - "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.40.2", "", { "os": "android", "cpu": "arm64" }, "sha512-13unNoZ8NzUmnndhPTkWPWbX3vtHodYmy+I9kuLxN+F+l+x3LdVF7UCu8TWVMt1POHLh6oDHhnOA04n8oJZhBw=="], + "@rollup/rollup-linux-loong64-musl": ["@rollup/rollup-linux-loong64-musl@4.60.3", "", { "os": "linux", "cpu": "none" }, "sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg=="], - "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.40.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Gzf1Hn2Aoe8VZzevHostPX23U7N5+4D36WJNHK88NZHCJr7aVMG4fadqkIf72eqVPGjGc0HJHNuUaUcxiR+N/w=="], + "@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.60.3", "", { "os": "linux", "cpu": "ppc64" }, "sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ=="], - "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.40.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-47N4hxa01a4x6XnJoskMKTS8XZ0CZMd8YTbINbi+w03A2w4j1RTlnGHOz/P0+Bg1LaVL6ufZyNprSg+fW5nYQQ=="], + "@rollup/rollup-linux-ppc64-musl": ["@rollup/rollup-linux-ppc64-musl@4.60.3", "", { "os": "linux", "cpu": "ppc64" }, "sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA=="], - "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.40.2", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-8t6aL4MD+rXSHHZUR1z19+9OFJ2rl1wGKvckN47XFRVO+QL/dUSpKA2SLRo4vMg7ELA8pzGpC+W9OEd1Z/ZqoQ=="], + "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.60.3", "", { "os": "linux", "cpu": "none" }, "sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw=="], - "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.40.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-C+AyHBzfpsOEYRFjztcYUFsH4S7UsE9cDtHCtma5BK8+ydOZYgMmWg1d/4KBytQspJCld8ZIujFMAdKG1xyr4Q=="], + "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.60.3", "", { "os": "linux", "cpu": "none" }, "sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ=="], - "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.40.2", "", { "os": "linux", "cpu": "arm" }, "sha512-de6TFZYIvJwRNjmW3+gaXiZ2DaWL5D5yGmSYzkdzjBDS3W+B9JQ48oZEsmMvemqjtAFzE16DIBLqd6IQQRuG9Q=="], + "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.60.3", "", { "os": "linux", "cpu": "s390x" }, "sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig=="], - "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.40.2", "", { "os": "linux", "cpu": "arm" }, "sha512-urjaEZubdIkacKc930hUDOfQPysezKla/O9qV+O89enqsqUmQm8Xj8O/vh0gHg4LYfv7Y7UsE3QjzLQzDYN1qg=="], + "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.60.3", "", { "os": "linux", "cpu": "x64" }, "sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA=="], - "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.40.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-KlE8IC0HFOC33taNt1zR8qNlBYHj31qGT1UqWqtvR/+NuCVhfufAq9fxO8BMFC22Wu0rxOwGVWxtCMvZVLmhQg=="], + "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.60.3", "", { "os": "linux", "cpu": "x64" }, "sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA=="], - "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.40.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-j8CgxvfM0kbnhu4XgjnCWJQyyBOeBI1Zq91Z850aUddUmPeQvuAy6OiMdPS46gNFgy8gN1xkYyLgwLYZG3rBOg=="], + "@rollup/rollup-openbsd-x64": ["@rollup/rollup-openbsd-x64@4.60.3", "", { "os": "openbsd", "cpu": "x64" }, "sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q=="], - "@rollup/rollup-linux-loongarch64-gnu": ["@rollup/rollup-linux-loongarch64-gnu@4.40.2", "", { "os": "linux", "cpu": "none" }, "sha512-Ybc/1qUampKuRF4tQXc7G7QY9YRyeVSykfK36Y5Qc5dmrIxwFhrOzqaVTNoZygqZ1ZieSWTibfFhQ5qK8jpWxw=="], + "@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.60.3", "", { "os": "none", "cpu": "arm64" }, "sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg=="], - "@rollup/rollup-linux-powerpc64le-gnu": ["@rollup/rollup-linux-powerpc64le-gnu@4.40.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-3FCIrnrt03CCsZqSYAOW/k9n625pjpuMzVfeI+ZBUSDT3MVIFDSPfSUgIl9FqUftxcUXInvFah79hE1c9abD+Q=="], + "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.60.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg=="], - "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.40.2", "", { "os": "linux", "cpu": "none" }, "sha512-QNU7BFHEvHMp2ESSY3SozIkBPaPBDTsfVNGx3Xhv+TdvWXFGOSH2NJvhD1zKAT6AyuuErJgbdvaJhYVhVqrWTg=="], + "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.60.3", "", { "os": "win32", "cpu": "ia32" }, "sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA=="], - "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.40.2", "", { "os": "linux", "cpu": "none" }, "sha512-5W6vNYkhgfh7URiXTO1E9a0cy4fSgfE4+Hl5agb/U1sa0kjOLMLC1wObxwKxecE17j0URxuTrYZZME4/VH57Hg=="], + "@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.60.3", "", { "os": "win32", "cpu": "x64" }, "sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A=="], - "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.40.2", "", { "os": "linux", "cpu": "s390x" }, "sha512-B7LKIz+0+p348JoAL4X/YxGx9zOx3sR+o6Hj15Y3aaApNfAshK8+mWZEf759DXfRLeL2vg5LYJBB7DdcleYCoQ=="], + "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.60.3", "", { "os": "win32", "cpu": "x64" }, "sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA=="], - "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.40.2", "", { "os": "linux", "cpu": "x64" }, "sha512-lG7Xa+BmBNwpjmVUbmyKxdQJ3Q6whHjMjzQplOs5Z+Gj7mxPtWakGHqzMqNER68G67kmCX9qX57aRsW5V0VOng=="], + "@sentry-internal/tracing": ["@sentry-internal/tracing@7.120.4", "", { "dependencies": { "@sentry/core": "7.120.4", "@sentry/types": "7.120.4", "@sentry/utils": "7.120.4" } }, "sha512-Fz5+4XCg3akeoFK+K7g+d7HqGMjmnLoY2eJlpONJmaeT9pXY7yfUyXKZMmMajdE2LxxKJgQ2YKvSCaGVamTjHw=="], - "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.40.2", "", { "os": "linux", "cpu": "x64" }, "sha512-tD46wKHd+KJvsmije4bUskNuvWKFcTOIM9tZ/RrmIvcXnbi0YK/cKS9FzFtAm7Oxi2EhV5N2OpfFB348vSQRXA=="], + "@sentry/core": ["@sentry/core@7.120.4", "", { "dependencies": { "@sentry/types": "7.120.4", "@sentry/utils": "7.120.4" } }, "sha512-TXu3Q5kKiq8db9OXGkWyXUbIxMMuttB5vJ031yolOl5T/B69JRyAoKuojLBjRv1XX583gS1rSSoX8YXX7ATFGA=="], - "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.40.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-Bjv/HG8RRWLNkXwQQemdsWw4Mg+IJ29LK+bJPW2SCzPKOUaMmPEppQlu/Fqk1d7+DX3V7JbFdbkh/NMmurT6Pg=="], + "@sentry/integrations": ["@sentry/integrations@7.120.4", "", { "dependencies": { "@sentry/core": "7.120.4", "@sentry/types": "7.120.4", "@sentry/utils": "7.120.4", "localforage": "^1.8.1" } }, "sha512-kkBTLk053XlhDCg7OkBQTIMF4puqFibeRO3E3YiVc4PGLnocXMaVpOSCkMqAc1k1kZ09UgGi8DxfQhnFEjUkpA=="], - "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.40.2", "", { "os": "win32", "cpu": "ia32" }, "sha512-dt1llVSGEsGKvzeIO76HToiYPNPYPkmjhMHhP00T9S4rDern8P2ZWvWAQUEJ+R1UdMWJ/42i/QqJ2WV765GZcA=="], + "@sentry/node": ["@sentry/node@7.120.4", "", { "dependencies": { "@sentry-internal/tracing": "7.120.4", "@sentry/core": "7.120.4", "@sentry/integrations": "7.120.4", "@sentry/types": "7.120.4", "@sentry/utils": "7.120.4" } }, "sha512-qq3wZAXXj2SRWhqErnGCSJKUhPSlZ+RGnCZjhfjHpP49KNpcd9YdPTIUsFMgeyjdh6Ew6aVCv23g1hTP0CHpYw=="], - "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.40.2", "", { "os": "win32", "cpu": "x64" }, "sha512-bwspbWB04XJpeElvsp+DCylKfF4trJDa2Y9Go8O6A7YLX2LIKGcNK/CYImJN6ZP4DcuOHB4Utl3iCbnR62DudA=="], + "@sentry/types": ["@sentry/types@7.120.4", "", {}, "sha512-cUq2hSSe6/qrU6oZsEP4InMI5VVdD86aypE+ENrQ6eZEVLTCYm1w6XhW1NvIu3UuWh7gZec4a9J7AFpYxki88Q=="], - "@sec-ant/readable-stream": ["@sec-ant/readable-stream@0.4.1", "", {}, "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg=="], + "@sentry/utils": ["@sentry/utils@7.120.4", "", { "dependencies": { "@sentry/types": "7.120.4" } }, "sha512-zCKpyDIWKHwtervNK2ZlaK8mMV7gVUijAgFeJStH+CU/imcdquizV3pFLlSQYRswG+Lbyd6CT/LGRh3IbtkCFw=="], - "@sindresorhus/merge-streams": ["@sindresorhus/merge-streams@4.0.0", "", {}, "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ=="], + "@shikijs/core": ["@shikijs/core@3.23.0", "", { "dependencies": { "@shikijs/types": "3.23.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.5" } }, "sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA=="], - "@tsconfig/node22": ["@tsconfig/node22@22.0.2", "", {}, "sha512-Kmwj4u8sDRDrMYRoN9FDEcXD8UpBSaPQQ24Gz+Gamqfm7xxn+GBR7ge/Z7pK8OXNGyUzbSwJj+TH6B+DS/epyA=="], + "@shikijs/engine-javascript": ["@shikijs/engine-javascript@3.23.0", "", { "dependencies": { "@shikijs/types": "3.23.0", "@shikijs/vscode-textmate": "^10.0.2", "oniguruma-to-es": "^4.3.4" } }, "sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA=="], - "@types/estree": ["@types/estree@1.0.7", "", {}, "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ=="], + "@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@3.23.0", "", { "dependencies": { "@shikijs/types": "3.23.0", "@shikijs/vscode-textmate": "^10.0.2" } }, "sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g=="], - "@types/jsdom": ["@types/jsdom@21.1.7", "", { "dependencies": { "@types/node": "*", "@types/tough-cookie": "*", "parse5": "^7.0.0" } }, "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA=="], + "@shikijs/langs": ["@shikijs/langs@3.23.0", "", { "dependencies": { "@shikijs/types": "3.23.0" } }, "sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg=="], - "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], + "@shikijs/themes": ["@shikijs/themes@3.23.0", "", { "dependencies": { "@shikijs/types": "3.23.0" } }, "sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA=="], - "@types/node": ["@types/node@22.15.27", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-5fF+eu5mwihV2BeVtX5vijhdaZOfkQTATrePEaXTcKqI16LhJ7gi2/Vhd9OZM0UojcdmiOCVg5rrax+i1MdoQQ=="], + "@shikijs/types": ["@shikijs/types@3.23.0", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ=="], - "@types/tough-cookie": ["@types/tough-cookie@4.0.5", "", {}, "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA=="], + "@shikijs/vscode-textmate": ["@shikijs/vscode-textmate@10.0.2", "", {}, "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg=="], - "@types/web-bluetooth": ["@types/web-bluetooth@0.0.21", "", {}, "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA=="], + "@sveltejs/acorn-typescript": ["@sveltejs/acorn-typescript@1.0.9", "", { "peerDependencies": { "acorn": "^8.9.0" } }, "sha512-lVJX6qEgs/4DOcRTpo56tmKzVPtoWAaVbL4hfO7t7NVwl9AAXzQR6cihesW1BmNMPl+bK6dreu2sOKBP2Q9CIA=="], - "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.32.1", "", { "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "8.32.1", "@typescript-eslint/type-utils": "8.32.1", "@typescript-eslint/utils": "8.32.1", "@typescript-eslint/visitor-keys": "8.32.1", "graphemer": "^1.4.0", "ignore": "^7.0.0", "natural-compare": "^1.4.0", "ts-api-utils": "^2.1.0" }, "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" } }, "sha512-6u6Plg9nP/J1GRpe/vcjjabo6Uc5YQPAMxsgQyGC/I0RuukiG1wIe3+Vtg3IrSCVJDmqK3j8adrtzXSENRtFgg=="], + "@sveltejs/vite-plugin-svelte": ["@sveltejs/vite-plugin-svelte@5.1.1", "", { "dependencies": { "@sveltejs/vite-plugin-svelte-inspector": "^4.0.1", "debug": "^4.4.1", "deepmerge": "^4.3.1", "kleur": "^4.1.5", "magic-string": "^0.30.17", "vitefu": "^1.0.6" }, "peerDependencies": { "svelte": "^5.0.0", "vite": "^6.0.0" } }, "sha512-Y1Cs7hhTc+a5E9Va/xwKlAJoariQyHY+5zBgCZg4PFWNYQ1nMN9sjK1zhw1gK69DuqVP++sht/1GZg1aRwmAXQ=="], - "@typescript-eslint/parser": ["@typescript-eslint/parser@8.32.1", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.32.1", "@typescript-eslint/types": "8.32.1", "@typescript-eslint/typescript-estree": "8.32.1", "@typescript-eslint/visitor-keys": "8.32.1", "debug": "^4.3.4" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-LKMrmwCPoLhM45Z00O1ulb6jwyVr2kr3XJp+G+tSEZcbauNnScewcQwtJqXDhXeYPDEjZ8C1SjXm015CirEmGg=="], + "@sveltejs/vite-plugin-svelte-inspector": ["@sveltejs/vite-plugin-svelte-inspector@4.0.1", "", { "dependencies": { "debug": "^4.3.7" }, "peerDependencies": { "@sveltejs/vite-plugin-svelte": "^5.0.0", "svelte": "^5.0.0", "vite": "^6.0.0" } }, "sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw=="], - "@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.22.0", "", { "dependencies": { "@typescript-eslint/types": "8.22.0", "@typescript-eslint/visitor-keys": "8.22.0" } }, "sha512-/lwVV0UYgkj7wPSw0o8URy6YI64QmcOdwHuGuxWIYznO6d45ER0wXUbksr9pYdViAofpUCNJx/tAzNukgvaaiQ=="], + "@tootallnate/quickjs-emscripten": ["@tootallnate/quickjs-emscripten@0.23.0", "", {}, "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA=="], - "@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.32.1", "", { "dependencies": { "@typescript-eslint/typescript-estree": "8.32.1", "@typescript-eslint/utils": "8.32.1", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-mv9YpQGA8iIsl5KyUPi+FGLm7+bA4fgXaeRcFKRDRwDMu4iwrSHeDPipwueNXhdIIZltwCJv+NkxftECbIZWfA=="], + "@types/debug": ["@types/debug@4.1.13", "", { "dependencies": { "@types/ms": "*" } }, "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw=="], - "@typescript-eslint/types": ["@typescript-eslint/types@8.22.0", "", {}, "sha512-0S4M4baNzp612zwpD4YOieP3VowOARgK2EkN/GBn95hpyF8E2fbMT55sRHWBq+Huaqk3b3XK+rxxlM8sPgGM6A=="], + "@types/estree": ["@types/estree@1.0.9", "", {}, "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg=="], - "@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.22.0", "", { "dependencies": { "@typescript-eslint/types": "8.22.0", "@typescript-eslint/visitor-keys": "8.22.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.0.0" }, "peerDependencies": { "typescript": ">=4.8.4 <5.8.0" } }, "sha512-SJX99NAS2ugGOzpyhMza/tX+zDwjvwAtQFLsBo3GQxiGcvaKlqGBkmZ+Y1IdiSi9h4Q0Lr5ey+Cp9CGWNY/F/w=="], + "@types/hast": ["@types/hast@3.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ=="], - "@typescript-eslint/utils": ["@typescript-eslint/utils@8.22.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@typescript-eslint/scope-manager": "8.22.0", "@typescript-eslint/types": "8.22.0", "@typescript-eslint/typescript-estree": "8.22.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.8.0" } }, "sha512-T8oc1MbF8L+Bk2msAvCUzjxVB2Z2f+vXYfcucE2wOmYs7ZUwco5Ep0fYZw8quNwOiw9K8GYVL+Kgc2pETNTLOg=="], + "@types/mdast": ["@types/mdast@4.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA=="], - "@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.22.0", "", { "dependencies": { "@typescript-eslint/types": "8.22.0", "eslint-visitor-keys": "^4.2.0" } }, "sha512-AWpYAXnUgvLNabGTy3uBylkgZoosva/miNd1I8Bz3SjotmQPbVqhO4Cczo8AsZ44XVErEBPr/CRSgaj8sG7g0w=="], + "@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="], - "@vitejs/plugin-vue": ["@vitejs/plugin-vue@5.2.4", "", { "peerDependencies": { "vite": "^5.0.0 || ^6.0.0", "vue": "^3.2.25" } }, "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA=="], + "@types/nlcst": ["@types/nlcst@2.0.3", "", { "dependencies": { "@types/unist": "*" } }, "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA=="], - "@vitest/eslint-plugin": ["@vitest/eslint-plugin@1.1.25", "", { "peerDependencies": { "@typescript-eslint/utils": ">= 8.0", "eslint": ">= 8.57.0", "typescript": ">= 5.0.0", "vitest": "*" } }, "sha512-u8DpDnMbPcqBmJOB4PeEtn6q7vKmLVTLFMpzoxSAo0hjYdl4iYSHRleqwPQo0ywc7UV0S6RKIahYRQ3BnZdMVw=="], + "@types/node": ["@types/node@24.12.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-8oljBDGun9cIsZRJR6fkihn0TSXJI0UDOOhncYaERq6M0JMDoPLxyscwruJcb4GKS6dvK/d8xebYBg27h/duaQ=="], - "@vitest/expect": ["@vitest/expect@3.1.4", "", { "dependencies": { "@vitest/spy": "3.1.4", "@vitest/utils": "3.1.4", "chai": "^5.2.0", "tinyrainbow": "^2.0.0" } }, "sha512-xkD/ljeliyaClDYqHPNCiJ0plY5YIcM0OlRiZizLhlPmpXWpxnGMyTZXOHFhFeG7w9P5PBeL4IdtJ/HeQwTbQA=="], + "@types/sax": ["@types/sax@1.2.7", "", { "dependencies": { "@types/node": "*" } }, "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A=="], - "@vitest/mocker": ["@vitest/mocker@3.1.4", "", { "dependencies": { "@vitest/spy": "3.1.4", "estree-walker": "^3.0.3", "magic-string": "^0.30.17" }, "peerDependencies": { "msw": "^2.4.9", "vite": "^5.0.0 || ^6.0.0" }, "optionalPeers": ["msw", "vite"] }, "sha512-8IJ3CvwtSw/EFXqWFL8aCMu+YyYXG2WUSrQbViOZkWTKTVicVwZ/YiEZDSqD00kX+v/+W+OnxhNWoeVKorHygA=="], + "@types/trusted-types": ["@types/trusted-types@2.0.7", "", {}, "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw=="], - "@vitest/pretty-format": ["@vitest/pretty-format@3.1.4", "", { "dependencies": { "tinyrainbow": "^2.0.0" } }, "sha512-cqv9H9GvAEoTaoq+cYqUTCGscUjKqlJZC7PRwY5FMySVj5J+xOm1KQcCiYHJOEzOKRUhLH4R2pTwvFlWCEScsg=="], + "@types/unist": ["@types/unist@3.0.3", "", {}, "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="], - "@vitest/runner": ["@vitest/runner@3.1.4", "", { "dependencies": { "@vitest/utils": "3.1.4", "pathe": "^2.0.3" } }, "sha512-djTeF1/vt985I/wpKVFBMWUlk/I7mb5hmD5oP8K9ACRmVXgKTae3TUOtXAEBfslNKPzUQvnKhNd34nnRSYgLNQ=="], + "@types/yauzl": ["@types/yauzl@2.10.3", "", { "dependencies": { "@types/node": "*" } }, "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q=="], - "@vitest/snapshot": ["@vitest/snapshot@3.1.4", "", { "dependencies": { "@vitest/pretty-format": "3.1.4", "magic-string": "^0.30.17", "pathe": "^2.0.3" } }, "sha512-JPHf68DvuO7vilmvwdPr9TS0SuuIzHvxeaCkxYcCD4jTk67XwL45ZhEHFKIuCm8CYstgI6LZ4XbwD6ANrwMpFg=="], + "@ungap/structured-clone": ["@ungap/structured-clone@1.3.1", "", {}, "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ=="], - "@vitest/spy": ["@vitest/spy@3.1.4", "", { "dependencies": { "tinyspy": "^3.0.2" } }, "sha512-Xg1bXhu+vtPXIodYN369M86K8shGLouNjoVI78g8iAq2rFoHFdajNvJJ5A/9bPMFcfQqdaCpOgWKEoMQg/s0Yg=="], + "@volar/kit": ["@volar/kit@2.4.28", "", { "dependencies": { "@volar/language-service": "2.4.28", "@volar/typescript": "2.4.28", "typesafe-path": "^0.2.2", "vscode-languageserver-textdocument": "^1.0.11", "vscode-uri": "^3.0.8" }, "peerDependencies": { "typescript": "*" } }, "sha512-cKX4vK9dtZvDRaAzeoUdaAJEew6IdxHNCRrdp5Kvcl6zZOqb6jTOfk3kXkIkG3T7oTFXguEMt5+9ptyqYR84Pg=="], - "@vitest/utils": ["@vitest/utils@3.1.4", "", { "dependencies": { "@vitest/pretty-format": "3.1.4", "loupe": "^3.1.3", "tinyrainbow": "^2.0.0" } }, "sha512-yriMuO1cfFhmiGc8ataN51+9ooHRuURdfAZfwFd3usWynjzpLslZdYnRegTv32qdgtJTsj15FoeZe2g15fY1gg=="], + "@volar/language-core": ["@volar/language-core@2.4.28", "", { "dependencies": { "@volar/source-map": "2.4.28" } }, "sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ=="], - "@volar/language-core": ["@volar/language-core@2.4.11", "", { "dependencies": { "@volar/source-map": "2.4.11" } }, "sha512-lN2C1+ByfW9/JRPpqScuZt/4OrUUse57GLI6TbLgTIqBVemdl1wNcZ1qYGEo2+Gw8coYLgCy7SuKqn6IrQcQgg=="], + "@volar/language-server": ["@volar/language-server@2.4.28", "", { "dependencies": { "@volar/language-core": "2.4.28", "@volar/language-service": "2.4.28", "@volar/typescript": "2.4.28", "path-browserify": "^1.0.1", "request-light": "^0.7.0", "vscode-languageserver": "^9.0.1", "vscode-languageserver-protocol": "^3.17.5", "vscode-languageserver-textdocument": "^1.0.11", "vscode-uri": "^3.0.8" } }, "sha512-NqcLnE5gERKuS4PUFwlhMxf6vqYo7hXtbMFbViXcbVkbZ905AIVWhnSo0ZNBC2V127H1/2zP7RvVOVnyITFfBw=="], - "@volar/source-map": ["@volar/source-map@2.4.11", "", {}, "sha512-ZQpmafIGvaZMn/8iuvCFGrW3smeqkq/IIh9F1SdSx9aUl0J4Iurzd6/FhmjNO5g2ejF3rT45dKskgXWiofqlZQ=="], + "@volar/language-service": ["@volar/language-service@2.4.28", "", { "dependencies": { "@volar/language-core": "2.4.28", "vscode-languageserver-protocol": "^3.17.5", "vscode-languageserver-textdocument": "^1.0.11", "vscode-uri": "^3.0.8" } }, "sha512-Rh/wYCZJrI5vCwMk9xyw/Z+MsWxlJY1rmMZPsxUoJKfzIRjS/NF1NmnuEcrMbEVGja00aVpCsInJfixQTMdvLw=="], - "@volar/typescript": ["@volar/typescript@2.4.11", "", { "dependencies": { "@volar/language-core": "2.4.11", "path-browserify": "^1.0.1", "vscode-uri": "^3.0.8" } }, "sha512-2DT+Tdh88Spp5PyPbqhyoYavYCPDsqbHLFwcUI9K1NlY1YgUJvujGdrqUp0zWxnW7KWNTr3xSpMuv2WnaTKDAw=="], + "@volar/source-map": ["@volar/source-map@2.4.28", "", {}, "sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ=="], - "@vue-macros/common": ["@vue-macros/common@1.16.1", "", { "dependencies": { "@vue/compiler-sfc": "^3.5.13", "ast-kit": "^1.4.0", "local-pkg": "^1.0.0", "magic-string-ast": "^0.7.0", "pathe": "^2.0.2", "picomatch": "^4.0.2" }, "peerDependencies": { "vue": "^2.7.0 || ^3.2.25" }, "optionalPeers": ["vue"] }, "sha512-Pn/AWMTjoMYuquepLZP813BIcq8DTZiNCoaceuNlvaYuOTd8DqBZWc5u0uOMQZMInwME1mdSmmBAcTluiV9Jtg=="], + "@volar/typescript": ["@volar/typescript@2.4.28", "", { "dependencies": { "@volar/language-core": "2.4.28", "path-browserify": "^1.0.1", "vscode-uri": "^3.0.8" } }, "sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw=="], - "@vue/babel-helper-vue-transform-on": ["@vue/babel-helper-vue-transform-on@1.2.5", "", {}, "sha512-lOz4t39ZdmU4DJAa2hwPYmKc8EsuGa2U0L9KaZaOJUt0UwQNjNA3AZTq6uEivhOKhhG1Wvy96SvYBoFmCg3uuw=="], + "@vscode/emmet-helper": ["@vscode/emmet-helper@2.11.0", "", { "dependencies": { "emmet": "^2.4.3", "jsonc-parser": "^2.3.0", "vscode-languageserver-textdocument": "^1.0.1", "vscode-languageserver-types": "^3.15.1", "vscode-uri": "^3.0.8" } }, "sha512-QLxjQR3imPZPQltfbWRnHU6JecWTF1QSWhx3GAKQpslx7y3Dp6sIIXhKjiUJ/BR9FX8PVthjr9PD6pNwOJfAzw=="], - "@vue/babel-plugin-jsx": ["@vue/babel-plugin-jsx@1.2.5", "", { "dependencies": { "@babel/helper-module-imports": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.8", "@babel/plugin-syntax-jsx": "^7.24.7", "@babel/template": "^7.25.0", "@babel/traverse": "^7.25.6", "@babel/types": "^7.25.6", "@vue/babel-helper-vue-transform-on": "1.2.5", "@vue/babel-plugin-resolve-type": "1.2.5", "html-tags": "^3.3.1", "svg-tags": "^1.0.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-zTrNmOd4939H9KsRIGmmzn3q2zvv1mjxkYZHgqHZgDrXz5B1Q3WyGEjO2f+JrmKghvl1JIRcvo63LgM1kH5zFg=="], + "@vscode/l10n": ["@vscode/l10n@0.0.18", "", {}, "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ=="], - "@vue/babel-plugin-resolve-type": ["@vue/babel-plugin-resolve-type@1.2.5", "", { "dependencies": { "@babel/code-frame": "^7.24.7", "@babel/helper-module-imports": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.8", "@babel/parser": "^7.25.6", "@vue/compiler-sfc": "^3.5.3" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-U/ibkQrf5sx0XXRnUZD1mo5F7PkpKyTbfXM3a3rC4YnUz6crHEz9Jg09jzzL6QYlXNto/9CePdOg/c87O4Nlfg=="], + "accepts": ["accepts@1.3.8", "", { "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" } }, "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw=="], - "@vue/compiler-core": ["@vue/compiler-core@3.5.16", "", { "dependencies": { "@babel/parser": "^7.27.2", "@vue/shared": "3.5.16", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.1" } }, "sha512-AOQS2eaQOaaZQoL1u+2rCJIKDruNXVBZSiUD3chnUrsoX5ZTQMaCvXlWNIfxBJuU15r1o7+mpo5223KVtIhAgQ=="], + "acorn": ["acorn@8.16.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw=="], - "@vue/compiler-dom": ["@vue/compiler-dom@3.5.16", "", { "dependencies": { "@vue/compiler-core": "3.5.16", "@vue/shared": "3.5.16" } }, "sha512-SSJIhBr/teipXiXjmWOVWLnxjNGo65Oj/8wTEQz0nqwQeP75jWZ0n4sF24Zxoht1cuJoWopwj0J0exYwCJ0dCQ=="], + "agent-base": ["agent-base@7.1.4", "", {}, "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="], - "@vue/compiler-sfc": ["@vue/compiler-sfc@3.5.16", "", { "dependencies": { "@babel/parser": "^7.27.2", "@vue/compiler-core": "3.5.16", "@vue/compiler-dom": "3.5.16", "@vue/compiler-ssr": "3.5.16", "@vue/shared": "3.5.16", "estree-walker": "^2.0.2", "magic-string": "^0.30.17", "postcss": "^8.5.3", "source-map-js": "^1.2.1" } }, "sha512-rQR6VSFNpiinDy/DVUE0vHoIDUF++6p910cgcZoaAUm3POxgNOOdS/xgoll3rNdKYTYPnnbARDCZOyZ+QSe6Pw=="], + "ajv": ["ajv@8.20.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA=="], - "@vue/compiler-ssr": ["@vue/compiler-ssr@3.5.16", "", { "dependencies": { "@vue/compiler-dom": "3.5.16", "@vue/shared": "3.5.16" } }, "sha512-d2V7kfxbdsjrDSGlJE7my1ZzCXViEcqN6w14DOsDrUCHEA6vbnVCpRFfrc4ryCP/lCKzX2eS1YtnLE/BuC9f/A=="], + "ajv-draft-04": ["ajv-draft-04@1.0.0", "", { "peerDependencies": { "ajv": "^8.5.0" }, "optionalPeers": ["ajv"] }, "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw=="], - "@vue/compiler-vue2": ["@vue/compiler-vue2@2.7.16", "", { "dependencies": { "de-indent": "^1.0.2", "he": "^1.2.0" } }, "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A=="], + "ansi-align": ["ansi-align@3.0.1", "", { "dependencies": { "string-width": "^4.1.0" } }, "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w=="], - "@vue/devtools-api": ["@vue/devtools-api@7.7.6", "", { "dependencies": { "@vue/devtools-kit": "^7.7.6" } }, "sha512-b2Xx0KvXZObePpXPYHvBRRJLDQn5nhKjXh7vUhMEtWxz1AYNFOVIsh5+HLP8xDGL7sy+Q7hXeUxPHB/KgbtsPw=="], + "ansi-colors": ["ansi-colors@4.1.3", "", {}, "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw=="], - "@vue/devtools-core": ["@vue/devtools-core@7.7.6", "", { "dependencies": { "@vue/devtools-kit": "^7.7.6", "@vue/devtools-shared": "^7.7.6", "mitt": "^3.0.1", "nanoid": "^5.1.0", "pathe": "^2.0.3", "vite-hot-client": "^2.0.4" }, "peerDependencies": { "vue": "^3.0.0" } }, "sha512-ghVX3zjKPtSHu94Xs03giRIeIWlb9M+gvDRVpIZ/cRIxKHdW6HE/sm1PT3rUYS3aV92CazirT93ne+7IOvGUWg=="], + "ansi-escapes": ["ansi-escapes@3.2.0", "", {}, "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ=="], - "@vue/devtools-kit": ["@vue/devtools-kit@7.7.6", "", { "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" } }, "sha512-geu7ds7tem2Y7Wz+WgbnbZ6T5eadOvozHZ23Atk/8tksHMFOFylKi1xgGlQlVn0wlkEf4hu+vd5ctj1G4kFtwA=="], + "ansi-regex": ["ansi-regex@4.1.1", "", {}, "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g=="], - "@vue/devtools-shared": ["@vue/devtools-shared@7.7.6", "", { "dependencies": { "rfdc": "^1.4.1" } }, "sha512-yFEgJZ/WblEsojQQceuyK6FzpFDx4kqrz2ohInxNj5/DnhoX023upTv4OD6lNPLAA5LLkbwPVb10o/7b+Y4FVA=="], + "ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="], - "@vue/eslint-config-prettier": ["@vue/eslint-config-prettier@10.2.0", "", { "dependencies": { "eslint-config-prettier": "^10.0.1", "eslint-plugin-prettier": "^5.2.2" }, "peerDependencies": { "eslint": ">= 8.21.0", "prettier": ">= 3.0.0" } }, "sha512-GL3YBLwv/+b86yHcNNfPJxOTtVFJ4Mbc9UU3zR+KVoG7SwGTjPT+32fXamscNumElhcpXW3mT0DgzS9w32S7Bw=="], + "anymatch": ["anymatch@3.1.3", "", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="], - "@vue/eslint-config-typescript": ["@vue/eslint-config-typescript@14.5.0", "", { "dependencies": { "@typescript-eslint/utils": "^8.26.0", "fast-glob": "^3.3.3", "typescript-eslint": "^8.26.0", "vue-eslint-parser": "^10.1.1" }, "peerDependencies": { "eslint": "^9.10.0", "eslint-plugin-vue": "^9.28.0 || ^10.0.0", "typescript": ">=4.8.4" }, "optionalPeers": ["typescript"] }, "sha512-5oPOyuwkw++AP5gHDh5YFmST50dPfWOcm3/W7Nbh42IK5O3H74ytWAw0TrCRTaBoD/02khnWXuZf1Bz1xflavQ=="], + "arg": ["arg@5.0.2", "", {}, "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="], - "@vue/language-core": ["@vue/language-core@2.2.10", "", { "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": "*" }, "optionalPeers": ["typescript"] }, "sha512-+yNoYx6XIKuAO8Mqh1vGytu8jkFEOH5C8iOv3i8Z/65A7x9iAOXA97Q+PqZ3nlm2lxf5rOJuIGI/wDtx/riNYw=="], + "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], - "@vue/reactivity": ["@vue/reactivity@3.5.16", "", { "dependencies": { "@vue/shared": "3.5.16" } }, "sha512-FG5Q5ee/kxhIm1p2bykPpPwqiUBV3kFySsHEQha5BJvjXdZTUfmya7wP7zC39dFuZAcf/PD5S4Lni55vGLMhvA=="], + "aria-query": ["aria-query@5.3.2", "", {}, "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw=="], - "@vue/runtime-core": ["@vue/runtime-core@3.5.16", "", { "dependencies": { "@vue/reactivity": "3.5.16", "@vue/shared": "3.5.16" } }, "sha512-bw5Ykq6+JFHYxrQa7Tjr+VSzw7Dj4ldR/udyBZbq73fCdJmyy5MPIFR9IX/M5Qs+TtTjuyUTCnmK3lWWwpAcFQ=="], + "array-flatten": ["array-flatten@1.1.1", "", {}, "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="], - "@vue/runtime-dom": ["@vue/runtime-dom@3.5.16", "", { "dependencies": { "@vue/reactivity": "3.5.16", "@vue/runtime-core": "3.5.16", "@vue/shared": "3.5.16", "csstype": "^3.1.3" } }, "sha512-T1qqYJsG2xMGhImRUV9y/RseB9d0eCYZQ4CWca9ztCuiPj/XWNNN+lkNBuzVbia5z4/cgxdL28NoQCvC0Xcfww=="], + "array-iterate": ["array-iterate@2.0.1", "", {}, "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg=="], - "@vue/server-renderer": ["@vue/server-renderer@3.5.16", "", { "dependencies": { "@vue/compiler-ssr": "3.5.16", "@vue/shared": "3.5.16" }, "peerDependencies": { "vue": "3.5.16" } }, "sha512-BrX0qLiv/WugguGsnQUJiYOE0Fe5mZTwi6b7X/ybGB0vfrPH9z0gD/Y6WOR1sGCgX4gc25L1RYS5eYQKDMoNIg=="], + "ast-types": ["ast-types@0.13.4", "", { "dependencies": { "tslib": "^2.0.1" } }, "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w=="], - "@vue/shared": ["@vue/shared@3.5.16", "", {}, "sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg=="], + "astro": ["astro@5.18.1", "", { "dependencies": { "@astrojs/compiler": "^2.13.0", "@astrojs/internal-helpers": "0.7.6", "@astrojs/markdown-remark": "6.3.11", "@astrojs/telemetry": "3.3.0", "@capsizecss/unpack": "^4.0.0", "@oslojs/encoding": "^1.1.0", "@rollup/pluginutils": "^5.3.0", "acorn": "^8.15.0", "aria-query": "^5.3.2", "axobject-query": "^4.1.0", "boxen": "8.0.1", "ci-info": "^4.3.1", "clsx": "^2.1.1", "common-ancestor-path": "^1.0.1", "cookie": "^1.1.1", "cssesc": "^3.0.0", "debug": "^4.4.3", "deterministic-object-hash": "^2.0.2", "devalue": "^5.6.2", "diff": "^8.0.3", "dlv": "^1.1.3", "dset": "^3.1.4", "es-module-lexer": "^1.7.0", "esbuild": "^0.27.3", "estree-walker": "^3.0.3", "flattie": "^1.1.1", "fontace": "~0.4.0", "github-slugger": "^2.0.0", "html-escaper": "3.0.3", "http-cache-semantics": "^4.2.0", "import-meta-resolve": "^4.2.0", "js-yaml": "^4.1.1", "magic-string": "^0.30.21", "magicast": "^0.5.1", "mrmime": "^2.0.1", "neotraverse": "^0.6.18", "p-limit": "^6.2.0", "p-queue": "^8.1.1", "package-manager-detector": "^1.6.0", "piccolore": "^0.1.3", "picomatch": "^4.0.3", "prompts": "^2.4.2", "rehype": "^13.0.2", "semver": "^7.7.3", "shiki": "^3.21.0", "smol-toml": "^1.6.0", "svgo": "^4.0.0", "tinyexec": "^1.0.2", "tinyglobby": "^0.2.15", "tsconfck": "^3.1.6", "ultrahtml": "^1.6.0", "unifont": "~0.7.3", "unist-util-visit": "^5.0.0", "unstorage": "^1.17.4", "vfile": "^6.0.3", "vite": "^6.4.1", "vitefu": "^1.1.1", "xxhash-wasm": "^1.1.0", "yargs-parser": "^21.1.1", "yocto-spinner": "^0.2.3", "zod": "^3.25.76", "zod-to-json-schema": "^3.25.1", "zod-to-ts": "^1.2.0" }, "optionalDependencies": { "sharp": "^0.34.0" }, "bin": { "astro": "astro.js" } }, "sha512-m4VWilWZ+Xt6NPoYzC4CgGZim/zQUO7WFL0RHCH0AiEavF1153iC3+me2atDvXpf/yX4PyGUeD8wZLq1cirT3g=="], - "@vue/test-utils": ["@vue/test-utils@2.4.6", "", { "dependencies": { "js-beautify": "^1.14.9", "vue-component-type-helpers": "^2.0.0" } }, "sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow=="], + "axe-core": ["axe-core@4.11.4", "", {}, "sha512-KunSNx+TVpkAw/6ULfhnx+HWRecjqZGTOyquAoWHYLRSdK1tB5Ihce1ZW+UY3fj33bYAFWPu7W/GRSmmrCGuxA=="], - "@vue/tsconfig": ["@vue/tsconfig@0.7.0", "", { "peerDependencies": { "typescript": "5.x", "vue": "^3.4.0" } }, "sha512-ku2uNz5MaZ9IerPPUyOHzyjhXoX2kVJaVf7hL315DC17vS6IiZRmmCPfggNbU16QTvM80+uYYy3eYJB59WCtvg=="], + "axobject-query": ["axobject-query@4.1.0", "", {}, "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ=="], - "@vuetify/loader-shared": ["@vuetify/loader-shared@2.1.0", "", { "dependencies": { "upath": "^2.0.1" }, "peerDependencies": { "vue": "^3.0.0", "vuetify": "^3.0.0" } }, "sha512-dNE6Ceym9ijFsmJKB7YGW0cxs7xbYV8+1LjU6jd4P14xOt/ji4Igtgzt0rJFbxu+ZhAzqz853lhB0z8V9Dy9cQ=="], + "b4a": ["b4a@1.8.1", "", { "peerDependencies": { "react-native-b4a": "*" }, "optionalPeers": ["react-native-b4a"] }, "sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw=="], - "@vueuse/core": ["@vueuse/core@14.2.1", "", { "dependencies": { "@types/web-bluetooth": "^0.0.21", "@vueuse/metadata": "14.2.1", "@vueuse/shared": "14.2.1" }, "peerDependencies": { "vue": "^3.5.0" } }, "sha512-3vwDzV+GDUNpdegRY6kzpLm4Igptq+GA0QkJ3W61Iv27YWwW/ufSlOfgQIpN6FZRMG0mkaz4gglJRtq5SeJyIQ=="], + "bail": ["bail@2.0.2", "", {}, "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw=="], - "@vueuse/metadata": ["@vueuse/metadata@14.2.1", "", {}, "sha512-1ButlVtj5Sb/HDtIy1HFr1VqCP4G6Ypqt5MAo0lCgjokrk2mvQKsK2uuy0vqu/Ks+sHfuHo0B9Y9jn9xKdjZsw=="], + "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], - "@vueuse/shared": ["@vueuse/shared@14.2.1", "", { "peerDependencies": { "vue": "^3.5.0" } }, "sha512-shTJncjV9JTI4oVNyF1FQonetYAiTBd+Qj7cY89SWbXSkx7gyhrgtEdF2ZAVWS1S3SHlaROO6F2IesJxQEkZBw=="], + "bare-events": ["bare-events@2.8.2", "", { "peerDependencies": { "bare-abort-controller": "*" }, "optionalPeers": ["bare-abort-controller"] }, "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ=="], - "abbrev": ["abbrev@2.0.0", "", {}, "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ=="], + "bare-fs": ["bare-fs@4.7.1", "", { "dependencies": { "bare-events": "^2.5.4", "bare-path": "^3.0.0", "bare-stream": "^2.6.4", "bare-url": "^2.2.2", "fast-fifo": "^1.3.2" }, "peerDependencies": { "bare-buffer": "*" }, "optionalPeers": ["bare-buffer"] }, "sha512-WDRsyVN52eAx/lBamKD6uyw8H4228h/x0sGGGegOamM2cd7Pag88GfMQalobXI+HaEUxpCkbKQUDOQqt9wawRw=="], - "acorn": ["acorn@8.14.0", "", { "bin": "bin/acorn" }, "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA=="], + "bare-os": ["bare-os@3.9.1", "", {}, "sha512-6M5XjcnsygQNPMCMPXSK379xrJFiZ/AEMNBmFEmQW8d/789VQATvriyi5r0HYTL9TkQ26rn3kgdTG3aisbrXkQ=="], - "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], + "bare-path": ["bare-path@3.0.0", "", { "dependencies": { "bare-os": "^3.0.1" } }, "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw=="], - "agent-base": ["agent-base@7.1.3", "", {}, "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw=="], + "bare-stream": ["bare-stream@2.13.1", "", { "dependencies": { "streamx": "^2.25.0", "teex": "^1.0.1" }, "peerDependencies": { "bare-abort-controller": "*", "bare-buffer": "*", "bare-events": "*" }, "optionalPeers": ["bare-abort-controller", "bare-buffer", "bare-events"] }, "sha512-Vp0cnjYyrEC4whYTymQ+YZi6pBpfiICZO3cfRG8sy67ZNWe951urv1x4eW1BKNngw3U+3fPYb5JQvHbCtxH7Ow=="], - "ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="], + "bare-url": ["bare-url@2.4.3", "", { "dependencies": { "bare-path": "^3.0.0" } }, "sha512-Kccpc7ACfXaxfeInfqKcZtW4pT5YBn1mesc4sCsun6sRwtbJ4h+sNOaksUpYEJUKfN65YWC6Bw2OJEFiKxq8nQ=="], - "alien-signals": ["alien-signals@1.0.13", "", {}, "sha512-OGj9yyTnJEttvzhTUWuscOvtqxq5vrhF7vL9oS0xJ2mK0ItPYP1/y+vCFebfxoEyAz0++1AIwJ5CMr+Fk3nDmg=="], + "base-64": ["base-64@1.0.0", "", {}, "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg=="], - "ansi-escapes": ["ansi-escapes@7.0.0", "", { "dependencies": { "environment": "^1.0.0" } }, "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw=="], + "basic-ftp": ["basic-ftp@5.3.1", "", {}, "sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw=="], - "ansi-regex": ["ansi-regex@6.1.0", "", {}, "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA=="], + "body-parser": ["body-parser@1.20.5", "", { "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.1", "iconv-lite": "~0.4.24", "on-finished": "~2.4.1", "qs": "~6.15.1", "raw-body": "~2.5.3", "type-is": "~1.6.18", "unpipe": "~1.0.0" } }, "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA=="], - "ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="], + "boolbase": ["boolbase@1.0.0", "", {}, "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="], - "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], + "boxen": ["boxen@8.0.1", "", { "dependencies": { "ansi-align": "^3.0.1", "camelcase": "^8.0.0", "chalk": "^5.3.0", "cli-boxes": "^3.0.0", "string-width": "^7.2.0", "type-fest": "^4.21.0", "widest-line": "^5.0.0", "wrap-ansi": "^9.0.0" } }, "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw=="], - "assertion-error": ["assertion-error@2.0.1", "", {}, "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA=="], + "brace-expansion": ["brace-expansion@1.1.14", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g=="], - "ast-kit": ["ast-kit@1.4.0", "", { "dependencies": { "@babel/parser": "^7.26.5", "pathe": "^2.0.2" } }, "sha512-BlGeOw73FDsX7z0eZE/wuuafxYoek2yzNJ6l6A1nsb4+z/p87TOPbHaWuN53kFKNuUXiCQa2M+xLF71IqQmRSw=="], + "buffer-crc32": ["buffer-crc32@0.2.13", "", {}, "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="], - "ast-walker-scope": ["ast-walker-scope@0.6.2", "", { "dependencies": { "@babel/parser": "^7.25.3", "ast-kit": "^1.0.1" } }, "sha512-1UWOyC50xI3QZkRuDj6PqDtpm1oHWtYs+NQGwqL/2R11eN3Q81PHAHPM0SWW3BNQm53UDwS//Jv8L4CCVLM1bQ=="], + "bytes": ["bytes@3.1.2", "", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="], - "asynckit": ["asynckit@0.4.0", "", {}, "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="], + "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], - "axios": ["axios@1.9.0", "", { "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } }, "sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg=="], + "call-bound": ["call-bound@1.0.4", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="], - "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], + "camelcase": ["camelcase@5.3.1", "", {}, "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="], - "birpc": ["birpc@2.3.0", "", {}, "sha512-ijbtkn/F3Pvzb6jHypHRyve2QApOCZDR25D/VnkY2G/lBNcXCTsnsCxgY4k4PkVB7zfwzYbY3O9Lcqe3xufS5g=="], + "ccount": ["ccount@2.0.1", "", {}, "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="], - "boolbase": ["boolbase@1.0.0", "", {}, "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="], + "chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="], - "brace-expansion": ["brace-expansion@1.1.11", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="], + "character-entities": ["character-entities@2.0.2", "", {}, "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ=="], - "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], + "character-entities-html4": ["character-entities-html4@2.1.0", "", {}, "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA=="], - "browserslist": ["browserslist@4.24.4", "", { "dependencies": { "caniuse-lite": "^1.0.30001688", "electron-to-chromium": "^1.5.73", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.1" }, "bin": "cli.js" }, "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A=="], + "character-entities-legacy": ["character-entities-legacy@3.0.0", "", {}, "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ=="], - "buffer-builder": ["buffer-builder@0.2.0", "", {}, "sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg=="], + "chardet": ["chardet@0.7.0", "", {}, "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="], - "bundle-name": ["bundle-name@4.1.0", "", { "dependencies": { "run-applescript": "^7.0.0" } }, "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q=="], + "chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], - "c12": ["c12@3.0.3", "", { "dependencies": { "chokidar": "^4.0.3", "confbox": "^0.2.2", "defu": "^6.1.4", "dotenv": "^16.4.7", "exsolve": "^1.0.4", "giget": "^2.0.0", "jiti": "^2.4.2", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^1.0.0", "pkg-types": "^2.1.0", "rc9": "^2.1.2" }, "peerDependencies": { "magicast": "^0.3.5" }, "optionalPeers": ["magicast"] }, "sha512-uC3MacKBb0Z15o5QWCHvHWj5Zv34pGQj9P+iXKSpTuSGFS0KKhUWf4t9AJ+gWjYOdmWCPEGpEzm8sS0iqbpo1w=="], + "chrome-launcher": ["chrome-launcher@0.13.4", "", { "dependencies": { "@types/node": "*", "escape-string-regexp": "^1.0.5", "is-wsl": "^2.2.0", "lighthouse-logger": "^1.0.0", "mkdirp": "^0.5.3", "rimraf": "^3.0.2" } }, "sha512-nnzXiDbGKjDSK6t2I+35OAPBy5Pw/39bgkb/ZAFwMhwJbdYBp6aH+vW28ZgtjdU890Q7D+3wN/tB8N66q5Gi2A=="], - "cac": ["cac@6.7.14", "", {}, "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ=="], + "chromium-bidi": ["chromium-bidi@14.0.0", "", { "dependencies": { "mitt": "^3.0.1", "zod": "^3.24.1" }, "peerDependencies": { "devtools-protocol": "*" } }, "sha512-9gYlLtS6tStdRWzrtXaTMnqcM4dudNegMXJxkR0I/CXObHalYeYcAMPrL19eroNZHtJ8DQmu1E+ZNOYu/IXMXw=="], - "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], + "ci-info": ["ci-info@4.4.0", "", {}, "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg=="], - "callsites": ["callsites@3.1.0", "", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="], + "cli-boxes": ["cli-boxes@3.0.0", "", {}, "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g=="], - "caniuse-lite": ["caniuse-lite@1.0.30001696", "", {}, "sha512-pDCPkvzfa39ehJtJ+OwGT/2yvT2SbjfHhiIW2LWOAcMQ7BzwxT/XuyUp4OTOd0XFWA6BKw0JalnBHgSi5DGJBQ=="], + "cli-cursor": ["cli-cursor@2.1.0", "", { "dependencies": { "restore-cursor": "^2.0.0" } }, "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw=="], - "chai": ["chai@5.2.0", "", { "dependencies": { "assertion-error": "^2.0.1", "check-error": "^2.1.1", "deep-eql": "^5.0.1", "loupe": "^3.1.0", "pathval": "^2.0.0" } }, "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw=="], + "cli-width": ["cli-width@2.2.1", "", {}, "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw=="], - "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + "cliui": ["cliui@6.0.0", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^6.2.0" } }, "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ=="], - "check-error": ["check-error@2.1.1", "", {}, "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw=="], + "clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="], - "chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], + "color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], + + "color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], - "citty": ["citty@0.1.6", "", { "dependencies": { "consola": "^3.2.3" } }, "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ=="], + "comma-separated-tokens": ["comma-separated-tokens@2.0.3", "", {}, "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg=="], - "cli-cursor": ["cli-cursor@5.0.0", "", { "dependencies": { "restore-cursor": "^5.0.0" } }, "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw=="], + "commander": ["commander@11.1.0", "", {}, "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ=="], - "cli-truncate": ["cli-truncate@4.0.0", "", { "dependencies": { "slice-ansi": "^5.0.0", "string-width": "^7.0.0" } }, "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA=="], + "common-ancestor-path": ["common-ancestor-path@1.0.1", "", {}, "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w=="], - "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], + "compressible": ["compressible@2.0.18", "", { "dependencies": { "mime-db": ">= 1.43.0 < 2" } }, "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg=="], - "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], + "compression": ["compression@1.8.1", "", { "dependencies": { "bytes": "3.1.2", "compressible": "~2.0.18", "debug": "2.6.9", "negotiator": "~0.6.4", "on-headers": "~1.1.0", "safe-buffer": "5.2.1", "vary": "~1.1.2" } }, "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w=="], - "colorette": ["colorette@2.0.20", "", {}, "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w=="], + "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], - "colorjs.io": ["colorjs.io@0.5.2", "", {}, "sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw=="], + "configstore": ["configstore@5.0.1", "", { "dependencies": { "dot-prop": "^5.2.0", "graceful-fs": "^4.1.2", "make-dir": "^3.0.0", "unique-string": "^2.0.0", "write-file-atomic": "^3.0.0", "xdg-basedir": "^4.0.0" } }, "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA=="], - "combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="], + "content-disposition": ["content-disposition@0.5.4", "", { "dependencies": { "safe-buffer": "5.2.1" } }, "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ=="], - "commander": ["commander@13.1.0", "", {}, "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw=="], + "content-type": ["content-type@1.0.5", "", {}, "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="], - "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], + "cookie": ["cookie@1.1.1", "", {}, "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ=="], - "confbox": ["confbox@0.1.8", "", {}, "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w=="], + "cookie-es": ["cookie-es@1.2.3", "", {}, "sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw=="], - "config-chain": ["config-chain@1.1.13", "", { "dependencies": { "ini": "^1.3.4", "proto-list": "~1.2.1" } }, "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ=="], + "cookie-signature": ["cookie-signature@1.0.7", "", {}, "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA=="], - "consola": ["consola@3.4.2", "", {}, "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA=="], + "crossws": ["crossws@0.3.5", "", { "dependencies": { "uncrypto": "^0.1.3" } }, "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA=="], - "convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + "crypto-random-string": ["crypto-random-string@2.0.0", "", {}, "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA=="], - "copy-anything": ["copy-anything@3.0.5", "", { "dependencies": { "is-what": "^4.1.8" } }, "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w=="], + "csp_evaluator": ["csp_evaluator@1.1.5", "", {}, "sha512-EL/iN9etCTzw/fBnp0/uj0f5BOOGvZut2mzsiiBZ/FdT6gFQCKRO/tmcKOxn5drWZ2Ndm/xBb1SI4zwWbGtmIw=="], - "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], + "css-select": ["css-select@5.2.2", "", { "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", "domhandler": "^5.0.2", "domutils": "^3.0.1", "nth-check": "^2.0.1" } }, "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw=="], - "cssesc": ["cssesc@3.0.0", "", { "bin": "bin/cssesc" }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="], + "css-tree": ["css-tree@3.2.1", "", { "dependencies": { "mdn-data": "2.27.1", "source-map-js": "^1.2.1" } }, "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA=="], - "cssstyle": ["cssstyle@4.2.1", "", { "dependencies": { "@asamuzakjp/css-color": "^2.8.2", "rrweb-cssom": "^0.8.0" } }, "sha512-9+vem03dMXG7gDmZ62uqmRiMRNtinIZ9ZyuF6BdxzfOD+FdN5hretzynkn0ReS2DO2GSw76RWHs0UmJPI2zUjw=="], + "css-what": ["css-what@6.2.2", "", {}, "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA=="], - "csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="], + "cssesc": ["cssesc@3.0.0", "", { "bin": { "cssesc": "bin/cssesc" } }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="], - "data-urls": ["data-urls@5.0.0", "", { "dependencies": { "whatwg-mimetype": "^4.0.0", "whatwg-url": "^14.0.0" } }, "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg=="], + "csso": ["csso@5.0.5", "", { "dependencies": { "css-tree": "~2.2.0" } }, "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ=="], - "de-indent": ["de-indent@1.0.2", "", {}, "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg=="], + "data-uri-to-buffer": ["data-uri-to-buffer@6.0.2", "", {}, "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw=="], - "debug": ["debug@4.4.0", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA=="], + "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], - "decimal.js": ["decimal.js@10.5.0", "", {}, "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw=="], + "decamelize": ["decamelize@1.2.0", "", {}, "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA=="], - "deep-eql": ["deep-eql@5.0.2", "", {}, "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q=="], + "decimal.js": ["decimal.js@10.6.0", "", {}, "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg=="], - "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="], + "decode-named-character-reference": ["decode-named-character-reference@1.3.0", "", { "dependencies": { "character-entities": "^2.0.0" } }, "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q=="], - "deep-pick-omit": ["deep-pick-omit@1.2.1", "", {}, "sha512-2J6Kc/m3irCeqVG42T+SaUMesaK7oGWaedGnQQK/+O0gYc+2SP5bKh/KKTE7d7SJ+GCA9UUE1GRzh6oDe0EnGw=="], + "dedent-js": ["dedent-js@1.0.1", "", {}, "sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ=="], - "default-browser": ["default-browser@5.2.1", "", { "dependencies": { "bundle-name": "^4.1.0", "default-browser-id": "^5.0.0" } }, "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg=="], + "deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="], - "default-browser-id": ["default-browser-id@5.0.0", "", {}, "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA=="], + "define-lazy-prop": ["define-lazy-prop@2.0.0", "", {}, "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og=="], - "define-lazy-prop": ["define-lazy-prop@3.0.0", "", {}, "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="], + "defu": ["defu@6.1.7", "", {}, "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ=="], - "defu": ["defu@6.1.4", "", {}, "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg=="], + "degenerator": ["degenerator@5.0.1", "", { "dependencies": { "ast-types": "^0.13.4", "escodegen": "^2.1.0", "esprima": "^4.0.1" } }, "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ=="], - "delayed-stream": ["delayed-stream@1.0.0", "", {}, "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="], + "depd": ["depd@2.0.0", "", {}, "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="], + + "dequal": ["dequal@2.0.3", "", {}, "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="], "destr": ["destr@2.0.5", "", {}, "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA=="], - "dotenv": ["dotenv@16.4.7", "", {}, "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ=="], + "destroy": ["destroy@1.2.0", "", {}, "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="], - "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], + "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], - "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="], + "deterministic-object-hash": ["deterministic-object-hash@2.0.2", "", { "dependencies": { "base-64": "^1.0.0" } }, "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ=="], - "editorconfig": ["editorconfig@1.0.4", "", { "dependencies": { "@one-ini/wasm": "0.1.1", "commander": "^10.0.0", "minimatch": "9.0.1", "semver": "^7.5.3" }, "bin": "bin/editorconfig" }, "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q=="], + "devalue": ["devalue@5.8.0", "", {}, "sha512-2zA9pFEsnp7vWBZbXF5JAgAq0fsUIt/1XPbRiAmRV3lp/2C3upzH+sADiyy66aFCihoLEsrQHxNM5w1gIDfsBg=="], - "electron-to-chromium": ["electron-to-chromium@1.5.90", "", {}, "sha512-C3PN4aydfW91Natdyd449Kw+BzhLmof6tzy5W1pFC5SpQxVXT+oyiyOG9AgYYSN9OdA/ik3YkCrpwqI8ug5Tug=="], + "devlop": ["devlop@1.1.0", "", { "dependencies": { "dequal": "^2.0.0" } }, "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA=="], - "emoji-regex": ["emoji-regex@10.4.0", "", {}, "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw=="], + "devtools-protocol": ["devtools-protocol@0.0.1467305", "", {}, "sha512-LxwMLqBoPPGpMdRL4NkLFRNy3QLp6Uqa7GNp1v6JaBheop2QrB9Q7q0A/q/CYYP9sBfZdHOyszVx4gc9zyk7ow=="], - "entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], + "diff": ["diff@8.0.4", "", {}, "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw=="], - "environment": ["environment@1.1.0", "", {}, "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q=="], + "dlv": ["dlv@1.1.3", "", {}, "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="], - "error-stack-parser-es": ["error-stack-parser-es@0.1.5", "", {}, "sha512-xHku1X40RO+fO8yJ8Wh2f2rZWVjqyhb1zgq1yZ8aZRQkv6OOKhKWRUaht3eSCUbAOBaKIgM+ykwFLE+QUxgGeg=="], + "dom-serializer": ["dom-serializer@2.0.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" } }, "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg=="], - "errx": ["errx@0.1.0", "", {}, "sha512-fZmsRiDNv07K6s2KkKFTiD2aIvECa7++PKyD5NC32tpRw46qZA3sOz+aM+/V9V0GDHxVTKLziveV4JhzBHDp9Q=="], + "domelementtype": ["domelementtype@2.3.0", "", {}, "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="], - "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="], + "domhandler": ["domhandler@5.0.3", "", { "dependencies": { "domelementtype": "^2.3.0" } }, "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w=="], - "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], + "domutils": ["domutils@3.2.2", "", { "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3" } }, "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw=="], - "es-module-lexer": ["es-module-lexer@1.7.0", "", {}, "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA=="], + "dot-prop": ["dot-prop@5.3.0", "", { "dependencies": { "is-obj": "^2.0.0" } }, "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q=="], - "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="], + "dset": ["dset@3.1.4", "", {}, "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA=="], - "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="], + "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], - "esbuild": ["esbuild@0.25.4", "", { "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" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q=="], + "ee-first": ["ee-first@1.1.1", "", {}, "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="], - "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], + "emmet": ["emmet@2.4.11", "", { "dependencies": { "@emmetio/abbreviation": "^2.3.3", "@emmetio/css-abbreviation": "^2.1.8" } }, "sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ=="], - "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], + "emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], - "eslint": ["eslint@9.27.0", "", { "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.14.0", "@eslint/eslintrc": "^3.3.1", "@eslint/js": "9.27.0", "@eslint/plugin-kit": "^0.3.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@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" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-ixRawFQuMB9DZ7fjU3iGGganFDp3+45bPOdaRurcFHSXO1e/sYwUX/FtQZpLZJR6SjMoJH8hR2pPEAfDyCoU2Q=="], + "encodeurl": ["encodeurl@2.0.0", "", {}, "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg=="], - "eslint-config-prettier": ["eslint-config-prettier@10.0.1", "", { "peerDependencies": { "eslint": ">=7.0.0" }, "bin": "build/bin/cli.js" }, "sha512-lZBts941cyJyeaooiKxAtzoPHTN+GbQTJFAIdQbRhA4/8whaAraEh47Whw/ZFfrjNSnlAxqfm9i0XVAEkULjCw=="], + "end-of-stream": ["end-of-stream@1.4.5", "", { "dependencies": { "once": "^1.4.0" } }, "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg=="], - "eslint-plugin-oxlint": ["eslint-plugin-oxlint@0.15.15", "", { "dependencies": { "jsonc-parser": "^3.3.1" } }, "sha512-n5RJ3INUx5eqeOvdtr+5+bOK070NF52C0qxa7any7vnvA8GqoFP6vMOYQ966DhmOc69bunzvoVHk/Fis0a/yAQ=="], + "enquirer": ["enquirer@2.4.1", "", { "dependencies": { "ansi-colors": "^4.1.1", "strip-ansi": "^6.0.1" } }, "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ=="], - "eslint-plugin-prettier": ["eslint-plugin-prettier@5.2.3", "", { "dependencies": { "prettier-linter-helpers": "^1.0.0", "synckit": "^0.9.1" }, "peerDependencies": { "@types/eslint": ">=8.0.0", "eslint": ">=8.0.0", "eslint-config-prettier": "*", "prettier": ">=3.0.0" }, "optionalPeers": ["@types/eslint"] }, "sha512-qJ+y0FfCp/mQYQ/vWQ3s7eUlFEL4PyKfAJxsnYTJ4YT73nsJBWqmEpFryxV9OeUiqmsTsYJ5Y+KDNaeP31wrRw=="], + "entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], - "eslint-plugin-vue": ["eslint-plugin-vue@9.33.0", "", { "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" }, "peerDependencies": { "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" } }, "sha512-174lJKuNsuDIlLpjeXc5E2Tss8P44uIimAfGD0b90k0NoirJqpG7stLuU9Vp/9ioTOrQdWVREc4mRd1BD+CvGw=="], + "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="], - "eslint-scope": ["eslint-scope@8.3.0", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ=="], + "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], - "eslint-visitor-keys": ["eslint-visitor-keys@4.2.0", "", {}, "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw=="], + "es-module-lexer": ["es-module-lexer@1.7.0", "", {}, "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA=="], - "espree": ["espree@10.3.0", "", { "dependencies": { "acorn": "^8.14.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.2.0" } }, "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg=="], + "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="], - "esquery": ["esquery@1.6.0", "", { "dependencies": { "estraverse": "^5.1.0" } }, "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg=="], + "esbuild": ["esbuild@0.27.7", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.27.7", "@esbuild/android-arm": "0.27.7", "@esbuild/android-arm64": "0.27.7", "@esbuild/android-x64": "0.27.7", "@esbuild/darwin-arm64": "0.27.7", "@esbuild/darwin-x64": "0.27.7", "@esbuild/freebsd-arm64": "0.27.7", "@esbuild/freebsd-x64": "0.27.7", "@esbuild/linux-arm": "0.27.7", "@esbuild/linux-arm64": "0.27.7", "@esbuild/linux-ia32": "0.27.7", "@esbuild/linux-loong64": "0.27.7", "@esbuild/linux-mips64el": "0.27.7", "@esbuild/linux-ppc64": "0.27.7", "@esbuild/linux-riscv64": "0.27.7", "@esbuild/linux-s390x": "0.27.7", "@esbuild/linux-x64": "0.27.7", "@esbuild/netbsd-arm64": "0.27.7", "@esbuild/netbsd-x64": "0.27.7", "@esbuild/openbsd-arm64": "0.27.7", "@esbuild/openbsd-x64": "0.27.7", "@esbuild/openharmony-arm64": "0.27.7", "@esbuild/sunos-x64": "0.27.7", "@esbuild/win32-arm64": "0.27.7", "@esbuild/win32-ia32": "0.27.7", "@esbuild/win32-x64": "0.27.7" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w=="], - "esrecurse": ["esrecurse@4.3.0", "", { "dependencies": { "estraverse": "^5.2.0" } }, "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="], + "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], + + "escape-html": ["escape-html@1.0.3", "", {}, "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="], + + "escape-string-regexp": ["escape-string-regexp@1.0.5", "", {}, "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="], + + "escodegen": ["escodegen@2.1.0", "", { "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", "esutils": "^2.0.2" }, "optionalDependencies": { "source-map": "~0.6.1" }, "bin": { "esgenerate": "bin/esgenerate.js", "escodegen": "bin/escodegen.js" } }, "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w=="], + + "esm-env": ["esm-env@1.2.2", "", {}, "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA=="], + + "esprima": ["esprima@4.0.1", "", { "bin": { "esparse": "./bin/esparse.js", "esvalidate": "./bin/esvalidate.js" } }, "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="], + + "esrap": ["esrap@2.2.6", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" }, "peerDependencies": { "@typescript-eslint/types": "^8.2.0" }, "optionalPeers": ["@typescript-eslint/types"] }, "sha512-WN0clHt0a4mzC780UBVVBpsj4vSSjOFNRd2WjYtduB9HeKxm1sjHMNUwLEHVjI3FdCQD/Hurgz9ftbKEzP79Ow=="], "estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], @@ -600,1004 +598,1098 @@ "esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="], - "eventemitter3": ["eventemitter3@5.0.1", "", {}, "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA=="], + "etag": ["etag@1.8.1", "", {}, "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="], + + "eventemitter3": ["eventemitter3@5.0.4", "", {}, "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw=="], + + "events-universal": ["events-universal@1.0.1", "", { "dependencies": { "bare-events": "^2.7.0" } }, "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw=="], - "execa": ["execa@8.0.1", "", { "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^8.0.1", "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" } }, "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg=="], + "express": ["express@4.22.1", "", { "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.14.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" } }, "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g=="], - "expect-type": ["expect-type@1.2.1", "", {}, "sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw=="], + "extend": ["extend@3.0.2", "", {}, "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="], - "exsolve": ["exsolve@1.0.5", "", {}, "sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg=="], + "external-editor": ["external-editor@3.1.0", "", { "dependencies": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", "tmp": "^0.0.33" } }, "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew=="], + + "extract-zip": ["extract-zip@2.0.1", "", { "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" }, "optionalDependencies": { "@types/yauzl": "^2.9.1" }, "bin": { "extract-zip": "cli.js" } }, "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg=="], "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], - "fast-diff": ["fast-diff@1.3.0", "", {}, "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw=="], + "fast-fifo": ["fast-fifo@1.3.2", "", {}, "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ=="], - "fast-glob": ["fast-glob@3.3.3", "", { "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" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="], + "fast-uri": ["fast-uri@3.1.2", "", {}, "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ=="], - "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="], + "fast-xml-builder": ["fast-xml-builder@1.2.0", "", { "dependencies": { "path-expression-matcher": "^1.5.0", "xml-naming": "^0.1.0" } }, "sha512-00aAWieqff+ZJhsXA4g1g7M8k+7AYoMUUHF+/zFb5U6Uv/P0Vl4QZo84/IcufzYalLuEj9928bXN9PbbFzMF0Q=="], - "fast-levenshtein": ["fast-levenshtein@2.0.6", "", {}, "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="], + "fast-xml-parser": ["fast-xml-parser@5.7.3", "", { "dependencies": { "@nodable/entities": "^2.1.0", "fast-xml-builder": "^1.1.7", "path-expression-matcher": "^1.5.0", "strnum": "^2.2.3" }, "bin": { "fxparser": "src/cli/cli.js" } }, "sha512-C0AaNuC+mscy6vrAQKAc/rMq+zAPHodfHGZu4sGVehvAQt/JLG1O5zEcYcXSY5zSqr4YVgxsB+pHXTq0i7eDlg=="], - "fastq": ["fastq@1.18.0", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw=="], + "fd-slicer": ["fd-slicer@1.1.0", "", { "dependencies": { "pend": "~1.2.0" } }, "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g=="], - "fdir": ["fdir@6.4.4", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg=="], + "fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="], - "figures": ["figures@6.1.0", "", { "dependencies": { "is-unicode-supported": "^2.0.0" } }, "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg=="], + "figures": ["figures@2.0.0", "", { "dependencies": { "escape-string-regexp": "^1.0.5" } }, "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA=="], - "file-entry-cache": ["file-entry-cache@8.0.0", "", { "dependencies": { "flat-cache": "^4.0.0" } }, "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ=="], + "finalhandler": ["finalhandler@1.3.2", "", { "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.2", "unpipe": "~1.0.0" } }, "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg=="], - "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], + "find-up": ["find-up@4.1.0", "", { "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="], - "find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="], + "flattie": ["flattie@1.1.1", "", {}, "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ=="], - "flat-cache": ["flat-cache@4.0.1", "", { "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" } }, "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw=="], + "fontace": ["fontace@0.4.1", "", { "dependencies": { "fontkitten": "^1.0.2" } }, "sha512-lDMvbAzSnHmbYMTEld5qdtvNH2/pWpICOqpean9IgC7vUbUJc3k+k5Dokp85CegamqQpFbXf0rAVkbzpyTA8aw=="], - "flatted": ["flatted@3.3.2", "", {}, "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA=="], + "fontkitten": ["fontkitten@1.0.3", "", { "dependencies": { "tiny-inflate": "^1.0.3" } }, "sha512-Wp1zXWPVUPBmfoa3Cqc9ctaKuzKAV6uLstRqlR56kSjplf5uAce+qeyYym7F+PHbGTk+tCEdkCW6RD7DX/gBZw=="], - "follow-redirects": ["follow-redirects@1.15.9", "", {}, "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ=="], + "forwarded": ["forwarded@0.2.0", "", {}, "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="], - "foreground-child": ["foreground-child@3.3.0", "", { "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" } }, "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg=="], + "framer-motion": ["framer-motion@12.38.0", "", { "dependencies": { "motion-dom": "^12.38.0", "motion-utils": "^12.36.0", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-rFYkY/pigbcswl1XQSb7q424kSTQ8q6eAC+YUsSKooHQYuLdzdHjrt6uxUC+PRAO++q5IS7+TamgIw1AphxR+g=="], - "form-data": ["form-data@4.0.2", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "mime-types": "^2.1.12" } }, "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w=="], + "fresh": ["fresh@0.5.2", "", {}, "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="], - "fs-extra": ["fs-extra@11.3.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew=="], + "fs.realpath": ["fs.realpath@1.0.0", "", {}, "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="], "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], - "gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="], + "get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="], - "get-east-asian-width": ["get-east-asian-width@1.3.0", "", {}, "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ=="], + "get-east-asian-width": ["get-east-asian-width@1.6.0", "", {}, "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA=="], "get-intrinsic": ["get-intrinsic@1.3.0", "", { "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" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="], "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], - "get-stream": ["get-stream@8.0.1", "", {}, "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA=="], - - "giget": ["giget@2.0.0", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "defu": "^6.1.4", "node-fetch-native": "^1.6.6", "nypm": "^0.6.0", "pathe": "^2.0.3" }, "bin": { "giget": "dist/cli.mjs" } }, "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA=="], + "get-stream": ["get-stream@5.2.0", "", { "dependencies": { "pump": "^3.0.0" } }, "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA=="], - "glob": ["glob@10.4.5", "", { "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": "dist/esm/bin.mjs" }, "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg=="], + "get-uri": ["get-uri@6.0.5", "", { "dependencies": { "basic-ftp": "^5.0.2", "data-uri-to-buffer": "^6.0.2", "debug": "^4.3.4" } }, "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg=="], - "glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="], + "github-slugger": ["github-slugger@2.0.0", "", {}, "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw=="], - "globals": ["globals@13.24.0", "", { "dependencies": { "type-fest": "^0.20.2" } }, "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ=="], + "glob": ["glob@7.2.3", "", { "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" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], - "graphemer": ["graphemer@1.4.0", "", {}, "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag=="], + "h3": ["h3@1.15.11", "", { "dependencies": { "cookie-es": "^1.2.3", "crossws": "^0.3.5", "defu": "^6.1.6", "destr": "^2.0.5", "iron-webcrypto": "^1.2.1", "node-mock-http": "^1.0.4", "radix3": "^1.1.2", "ufo": "^1.6.3", "uncrypto": "^0.1.3" } }, "sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg=="], - "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], + "has-flag": ["has-flag@3.0.0", "", {}, "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="], "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="], - "has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="], + "hasown": ["hasown@2.0.3", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg=="], + + "hast-util-from-html": ["hast-util-from-html@2.0.3", "", { "dependencies": { "@types/hast": "^3.0.0", "devlop": "^1.1.0", "hast-util-from-parse5": "^8.0.0", "parse5": "^7.0.0", "vfile": "^6.0.0", "vfile-message": "^4.0.0" } }, "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw=="], + + "hast-util-from-parse5": ["hast-util-from-parse5@8.0.3", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "devlop": "^1.0.0", "hastscript": "^9.0.0", "property-information": "^7.0.0", "vfile": "^6.0.0", "vfile-location": "^5.0.0", "web-namespaces": "^2.0.0" } }, "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg=="], + + "hast-util-is-element": ["hast-util-is-element@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g=="], + + "hast-util-parse-selector": ["hast-util-parse-selector@4.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A=="], + + "hast-util-raw": ["hast-util-raw@9.1.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "@ungap/structured-clone": "^1.0.0", "hast-util-from-parse5": "^8.0.0", "hast-util-to-parse5": "^8.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "parse5": "^7.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw=="], - "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], + "hast-util-to-html": ["hast-util-to-html@9.0.5", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "ccount": "^2.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-whitespace": "^3.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "stringify-entities": "^4.0.0", "zwitch": "^2.0.4" } }, "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw=="], - "he": ["he@1.2.0", "", { "bin": "bin/he" }, "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="], + "hast-util-to-parse5": ["hast-util-to-parse5@8.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA=="], - "hookable": ["hookable@5.5.3", "", {}, "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="], + "hast-util-to-text": ["hast-util-to-text@4.0.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "hast-util-is-element": "^3.0.0", "unist-util-find-after": "^5.0.0" } }, "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A=="], - "html-encoding-sniffer": ["html-encoding-sniffer@4.0.0", "", { "dependencies": { "whatwg-encoding": "^3.1.1" } }, "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ=="], + "hast-util-whitespace": ["hast-util-whitespace@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw=="], - "html-tags": ["html-tags@3.3.1", "", {}, "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ=="], + "hastscript": ["hastscript@9.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-parse-selector": "^4.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0" } }, "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w=="], + + "html-escaper": ["html-escaper@3.0.3", "", {}, "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ=="], + + "html-void-elements": ["html-void-elements@3.0.0", "", {}, "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg=="], + + "http-cache-semantics": ["http-cache-semantics@4.2.0", "", {}, "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ=="], + + "http-errors": ["http-errors@2.0.1", "", { "dependencies": { "depd": "~2.0.0", "inherits": "~2.0.4", "setprototypeof": "~1.2.0", "statuses": "~2.0.2", "toidentifier": "~1.0.1" } }, "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ=="], + + "http-link-header": ["http-link-header@1.1.3", "", {}, "sha512-3cZ0SRL8fb9MUlU3mKM61FcQvPfXx2dBrZW3Vbg5CXa8jFlK8OaEpePenLe1oEXQduhz8b0QjsqfS59QP4AJDQ=="], "http-proxy-agent": ["http-proxy-agent@7.0.2", "", { "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" } }, "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig=="], "https-proxy-agent": ["https-proxy-agent@7.0.6", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw=="], - "human-signals": ["human-signals@5.0.0", "", {}, "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ=="], + "iconv-lite": ["iconv-lite@0.4.24", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3" } }, "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="], - "husky": ["husky@9.1.7", "", { "bin": { "husky": "bin.js" } }, "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA=="], + "image-ssim": ["image-ssim@0.2.0", "", {}, "sha512-W7+sO6/yhxy83L0G7xR8YAc5Z5QFtYEXXRV6EaE8tuYBZJnA3gVgp3q7X7muhLZVodeb9UfvjSbwt9VJwjIYAg=="], - "iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="], + "immediate": ["immediate@3.0.6", "", {}, "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ=="], - "ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], + "import-meta-resolve": ["import-meta-resolve@4.2.0", "", {}, "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg=="], - "immutable": ["immutable@5.0.3", "", {}, "sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw=="], + "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="], - "import-fresh": ["import-fresh@3.3.0", "", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw=="], + "inflight": ["inflight@1.0.6", "", { "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA=="], - "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="], + "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], - "ini": ["ini@1.3.8", "", {}, "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="], + "inquirer": ["inquirer@6.5.2", "", { "dependencies": { "ansi-escapes": "^3.2.0", "chalk": "^2.4.2", "cli-cursor": "^2.1.0", "cli-width": "^2.0.0", "external-editor": "^3.0.3", "figures": "^2.0.0", "lodash": "^4.17.12", "mute-stream": "0.0.7", "run-async": "^2.2.0", "rxjs": "^6.4.0", "string-width": "^2.1.0", "strip-ansi": "^5.1.0", "through": "^2.3.6" } }, "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ=="], - "is-docker": ["is-docker@3.0.0", "", { "bin": "cli.js" }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], + "intl-messageformat": ["intl-messageformat@10.7.18", "", { "dependencies": { "@formatjs/ecma402-abstract": "2.3.6", "@formatjs/fast-memoize": "2.2.7", "@formatjs/icu-messageformat-parser": "2.11.4", "tslib": "^2.8.0" } }, "sha512-m3Ofv/X/tV8Y3tHXLohcuVuhWKo7BBq62cqY15etqmLxg2DZ34AGGgQDeR+SCta2+zICb1NX83af0GJmbQ1++g=="], - "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], + "ip-address": ["ip-address@10.2.0", "", {}, "sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA=="], - "is-fullwidth-code-point": ["is-fullwidth-code-point@4.0.0", "", {}, "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ=="], + "ipaddr.js": ["ipaddr.js@1.9.1", "", {}, "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="], - "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], + "iron-webcrypto": ["iron-webcrypto@1.2.1", "", {}, "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg=="], - "is-inside-container": ["is-inside-container@1.0.0", "", { "dependencies": { "is-docker": "^3.0.0" }, "bin": "cli.js" }, "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA=="], + "is-docker": ["is-docker@2.2.1", "", { "bin": { "is-docker": "cli.js" } }, "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="], - "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], + "is-fullwidth-code-point": ["is-fullwidth-code-point@2.0.0", "", {}, "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w=="], + + "is-inside-container": ["is-inside-container@1.0.0", "", { "dependencies": { "is-docker": "^3.0.0" }, "bin": { "is-inside-container": "cli.js" } }, "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA=="], + + "is-obj": ["is-obj@2.0.0", "", {}, "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="], "is-plain-obj": ["is-plain-obj@4.1.0", "", {}, "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="], - "is-potential-custom-element-name": ["is-potential-custom-element-name@1.0.1", "", {}, "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ=="], + "is-reference": ["is-reference@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.6" } }, "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw=="], - "is-stream": ["is-stream@3.0.0", "", {}, "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA=="], + "is-typedarray": ["is-typedarray@1.0.0", "", {}, "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="], - "is-unicode-supported": ["is-unicode-supported@2.1.0", "", {}, "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ=="], + "is-wsl": ["is-wsl@2.2.0", "", { "dependencies": { "is-docker": "^2.0.0" } }, "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww=="], - "is-what": ["is-what@4.1.16", "", {}, "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A=="], + "isomorphic-fetch": ["isomorphic-fetch@3.0.0", "", { "dependencies": { "node-fetch": "^2.6.1", "whatwg-fetch": "^3.4.1" } }, "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA=="], - "is-wsl": ["is-wsl@3.1.0", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw=="], + "jpeg-js": ["jpeg-js@0.4.4", "", {}, "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg=="], - "isexe": ["isexe@3.1.1", "", {}, "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ=="], + "js-library-detector": ["js-library-detector@6.7.0", "", {}, "sha512-c80Qupofp43y4cJ7+8TTDN/AsDwLi5oOm/plBrWI+iQt485vKXCco+yVmOwEgdo9VOdsYTuV0UlTeetVPTriXA=="], - "jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], + "js-yaml": ["js-yaml@4.1.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="], - "jiti": ["jiti@2.4.2", "", { "bin": "lib/jiti-cli.mjs" }, "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A=="], + "json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], - "js-beautify": ["js-beautify@1.15.1", "", { "dependencies": { "config-chain": "^1.1.13", "editorconfig": "^1.0.4", "glob": "^10.3.3", "js-cookie": "^3.0.5", "nopt": "^7.2.0" }, "bin": { "css-beautify": "js/bin/css-beautify.js", "html-beautify": "js/bin/html-beautify.js", "js-beautify": "js/bin/js-beautify.js" } }, "sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA=="], + "jsonc-parser": ["jsonc-parser@2.3.1", "", {}, "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg=="], - "js-cookie": ["js-cookie@3.0.5", "", {}, "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw=="], + "kleur": ["kleur@4.1.5", "", {}, "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="], - "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], + "legacy-javascript": ["legacy-javascript@0.0.1", "", {}, "sha512-lPyntS4/aS7jpuvOlitZDFifBCb4W8L/3QU0PLbUTUj+zYah8rfVjYic88yG7ZKTxhS5h9iz7duT8oUXKszLhg=="], - "js-yaml": ["js-yaml@4.1.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": "bin/js-yaml.js" }, "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA=="], + "lie": ["lie@3.1.1", "", { "dependencies": { "immediate": "~3.0.5" } }, "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw=="], - "jsdom": ["jsdom@26.1.0", "", { "dependencies": { "cssstyle": "^4.2.1", "data-urls": "^5.0.0", "decimal.js": "^10.5.0", "html-encoding-sniffer": "^4.0.0", "http-proxy-agent": "^7.0.2", "https-proxy-agent": "^7.0.6", "is-potential-custom-element-name": "^1.0.1", "nwsapi": "^2.2.16", "parse5": "^7.2.1", "rrweb-cssom": "^0.8.0", "saxes": "^6.0.0", "symbol-tree": "^3.2.4", "tough-cookie": "^5.1.1", "w3c-xmlserializer": "^5.0.0", "webidl-conversions": "^7.0.0", "whatwg-encoding": "^3.1.1", "whatwg-mimetype": "^4.0.0", "whatwg-url": "^14.1.1", "ws": "^8.18.0", "xml-name-validator": "^5.0.0" }, "peerDependencies": { "canvas": "^3.0.0" }, "optionalPeers": ["canvas"] }, "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg=="], + "lighthouse": ["lighthouse@12.6.1", "", { "dependencies": { "@paulirish/trace_engine": "0.0.53", "@sentry/node": "^7.0.0", "axe-core": "^4.10.3", "chrome-launcher": "^1.2.0", "configstore": "^5.0.1", "csp_evaluator": "1.1.5", "devtools-protocol": "0.0.1467305", "enquirer": "^2.3.6", "http-link-header": "^1.1.1", "intl-messageformat": "^10.5.3", "jpeg-js": "^0.4.4", "js-library-detector": "^6.7.0", "lighthouse-logger": "^2.0.1", "lighthouse-stack-packs": "1.12.2", "lodash-es": "^4.17.21", "lookup-closest-locale": "6.2.0", "metaviewport-parser": "0.3.0", "open": "^8.4.0", "parse-cache-control": "1.0.1", "puppeteer-core": "^24.10.0", "robots-parser": "^3.0.1", "semver": "^5.3.0", "speedline-core": "^1.4.3", "third-party-web": "^0.26.6", "tldts-icann": "^6.1.16", "ws": "^7.0.0", "yargs": "^17.3.1", "yargs-parser": "^21.0.0" }, "bin": { "lighthouse": "cli/index.js", "smokehouse": "cli/test/smokehouse/frontends/smokehouse-bin.js", "chrome-debug": "core/scripts/manual-chrome-launcher.js" } }, "sha512-85WDkjcXAVdlFem9Y6SSxqoKiz/89UsDZhLpeLJIsJ4LlHxw047XTZhlFJmjYCB7K5S1erSBAf5cYLcfyNbH3A=="], - "jsesc": ["jsesc@3.1.0", "", { "bin": "bin/jsesc" }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], + "lighthouse-logger": ["lighthouse-logger@1.2.0", "", { "dependencies": { "debug": "^2.6.8", "marky": "^1.2.0" } }, "sha512-wzUvdIeJZhRsG6gpZfmSCfysaxNEr43i+QT+Hie94wvHDKFLi4n7C2GqZ4sTC+PH5b5iktmXJvU87rWvhP3lHw=="], - "json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="], + "lighthouse-stack-packs": ["lighthouse-stack-packs@1.12.2", "", {}, "sha512-Ug8feS/A+92TMTCK6yHYLwaFMuelK/hAKRMdldYkMNwv+d9PtWxjXEg6rwKtsUXTADajhdrhXyuNCJ5/sfmPFw=="], - "json-parse-even-better-errors": ["json-parse-even-better-errors@4.0.0", "", {}, "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA=="], + "localforage": ["localforage@1.10.0", "", { "dependencies": { "lie": "3.1.1" } }, "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg=="], - "json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], + "locate-character": ["locate-character@3.0.0", "", {}, "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA=="], - "json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="], + "locate-path": ["locate-path@5.0.0", "", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="], - "json5": ["json5@2.2.3", "", { "bin": "lib/cli.js" }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="], + "lodash": ["lodash@4.18.1", "", {}, "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q=="], - "jsonc-parser": ["jsonc-parser@3.3.1", "", {}, "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ=="], + "lodash-es": ["lodash-es@4.18.1", "", {}, "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A=="], - "jsonfile": ["jsonfile@6.1.0", "", { "dependencies": { "universalify": "^2.0.0" }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ=="], + "longest-streak": ["longest-streak@3.1.0", "", {}, "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g=="], - "keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="], + "lookup-closest-locale": ["lookup-closest-locale@6.2.0", "", {}, "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ=="], - "klona": ["klona@2.0.6", "", {}, "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA=="], + "lru-cache": ["lru-cache@7.18.3", "", {}, "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA=="], - "knitwork": ["knitwork@1.2.0", "", {}, "sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg=="], + "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], - "kolorist": ["kolorist@1.8.0", "", {}, "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ=="], + "magicast": ["magicast@0.5.2", "", { "dependencies": { "@babel/parser": "^7.29.0", "@babel/types": "^7.29.0", "source-map-js": "^1.2.1" } }, "sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ=="], - "levn": ["levn@0.4.1", "", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="], + "make-dir": ["make-dir@3.1.0", "", { "dependencies": { "semver": "^6.0.0" } }, "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw=="], - "lilconfig": ["lilconfig@3.1.3", "", {}, "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw=="], + "markdown-table": ["markdown-table@3.0.4", "", {}, "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw=="], - "lint-staged": ["lint-staged@15.5.2", "", { "dependencies": { "chalk": "^5.4.1", "commander": "^13.1.0", "debug": "^4.4.0", "execa": "^8.0.1", "lilconfig": "^3.1.3", "listr2": "^8.2.5", "micromatch": "^4.0.8", "pidtree": "^0.6.0", "string-argv": "^0.3.2", "yaml": "^2.7.0" }, "bin": { "lint-staged": "bin/lint-staged.js" } }, "sha512-YUSOLq9VeRNAo/CTaVmhGDKG+LBtA8KF1X4K5+ykMSwWST1vDxJRB2kv2COgLb1fvpCo+A/y9A0G0znNVmdx4w=="], + "marky": ["marky@1.3.0", "", {}, "sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ=="], - "listr2": ["listr2@8.2.5", "", { "dependencies": { "cli-truncate": "^4.0.0", "colorette": "^2.0.20", "eventemitter3": "^5.0.1", "log-update": "^6.1.0", "rfdc": "^1.4.1", "wrap-ansi": "^9.0.0" } }, "sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ=="], + "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], - "local-pkg": ["local-pkg@1.0.0", "", { "dependencies": { "mlly": "^1.7.3", "pkg-types": "^1.3.0" } }, "sha512-bbgPw/wmroJsil/GgL4qjDzs5YLTBMQ99weRsok1XCDccQeehbHA/I1oRvk2NPtr7KGZgT/Y5tPRnAtMqeG2Kg=="], + "mdast-util-definitions": ["mdast-util-definitions@6.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ=="], - "locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="], + "mdast-util-find-and-replace": ["mdast-util-find-and-replace@3.0.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "escape-string-regexp": "^5.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg=="], - "lodash": ["lodash@4.17.21", "", {}, "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="], + "mdast-util-from-markdown": ["mdast-util-from-markdown@2.0.3", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "mdast-util-to-string": "^4.0.0", "micromark": "^4.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q=="], - "lodash.merge": ["lodash.merge@4.6.2", "", {}, "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="], + "mdast-util-gfm": ["mdast-util-gfm@3.1.0", "", { "dependencies": { "mdast-util-from-markdown": "^2.0.0", "mdast-util-gfm-autolink-literal": "^2.0.0", "mdast-util-gfm-footnote": "^2.0.0", "mdast-util-gfm-strikethrough": "^2.0.0", "mdast-util-gfm-table": "^2.0.0", "mdast-util-gfm-task-list-item": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ=="], - "log-update": ["log-update@6.1.0", "", { "dependencies": { "ansi-escapes": "^7.0.0", "cli-cursor": "^5.0.0", "slice-ansi": "^7.1.0", "strip-ansi": "^7.1.0", "wrap-ansi": "^9.0.0" } }, "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w=="], + "mdast-util-gfm-autolink-literal": ["mdast-util-gfm-autolink-literal@2.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "ccount": "^2.0.0", "devlop": "^1.0.0", "mdast-util-find-and-replace": "^3.0.0", "micromark-util-character": "^2.0.0" } }, "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ=="], - "loupe": ["loupe@3.1.3", "", {}, "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug=="], + "mdast-util-gfm-footnote": ["mdast-util-gfm-footnote@2.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.1.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0" } }, "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ=="], - "lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], + "mdast-util-gfm-strikethrough": ["mdast-util-gfm-strikethrough@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg=="], - "magic-string": ["magic-string@0.30.17", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA=="], + "mdast-util-gfm-table": ["mdast-util-gfm-table@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "markdown-table": "^3.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg=="], - "magic-string-ast": ["magic-string-ast@0.7.0", "", { "dependencies": { "magic-string": "^0.30.17" } }, "sha512-686fgAHaJY7wLTFEq7nnKqeQrhqmXB19d1HnqT35Ci7BN6hbAYLZUezTQ062uUHM7ggZEQlqJ94Ftls+KDXU8Q=="], + "mdast-util-gfm-task-list-item": ["mdast-util-gfm-task-list-item@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ=="], - "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], + "mdast-util-phrasing": ["mdast-util-phrasing@4.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "unist-util-is": "^6.0.0" } }, "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w=="], - "memorystream": ["memorystream@0.3.1", "", {}, "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw=="], + "mdast-util-to-hast": ["mdast-util-to-hast@13.2.1", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@ungap/structured-clone": "^1.0.0", "devlop": "^1.0.0", "micromark-util-sanitize-uri": "^2.0.0", "trim-lines": "^3.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA=="], - "merge-stream": ["merge-stream@2.0.0", "", {}, "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="], + "mdast-util-to-markdown": ["mdast-util-to-markdown@2.1.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "longest-streak": "^3.0.0", "mdast-util-phrasing": "^4.0.0", "mdast-util-to-string": "^4.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "unist-util-visit": "^5.0.0", "zwitch": "^2.0.0" } }, "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA=="], - "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="], + "mdast-util-to-string": ["mdast-util-to-string@4.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0" } }, "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg=="], - "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], + "mdn-data": ["mdn-data@2.27.1", "", {}, "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ=="], - "mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], + "media-typer": ["media-typer@0.3.0", "", {}, "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ=="], - "mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], + "merge-descriptors": ["merge-descriptors@1.0.3", "", {}, "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ=="], + + "metaviewport-parser": ["metaviewport-parser@0.3.0", "", {}, "sha512-EoYJ8xfjQ6kpe9VbVHvZTZHiOl4HL1Z18CrZ+qahvLXT7ZO4YTC2JMyt5FaUp9JJp6J4Ybb/z7IsCXZt86/QkQ=="], + + "methods": ["methods@1.1.2", "", {}, "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="], - "mimic-fn": ["mimic-fn@4.0.0", "", {}, "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw=="], + "micromark": ["micromark@4.0.2", "", { "dependencies": { "@types/debug": "^4.0.0", "debug": "^4.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA=="], - "mimic-function": ["mimic-function@5.0.1", "", {}, "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA=="], + "micromark-core-commonmark": ["micromark-core-commonmark@2.0.3", "", { "dependencies": { "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "micromark-factory-destination": "^2.0.0", "micromark-factory-label": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-factory-title": "^2.0.0", "micromark-factory-whitespace": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-html-tag-name": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg=="], - "minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], + "micromark-extension-gfm": ["micromark-extension-gfm@3.0.0", "", { "dependencies": { "micromark-extension-gfm-autolink-literal": "^2.0.0", "micromark-extension-gfm-footnote": "^2.0.0", "micromark-extension-gfm-strikethrough": "^2.0.0", "micromark-extension-gfm-table": "^2.0.0", "micromark-extension-gfm-tagfilter": "^2.0.0", "micromark-extension-gfm-task-list-item": "^2.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w=="], - "minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="], + "micromark-extension-gfm-autolink-literal": ["micromark-extension-gfm-autolink-literal@2.1.0", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw=="], + + "micromark-extension-gfm-footnote": ["micromark-extension-gfm-footnote@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw=="], + + "micromark-extension-gfm-strikethrough": ["micromark-extension-gfm-strikethrough@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw=="], + + "micromark-extension-gfm-table": ["micromark-extension-gfm-table@2.1.1", "", { "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg=="], + + "micromark-extension-gfm-tagfilter": ["micromark-extension-gfm-tagfilter@2.0.0", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg=="], + + "micromark-extension-gfm-task-list-item": ["micromark-extension-gfm-task-list-item@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw=="], + + "micromark-factory-destination": ["micromark-factory-destination@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA=="], + + "micromark-factory-label": ["micromark-factory-label@2.0.1", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg=="], + + "micromark-factory-space": ["micromark-factory-space@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg=="], + + "micromark-factory-title": ["micromark-factory-title@2.0.1", "", { "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw=="], + + "micromark-factory-whitespace": ["micromark-factory-whitespace@2.0.1", "", { "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ=="], + + "micromark-util-character": ["micromark-util-character@2.1.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q=="], + + "micromark-util-chunked": ["micromark-util-chunked@2.0.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA=="], + + "micromark-util-classify-character": ["micromark-util-classify-character@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q=="], + + "micromark-util-combine-extensions": ["micromark-util-combine-extensions@2.0.1", "", { "dependencies": { "micromark-util-chunked": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg=="], + + "micromark-util-decode-numeric-character-reference": ["micromark-util-decode-numeric-character-reference@2.0.2", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw=="], + + "micromark-util-decode-string": ["micromark-util-decode-string@2.0.1", "", { "dependencies": { "decode-named-character-reference": "^1.0.0", "micromark-util-character": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-symbol": "^2.0.0" } }, "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ=="], + + "micromark-util-encode": ["micromark-util-encode@2.0.1", "", {}, "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw=="], + + "micromark-util-html-tag-name": ["micromark-util-html-tag-name@2.0.1", "", {}, "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA=="], + + "micromark-util-normalize-identifier": ["micromark-util-normalize-identifier@2.0.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q=="], + + "micromark-util-resolve-all": ["micromark-util-resolve-all@2.0.1", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg=="], + + "micromark-util-sanitize-uri": ["micromark-util-sanitize-uri@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-symbol": "^2.0.0" } }, "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ=="], + + "micromark-util-subtokenize": ["micromark-util-subtokenize@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA=="], + + "micromark-util-symbol": ["micromark-util-symbol@2.0.1", "", {}, "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q=="], + + "micromark-util-types": ["micromark-util-types@2.0.2", "", {}, "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA=="], + + "mime": ["mime@1.6.0", "", { "bin": { "mime": "cli.js" } }, "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="], + + "mime-db": ["mime-db@1.54.0", "", {}, "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ=="], + + "mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], + + "mimic-fn": ["mimic-fn@1.2.0", "", {}, "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="], + + "minimatch": ["minimatch@3.1.5", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="], + + "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], "mitt": ["mitt@3.0.1", "", {}, "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw=="], - "mlly": ["mlly@1.7.4", "", { "dependencies": { "acorn": "^8.14.0", "pathe": "^2.0.1", "pkg-types": "^1.3.0", "ufo": "^1.5.4" } }, "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw=="], + "mkdirp": ["mkdirp@0.5.6", "", { "dependencies": { "minimist": "^1.2.6" }, "bin": { "mkdirp": "bin/cmd.js" } }, "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw=="], - "mrmime": ["mrmime@2.0.0", "", {}, "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw=="], + "motion": ["motion@12.38.0", "", { "dependencies": { "framer-motion": "^12.38.0", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-uYfXzeHlgThchzwz5Te47dlv5JOUC7OB4rjJ/7XTUgtBZD8CchMN8qEJ4ZVsUmTyYA44zjV0fBwsiktRuFnn+w=="], - "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + "motion-dom": ["motion-dom@12.38.0", "", { "dependencies": { "motion-utils": "^12.36.0" } }, "sha512-pdkHLD8QYRp8VfiNLb8xIBJis1byQ9gPT3Jnh2jqfFtAsWUA3dEepDlsWe/xMpO8McV+VdpKVcp+E+TGJEtOoA=="], - "muggle-string": ["muggle-string@0.4.1", "", {}, "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ=="], + "motion-utils": ["motion-utils@12.36.0", "", {}, "sha512-eHWisygbiwVvf6PZ1vhaHCLamvkSbPIeAYxWUuL3a2PD/TROgE7FvfHWTIH4vMl798QLfMw15nRqIaRDXTlYRg=="], - "nanoid": ["nanoid@3.3.8", "", { "bin": "bin/nanoid.cjs" }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="], + "mrmime": ["mrmime@2.0.1", "", {}, "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ=="], - "natural-compare": ["natural-compare@1.4.0", "", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="], + "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], - "node-fetch-native": ["node-fetch-native@1.6.6", "", {}, "sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ=="], + "muggle-string": ["muggle-string@0.4.1", "", {}, "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ=="], - "node-releases": ["node-releases@2.0.19", "", {}, "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw=="], + "mute-stream": ["mute-stream@0.0.7", "", {}, "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ=="], - "nopt": ["nopt@7.2.1", "", { "dependencies": { "abbrev": "^2.0.0" }, "bin": "bin/nopt.js" }, "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w=="], + "nanoid": ["nanoid@3.3.12", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ=="], - "npm-normalize-package-bin": ["npm-normalize-package-bin@4.0.0", "", {}, "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w=="], + "negotiator": ["negotiator@0.6.4", "", {}, "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w=="], - "npm-run-all2": ["npm-run-all2@8.0.4", "", { "dependencies": { "ansi-styles": "^6.2.1", "cross-spawn": "^7.0.6", "memorystream": "^0.3.1", "picomatch": "^4.0.2", "pidtree": "^0.6.0", "read-package-json-fast": "^4.0.0", "shell-quote": "^1.7.3", "which": "^5.0.0" }, "bin": { "run-p": "bin/run-p/index.js", "run-s": "bin/run-s/index.js", "npm-run-all": "bin/npm-run-all/index.js", "npm-run-all2": "bin/npm-run-all/index.js" } }, "sha512-wdbB5My48XKp2ZfJUlhnLVihzeuA1hgBnqB2J9ahV77wLS+/YAJAlN8I+X3DIFIPZ3m5L7nplmlbhNiFDmXRDA=="], + "neotraverse": ["neotraverse@0.6.18", "", {}, "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA=="], - "npm-run-path": ["npm-run-path@5.3.0", "", { "dependencies": { "path-key": "^4.0.0" } }, "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ=="], + "netmask": ["netmask@2.1.1", "", {}, "sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA=="], - "nth-check": ["nth-check@2.1.1", "", { "dependencies": { "boolbase": "^1.0.0" } }, "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w=="], + "nlcst-to-string": ["nlcst-to-string@4.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0" } }, "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA=="], - "nwsapi": ["nwsapi@2.2.16", "", {}, "sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ=="], + "node-fetch": ["node-fetch@2.7.0", "", { "dependencies": { "whatwg-url": "^5.0.0" }, "peerDependencies": { "encoding": "^0.1.0" }, "optionalPeers": ["encoding"] }, "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A=="], - "nypm": ["nypm@0.6.0", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "pathe": "^2.0.3", "pkg-types": "^2.0.0", "tinyexec": "^0.3.2" }, "bin": { "nypm": "dist/cli.mjs" } }, "sha512-mn8wBFV9G9+UFHIrq+pZ2r2zL4aPau/by3kJb3cM7+5tQHMt6HGQB8FDIeKFYp8o0D2pnH6nVsO88N4AmUxIWg=="], + "node-fetch-native": ["node-fetch-native@1.6.7", "", {}, "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q=="], - "ohash": ["ohash@2.0.11", "", {}, "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ=="], + "node-mock-http": ["node-mock-http@1.0.4", "", {}, "sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ=="], - "onetime": ["onetime@6.0.0", "", { "dependencies": { "mimic-fn": "^4.0.0" } }, "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ=="], + "normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="], - "open": ["open@10.1.0", "", { "dependencies": { "default-browser": "^5.2.1", "define-lazy-prop": "^3.0.0", "is-inside-container": "^1.0.0", "is-wsl": "^3.1.0" } }, "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw=="], + "nth-check": ["nth-check@2.1.1", "", { "dependencies": { "boolbase": "^1.0.0" } }, "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w=="], - "optionator": ["optionator@0.9.4", "", { "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" } }, "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g=="], + "object-inspect": ["object-inspect@1.13.4", "", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="], - "oxlint": ["oxlint@0.15.15", "", { "optionalDependencies": { "@oxlint/darwin-arm64": "0.15.15", "@oxlint/darwin-x64": "0.15.15", "@oxlint/linux-arm64-gnu": "0.15.15", "@oxlint/linux-arm64-musl": "0.15.15", "@oxlint/linux-x64-gnu": "0.15.15", "@oxlint/linux-x64-musl": "0.15.15", "@oxlint/win32-arm64": "0.15.15", "@oxlint/win32-x64": "0.15.15" }, "bin": { "oxlint": "bin/oxlint", "oxc_language_server": "bin/oxc_language_server" } }, "sha512-oQNc1mAHrrbKiXyKJMGs9VCZfwGfLy7YiQKa4qupi71X/u4xyWqOh36YKXqWOXnmm2y7vfWFpGZlhJPAa9tMqA=="], + "ofetch": ["ofetch@1.5.1", "", { "dependencies": { "destr": "^2.0.5", "node-fetch-native": "^1.6.7", "ufo": "^1.6.1" } }, "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA=="], - "p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="], + "ohash": ["ohash@2.0.11", "", {}, "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ=="], - "p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="], + "on-finished": ["on-finished@2.4.1", "", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg=="], - "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="], + "on-headers": ["on-headers@1.1.0", "", {}, "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A=="], - "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], + "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="], - "parse-ms": ["parse-ms@4.0.0", "", {}, "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw=="], + "onetime": ["onetime@2.0.1", "", { "dependencies": { "mimic-fn": "^1.0.0" } }, "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ=="], - "parse5": ["parse5@7.2.1", "", { "dependencies": { "entities": "^4.5.0" } }, "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ=="], + "oniguruma-parser": ["oniguruma-parser@0.12.2", "", {}, "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw=="], - "path-browserify": ["path-browserify@1.0.1", "", {}, "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="], + "oniguruma-to-es": ["oniguruma-to-es@4.3.6", "", { "dependencies": { "oniguruma-parser": "^0.12.2", "regex": "^6.1.0", "regex-recursion": "^6.0.2" } }, "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA=="], - "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="], + "open": ["open@7.4.2", "", { "dependencies": { "is-docker": "^2.0.0", "is-wsl": "^2.1.1" } }, "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q=="], - "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], + "os-tmpdir": ["os-tmpdir@1.0.2", "", {}, "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g=="], - "path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], + "p-limit": ["p-limit@6.2.0", "", { "dependencies": { "yocto-queue": "^1.1.1" } }, "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA=="], - "pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], + "p-locate": ["p-locate@4.1.0", "", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="], - "pathval": ["pathval@2.0.0", "", {}, "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA=="], + "p-queue": ["p-queue@8.1.1", "", { "dependencies": { "eventemitter3": "^5.0.1", "p-timeout": "^6.1.2" } }, "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ=="], - "perfect-debounce": ["perfect-debounce@1.0.0", "", {}, "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA=="], + "p-timeout": ["p-timeout@6.1.4", "", {}, "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg=="], - "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], + "p-try": ["p-try@2.2.0", "", {}, "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="], - "picomatch": ["picomatch@4.0.2", "", {}, "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="], + "pac-proxy-agent": ["pac-proxy-agent@7.2.0", "", { "dependencies": { "@tootallnate/quickjs-emscripten": "^0.23.0", "agent-base": "^7.1.2", "debug": "^4.3.4", "get-uri": "^6.0.1", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.6", "pac-resolver": "^7.0.1", "socks-proxy-agent": "^8.0.5" } }, "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA=="], - "pidtree": ["pidtree@0.6.0", "", { "bin": "bin/pidtree.js" }, "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g=="], + "pac-resolver": ["pac-resolver@7.0.1", "", { "dependencies": { "degenerator": "^5.0.0", "netmask": "^2.0.2" } }, "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg=="], - "pinia": ["pinia@3.0.2", "", { "dependencies": { "@vue/devtools-api": "^7.7.2" }, "peerDependencies": { "typescript": ">=4.4.4", "vue": "^2.7.0 || ^3.5.11" }, "optionalPeers": ["typescript"] }, "sha512-sH2JK3wNY809JOeiiURUR0wehJ9/gd9qFN2Y828jCbxEzKEmEt0pzCXwqiSTfuRsK9vQsOflSdnbdBOGrhtn+g=="], + "package-manager-detector": ["package-manager-detector@1.6.0", "", {}, "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA=="], - "pinia-plugin-persistedstate": ["pinia-plugin-persistedstate@4.3.0", "", { "dependencies": { "@nuxt/kit": "^3.17.2", "deep-pick-omit": "^1.2.1", "defu": "^6.1.4", "destr": "^2.0.5" }, "peerDependencies": { "@pinia/nuxt": ">=0.10.0", "pinia": ">=3.0.0" }, "optionalPeers": ["@pinia/nuxt", "pinia"] }, "sha512-x9wxpHj6iFDj5ITQJ3rj6+KesEqyRk/vqcE3WE+VGfetleV9Zufqwa9qJ6AkA5wmRSQEp7BTA1us/MDVTRHFFw=="], + "parse-cache-control": ["parse-cache-control@1.0.1", "", {}, "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg=="], - "pkg-types": ["pkg-types@1.3.1", "", { "dependencies": { "confbox": "^0.1.8", "mlly": "^1.7.4", "pathe": "^2.0.1" } }, "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ=="], + "parse-latin": ["parse-latin@7.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "@types/unist": "^3.0.0", "nlcst-to-string": "^4.0.0", "unist-util-modify-children": "^4.0.0", "unist-util-visit-children": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ=="], - "postcss": ["postcss@8.5.3", "", { "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A=="], + "parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="], - "postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="], + "parseurl": ["parseurl@1.3.3", "", {}, "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="], - "prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="], + "path-browserify": ["path-browserify@1.0.1", "", {}, "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="], - "prettier": ["prettier@3.5.3", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw=="], + "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="], - "prettier-linter-helpers": ["prettier-linter-helpers@1.0.0", "", { "dependencies": { "fast-diff": "^1.1.2" } }, "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w=="], + "path-expression-matcher": ["path-expression-matcher@1.5.0", "", {}, "sha512-cbrerZV+6rvdQrrD+iGMcZFEiiSrbv9Tfdkvnusy6y0x0GKBXREFg/Y65GhIfm0tnLntThhzCnfKwp1WRjeCyQ=="], - "pretty-ms": ["pretty-ms@9.2.0", "", { "dependencies": { "parse-ms": "^4.0.0" } }, "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg=="], + "path-is-absolute": ["path-is-absolute@1.0.1", "", {}, "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="], - "proto-list": ["proto-list@1.2.4", "", {}, "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA=="], + "path-to-regexp": ["path-to-regexp@0.1.13", "", {}, "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA=="], - "proxy-from-env": ["proxy-from-env@1.1.0", "", {}, "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="], + "pend": ["pend@1.2.0", "", {}, "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="], - "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], + "piccolore": ["piccolore@0.1.3", "", {}, "sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw=="], - "quansync": ["quansync@0.2.10", "", {}, "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A=="], + "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], - "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="], + "picomatch": ["picomatch@4.0.4", "", {}, "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A=="], - "rc9": ["rc9@2.1.2", "", { "dependencies": { "defu": "^6.1.4", "destr": "^2.0.3" } }, "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg=="], + "postcss": ["postcss@8.5.14", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg=="], - "read-package-json-fast": ["read-package-json-fast@4.0.0", "", { "dependencies": { "json-parse-even-better-errors": "^4.0.0", "npm-normalize-package-bin": "^4.0.0" } }, "sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg=="], + "prettier": ["prettier@3.8.3", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw=="], - "readdirp": ["readdirp@4.1.1", "", {}, "sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw=="], + "prettier-plugin-astro": ["prettier-plugin-astro@0.14.1", "", { "dependencies": { "@astrojs/compiler": "^2.9.1", "prettier": "^3.0.0", "sass-formatter": "^0.7.6" } }, "sha512-RiBETaaP9veVstE4vUwSIcdATj6dKmXljouXc/DDNwBSPTp8FRkLGDSGFClKsAFeeg+13SB0Z1JZvbD76bigJw=="], - "resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], + "prettier-plugin-svelte": ["prettier-plugin-svelte@3.5.1", "", { "peerDependencies": { "prettier": "^3.0.0", "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" } }, "sha512-65+fr5+cgIKWKiqM1Doum4uX6bY8iFCdztvvp2RcF+AJoieaw9kJOFMNcJo/bkmKYsxFaM9OsVZK/gWauG/5mg=="], - "restore-cursor": ["restore-cursor@5.1.0", "", { "dependencies": { "onetime": "^7.0.0", "signal-exit": "^4.1.0" } }, "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA=="], + "prismjs": ["prismjs@1.30.0", "", {}, "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw=="], - "reusify": ["reusify@1.0.4", "", {}, "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="], + "progress": ["progress@2.0.3", "", {}, "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="], - "rfdc": ["rfdc@1.4.1", "", {}, "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA=="], + "prompts": ["prompts@2.4.2", "", { "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" } }, "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q=="], - "rollup": ["rollup@4.40.2", "", { "dependencies": { "@types/estree": "1.0.7" }, "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" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-tfUOg6DTP4rhQ3VjOO6B4wyrJnGOX85requAXvqYTHsOgb2TFJdZ3aWpT8W2kPoypSGP7dZUyzxJ9ee4buM5Fg=="], + "property-information": ["property-information@7.1.0", "", {}, "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ=="], - "rrweb-cssom": ["rrweb-cssom@0.8.0", "", {}, "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw=="], + "proxy-addr": ["proxy-addr@2.0.7", "", { "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg=="], - "run-applescript": ["run-applescript@7.0.0", "", {}, "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A=="], + "proxy-agent": ["proxy-agent@6.5.0", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "^4.3.4", "http-proxy-agent": "^7.0.1", "https-proxy-agent": "^7.0.6", "lru-cache": "^7.14.1", "pac-proxy-agent": "^7.1.0", "proxy-from-env": "^1.1.0", "socks-proxy-agent": "^8.0.5" } }, "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A=="], - "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="], + "proxy-from-env": ["proxy-from-env@1.1.0", "", {}, "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="], - "rxjs": ["rxjs@7.8.1", "", { "dependencies": { "tslib": "^2.1.0" } }, "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg=="], + "pump": ["pump@3.0.4", "", { "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA=="], - "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="], + "puppeteer-core": ["puppeteer-core@24.43.0", "", { "dependencies": { "@puppeteer/browsers": "2.13.1", "chromium-bidi": "14.0.0", "debug": "^4.4.3", "devtools-protocol": "0.0.1608973", "typed-query-selector": "^2.12.2", "webdriver-bidi-protocol": "0.4.1", "ws": "^8.20.0" } }, "sha512-cCRNXsUlhyPoKDz6+TiSpfZpRS3mD6Y1YFKhkdr6ik6TMfuJb7fAtXq9ThUFc4sphxObDk3BuAvdxc1Y6YOnqQ=="], - "sass-embedded": ["sass-embedded@1.89.0", "", { "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" }, "optionalDependencies": { "sass-embedded-android-arm": "1.89.0", "sass-embedded-android-arm64": "1.89.0", "sass-embedded-android-ia32": "1.89.0", "sass-embedded-android-riscv64": "1.89.0", "sass-embedded-android-x64": "1.89.0", "sass-embedded-darwin-arm64": "1.89.0", "sass-embedded-darwin-x64": "1.89.0", "sass-embedded-linux-arm": "1.89.0", "sass-embedded-linux-arm64": "1.89.0", "sass-embedded-linux-ia32": "1.89.0", "sass-embedded-linux-musl-arm": "1.89.0", "sass-embedded-linux-musl-arm64": "1.89.0", "sass-embedded-linux-musl-ia32": "1.89.0", "sass-embedded-linux-musl-riscv64": "1.89.0", "sass-embedded-linux-musl-x64": "1.89.0", "sass-embedded-linux-riscv64": "1.89.0", "sass-embedded-linux-x64": "1.89.0", "sass-embedded-win32-arm64": "1.89.0", "sass-embedded-win32-ia32": "1.89.0", "sass-embedded-win32-x64": "1.89.0" }, "bin": { "sass": "dist/bin/sass.js" } }, "sha512-EDrK1el9zdgJFpocCGlxatDWaP18tJBWoM1hxzo2KJBvjdmBichXI6O6KlQrigvQPO3uJ8DfmFmAAx7s7CG6uw=="], + "qs": ["qs@6.14.2", "", { "dependencies": { "side-channel": "^1.1.0" } }, "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q=="], - "sass-embedded-android-arm": ["sass-embedded-android-arm@1.89.0", "", { "os": "android", "cpu": "arm" }, "sha512-s6jxkEZQQrtyIGZX6Sbcu7tEixFG2VkqFgrX11flm/jZex7KaxnZtFace+wnYAgHqzzYpx0kNzJUpT+GXxm8CA=="], + "radix3": ["radix3@1.1.2", "", {}, "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA=="], - "sass-embedded-android-arm64": ["sass-embedded-android-arm64@1.89.0", "", { "os": "android", "cpu": "arm64" }, "sha512-pr4R3p5R+Ul9ZA5nzYbBJQFJXW6dMGzgpNBhmaToYDgDhmNX5kg0mZAUlGLHvisLdTiR6oEfDDr9QI6tnD2nqA=="], + "range-parser": ["range-parser@1.2.1", "", {}, "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="], - "sass-embedded-android-ia32": ["sass-embedded-android-ia32@1.89.0", "", { "os": "android", "cpu": "ia32" }, "sha512-GoNnNGYmp1F0ZMHqQbAurlQsjBMZKtDd5H60Ruq86uQFdnuNqQ9wHKJsJABxMnjfAn60IjefytM5PYTMcAmbfA=="], + "raw-body": ["raw-body@2.5.3", "", { "dependencies": { "bytes": "~3.1.2", "http-errors": "~2.0.1", "iconv-lite": "~0.4.24", "unpipe": "~1.0.0" } }, "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA=="], - "sass-embedded-android-riscv64": ["sass-embedded-android-riscv64@1.89.0", "", { "os": "android", "cpu": "none" }, "sha512-di+i4KkKAWTNksaQYTqBEERv46qV/tvv14TPswEfak7vcTQ2pj2mvV4KGjLYfU2LqRkX/NTXix9KFthrzFN51Q=="], + "readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], - "sass-embedded-android-x64": ["sass-embedded-android-x64@1.89.0", "", { "os": "android", "cpu": "x64" }, "sha512-1cRRDAnmAS1wLaxfFf6PCHu9sKW8FNxdM7ZkanwxO9mztrCu/uvfqTmaurY9+RaKvPus7sGYFp46/TNtl/wRjg=="], + "regex": ["regex@6.1.0", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg=="], - "sass-embedded-darwin-arm64": ["sass-embedded-darwin-arm64@1.89.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-EUNUzI0UkbQ6dASPyf09S3x7fNT54PjyD594ZGTY14Yh4qTuacIj27ckLmreAJNNu5QxlbhyYuOtz+XN5bMMxA=="], + "regex-recursion": ["regex-recursion@6.0.2", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg=="], - "sass-embedded-darwin-x64": ["sass-embedded-darwin-x64@1.89.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-23R8zSuB31Fq/MYpmQ38UR2C26BsYb66VVpJgWmWl/N+sgv/+l9ECuSPMbYNgM3vb9TP9wk9dgL6KkiCS5tAyg=="], + "regex-utilities": ["regex-utilities@2.3.0", "", {}, "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng=="], - "sass-embedded-linux-arm": ["sass-embedded-linux-arm@1.89.0", "", { "os": "linux", "cpu": "arm" }, "sha512-KAzA1XD74d8/fiJXxVnLfFwfpmD2XqUJZz+DL6ZAPNLH1sb+yCP7brktaOyClDc/MBu61JERdHaJjIZhfX0Yqw=="], + "rehype": ["rehype@13.0.2", "", { "dependencies": { "@types/hast": "^3.0.0", "rehype-parse": "^9.0.0", "rehype-stringify": "^10.0.0", "unified": "^11.0.0" } }, "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A=="], - "sass-embedded-linux-arm64": ["sass-embedded-linux-arm64@1.89.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-g9Lp57qyx51ttKj0AN/edV43Hu1fBObvD7LpYwVfs6u3I95r0Adi90KujzNrUqXxJVmsfUwseY8kA8zvcRjhYA=="], + "rehype-parse": ["rehype-parse@9.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-from-html": "^2.0.0", "unified": "^11.0.0" } }, "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag=="], - "sass-embedded-linux-ia32": ["sass-embedded-linux-ia32@1.89.0", "", { "os": "linux", "cpu": "ia32" }, "sha512-5fxBeXyvBr3pb+vyrx9V6yd7QDRXkAPbwmFVVhjqshBABOXelLysEFea7xokh/tM8JAAQ4O8Ls3eW3Eojb477g=="], + "rehype-raw": ["rehype-raw@7.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-raw": "^9.0.0", "vfile": "^6.0.0" } }, "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww=="], - "sass-embedded-linux-musl-arm": ["sass-embedded-linux-musl-arm@1.89.0", "", { "os": "linux", "cpu": "arm" }, "sha512-0Q1JeEU4/tzH7fwAwarfIh+Swn3aXG/jPhVsZpbR1c1VzkeaPngmXdmLJcVXsdb35tjk84DuYcFtJlE1HYGw4Q=="], + "rehype-stringify": ["rehype-stringify@10.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-to-html": "^9.0.0", "unified": "^11.0.0" } }, "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA=="], - "sass-embedded-linux-musl-arm64": ["sass-embedded-linux-musl-arm64@1.89.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-50oelrOtN64u15vJN9uJryIuT0+UPjyeoq0zdWbY8F7LM9294Wf+Idea+nqDUWDCj1MHndyPFmR1mjeuRouJhw=="], + "remark-gfm": ["remark-gfm@4.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-gfm": "^3.0.0", "micromark-extension-gfm": "^3.0.0", "remark-parse": "^11.0.0", "remark-stringify": "^11.0.0", "unified": "^11.0.0" } }, "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg=="], - "sass-embedded-linux-musl-ia32": ["sass-embedded-linux-musl-ia32@1.89.0", "", { "os": "linux", "cpu": "ia32" }, "sha512-ILWqpTd+0RdsSw977iVAJf4CLetIbcQgLQf17ycS1N4StZKVRZs1bBfZhg/f/HU/4p5HondPAwepgJepZZdnFA=="], + "remark-parse": ["remark-parse@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", "micromark-util-types": "^2.0.0", "unified": "^11.0.0" } }, "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA=="], - "sass-embedded-linux-musl-riscv64": ["sass-embedded-linux-musl-riscv64@1.89.0", "", { "os": "linux", "cpu": "none" }, "sha512-n2V+Tdjj7SAuiuElJYhWiHjjB1YU0cuFvL1/m5K+ecdNStfHFWIzvBT6/vzQnBOWjI4eZECNVuQ8GwGWCufZew=="], + "remark-rehype": ["remark-rehype@11.1.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "mdast-util-to-hast": "^13.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw=="], - "sass-embedded-linux-musl-x64": ["sass-embedded-linux-musl-x64@1.89.0", "", { "os": "linux", "cpu": "x64" }, "sha512-KOHJdouBK3SLJKZLnFYzuxs3dn+6jaeO3p4p1JUYAcVfndcvh13Sg2sLGfOfpg7Og6ws2Nnqnx0CyL26jPJ7ag=="], + "remark-smartypants": ["remark-smartypants@3.0.2", "", { "dependencies": { "retext": "^9.0.0", "retext-smartypants": "^6.0.0", "unified": "^11.0.4", "unist-util-visit": "^5.0.0" } }, "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA=="], - "sass-embedded-linux-riscv64": ["sass-embedded-linux-riscv64@1.89.0", "", { "os": "linux", "cpu": "none" }, "sha512-0A/UWeKX6MYhVLWLkdX3NPKHO+mvIwzaf6TxGCy3vS3TODWaeDUeBhHShAr7YlOKv5xRGxf7Gx7FXCPV0mUyMA=="], + "remark-stringify": ["remark-stringify@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-to-markdown": "^2.0.0", "unified": "^11.0.0" } }, "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw=="], - "sass-embedded-linux-x64": ["sass-embedded-linux-x64@1.89.0", "", { "os": "linux", "cpu": "x64" }, "sha512-dRBoOFPDWctHPYK3hTk3YzyX/icVrXiw7oOjbtpaDr6JooqIWBe16FslkWyvQzdmfOFy80raKVjgoqT7DsznkQ=="], + "request-light": ["request-light@0.7.0", "", {}, "sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q=="], - "sass-embedded-win32-arm64": ["sass-embedded-win32-arm64@1.89.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-RnlVZ14hC/W7ubzvhqnbGfjU5PFNoFP/y5qycgCy+Mezb0IKbWvZ2Lyzux8TbL3OIjOikkNpfXoNQrX706WLAA=="], + "require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="], - "sass-embedded-win32-ia32": ["sass-embedded-win32-ia32@1.89.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-eFe9VMNG+90nuoE3eXDy+38+uEHGf7xcqalq5+0PVZfR+H9RlaEbvIUNflZV94+LOH8Jb4lrfuekhHgWDJLfSg=="], + "require-from-string": ["require-from-string@2.0.2", "", {}, "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="], - "sass-embedded-win32-x64": ["sass-embedded-win32-x64@1.89.0", "", { "os": "win32", "cpu": "x64" }, "sha512-AaGpr5R6MLCuSvkvDdRq49ebifwLcuGPk0/10hbYw9nh3jpy2/CylYubQpIpR4yPcuD1wFwFqufTXC3HJYGb0g=="], + "require-main-filename": ["require-main-filename@2.0.0", "", {}, "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="], - "saxes": ["saxes@6.0.0", "", { "dependencies": { "xmlchars": "^2.2.0" } }, "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA=="], + "restore-cursor": ["restore-cursor@2.0.0", "", { "dependencies": { "onetime": "^2.0.0", "signal-exit": "^3.0.2" } }, "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q=="], - "scule": ["scule@1.3.0", "", {}, "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g=="], + "retext": ["retext@9.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "retext-latin": "^4.0.0", "retext-stringify": "^4.0.0", "unified": "^11.0.0" } }, "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA=="], - "semver": ["semver@7.7.0", "", { "bin": "bin/semver.js" }, "sha512-DrfFnPzblFmNrIZzg5RzHegbiRWg7KMR7btwi2yjHwx06zsUbO5g613sVwEV7FTwmzJu+Io0lJe2GJ3LxqpvBQ=="], + "retext-latin": ["retext-latin@4.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "parse-latin": "^7.0.0", "unified": "^11.0.0" } }, "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA=="], - "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], + "retext-smartypants": ["retext-smartypants@6.2.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "nlcst-to-string": "^4.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ=="], - "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], + "retext-stringify": ["retext-stringify@4.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "nlcst-to-string": "^4.0.0", "unified": "^11.0.0" } }, "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA=="], - "shell-quote": ["shell-quote@1.8.2", "", {}, "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA=="], + "rimraf": ["rimraf@3.0.2", "", { "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" } }, "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA=="], - "siginfo": ["siginfo@2.0.0", "", {}, "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g=="], + "robots-parser": ["robots-parser@3.0.1", "", {}, "sha512-s+pyvQeIKIZ0dx5iJiQk1tPLJAWln39+MI5jtM8wnyws+G5azk+dMnMX0qfbqNetKKNgcWWOdi0sfm+FbQbgdQ=="], - "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], + "rollup": ["rollup@4.60.3", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.60.3", "@rollup/rollup-android-arm64": "4.60.3", "@rollup/rollup-darwin-arm64": "4.60.3", "@rollup/rollup-darwin-x64": "4.60.3", "@rollup/rollup-freebsd-arm64": "4.60.3", "@rollup/rollup-freebsd-x64": "4.60.3", "@rollup/rollup-linux-arm-gnueabihf": "4.60.3", "@rollup/rollup-linux-arm-musleabihf": "4.60.3", "@rollup/rollup-linux-arm64-gnu": "4.60.3", "@rollup/rollup-linux-arm64-musl": "4.60.3", "@rollup/rollup-linux-loong64-gnu": "4.60.3", "@rollup/rollup-linux-loong64-musl": "4.60.3", "@rollup/rollup-linux-ppc64-gnu": "4.60.3", "@rollup/rollup-linux-ppc64-musl": "4.60.3", "@rollup/rollup-linux-riscv64-gnu": "4.60.3", "@rollup/rollup-linux-riscv64-musl": "4.60.3", "@rollup/rollup-linux-s390x-gnu": "4.60.3", "@rollup/rollup-linux-x64-gnu": "4.60.3", "@rollup/rollup-linux-x64-musl": "4.60.3", "@rollup/rollup-openbsd-x64": "4.60.3", "@rollup/rollup-openharmony-arm64": "4.60.3", "@rollup/rollup-win32-arm64-msvc": "4.60.3", "@rollup/rollup-win32-ia32-msvc": "4.60.3", "@rollup/rollup-win32-x64-gnu": "4.60.3", "@rollup/rollup-win32-x64-msvc": "4.60.3", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A=="], - "sirv": ["sirv@3.0.1", "", { "dependencies": { "@polka/url": "^1.0.0-next.24", "mrmime": "^2.0.0", "totalist": "^3.0.0" } }, "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A=="], + "run-async": ["run-async@2.4.1", "", {}, "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ=="], - "slice-ansi": ["slice-ansi@5.0.0", "", { "dependencies": { "ansi-styles": "^6.0.0", "is-fullwidth-code-point": "^4.0.0" } }, "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ=="], + "rxjs": ["rxjs@6.6.7", "", { "dependencies": { "tslib": "^1.9.0" } }, "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ=="], - "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], + "s.color": ["s.color@0.0.15", "", {}, "sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA=="], + + "safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], - "speakingurl": ["speakingurl@14.0.1", "", {}, "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ=="], + "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="], - "stackback": ["stackback@0.0.2", "", {}, "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw=="], + "sass-formatter": ["sass-formatter@0.7.9", "", { "dependencies": { "suf-log": "^2.5.3" } }, "sha512-CWZ8XiSim+fJVG0cFLStwDvft1VI7uvXdCNJYXhDvowiv+DsbD1nXLiQ4zrE5UBvj5DWZJ93cwN0NX5PMsr1Pw=="], - "std-env": ["std-env@3.9.0", "", {}, "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw=="], + "sax": ["sax@1.6.0", "", {}, "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA=="], - "string-argv": ["string-argv@0.3.2", "", {}, "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q=="], + "scule": ["scule@1.3.0", "", {}, "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g=="], - "string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], + "semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], - "string-width-cjs": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + "send": ["send@0.19.2", "", { "dependencies": { "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "~0.5.2", "http-errors": "~2.0.1", "mime": "1.6.0", "ms": "2.1.3", "on-finished": "~2.4.1", "range-parser": "~1.2.1", "statuses": "~2.0.2" } }, "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg=="], - "strip-ansi": ["strip-ansi@7.1.0", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ=="], + "serve-static": ["serve-static@1.16.3", "", { "dependencies": { "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", "send": "~0.19.1" } }, "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA=="], - "strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + "set-blocking": ["set-blocking@2.0.0", "", {}, "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="], - "strip-final-newline": ["strip-final-newline@3.0.0", "", {}, "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw=="], + "setprototypeof": ["setprototypeof@1.2.0", "", {}, "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="], - "strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="], + "sharp": ["sharp@0.34.5", "", { "dependencies": { "@img/colour": "^1.0.0", "detect-libc": "^2.1.2", "semver": "^7.7.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.34.5", "@img/sharp-darwin-x64": "0.34.5", "@img/sharp-libvips-darwin-arm64": "1.2.4", "@img/sharp-libvips-darwin-x64": "1.2.4", "@img/sharp-libvips-linux-arm": "1.2.4", "@img/sharp-libvips-linux-arm64": "1.2.4", "@img/sharp-libvips-linux-ppc64": "1.2.4", "@img/sharp-libvips-linux-riscv64": "1.2.4", "@img/sharp-libvips-linux-s390x": "1.2.4", "@img/sharp-libvips-linux-x64": "1.2.4", "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", "@img/sharp-libvips-linuxmusl-x64": "1.2.4", "@img/sharp-linux-arm": "0.34.5", "@img/sharp-linux-arm64": "0.34.5", "@img/sharp-linux-ppc64": "0.34.5", "@img/sharp-linux-riscv64": "0.34.5", "@img/sharp-linux-s390x": "0.34.5", "@img/sharp-linux-x64": "0.34.5", "@img/sharp-linuxmusl-arm64": "0.34.5", "@img/sharp-linuxmusl-x64": "0.34.5", "@img/sharp-wasm32": "0.34.5", "@img/sharp-win32-arm64": "0.34.5", "@img/sharp-win32-ia32": "0.34.5", "@img/sharp-win32-x64": "0.34.5" } }, "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg=="], - "strip-literal": ["strip-literal@3.0.0", "", { "dependencies": { "js-tokens": "^9.0.1" } }, "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA=="], + "shiki": ["shiki@3.23.0", "", { "dependencies": { "@shikijs/core": "3.23.0", "@shikijs/engine-javascript": "3.23.0", "@shikijs/engine-oniguruma": "3.23.0", "@shikijs/langs": "3.23.0", "@shikijs/themes": "3.23.0", "@shikijs/types": "3.23.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA=="], - "superjson": ["superjson@2.2.2", "", { "dependencies": { "copy-anything": "^3.0.2" } }, "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q=="], + "side-channel": ["side-channel@1.1.0", "", { "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" } }, "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw=="], - "supports-color": ["supports-color@8.1.1", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q=="], + "side-channel-list": ["side-channel-list@1.0.1", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.4" } }, "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w=="], - "svg-tags": ["svg-tags@1.0.0", "", {}, "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA=="], + "side-channel-map": ["side-channel-map@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3" } }, "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA=="], - "symbol-tree": ["symbol-tree@3.2.4", "", {}, "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="], + "side-channel-weakmap": ["side-channel-weakmap@1.0.2", "", { "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" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="], - "sync-child-process": ["sync-child-process@1.0.2", "", { "dependencies": { "sync-message-port": "^1.0.0" } }, "sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA=="], + "signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], - "sync-message-port": ["sync-message-port@1.1.3", "", {}, "sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg=="], + "sisteransi": ["sisteransi@1.0.5", "", {}, "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="], - "synckit": ["synckit@0.9.2", "", { "dependencies": { "@pkgr/core": "^0.1.0", "tslib": "^2.6.2" } }, "sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw=="], + "sitemap": ["sitemap@9.0.1", "", { "dependencies": { "@types/node": "^24.9.2", "@types/sax": "^1.2.1", "arg": "^5.0.0", "sax": "^1.4.1" }, "bin": { "sitemap": "dist/esm/cli.js" } }, "sha512-S6hzjGJSG3d6if0YoF5kTyeRJvia6FSTBroE5fQ0bu1QNxyJqhhinfUsXi9fH3MgtXODWvwo2BDyQSnhPQ88uQ=="], - "tinybench": ["tinybench@2.9.0", "", {}, "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg=="], + "smart-buffer": ["smart-buffer@4.2.0", "", {}, "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="], - "tinyexec": ["tinyexec@0.3.2", "", {}, "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA=="], + "smol-toml": ["smol-toml@1.6.1", "", {}, "sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg=="], - "tinyglobby": ["tinyglobby@0.2.13", "", { "dependencies": { "fdir": "^6.4.4", "picomatch": "^4.0.2" } }, "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw=="], + "socks": ["socks@2.8.8", "", { "dependencies": { "ip-address": "^10.1.1", "smart-buffer": "^4.2.0" } }, "sha512-NlGELfPrgX2f1TAAcz0WawlLn+0r3FyhhCRpFFK2CemXenPYvzMWWZINv3eDNo9ucdwme7oCHRY0Jnbs4aIkog=="], - "tinypool": ["tinypool@1.0.2", "", {}, "sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA=="], + "socks-proxy-agent": ["socks-proxy-agent@8.0.5", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "^4.3.4", "socks": "^2.8.3" } }, "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw=="], - "tinyrainbow": ["tinyrainbow@2.0.0", "", {}, "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw=="], + "source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], - "tinyspy": ["tinyspy@3.0.2", "", {}, "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q=="], + "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], - "tldts": ["tldts@6.1.75", "", { "dependencies": { "tldts-core": "^6.1.75" }, "bin": "bin/cli.js" }, "sha512-+lFzEXhpl7JXgWYaXcB6DqTYXbUArvrWAE/5ioq/X3CdWLbDjpPP4XTrQBmEJ91y3xbe4Fkw7Lxv4P3GWeJaNg=="], + "space-separated-tokens": ["space-separated-tokens@2.0.2", "", {}, "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q=="], - "tldts-core": ["tldts-core@6.1.75", "", {}, "sha512-AOvV5YYIAFFBfransBzSTyztkc3IMfz5Eq3YluaRiEu55nn43Fzaufx70UqEKYr8BoLCach4q8g/bg6e5+/aFw=="], + "speedline-core": ["speedline-core@1.4.3", "", { "dependencies": { "@types/node": "*", "image-ssim": "^0.2.0", "jpeg-js": "^0.4.1" } }, "sha512-DI7/OuAUD+GMpR6dmu8lliO2Wg5zfeh+/xsdyJZCzd8o5JgFUjCeLsBDuZjIQJdwXS3J0L/uZYrELKYqx+PXog=="], - "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], + "sprintf-js": ["sprintf-js@1.0.3", "", {}, "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="], - "totalist": ["totalist@3.0.1", "", {}, "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ=="], + "statuses": ["statuses@2.0.2", "", {}, "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw=="], - "tough-cookie": ["tough-cookie@5.1.2", "", { "dependencies": { "tldts": "^6.1.32" } }, "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A=="], + "stream-replace-string": ["stream-replace-string@2.0.0", "", {}, "sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w=="], - "tr46": ["tr46@5.1.1", "", { "dependencies": { "punycode": "^2.3.1" } }, "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw=="], + "streamx": ["streamx@2.25.0", "", { "dependencies": { "events-universal": "^1.0.0", "fast-fifo": "^1.3.2", "text-decoder": "^1.1.0" } }, "sha512-0nQuG6jf1w+wddNEEXCF4nTg3LtufWINB5eFEN+5TNZW7KWJp6x87+JFL43vaAUPyCfH1wID+mNVyW6OHtFamg=="], - "ts-api-utils": ["ts-api-utils@2.0.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ=="], + "string-width": ["string-width@2.1.1", "", { "dependencies": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" } }, "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw=="], - "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "stringify-entities": ["stringify-entities@4.0.4", "", { "dependencies": { "character-entities-html4": "^2.0.0", "character-entities-legacy": "^3.0.0" } }, "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg=="], - "type-check": ["type-check@0.4.0", "", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="], + "strip-ansi": ["strip-ansi@5.2.0", "", { "dependencies": { "ansi-regex": "^4.1.0" } }, "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA=="], - "type-fest": ["type-fest@0.20.2", "", {}, "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="], + "strnum": ["strnum@2.3.0", "", {}, "sha512-ums3KNd42PGyx5xaoVTO1mjU1bH3NpY4vsrVlnv9PNGqQj8wd7rJ6nEypLrJ7z5vxK5RP0yMLo6J/Gsm62DI5Q=="], - "typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="], + "suf-log": ["suf-log@2.5.3", "", { "dependencies": { "s.color": "0.0.15" } }, "sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow=="], - "typescript-eslint": ["typescript-eslint@8.32.1", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.32.1", "@typescript-eslint/parser": "8.32.1", "@typescript-eslint/utils": "8.32.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-D7el+eaDHAmXvrZBy1zpzSNIRqnCOrkwTgZxTu3MUqRWk8k0q9m9Ho4+vPf7iHtgUfrK/o8IZaEApsxPlHTFCg=="], + "supports-color": ["supports-color@5.5.0", "", { "dependencies": { "has-flag": "^3.0.0" } }, "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="], - "ufo": ["ufo@1.5.4", "", {}, "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ=="], + "svelte": ["svelte@5.55.5", "", { "dependencies": { "@jridgewell/remapping": "^2.3.4", "@jridgewell/sourcemap-codec": "^1.5.0", "@sveltejs/acorn-typescript": "^1.0.5", "@types/estree": "^1.0.5", "@types/trusted-types": "^2.0.7", "acorn": "^8.12.1", "aria-query": "5.3.1", "axobject-query": "^4.1.0", "clsx": "^2.1.1", "devalue": "^5.6.4", "esm-env": "^1.2.1", "esrap": "^2.2.4", "is-reference": "^3.0.3", "locate-character": "^3.0.0", "magic-string": "^0.30.11", "zimmerframe": "^1.1.2" } }, "sha512-2uCs/LZ9us+AktdzYJM8OcxQ8qnPS1kpaO7syGT/MgO+6Qr1Ybl+TqPq+97u7PHqmmMlye5ZkoyXONy5mjjAbw=="], - "unctx": ["unctx@2.4.1", "", { "dependencies": { "acorn": "^8.14.0", "estree-walker": "^3.0.3", "magic-string": "^0.30.17", "unplugin": "^2.1.0" } }, "sha512-AbaYw0Nm4mK4qjhns67C+kgxR2YWiwlDBPzxrN8h8C6VtAdCgditAY5Dezu3IJy4XVqAnbrXt9oQJvsn3fyozg=="], + "svelte2tsx": ["svelte2tsx@0.7.55", "", { "dependencies": { "dedent-js": "^1.0.1", "scule": "^1.3.0" }, "peerDependencies": { "svelte": "^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0", "typescript": "^4.9.4 || ^5.0.0 || ^6.0.0" } }, "sha512-JWzgeM3lqySRNfqcsesvVEh8LhTWBxQJ9RMjzJ+VepdmXtVnNd0SbtGctG6+/fbHq0N6mhwSd823gszw9JHeGQ=="], - "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], + "svgo": ["svgo@4.0.1", "", { "dependencies": { "commander": "^11.1.0", "css-select": "^5.1.0", "css-tree": "^3.0.1", "css-what": "^6.1.0", "csso": "^5.0.5", "picocolors": "^1.1.1", "sax": "^1.5.0" }, "bin": "./bin/svgo.js" }, "sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w=="], - "unicorn-magic": ["unicorn-magic@0.3.0", "", {}, "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA=="], + "tar-fs": ["tar-fs@3.1.2", "", { "dependencies": { "pump": "^3.0.0", "tar-stream": "^3.1.5" }, "optionalDependencies": { "bare-fs": "^4.0.1", "bare-path": "^3.0.0" } }, "sha512-QGxxTxxyleAdyM3kpFs14ymbYmNFrfY+pHj7Z8FgtbZ7w2//VAgLMac7sT6nRpIHjppXO2AwwEOg0bPFVRcmXw=="], - "unimport": ["unimport@5.0.1", "", { "dependencies": { "acorn": "^8.14.1", "escape-string-regexp": "^5.0.0", "estree-walker": "^3.0.3", "local-pkg": "^1.1.1", "magic-string": "^0.30.17", "mlly": "^1.7.4", "pathe": "^2.0.3", "picomatch": "^4.0.2", "pkg-types": "^2.1.0", "scule": "^1.3.0", "strip-literal": "^3.0.0", "tinyglobby": "^0.2.13", "unplugin": "^2.3.2", "unplugin-utils": "^0.2.4" } }, "sha512-1YWzPj6wYhtwHE+9LxRlyqP4DiRrhGfJxdtH475im8ktyZXO3jHj/3PZ97zDdvkYoovFdi0K4SKl3a7l92v3sQ=="], + "tar-stream": ["tar-stream@3.2.0", "", { "dependencies": { "b4a": "^1.6.4", "bare-fs": "^4.5.5", "fast-fifo": "^1.2.0", "streamx": "^2.15.0" } }, "sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg=="], - "universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="], + "teex": ["teex@1.0.1", "", { "dependencies": { "streamx": "^2.12.5" } }, "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg=="], - "unplugin": ["unplugin@2.3.4", "", { "dependencies": { "acorn": "^8.14.1", "picomatch": "^4.0.2", "webpack-virtual-modules": "^0.6.2" } }, "sha512-m4PjxTurwpWfpMomp8AptjD5yj8qEZN5uQjjGM3TAs9MWWD2tXSSNNj6jGR2FoVGod4293ytyV6SwBbertfyJg=="], + "text-decoder": ["text-decoder@1.2.7", "", { "dependencies": { "b4a": "^1.6.4" } }, "sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ=="], - "unplugin-utils": ["unplugin-utils@0.2.4", "", { "dependencies": { "pathe": "^2.0.2", "picomatch": "^4.0.2" } }, "sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA=="], + "third-party-web": ["third-party-web@0.26.7", "", {}, "sha512-buUzX4sXC4efFX6xg2bw6/eZsCUh8qQwSavC4D9HpONMFlRbcHhD8Je5qwYdCpViR6q0qla2wPP+t91a2vgolg=="], - "unplugin-vue-router": ["unplugin-vue-router@0.12.0", "", { "dependencies": { "@babel/types": "^7.26.8", "@vue-macros/common": "^1.16.1", "ast-walker-scope": "^0.6.2", "chokidar": "^4.0.3", "fast-glob": "^3.3.3", "json5": "^2.2.3", "local-pkg": "^1.0.0", "magic-string": "^0.30.17", "micromatch": "^4.0.8", "mlly": "^1.7.4", "pathe": "^2.0.2", "scule": "^1.3.0", "unplugin": "^2.2.0", "unplugin-utils": "^0.2.3", "yaml": "^2.7.0" }, "peerDependencies": { "vue-router": "^4.4.0" }, "optionalPeers": ["vue-router"] }, "sha512-xjgheKU0MegvXQcy62GVea0LjyOdMxN0/QH+ijN29W62ZlMhG7o7K+0AYqfpprvPwpWtuRjiyC5jnV2SxWye2w=="], + "through": ["through@2.3.8", "", {}, "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="], - "untyped": ["untyped@2.0.0", "", { "dependencies": { "citty": "^0.1.6", "defu": "^6.1.4", "jiti": "^2.4.2", "knitwork": "^1.2.0", "scule": "^1.3.0" }, "bin": { "untyped": "dist/cli.mjs" } }, "sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g=="], + "tiny-inflate": ["tiny-inflate@1.0.3", "", {}, "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="], - "upath": ["upath@2.0.1", "", {}, "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w=="], + "tinyexec": ["tinyexec@1.1.2", "", {}, "sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA=="], - "update-browserslist-db": ["update-browserslist-db@1.1.2", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": "cli.js" }, "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg=="], + "tinyglobby": ["tinyglobby@0.2.16", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.4" } }, "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg=="], - "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="], + "tldts-core": ["tldts-core@6.1.86", "", {}, "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA=="], - "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], + "tldts-icann": ["tldts-icann@6.1.86", "", { "dependencies": { "tldts-core": "^6.1.86" } }, "sha512-NFxmRT2lAEMcCOBgeZ0NuM0zsK/xgmNajnY6n4S1mwAKocft2s2ise1O3nQxrH3c+uY6hgHUV9GGNVp7tUE4Sg=="], - "varint": ["varint@6.0.0", "", {}, "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg=="], + "tmp": ["tmp@0.1.0", "", { "dependencies": { "rimraf": "^2.6.3" } }, "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw=="], - "vite": ["vite@6.3.5", "", { "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" }, "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" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ=="], + "toidentifier": ["toidentifier@1.0.1", "", {}, "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="], - "vite-hot-client": ["vite-hot-client@2.0.4", "", { "peerDependencies": { "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0" } }, "sha512-W9LOGAyGMrbGArYJN4LBCdOC5+Zwh7dHvOHC0KmGKkJhsOzaKbpo/jEjpPKVHIW0/jBWj8RZG0NUxfgA8BxgAg=="], + "tr46": ["tr46@0.0.3", "", {}, "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="], - "vite-node": ["vite-node@3.1.4", "", { "dependencies": { "cac": "^6.7.14", "debug": "^4.4.0", "es-module-lexer": "^1.7.0", "pathe": "^2.0.3", "vite": "^5.0.0 || ^6.0.0" }, "bin": { "vite-node": "vite-node.mjs" } }, "sha512-6enNwYnpyDo4hEgytbmc6mYWHXDHYEn0D1/rw4Q+tnHUGtKTJsn8T1YkX6Q18wI5LCrS8CTYlBaiCqxOy2kvUA=="], + "tree-kill": ["tree-kill@1.2.2", "", { "bin": { "tree-kill": "cli.js" } }, "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A=="], - "vite-plugin-inspect": ["vite-plugin-inspect@0.8.9", "", { "dependencies": { "@antfu/utils": "^0.7.10", "@rollup/pluginutils": "^5.1.3", "debug": "^4.3.7", "error-stack-parser-es": "^0.1.5", "fs-extra": "^11.2.0", "open": "^10.1.0", "perfect-debounce": "^1.0.0", "picocolors": "^1.1.1", "sirv": "^3.0.0" }, "peerDependencies": { "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.1" } }, "sha512-22/8qn+LYonzibb1VeFZmISdVao5kC22jmEKm24vfFE8siEn47EpVcCLYMv6iKOYMJfjSvSJfueOwcFCkUnV3A=="], + "trim-lines": ["trim-lines@3.0.1", "", {}, "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg=="], - "vite-plugin-vue-devtools": ["vite-plugin-vue-devtools@7.7.6", "", { "dependencies": { "@vue/devtools-core": "^7.7.6", "@vue/devtools-kit": "^7.7.6", "@vue/devtools-shared": "^7.7.6", "execa": "^9.5.2", "sirv": "^3.0.1", "vite-plugin-inspect": "0.8.9", "vite-plugin-vue-inspector": "^5.3.1" }, "peerDependencies": { "vite": "^3.1.0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0" } }, "sha512-L7nPVM5a7lgit/Z+36iwoqHOaP3wxqVi1UvaDJwGCfblS9Y6vNqf32ILlzJVH9c47aHu90BhDXeZc+rgzHRHcw=="], + "trough": ["trough@2.2.0", "", {}, "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw=="], - "vite-plugin-vue-inspector": ["vite-plugin-vue-inspector@5.3.1", "", { "dependencies": { "@babel/core": "^7.23.0", "@babel/plugin-proposal-decorators": "^7.23.0", "@babel/plugin-syntax-import-attributes": "^7.22.5", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-transform-typescript": "^7.22.15", "@vue/babel-plugin-jsx": "^1.1.5", "@vue/compiler-dom": "^3.3.4", "kolorist": "^1.8.0", "magic-string": "^0.30.4" }, "peerDependencies": { "vite": "^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0" } }, "sha512-cBk172kZKTdvGpJuzCCLg8lJ909wopwsu3Ve9FsL1XsnLBiRT9U3MePcqrgGHgCX2ZgkqZmAGR8taxw+TV6s7A=="], + "tsconfck": ["tsconfck@3.1.6", "", { "peerDependencies": { "typescript": "^5.0.0" }, "optionalPeers": ["typescript"], "bin": { "tsconfck": "bin/tsconfck.js" } }, "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w=="], - "vite-plugin-vuetify": ["vite-plugin-vuetify@2.1.1", "", { "dependencies": { "@vuetify/loader-shared": "^2.1.0", "debug": "^4.3.3", "upath": "^2.0.1" }, "peerDependencies": { "vite": ">=5", "vue": "^3.0.0", "vuetify": "^3.0.0" } }, "sha512-Pb7bKhQH8qPMzURmEGq2aIqCJkruFNsyf1NcrrtnjsOIkqJPMcBbiP0oJoO8/uAmyB5W/1JTbbUEsyXdMM0QHQ=="], + "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "vitest": ["vitest@3.1.4", "", { "dependencies": { "@vitest/expect": "3.1.4", "@vitest/mocker": "3.1.4", "@vitest/pretty-format": "^3.1.4", "@vitest/runner": "3.1.4", "@vitest/snapshot": "3.1.4", "@vitest/spy": "3.1.4", "@vitest/utils": "3.1.4", "chai": "^5.2.0", "debug": "^4.4.0", "expect-type": "^1.2.1", "magic-string": "^0.30.17", "pathe": "^2.0.3", "std-env": "^3.9.0", "tinybench": "^2.9.0", "tinyexec": "^0.3.2", "tinyglobby": "^0.2.13", "tinypool": "^1.0.2", "tinyrainbow": "^2.0.0", "vite": "^5.0.0 || ^6.0.0", "vite-node": "3.1.4", "why-is-node-running": "^2.3.0" }, "peerDependencies": { "@edge-runtime/vm": "*", "@types/debug": "^4.1.12", "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "@vitest/browser": "3.1.4", "@vitest/ui": "3.1.4", "happy-dom": "*", "jsdom": "*" }, "optionalPeers": ["@edge-runtime/vm", "@types/debug", "@types/node", "@vitest/browser", "@vitest/ui", "happy-dom", "jsdom"], "bin": { "vitest": "vitest.mjs" } }, "sha512-Ta56rT7uWxCSJXlBtKgIlApJnT6e6IGmTYxYcmxjJ4ujuZDI59GUQgVDObXXJujOmPDBYXHK1qmaGtneu6TNIQ=="], + "type-fest": ["type-fest@4.41.0", "", {}, "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA=="], - "vscode-uri": ["vscode-uri@3.0.8", "", {}, "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw=="], + "type-is": ["type-is@1.6.18", "", { "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" } }, "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g=="], - "vue": ["vue@3.5.16", "", { "dependencies": { "@vue/compiler-dom": "3.5.16", "@vue/compiler-sfc": "3.5.16", "@vue/runtime-dom": "3.5.16", "@vue/server-renderer": "3.5.16", "@vue/shared": "3.5.16" }, "peerDependencies": { "typescript": "*" }, "optionalPeers": ["typescript"] }, "sha512-rjOV2ecxMd5SiAmof2xzh2WxntRcigkX/He4YFJ6WdRvVUrbt6DxC1Iujh10XLl8xCDRDtGKMeO3D+pRQ1PP9w=="], + "typed-query-selector": ["typed-query-selector@2.12.2", "", {}, "sha512-EOPFbyIub4ngnEdqi2yOcNeDLaX/0jcE1JoAXQDDMIthap7FoN795lc/SHfIq2d416VufXpM8z/lD+WRm2gfOQ=="], - "vue-component-type-helpers": ["vue-component-type-helpers@2.2.0", "", {}, "sha512-cYrAnv2me7bPDcg9kIcGwjJiSB6Qyi08+jLDo9yuvoFQjzHiPTzML7RnkJB1+3P6KMsX/KbCD4QE3Tv/knEllw=="], + "typedarray-to-buffer": ["typedarray-to-buffer@3.1.5", "", { "dependencies": { "is-typedarray": "^1.0.0" } }, "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q=="], - "vue-eslint-parser": ["vue-eslint-parser@10.1.3", "", { "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" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0" } }, "sha512-dbCBnd2e02dYWsXoqX5yKUZlOt+ExIpq7hmHKPb5ZqKcjf++Eo0hMseFTZMLKThrUk61m+Uv6A2YSBve6ZvuDQ=="], + "typesafe-path": ["typesafe-path@0.2.2", "", {}, "sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA=="], - "vue-i18n": ["vue-i18n@11.1.5", "", { "dependencies": { "@intlify/core-base": "11.1.5", "@intlify/shared": "11.1.5", "@vue/devtools-api": "^6.5.0" }, "peerDependencies": { "vue": "^3.0.0" } }, "sha512-XCwuaEA5AF97g1frvH/EI1zI9uo1XKTf2/OCFgts7NvUWRsjlgeHPrkJV+a3gpzai2pC4quZ4AnOHFO8QK9hsg=="], + "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], - "vue-router": ["vue-router@4.5.1", "", { "dependencies": { "@vue/devtools-api": "^6.6.4" }, "peerDependencies": { "vue": "^3.2.0" } }, "sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw=="], + "typescript-auto-import-cache": ["typescript-auto-import-cache@0.3.6", "", { "dependencies": { "semver": "^7.3.8" } }, "sha512-RpuHXrknHdVdK7wv/8ug3Fr0WNsNi5l5aB8MYYuXhq2UH5lnEB1htJ1smhtD5VeCsGr2p8mUDtd83LCQDFVgjQ=="], - "vue-tsc": ["vue-tsc@2.2.10", "", { "dependencies": { "@volar/typescript": "~2.4.11", "@vue/language-core": "2.2.10" }, "peerDependencies": { "typescript": ">=5.0.0" }, "bin": { "vue-tsc": "./bin/vue-tsc.js" } }, "sha512-jWZ1xSaNbabEV3whpIDMbjVSVawjAyW+x1n3JeGQo7S0uv2n9F/JMgWW90tGWNFRKya4YwKMZgCtr0vRAM7DeQ=="], + "ufo": ["ufo@1.6.4", "", {}, "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA=="], - "vuetify": ["vuetify@3.8.7", "", { "peerDependencies": { "typescript": ">=4.7", "vite-plugin-vuetify": ">=2.1.0", "vue": "^3.5.0", "webpack-plugin-vuetify": ">=3.1.0" }, "optionalPeers": ["typescript", "vite-plugin-vuetify", "webpack-plugin-vuetify"] }, "sha512-Xid5za36cOA9We0QShcjiI4qoWXcwABhlhDHi8/0qpjSrBgJ63GobQdZ9YYyRvjMT3XXJqgbkdis1RS/oGL8Bw=="], + "ultrahtml": ["ultrahtml@1.6.0", "", {}, "sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw=="], - "w3c-xmlserializer": ["w3c-xmlserializer@5.0.0", "", { "dependencies": { "xml-name-validator": "^5.0.0" } }, "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA=="], + "uncrypto": ["uncrypto@0.1.3", "", {}, "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q=="], - "webidl-conversions": ["webidl-conversions@7.0.0", "", {}, "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="], + "undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], - "webpack-virtual-modules": ["webpack-virtual-modules@0.6.2", "", {}, "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ=="], + "unified": ["unified@11.0.5", "", { "dependencies": { "@types/unist": "^3.0.0", "bail": "^2.0.0", "devlop": "^1.0.0", "extend": "^3.0.0", "is-plain-obj": "^4.0.0", "trough": "^2.0.0", "vfile": "^6.0.0" } }, "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA=="], - "whatwg-encoding": ["whatwg-encoding@3.1.1", "", { "dependencies": { "iconv-lite": "0.6.3" } }, "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ=="], + "unifont": ["unifont@0.7.4", "", { "dependencies": { "css-tree": "^3.1.0", "ofetch": "^1.5.1", "ohash": "^2.0.11" } }, "sha512-oHeis4/xl42HUIeHuNZRGEvxj5AaIKR+bHPNegRq5LV1gdc3jundpONbjglKpihmJf+dswygdMJn3eftGIMemg=="], - "whatwg-mimetype": ["whatwg-mimetype@4.0.0", "", {}, "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg=="], + "unique-string": ["unique-string@2.0.0", "", { "dependencies": { "crypto-random-string": "^2.0.0" } }, "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg=="], - "whatwg-url": ["whatwg-url@14.2.0", "", { "dependencies": { "tr46": "^5.1.0", "webidl-conversions": "^7.0.0" } }, "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw=="], + "unist-util-find-after": ["unist-util-find-after@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ=="], - "which": ["which@5.0.0", "", { "dependencies": { "isexe": "^3.1.1" }, "bin": { "node-which": "bin/which.js" } }, "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ=="], + "unist-util-is": ["unist-util-is@6.0.1", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g=="], - "why-is-node-running": ["why-is-node-running@2.3.0", "", { "dependencies": { "siginfo": "^2.0.0", "stackback": "0.0.2" }, "bin": "cli.js" }, "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w=="], + "unist-util-modify-children": ["unist-util-modify-children@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "array-iterate": "^2.0.0" } }, "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw=="], - "word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="], + "unist-util-position": ["unist-util-position@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA=="], - "wrap-ansi": ["wrap-ansi@9.0.0", "", { "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", "strip-ansi": "^7.1.0" } }, "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q=="], + "unist-util-remove-position": ["unist-util-remove-position@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q=="], - "wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], + "unist-util-stringify-position": ["unist-util-stringify-position@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ=="], - "ws": ["ws@8.18.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw=="], + "unist-util-visit": ["unist-util-visit@5.1.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg=="], - "xml-name-validator": ["xml-name-validator@4.0.0", "", {}, "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw=="], + "unist-util-visit-children": ["unist-util-visit-children@3.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA=="], - "xmlchars": ["xmlchars@2.2.0", "", {}, "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="], + "unist-util-visit-parents": ["unist-util-visit-parents@6.0.2", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ=="], - "yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="], + "unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="], - "yaml": ["yaml@2.7.0", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA=="], + "unstorage": ["unstorage@1.17.5", "", { "dependencies": { "anymatch": "^3.1.3", "chokidar": "^5.0.0", "destr": "^2.0.5", "h3": "^1.15.10", "lru-cache": "^11.2.7", "node-fetch-native": "^1.6.7", "ofetch": "^1.5.1", "ufo": "^1.6.3" }, "peerDependencies": { "@azure/app-configuration": "^1.8.0", "@azure/cosmos": "^4.2.0", "@azure/data-tables": "^13.3.0", "@azure/identity": "^4.6.0", "@azure/keyvault-secrets": "^4.9.0", "@azure/storage-blob": "^12.26.0", "@capacitor/preferences": "^6 || ^7 || ^8", "@deno/kv": ">=0.9.0", "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", "@planetscale/database": "^1.19.0", "@upstash/redis": "^1.34.3", "@vercel/blob": ">=0.27.1", "@vercel/functions": "^2.2.12 || ^3.0.0", "@vercel/kv": "^1 || ^2 || ^3", "aws4fetch": "^1.0.20", "db0": ">=0.2.1", "idb-keyval": "^6.2.1", "ioredis": "^5.4.2", "uploadthing": "^7.4.4" }, "optionalPeers": ["@azure/app-configuration", "@azure/cosmos", "@azure/data-tables", "@azure/identity", "@azure/keyvault-secrets", "@azure/storage-blob", "@capacitor/preferences", "@deno/kv", "@netlify/blobs", "@planetscale/database", "@upstash/redis", "@vercel/blob", "@vercel/functions", "@vercel/kv", "aws4fetch", "db0", "idb-keyval", "ioredis", "uploadthing"] }, "sha512-0i3iqvRfx29hkNntHyQvJTpf5W9dQ9ZadSoRU8+xVlhVtT7jAX57fazYO9EHvcRCfBCyi5YRya7XCDOsbTgkPg=="], - "yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], + "utils-merge": ["utils-merge@1.0.1", "", {}, "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="], - "yoctocolors": ["yoctocolors@2.1.1", "", {}, "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ=="], + "uuid": ["uuid@8.3.2", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="], - "@babel/code-frame/@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="], + "vary": ["vary@1.1.2", "", {}, "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="], - "@babel/core/@babel/types": ["@babel/types@7.26.7", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg=="], + "vfile": ["vfile@6.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile-message": "^4.0.0" } }, "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q=="], - "@babel/core/semver": ["semver@6.3.1", "", { "bin": "bin/semver.js" }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "vfile-location": ["vfile-location@5.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg=="], - "@babel/generator/@babel/types": ["@babel/types@7.26.7", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg=="], + "vfile-message": ["vfile-message@4.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw=="], - "@babel/helper-annotate-as-pure/@babel/types": ["@babel/types@7.26.7", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg=="], + "vite": ["vite@6.4.2", "", { "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" }, "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" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-2N/55r4JDJ4gdrCvGgINMy+HH3iRpNIz8K6SFwVsA+JbQScLiC+clmAxBgwiSPgcG9U15QmvqCGWzMbqda5zGQ=="], - "@babel/helper-compilation-targets/lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], + "vitefu": ["vitefu@1.1.3", "", { "peerDependencies": { "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" }, "optionalPeers": ["vite"] }, "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg=="], - "@babel/helper-compilation-targets/semver": ["semver@6.3.1", "", { "bin": "bin/semver.js" }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "volar-service-css": ["volar-service-css@0.0.70", "", { "dependencies": { "vscode-css-languageservice": "^6.3.0", "vscode-languageserver-textdocument": "^1.0.11", "vscode-uri": "^3.0.8" }, "peerDependencies": { "@volar/language-service": "~2.4.0" }, "optionalPeers": ["@volar/language-service"] }, "sha512-K1qyOvBpE3rzdAv3e4/6Rv5yizrYPy5R/ne3IWCAzLBuMO4qBMV3kSqWzj6KUVe6S0AnN6wxF7cRkiaKfYMYJw=="], - "@babel/helper-create-class-features-plugin/semver": ["semver@6.3.1", "", { "bin": "bin/semver.js" }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "volar-service-emmet": ["volar-service-emmet@0.0.70", "", { "dependencies": { "@emmetio/css-parser": "^0.4.1", "@emmetio/html-matcher": "^1.3.0", "@vscode/emmet-helper": "^2.9.3", "vscode-uri": "^3.0.8" }, "peerDependencies": { "@volar/language-service": "~2.4.0" }, "optionalPeers": ["@volar/language-service"] }, "sha512-xi5bC4m/VyE3zy/n2CXspKeDZs3qA41tHLTw275/7dNWM/RqE2z3BnDICQybHIVp/6G1iOQj5c1qXMgQC08TNg=="], - "@babel/helper-member-expression-to-functions/@babel/types": ["@babel/types@7.26.7", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg=="], + "volar-service-html": ["volar-service-html@0.0.70", "", { "dependencies": { "vscode-html-languageservice": "^5.3.0", "vscode-languageserver-textdocument": "^1.0.11", "vscode-uri": "^3.0.8" }, "peerDependencies": { "@volar/language-service": "~2.4.0" }, "optionalPeers": ["@volar/language-service"] }, "sha512-eR6vCgMdmYAo4n+gcT7DSyBQbwB8S3HZZvSagTf0sxNaD4WppMCFfpqWnkrlGStPKMZvMiejRRVmqsX9dYcTvQ=="], - "@babel/helper-module-imports/@babel/types": ["@babel/types@7.26.7", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg=="], + "volar-service-prettier": ["volar-service-prettier@0.0.70", "", { "dependencies": { "vscode-uri": "^3.0.8" }, "peerDependencies": { "@volar/language-service": "~2.4.0", "prettier": "^2.2 || ^3.0" }, "optionalPeers": ["@volar/language-service", "prettier"] }, "sha512-Z6BCFSpGVCd8BPAsZ785Kce1BGlWd5ODqmqZGVuB14MJvrR4+CYz6cDy4F+igmE1gMifqfvMhdgT8Aud4M5ngg=="], - "@babel/helper-module-transforms/@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="], + "volar-service-typescript": ["volar-service-typescript@0.0.70", "", { "dependencies": { "path-browserify": "^1.0.1", "semver": "^7.6.2", "typescript-auto-import-cache": "^0.3.5", "vscode-languageserver-textdocument": "^1.0.11", "vscode-nls": "^5.2.0", "vscode-uri": "^3.0.8" }, "peerDependencies": { "@volar/language-service": "~2.4.0" }, "optionalPeers": ["@volar/language-service"] }, "sha512-l46Bx4cokkUedTd74ojO5H/zqHZJ8SUuyZ0IB8JN4jfRqUM3bQFBHoOwlZCyZmOeO0A3RQNkMnFclxO4c++gsg=="], - "@babel/helper-optimise-call-expression/@babel/types": ["@babel/types@7.26.7", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg=="], + "volar-service-typescript-twoslash-queries": ["volar-service-typescript-twoslash-queries@0.0.70", "", { "dependencies": { "vscode-uri": "^3.0.8" }, "peerDependencies": { "@volar/language-service": "~2.4.0" }, "optionalPeers": ["@volar/language-service"] }, "sha512-IdD13Z9N2Bu8EM6CM0fDV1E69olEYGHDU25X51YXmq8Y0CmJ2LNj6gOiBJgpS5JGUqFzECVhMNBW7R0sPdRTMQ=="], - "@babel/helper-skip-transparent-expression-wrappers/@babel/types": ["@babel/types@7.26.7", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg=="], + "volar-service-yaml": ["volar-service-yaml@0.0.70", "", { "dependencies": { "vscode-uri": "^3.0.8", "yaml-language-server": "~1.20.0" }, "peerDependencies": { "@volar/language-service": "~2.4.0" }, "optionalPeers": ["@volar/language-service"] }, "sha512-0c8bXDBeoATF9F6iPIlOuYTuZAC4c+yi0siQo920u7eiBJk8oQmUmg9cDUbR4+Gl++bvGP4plj3fErbJuPqdcQ=="], - "@babel/helpers/@babel/types": ["@babel/types@7.26.7", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg=="], + "vscode-css-languageservice": ["vscode-css-languageservice@6.3.10", "", { "dependencies": { "@vscode/l10n": "^0.0.18", "vscode-languageserver-textdocument": "^1.0.12", "vscode-languageserver-types": "3.17.5", "vscode-uri": "^3.1.0" } }, "sha512-eq5N9Er3fC4vA9zd9EFhyBG90wtCCuXgRSpAndaOgXMh1Wgep5lBgRIeDgjZBW9pa+332yC9+49cZMW8jcL3MA=="], - "@babel/parser/@babel/types": ["@babel/types@7.26.7", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg=="], + "vscode-html-languageservice": ["vscode-html-languageservice@5.6.2", "", { "dependencies": { "@vscode/l10n": "^0.0.18", "vscode-languageserver-textdocument": "^1.0.12", "vscode-languageserver-types": "^3.17.5", "vscode-uri": "^3.1.0" } }, "sha512-ulCrSnFnfQ16YzvwnYUgEbUEl/ZG7u2eV27YhvLObSHKkb8fw1Z9cgsnUwjTEeDIdJDoTDTDpxuhQwoenoLNMg=="], - "@babel/template/@babel/types": ["@babel/types@7.26.7", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg=="], + "vscode-json-languageservice": ["vscode-json-languageservice@4.1.8", "", { "dependencies": { "jsonc-parser": "^3.0.0", "vscode-languageserver-textdocument": "^1.0.1", "vscode-languageserver-types": "^3.16.0", "vscode-nls": "^5.0.0", "vscode-uri": "^3.0.2" } }, "sha512-0vSpg6Xd9hfV+eZAaYN63xVVMOTmJ4GgHxXnkLCh+9RsQBkWKIghzLhW2B9ebfG+LQQg8uLtsQ2aUKjTgE+QOg=="], - "@babel/traverse/@babel/types": ["@babel/types@7.26.7", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg=="], + "vscode-jsonrpc": ["vscode-jsonrpc@8.2.0", "", {}, "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA=="], - "@babel/traverse/globals": ["globals@11.12.0", "", {}, "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="], + "vscode-languageserver": ["vscode-languageserver@9.0.1", "", { "dependencies": { "vscode-languageserver-protocol": "3.17.5" }, "bin": { "installServerIntoExtension": "bin/installServerIntoExtension" } }, "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g=="], - "@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], + "vscode-languageserver-protocol": ["vscode-languageserver-protocol@3.17.5", "", { "dependencies": { "vscode-jsonrpc": "8.2.0", "vscode-languageserver-types": "3.17.5" } }, "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg=="], - "@eslint/eslintrc/globals": ["globals@14.0.0", "", {}, "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ=="], + "vscode-languageserver-textdocument": ["vscode-languageserver-textdocument@1.0.12", "", {}, "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA=="], - "@humanfs/node/@humanwhocodes/retry": ["@humanwhocodes/retry@0.3.1", "", {}, "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA=="], + "vscode-languageserver-types": ["vscode-languageserver-types@3.17.5", "", {}, "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg=="], - "@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], + "vscode-nls": ["vscode-nls@5.2.0", "", {}, "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng=="], - "@isaacs/cliui/wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="], + "vscode-uri": ["vscode-uri@3.1.0", "", {}, "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ=="], - "@nuxt/kit/ignore": ["ignore@7.0.4", "", {}, "sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A=="], + "web-namespaces": ["web-namespaces@2.0.1", "", {}, "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ=="], - "@nuxt/kit/pkg-types": ["pkg-types@2.1.0", "", { "dependencies": { "confbox": "^0.2.1", "exsolve": "^1.0.1", "pathe": "^2.0.3" } }, "sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A=="], + "webdriver-bidi-protocol": ["webdriver-bidi-protocol@0.4.1", "", {}, "sha512-ARrjNjtWRRs2w4Tk7nqrf2gBI0QXWuOmMCx2hU+1jUt6d00MjMxURrhxhGbrsoiZKJrhTSTzbIrc554iKI10qw=="], - "@nuxt/kit/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "webidl-conversions": ["webidl-conversions@3.0.1", "", {}, "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="], - "@nuxt/kit/ufo": ["ufo@1.6.1", "", {}, "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA=="], + "whatwg-fetch": ["whatwg-fetch@3.6.20", "", {}, "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg=="], - "@rollup/pluginutils/@types/estree": ["@types/estree@1.0.6", "", {}, "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw=="], + "whatwg-url": ["whatwg-url@5.0.0", "", { "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } }, "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw=="], - "@rollup/pluginutils/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + "which-module": ["which-module@2.0.1", "", {}, "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ=="], - "@types/jsdom/@types/node": ["@types/node@22.12.0", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-Fll2FZ1riMjNmlmJOdAyY5pUbkftXslB5DgEzlIuNaiWhXd00FhWxVC/r4yV/4wBb9JfImTu+jiSvXTkJ7F/gA=="], + "which-pm-runs": ["which-pm-runs@1.1.0", "", {}, "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA=="], - "@typescript-eslint/eslint-plugin/@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.32.1", "", { "dependencies": { "@typescript-eslint/types": "8.32.1", "@typescript-eslint/visitor-keys": "8.32.1" } }, "sha512-7IsIaIDeZn7kffk7qXC3o6Z4UblZJKV3UBpkvRNpr5NSyLji7tvTcvmnMNYuYLyh26mN8W723xpo3i4MlD33vA=="], + "widest-line": ["widest-line@5.0.0", "", { "dependencies": { "string-width": "^7.0.0" } }, "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA=="], - "@typescript-eslint/eslint-plugin/@typescript-eslint/utils": ["@typescript-eslint/utils@8.32.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", "@typescript-eslint/scope-manager": "8.32.1", "@typescript-eslint/types": "8.32.1", "@typescript-eslint/typescript-estree": "8.32.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-DsSFNIgLSrc89gpq1LJB7Hm1YpuhK086DRDJSNrewcGvYloWW1vZLHBTIvarKZDcAORIy/uWNx8Gad+4oMpkSA=="], + "wrap-ansi": ["wrap-ansi@9.0.2", "", { "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", "strip-ansi": "^7.1.0" } }, "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww=="], - "@typescript-eslint/eslint-plugin/@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.32.1", "", { "dependencies": { "@typescript-eslint/types": "8.32.1", "eslint-visitor-keys": "^4.2.0" } }, "sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w=="], + "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], - "@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.4", "", {}, "sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A=="], + "write-file-atomic": ["write-file-atomic@3.0.3", "", { "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", "signal-exit": "^3.0.2", "typedarray-to-buffer": "^3.1.5" } }, "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q=="], - "@typescript-eslint/eslint-plugin/ts-api-utils": ["ts-api-utils@2.1.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ=="], + "ws": ["ws@7.5.10", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": "^5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ=="], - "@typescript-eslint/parser/@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.32.1", "", { "dependencies": { "@typescript-eslint/types": "8.32.1", "@typescript-eslint/visitor-keys": "8.32.1" } }, "sha512-7IsIaIDeZn7kffk7qXC3o6Z4UblZJKV3UBpkvRNpr5NSyLji7tvTcvmnMNYuYLyh26mN8W723xpo3i4MlD33vA=="], + "xdg-basedir": ["xdg-basedir@4.0.0", "", {}, "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q=="], - "@typescript-eslint/parser/@typescript-eslint/types": ["@typescript-eslint/types@8.32.1", "", {}, "sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg=="], + "xml-naming": ["xml-naming@0.1.0", "", {}, "sha512-k8KO9hrMyNk6tUWqUfkTEZbezRRpONVOzUTnc97VnCvyj6Tf9lyUR9EDAIeiVLv56jsMcoXEwjW8Kv5yPY52lw=="], - "@typescript-eslint/parser/@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.32.1", "", { "dependencies": { "@typescript-eslint/types": "8.32.1", "@typescript-eslint/visitor-keys": "8.32.1", "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" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-Y3AP9EIfYwBb4kWGb+simvPaqQoT5oJuzzj9m0i6FCY6SPvlomY2Ei4UEMm7+FXtlNJbor80ximyslzaQF6xhg=="], + "xxhash-wasm": ["xxhash-wasm@1.1.0", "", {}, "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA=="], - "@typescript-eslint/parser/@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.32.1", "", { "dependencies": { "@typescript-eslint/types": "8.32.1", "eslint-visitor-keys": "^4.2.0" } }, "sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w=="], + "y18n": ["y18n@4.0.3", "", {}, "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="], - "@typescript-eslint/type-utils/@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.32.1", "", { "dependencies": { "@typescript-eslint/types": "8.32.1", "@typescript-eslint/visitor-keys": "8.32.1", "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" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-Y3AP9EIfYwBb4kWGb+simvPaqQoT5oJuzzj9m0i6FCY6SPvlomY2Ei4UEMm7+FXtlNJbor80ximyslzaQF6xhg=="], + "yaml": ["yaml@2.8.4", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-ml/JPOj9fOQK8RNnWojA67GbZ0ApXAUlN2UQclwv2eVgTgn7O9gg9o7paZWKMp4g0H3nTLtS9LVzhkpOFIKzog=="], - "@typescript-eslint/type-utils/@typescript-eslint/utils": ["@typescript-eslint/utils@8.32.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", "@typescript-eslint/scope-manager": "8.32.1", "@typescript-eslint/types": "8.32.1", "@typescript-eslint/typescript-estree": "8.32.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-DsSFNIgLSrc89gpq1LJB7Hm1YpuhK086DRDJSNrewcGvYloWW1vZLHBTIvarKZDcAORIy/uWNx8Gad+4oMpkSA=="], + "yaml-language-server": ["yaml-language-server@1.20.0", "", { "dependencies": { "@vscode/l10n": "^0.0.18", "ajv": "^8.17.1", "ajv-draft-04": "^1.0.0", "prettier": "^3.5.0", "request-light": "^0.5.7", "vscode-json-languageservice": "4.1.8", "vscode-languageserver": "^9.0.0", "vscode-languageserver-textdocument": "^1.0.1", "vscode-languageserver-types": "^3.16.0", "vscode-uri": "^3.0.2", "yaml": "2.7.1" }, "bin": { "yaml-language-server": "bin/yaml-language-server" } }, "sha512-qhjK/bzSRZ6HtTvgeFvjNPJGWdZ0+x5NREV/9XZWFjIGezew2b4r5JPy66IfOhd5OA7KeFwk1JfmEbnTvev0cA=="], - "@typescript-eslint/type-utils/ts-api-utils": ["ts-api-utils@2.1.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ=="], + "yargs": ["yargs@15.4.1", "", { "dependencies": { "cliui": "^6.0.0", "decamelize": "^1.2.0", "find-up": "^4.1.0", "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", "yargs-parser": "^18.1.2" } }, "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A=="], - "@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "yargs-parser": ["yargs-parser@13.1.2", "", { "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" } }, "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg=="], - "@typescript-eslint/utils/@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.4.1", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA=="], + "yauzl": ["yauzl@2.10.0", "", { "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } }, "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g=="], - "@vue-macros/common/@vue/compiler-sfc": ["@vue/compiler-sfc@3.5.13", "", { "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" } }, "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ=="], + "yocto-queue": ["yocto-queue@1.2.2", "", {}, "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ=="], - "@vue-macros/common/pathe": ["pathe@2.0.2", "", {}, "sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w=="], + "yocto-spinner": ["yocto-spinner@0.2.3", "", { "dependencies": { "yoctocolors": "^2.1.1" } }, "sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ=="], - "@vue/babel-plugin-jsx/@babel/types": ["@babel/types@7.26.7", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg=="], + "yoctocolors": ["yoctocolors@2.1.2", "", {}, "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug=="], - "@vue/babel-plugin-resolve-type/@vue/compiler-sfc": ["@vue/compiler-sfc@3.5.13", "", { "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" } }, "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ=="], + "zimmerframe": ["zimmerframe@1.1.4", "", {}, "sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ=="], - "@vue/compiler-core/@babel/parser": ["@babel/parser@7.27.2", "", { "dependencies": { "@babel/types": "^7.27.1" }, "bin": "./bin/babel-parser.js" }, "sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw=="], + "zod": ["zod@4.4.3", "", {}, "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ=="], - "@vue/compiler-core/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + "zod-to-json-schema": ["zod-to-json-schema@3.25.2", "", { "peerDependencies": { "zod": "^3.25.28 || ^4" } }, "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA=="], - "@vue/compiler-sfc/@babel/parser": ["@babel/parser@7.27.2", "", { "dependencies": { "@babel/types": "^7.27.1" }, "bin": "./bin/babel-parser.js" }, "sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw=="], + "zod-to-ts": ["zod-to-ts@1.2.0", "", { "peerDependencies": { "typescript": "^4.9.4 || ^5.0.2", "zod": "^3" } }, "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA=="], - "@vue/compiler-sfc/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + "zwitch": ["zwitch@2.0.4", "", {}, "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A=="], - "@vue/devtools-core/nanoid": ["nanoid@5.1.5", "", { "bin": { "nanoid": "bin/nanoid.js" } }, "sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw=="], + "@astrojs/check/yargs": ["yargs@17.7.2", "", { "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" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], - "@vue/eslint-config-typescript/@typescript-eslint/utils": ["@typescript-eslint/utils@8.32.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", "@typescript-eslint/scope-manager": "8.32.1", "@typescript-eslint/types": "8.32.1", "@typescript-eslint/typescript-estree": "8.32.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-DsSFNIgLSrc89gpq1LJB7Hm1YpuhK086DRDJSNrewcGvYloWW1vZLHBTIvarKZDcAORIy/uWNx8Gad+4oMpkSA=="], + "@astrojs/telemetry/is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], - "@vue/language-core/@vue/compiler-dom": ["@vue/compiler-dom@3.5.14", "", { "dependencies": { "@vue/compiler-core": "3.5.14", "@vue/shared": "3.5.14" } }, "sha512-1aOCSqxGOea5I80U2hQJvXYpPm/aXo95xL/m/mMhgyPUsKe9jhjwWpziNAw7tYRnbz1I61rd9Mld4W9KmmRoug=="], + "@astrojs/telemetry/is-wsl": ["is-wsl@3.1.1", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw=="], - "@vue/language-core/@vue/shared": ["@vue/shared@3.5.14", "", {}, "sha512-oXTwNxVfc9EtP1zzXAlSlgARLXNC84frFYkS0HHz0h3E4WZSP9sywqjqzGCP9Y34M8ipNmd380pVgmMuwELDyQ=="], + "@lhci/utils/js-yaml": ["js-yaml@3.14.2", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg=="], - "@vue/language-core/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "@paulirish/trace_engine/third-party-web": ["third-party-web@0.29.0", "", {}, "sha512-nBDSJw5B7Sl1YfsATG2XkW5qgUPODbJhXw++BKygi9w6O/NKS98/uY/nR/DxDq2axEjL6halHW1v+jhm/j1DBQ=="], - "ast-kit/pathe": ["pathe@2.0.2", "", {}, "sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w=="], + "@puppeteer/browsers/yargs": ["yargs@17.7.2", "", { "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" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], - "c12/confbox": ["confbox@0.2.2", "", {}, "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ=="], + "@rollup/pluginutils/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], - "c12/pkg-types": ["pkg-types@2.1.0", "", { "dependencies": { "confbox": "^0.2.1", "exsolve": "^1.0.1", "pathe": "^2.0.3" } }, "sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A=="], + "accepts/negotiator": ["negotiator@0.6.3", "", {}, "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="], - "chalk/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], + "ansi-align/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - "chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], + "anymatch/picomatch": ["picomatch@2.3.2", "", {}, "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA=="], - "citty/consola": ["consola@3.4.0", "", {}, "sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA=="], + "astro/yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], - "cross-spawn/which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], + "astro/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], - "data-urls/whatwg-url": ["whatwg-url@14.1.0", "", { "dependencies": { "tr46": "^5.0.0", "webidl-conversions": "^7.0.0" } }, "sha512-jlf/foYIKywAt3x/XWKZ/3rz8OSJPiWktjmk891alJUEjiVxKX9LEO92qH3hv4aJ0mN3MWPvGMCy8jQi95xK4w=="], + "body-parser/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - "editorconfig/commander": ["commander@10.0.1", "", {}, "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug=="], + "body-parser/qs": ["qs@6.15.1", "", { "dependencies": { "side-channel": "^1.1.0" } }, "sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg=="], - "editorconfig/minimatch": ["minimatch@9.0.1", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w=="], + "boxen/camelcase": ["camelcase@8.0.0", "", {}, "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA=="], - "eslint-plugin-vue/@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.4.1", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA=="], + "boxen/chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], - "eslint-plugin-vue/vue-eslint-parser": ["vue-eslint-parser@9.4.3", "", { "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" }, "peerDependencies": { "eslint": ">=6.0.0" } }, "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg=="], + "boxen/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], - "estree-walker/@types/estree": ["@types/estree@1.0.6", "", {}, "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw=="], + "chromium-bidi/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], - "fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], + "cliui/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - "glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "cliui/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "jsdom/xml-name-validator": ["xml-name-validator@5.0.0", "", {}, "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg=="], + "cliui/wrap-ansi": ["wrap-ansi@6.2.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA=="], - "lint-staged/chalk": ["chalk@5.4.1", "", {}, "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w=="], + "compression/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - "log-update/slice-ansi": ["slice-ansi@7.1.0", "", { "dependencies": { "ansi-styles": "^6.2.1", "is-fullwidth-code-point": "^5.0.0" } }, "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg=="], + "csso/css-tree": ["css-tree@2.2.1", "", { "dependencies": { "mdn-data": "2.0.28", "source-map-js": "^1.0.1" } }, "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA=="], - "micromatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + "dom-serializer/entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], - "mlly/pathe": ["pathe@2.0.2", "", {}, "sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w=="], + "enquirer/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "npm-run-path/path-key": ["path-key@4.0.0", "", {}, "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ=="], + "express/cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="], - "nypm/pkg-types": ["pkg-types@2.1.0", "", { "dependencies": { "confbox": "^0.2.1", "exsolve": "^1.0.1", "pathe": "^2.0.3" } }, "sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A=="], + "express/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - "pkg-types/pathe": ["pathe@2.0.2", "", {}, "sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w=="], + "external-editor/tmp": ["tmp@0.0.33", "", { "dependencies": { "os-tmpdir": "~1.0.2" } }, "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw=="], - "rc9/destr": ["destr@2.0.3", "", {}, "sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ=="], + "finalhandler/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - "restore-cursor/onetime": ["onetime@7.0.0", "", { "dependencies": { "mimic-function": "^5.0.0" } }, "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ=="], + "is-inside-container/is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], - "string-width-cjs/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + "lighthouse/chrome-launcher": ["chrome-launcher@1.2.1", "", { "dependencies": { "@types/node": "*", "escape-string-regexp": "^4.0.0", "is-wsl": "^2.2.0", "lighthouse-logger": "^2.0.1" }, "bin": { "print-chrome-path": "bin/print-chrome-path.cjs" } }, "sha512-qmFR5PLMzHyuNJHwOloHPAHhbaNglkfeV/xDtt5b7xiFFyU1I+AZZX0PYseMuhenJSSirgxELYIbswcoc+5H4A=="], - "string-width-cjs/is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], + "lighthouse/lighthouse-logger": ["lighthouse-logger@2.0.2", "", { "dependencies": { "debug": "^4.4.1", "marky": "^1.2.2" } }, "sha512-vWl2+u5jgOQuZR55Z1WM0XDdrJT6mzMP8zHUct7xTlWhuQs+eV0g+QL0RQdFjT54zVmbhLCP8vIVpy1wGn/gCg=="], - "string-width-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + "lighthouse/open": ["open@8.4.2", "", { "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", "is-wsl": "^2.2.0" } }, "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ=="], - "strip-ansi-cjs/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + "lighthouse/semver": ["semver@5.7.2", "", { "bin": { "semver": "bin/semver" } }, "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g=="], - "strip-literal/js-tokens": ["js-tokens@9.0.1", "", {}, "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ=="], + "lighthouse/yargs": ["yargs@17.7.2", "", { "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" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], - "typescript-eslint/@typescript-eslint/utils": ["@typescript-eslint/utils@8.32.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", "@typescript-eslint/scope-manager": "8.32.1", "@typescript-eslint/types": "8.32.1", "@typescript-eslint/typescript-estree": "8.32.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-DsSFNIgLSrc89gpq1LJB7Hm1YpuhK086DRDJSNrewcGvYloWW1vZLHBTIvarKZDcAORIy/uWNx8Gad+4oMpkSA=="], + "lighthouse/yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], - "unctx/unplugin": ["unplugin@2.1.2", "", { "dependencies": { "acorn": "^8.14.0", "webpack-virtual-modules": "^0.6.2" } }, "sha512-Q3LU0e4zxKfRko1wMV2HmP8lB9KWislY7hxXpxd+lGx0PRInE4vhMBVEZwpdVYHvtqzhSrzuIfErsob6bQfCzw=="], + "lighthouse-logger/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - "unimport/acorn": ["acorn@8.14.1", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg=="], + "make-dir/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "unimport/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="], + "mdast-util-find-and-replace/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="], - "unimport/local-pkg": ["local-pkg@1.1.1", "", { "dependencies": { "mlly": "^1.7.4", "pkg-types": "^2.0.1", "quansync": "^0.2.8" } }, "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg=="], + "mime-types/mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], - "unimport/pkg-types": ["pkg-types@2.1.0", "", { "dependencies": { "confbox": "^0.2.1", "exsolve": "^1.0.1", "pathe": "^2.0.3" } }, "sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A=="], + "p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], - "unplugin/acorn": ["acorn@8.14.1", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg=="], + "prompts/kleur": ["kleur@3.0.3", "", {}, "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w=="], - "vite-plugin-inspect/sirv": ["sirv@3.0.0", "", { "dependencies": { "@polka/url": "^1.0.0-next.24", "mrmime": "^2.0.0", "totalist": "^3.0.0" } }, "sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg=="], + "puppeteer-core/devtools-protocol": ["devtools-protocol@0.0.1608973", "", {}, "sha512-Tpm17fxYzt+J7VrGdc1k8YdRqS3YV7se/M6KeemEqvUbq/n7At1rWVuXMxQgpWkdwSdIEKYbU//Bve+Shm4YNQ=="], - "vite-plugin-vue-devtools/execa": ["execa@9.5.2", "", { "dependencies": { "@sindresorhus/merge-streams": "^4.0.0", "cross-spawn": "^7.0.3", "figures": "^6.1.0", "get-stream": "^9.0.0", "human-signals": "^8.0.0", "is-plain-obj": "^4.1.0", "is-stream": "^4.0.1", "npm-run-path": "^6.0.0", "pretty-ms": "^9.0.0", "signal-exit": "^4.1.0", "strip-final-newline": "^4.0.0", "yoctocolors": "^2.0.0" } }, "sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q=="], + "puppeteer-core/ws": ["ws@8.20.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA=="], - "vite-plugin-vue-inspector/@vue/compiler-dom": ["@vue/compiler-dom@3.5.13", "", { "dependencies": { "@vue/compiler-core": "3.5.13", "@vue/shared": "3.5.13" } }, "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA=="], + "rollup/@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], - "vue-eslint-parser/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "rxjs/tslib": ["tslib@1.14.1", "", {}, "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="], - "vue-i18n/@vue/devtools-api": ["@vue/devtools-api@6.6.4", "", {}, "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g=="], + "send/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - "vue-router/@vue/devtools-api": ["@vue/devtools-api@6.6.4", "", {}, "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g=="], + "string-width/strip-ansi": ["strip-ansi@4.0.0", "", { "dependencies": { "ansi-regex": "^3.0.0" } }, "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow=="], - "w3c-xmlserializer/xml-name-validator": ["xml-name-validator@5.0.0", "", {}, "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg=="], + "svelte/aria-query": ["aria-query@5.3.1", "", {}, "sha512-Z/ZeOgVl7bcSYZ/u/rh0fOpvEpq//LZmdbkXyc7syVzjPAhfOa9ebsdTSjEBDU4vs5nC98Kfduj1uFo0qyET3g=="], - "wrap-ansi-cjs/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], + "tmp/rimraf": ["rimraf@2.7.1", "", { "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "./bin.js" } }, "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w=="], - "wrap-ansi-cjs/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + "unstorage/chokidar": ["chokidar@5.0.0", "", { "dependencies": { "readdirp": "^5.0.0" } }, "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw=="], - "wrap-ansi-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + "unstorage/lru-cache": ["lru-cache@11.3.6", "", {}, "sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A=="], - "@babel/core/@babel/types/@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="], + "vite/esbuild": ["esbuild@0.25.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="], - "@babel/core/@babel/types/@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="], + "vscode-json-languageservice/jsonc-parser": ["jsonc-parser@3.3.1", "", {}, "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ=="], - "@babel/generator/@babel/types/@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="], + "widest-line/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], - "@babel/generator/@babel/types/@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="], + "wrap-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], - "@babel/helper-annotate-as-pure/@babel/types/@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="], + "wrap-ansi/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], - "@babel/helper-annotate-as-pure/@babel/types/@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="], + "wrap-ansi/strip-ansi": ["strip-ansi@7.2.0", "", { "dependencies": { "ansi-regex": "^6.2.2" } }, "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w=="], - "@babel/helper-member-expression-to-functions/@babel/types/@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="], + "yaml-language-server/request-light": ["request-light@0.5.8", "", {}, "sha512-3Zjgh+8b5fhRJBQZoy+zbVKpAQGLyka0MPgW3zruTF4dFFJ8Fqcfu9YsAvi/rvdcaTeWG3MkbZv4WKxAn/84Lg=="], - "@babel/helper-member-expression-to-functions/@babel/types/@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="], + "yaml-language-server/yaml": ["yaml@2.7.1", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ=="], - "@babel/helper-module-imports/@babel/types/@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="], + "yargs/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - "@babel/helper-module-imports/@babel/types/@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="], + "yargs/yargs-parser": ["yargs-parser@18.1.3", "", { "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" } }, "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ=="], - "@babel/helper-optimise-call-expression/@babel/types/@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="], + "zod-to-ts/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], - "@babel/helper-optimise-call-expression/@babel/types/@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="], + "@astrojs/check/yargs/cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="], - "@babel/helper-skip-transparent-expression-wrappers/@babel/types/@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="], + "@astrojs/check/yargs/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - "@babel/helper-skip-transparent-expression-wrappers/@babel/types/@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="], + "@astrojs/check/yargs/y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="], - "@babel/helpers/@babel/types/@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="], + "@astrojs/check/yargs/yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], - "@babel/helpers/@babel/types/@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="], + "@lhci/utils/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], - "@babel/parser/@babel/types/@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="], + "@puppeteer/browsers/yargs/cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="], - "@babel/parser/@babel/types/@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="], + "@puppeteer/browsers/yargs/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - "@babel/template/@babel/types/@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="], + "@puppeteer/browsers/yargs/y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="], - "@babel/template/@babel/types/@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="], + "@puppeteer/browsers/yargs/yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], - "@babel/traverse/@babel/types/@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="], + "ansi-align/string-width/is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], - "@babel/traverse/@babel/types/@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="], + "ansi-align/string-width/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], + "body-parser/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - "@nuxt/kit/pkg-types/confbox": ["confbox@0.2.2", "", {}, "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ=="], + "boxen/string-width/emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="], - "@types/jsdom/@types/node/undici-types": ["undici-types@6.20.0", "", {}, "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="], + "boxen/string-width/strip-ansi": ["strip-ansi@7.2.0", "", { "dependencies": { "ansi-regex": "^6.2.2" } }, "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w=="], - "@typescript-eslint/eslint-plugin/@typescript-eslint/scope-manager/@typescript-eslint/types": ["@typescript-eslint/types@8.32.1", "", {}, "sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg=="], + "cliui/string-width/is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], - "@typescript-eslint/eslint-plugin/@typescript-eslint/utils/@typescript-eslint/types": ["@typescript-eslint/types@8.32.1", "", {}, "sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg=="], + "cliui/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - "@typescript-eslint/eslint-plugin/@typescript-eslint/utils/@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.32.1", "", { "dependencies": { "@typescript-eslint/types": "8.32.1", "@typescript-eslint/visitor-keys": "8.32.1", "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" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-Y3AP9EIfYwBb4kWGb+simvPaqQoT5oJuzzj9m0i6FCY6SPvlomY2Ei4UEMm7+FXtlNJbor80ximyslzaQF6xhg=="], + "cliui/wrap-ansi/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - "@typescript-eslint/eslint-plugin/@typescript-eslint/visitor-keys/@typescript-eslint/types": ["@typescript-eslint/types@8.32.1", "", {}, "sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg=="], + "compression/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - "@typescript-eslint/parser/@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "csso/css-tree/mdn-data": ["mdn-data@2.0.28", "", {}, "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g=="], - "@typescript-eslint/parser/@typescript-eslint/typescript-estree/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "enquirer/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - "@typescript-eslint/parser/@typescript-eslint/typescript-estree/ts-api-utils": ["ts-api-utils@2.1.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ=="], + "express/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - "@typescript-eslint/type-utils/@typescript-eslint/typescript-estree/@typescript-eslint/types": ["@typescript-eslint/types@8.32.1", "", {}, "sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg=="], + "finalhandler/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - "@typescript-eslint/type-utils/@typescript-eslint/typescript-estree/@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.32.1", "", { "dependencies": { "@typescript-eslint/types": "8.32.1", "eslint-visitor-keys": "^4.2.0" } }, "sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w=="], + "lighthouse-logger/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - "@typescript-eslint/type-utils/@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "lighthouse/chrome-launcher/escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], - "@typescript-eslint/type-utils/@typescript-eslint/typescript-estree/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "lighthouse/yargs/cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="], - "@typescript-eslint/type-utils/@typescript-eslint/utils/@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.32.1", "", { "dependencies": { "@typescript-eslint/types": "8.32.1", "@typescript-eslint/visitor-keys": "8.32.1" } }, "sha512-7IsIaIDeZn7kffk7qXC3o6Z4UblZJKV3UBpkvRNpr5NSyLji7tvTcvmnMNYuYLyh26mN8W723xpo3i4MlD33vA=="], + "lighthouse/yargs/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - "@typescript-eslint/type-utils/@typescript-eslint/utils/@typescript-eslint/types": ["@typescript-eslint/types@8.32.1", "", {}, "sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg=="], + "lighthouse/yargs/y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="], - "@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], + "send/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - "@typescript-eslint/utils/@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], + "string-width/strip-ansi/ansi-regex": ["ansi-regex@3.0.1", "", {}, "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw=="], - "@vue-macros/common/@vue/compiler-sfc/@vue/compiler-core": ["@vue/compiler-core@3.5.13", "", { "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" } }, "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q=="], + "unstorage/chokidar/readdirp": ["readdirp@5.0.0", "", {}, "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ=="], - "@vue-macros/common/@vue/compiler-sfc/@vue/compiler-dom": ["@vue/compiler-dom@3.5.13", "", { "dependencies": { "@vue/compiler-core": "3.5.13", "@vue/shared": "3.5.13" } }, "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA=="], + "vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="], - "@vue-macros/common/@vue/compiler-sfc/@vue/compiler-ssr": ["@vue/compiler-ssr@3.5.13", "", { "dependencies": { "@vue/compiler-dom": "3.5.13", "@vue/shared": "3.5.13" } }, "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA=="], + "vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.12", "", { "os": "android", "cpu": "arm" }, "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg=="], - "@vue-macros/common/@vue/compiler-sfc/@vue/shared": ["@vue/shared@3.5.13", "", {}, "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ=="], + "vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.12", "", { "os": "android", "cpu": "arm64" }, "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg=="], - "@vue-macros/common/@vue/compiler-sfc/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + "vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.12", "", { "os": "android", "cpu": "x64" }, "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg=="], - "@vue-macros/common/@vue/compiler-sfc/postcss": ["postcss@8.5.1", "", { "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ=="], + "vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg=="], - "@vue/babel-plugin-jsx/@babel/types/@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="], + "vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA=="], - "@vue/babel-plugin-jsx/@babel/types/@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="], + "vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.12", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg=="], - "@vue/babel-plugin-resolve-type/@vue/compiler-sfc/@vue/compiler-core": ["@vue/compiler-core@3.5.13", "", { "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" } }, "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q=="], + "vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ=="], - "@vue/babel-plugin-resolve-type/@vue/compiler-sfc/@vue/compiler-dom": ["@vue/compiler-dom@3.5.13", "", { "dependencies": { "@vue/compiler-core": "3.5.13", "@vue/shared": "3.5.13" } }, "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA=="], + "vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.12", "", { "os": "linux", "cpu": "arm" }, "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw=="], - "@vue/babel-plugin-resolve-type/@vue/compiler-sfc/@vue/compiler-ssr": ["@vue/compiler-ssr@3.5.13", "", { "dependencies": { "@vue/compiler-dom": "3.5.13", "@vue/shared": "3.5.13" } }, "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA=="], + "vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ=="], - "@vue/babel-plugin-resolve-type/@vue/compiler-sfc/@vue/shared": ["@vue/shared@3.5.13", "", {}, "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ=="], + "vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.12", "", { "os": "linux", "cpu": "ia32" }, "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA=="], - "@vue/babel-plugin-resolve-type/@vue/compiler-sfc/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + "vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng=="], - "@vue/babel-plugin-resolve-type/@vue/compiler-sfc/postcss": ["postcss@8.5.1", "", { "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ=="], + "vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw=="], - "@vue/eslint-config-typescript/@typescript-eslint/utils/@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.32.1", "", { "dependencies": { "@typescript-eslint/types": "8.32.1", "@typescript-eslint/visitor-keys": "8.32.1" } }, "sha512-7IsIaIDeZn7kffk7qXC3o6Z4UblZJKV3UBpkvRNpr5NSyLji7tvTcvmnMNYuYLyh26mN8W723xpo3i4MlD33vA=="], + "vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA=="], - "@vue/eslint-config-typescript/@typescript-eslint/utils/@typescript-eslint/types": ["@typescript-eslint/types@8.32.1", "", {}, "sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg=="], + "vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w=="], - "@vue/eslint-config-typescript/@typescript-eslint/utils/@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.32.1", "", { "dependencies": { "@typescript-eslint/types": "8.32.1", "@typescript-eslint/visitor-keys": "8.32.1", "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" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-Y3AP9EIfYwBb4kWGb+simvPaqQoT5oJuzzj9m0i6FCY6SPvlomY2Ei4UEMm7+FXtlNJbor80ximyslzaQF6xhg=="], + "vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg=="], - "@vue/language-core/@vue/compiler-dom/@vue/compiler-core": ["@vue/compiler-core@3.5.14", "", { "dependencies": { "@babel/parser": "^7.27.2", "@vue/shared": "3.5.14", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.1" } }, "sha512-k7qMHMbKvoCXIxPhquKQVw3Twid3Kg4s7+oYURxLGRd56LiuHJVrvFKI4fm2AM3c8apqODPfVJGoh8nePbXMRA=="], + "vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.12", "", { "os": "linux", "cpu": "x64" }, "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw=="], - "@vue/language-core/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], + "vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg=="], - "cross-spawn/which/isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], + "vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.12", "", { "os": "none", "cpu": "x64" }, "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ=="], - "data-urls/whatwg-url/tr46": ["tr46@5.0.0", "", { "dependencies": { "punycode": "^2.3.1" } }, "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g=="], + "vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.12", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A=="], - "editorconfig/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], + "vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.12", "", { "os": "openbsd", "cpu": "x64" }, "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw=="], - "eslint-plugin-vue/@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], + "vite/esbuild/@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg=="], - "eslint-plugin-vue/vue-eslint-parser/eslint-scope": ["eslint-scope@7.2.2", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg=="], + "vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.12", "", { "os": "sunos", "cpu": "x64" }, "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w=="], - "eslint-plugin-vue/vue-eslint-parser/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], + "vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg=="], - "eslint-plugin-vue/vue-eslint-parser/espree": ["espree@9.6.1", "", { "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.4.1" } }, "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ=="], + "vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.12", "", { "os": "win32", "cpu": "ia32" }, "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ=="], - "glob/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], + "vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.12", "", { "os": "win32", "cpu": "x64" }, "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA=="], - "log-update/slice-ansi/is-fullwidth-code-point": ["is-fullwidth-code-point@5.0.0", "", { "dependencies": { "get-east-asian-width": "^1.0.0" } }, "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA=="], + "widest-line/string-width/emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="], - "nypm/pkg-types/confbox": ["confbox@0.2.2", "", {}, "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ=="], + "widest-line/string-width/strip-ansi": ["strip-ansi@7.2.0", "", { "dependencies": { "ansi-regex": "^6.2.2" } }, "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w=="], - "string-width-cjs/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + "wrap-ansi/string-width/emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="], - "typescript-eslint/@typescript-eslint/utils/@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.32.1", "", { "dependencies": { "@typescript-eslint/types": "8.32.1", "@typescript-eslint/visitor-keys": "8.32.1" } }, "sha512-7IsIaIDeZn7kffk7qXC3o6Z4UblZJKV3UBpkvRNpr5NSyLji7tvTcvmnMNYuYLyh26mN8W723xpo3i4MlD33vA=="], + "wrap-ansi/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], - "typescript-eslint/@typescript-eslint/utils/@typescript-eslint/types": ["@typescript-eslint/types@8.32.1", "", {}, "sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg=="], + "yargs/string-width/is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], - "typescript-eslint/@typescript-eslint/utils/@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.32.1", "", { "dependencies": { "@typescript-eslint/types": "8.32.1", "@typescript-eslint/visitor-keys": "8.32.1", "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" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-Y3AP9EIfYwBb4kWGb+simvPaqQoT5oJuzzj9m0i6FCY6SPvlomY2Ei4UEMm7+FXtlNJbor80ximyslzaQF6xhg=="], + "yargs/string-width/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "unimport/pkg-types/confbox": ["confbox@0.2.2", "", {}, "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ=="], + "@astrojs/check/yargs/cliui/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "vite-plugin-vue-devtools/execa/get-stream": ["get-stream@9.0.1", "", { "dependencies": { "@sec-ant/readable-stream": "^0.4.1", "is-stream": "^4.0.1" } }, "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA=="], + "@astrojs/check/yargs/cliui/wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], - "vite-plugin-vue-devtools/execa/human-signals": ["human-signals@8.0.0", "", {}, "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA=="], + "@astrojs/check/yargs/string-width/is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], - "vite-plugin-vue-devtools/execa/is-stream": ["is-stream@4.0.1", "", {}, "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A=="], + "@astrojs/check/yargs/string-width/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "vite-plugin-vue-devtools/execa/npm-run-path": ["npm-run-path@6.0.0", "", { "dependencies": { "path-key": "^4.0.0", "unicorn-magic": "^0.3.0" } }, "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA=="], + "@puppeteer/browsers/yargs/cliui/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "vite-plugin-vue-devtools/execa/strip-final-newline": ["strip-final-newline@4.0.0", "", {}, "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw=="], + "@puppeteer/browsers/yargs/cliui/wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], - "vite-plugin-vue-inspector/@vue/compiler-dom/@vue/compiler-core": ["@vue/compiler-core@3.5.13", "", { "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" } }, "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q=="], + "@puppeteer/browsers/yargs/string-width/is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], - "vite-plugin-vue-inspector/@vue/compiler-dom/@vue/shared": ["@vue/shared@3.5.13", "", {}, "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ=="], + "@puppeteer/browsers/yargs/string-width/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "wrap-ansi-cjs/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + "ansi-align/string-width/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - "wrap-ansi-cjs/string-width/is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], + "boxen/string-width/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], - "wrap-ansi-cjs/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + "cliui/wrap-ansi/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - "@typescript-eslint/eslint-plugin/@typescript-eslint/utils/@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "lighthouse/yargs/cliui/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "@typescript-eslint/eslint-plugin/@typescript-eslint/utils/@typescript-eslint/typescript-estree/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "lighthouse/yargs/cliui/wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], - "@typescript-eslint/parser/@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], + "lighthouse/yargs/string-width/is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], - "@typescript-eslint/type-utils/@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], + "lighthouse/yargs/string-width/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "@typescript-eslint/type-utils/@typescript-eslint/utils/@typescript-eslint/scope-manager/@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.32.1", "", { "dependencies": { "@typescript-eslint/types": "8.32.1", "eslint-visitor-keys": "^4.2.0" } }, "sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w=="], + "widest-line/string-width/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], - "@vue/eslint-config-typescript/@typescript-eslint/utils/@typescript-eslint/scope-manager/@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.32.1", "", { "dependencies": { "@typescript-eslint/types": "8.32.1", "eslint-visitor-keys": "^4.2.0" } }, "sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w=="], + "yargs/string-width/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - "@vue/eslint-config-typescript/@typescript-eslint/utils/@typescript-eslint/typescript-estree/@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.32.1", "", { "dependencies": { "@typescript-eslint/types": "8.32.1", "eslint-visitor-keys": "^4.2.0" } }, "sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w=="], + "@astrojs/check/yargs/cliui/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - "@vue/eslint-config-typescript/@typescript-eslint/utils/@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "@astrojs/check/yargs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - "@vue/eslint-config-typescript/@typescript-eslint/utils/@typescript-eslint/typescript-estree/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "@astrojs/check/yargs/string-width/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - "@vue/eslint-config-typescript/@typescript-eslint/utils/@typescript-eslint/typescript-estree/ts-api-utils": ["ts-api-utils@2.1.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ=="], + "@puppeteer/browsers/yargs/cliui/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - "@vue/language-core/@vue/compiler-dom/@vue/compiler-core/@babel/parser": ["@babel/parser@7.27.2", "", { "dependencies": { "@babel/types": "^7.27.1" }, "bin": "./bin/babel-parser.js" }, "sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw=="], + "@puppeteer/browsers/yargs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - "@vue/language-core/@vue/compiler-dom/@vue/compiler-core/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + "@puppeteer/browsers/yargs/string-width/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - "typescript-eslint/@typescript-eslint/utils/@typescript-eslint/scope-manager/@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.32.1", "", { "dependencies": { "@typescript-eslint/types": "8.32.1", "eslint-visitor-keys": "^4.2.0" } }, "sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w=="], + "cliui/wrap-ansi/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], - "typescript-eslint/@typescript-eslint/utils/@typescript-eslint/typescript-estree/@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.32.1", "", { "dependencies": { "@typescript-eslint/types": "8.32.1", "eslint-visitor-keys": "^4.2.0" } }, "sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w=="], + "lighthouse/yargs/cliui/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - "typescript-eslint/@typescript-eslint/utils/@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "lighthouse/yargs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - "typescript-eslint/@typescript-eslint/utils/@typescript-eslint/typescript-estree/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "lighthouse/yargs/string-width/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - "typescript-eslint/@typescript-eslint/utils/@typescript-eslint/typescript-estree/ts-api-utils": ["ts-api-utils@2.1.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ=="], + "@astrojs/check/yargs/cliui/wrap-ansi/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - "vite-plugin-vue-devtools/execa/npm-run-path/path-key": ["path-key@4.0.0", "", {}, "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ=="], + "@puppeteer/browsers/yargs/cliui/wrap-ansi/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - "vite-plugin-vue-inspector/@vue/compiler-dom/@vue/compiler-core/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + "lighthouse/yargs/cliui/wrap-ansi/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - "@typescript-eslint/eslint-plugin/@typescript-eslint/utils/@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], + "@astrojs/check/yargs/cliui/wrap-ansi/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], - "@vue/eslint-config-typescript/@typescript-eslint/utils/@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], + "@puppeteer/browsers/yargs/cliui/wrap-ansi/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], - "typescript-eslint/@typescript-eslint/utils/@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], + "lighthouse/yargs/cliui/wrap-ansi/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], } } diff --git a/compose.yml b/compose.yml deleted file mode 100644 index a7513e5..0000000 --- a/compose.yml +++ /dev/null @@ -1,8 +0,0 @@ -services: - nedaa-website: - build: . - restart: unless-stopped - ports: - - "${PORT:-80}:80" - env_file: - - .env diff --git a/crowdin.yml b/crowdin.yml deleted file mode 100644 index 7f4d292..0000000 --- a/crowdin.yml +++ /dev/null @@ -1,3 +0,0 @@ -files: - - source: /src/localization/en.json - translation: /%original_path%/%two_letters_code%.json diff --git a/deployment/config/nginx.conf b/deployment/config/nginx.conf deleted file mode 100644 index d054e57..0000000 --- a/deployment/config/nginx.conf +++ /dev/null @@ -1,31 +0,0 @@ -server { - listen 80; - server_name localhost; - root /usr/share/nginx/html; - index index.html; - - # Hide nginx version - server_tokens off; - - # Handle Vue Router (History Mode) - location / { - try_files $uri $uri/ /index.html; - } - - # Security headers - add_header X-Frame-Options "SAMEORIGIN" always; - add_header X-Content-Type-Options "nosniff" always; - add_header X-XSS-Protection "1; mode=block" always; - - # Static assets caching - location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { - expires 1y; - add_header Cache-Control "public, immutable"; - } - - # Gzip compression - gzip on; - gzip_vary on; - gzip_min_length 1024; - gzip_types text/plain text/css text/xml text/javascript application/javascript application/xml+rss application/json; -} \ No newline at end of file diff --git a/env.d.ts b/env.d.ts deleted file mode 100644 index 11f02fe..0000000 --- a/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/eslint.config.ts b/eslint.config.ts deleted file mode 100644 index de5421c..0000000 --- a/eslint.config.ts +++ /dev/null @@ -1,32 +0,0 @@ -import pluginVue from 'eslint-plugin-vue' -import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript' -import pluginVitest from '@vitest/eslint-plugin' -import oxlint from 'eslint-plugin-oxlint' -import skipFormatting from '@vue/eslint-config-prettier/skip-formatting' - -// To allow more languages other than `ts` in `.vue` files, uncomment the following lines: -// import { configureVueProject } from '@vue/eslint-config-typescript' -// configureVueProject({ scriptLangs: ['ts', 'tsx'] }) -// More info at https://github.com/vuejs/eslint-config-typescript/#advanced-setup - -export default defineConfigWithVueTs( - { - name: 'app/files-to-lint', - files: ['**/*.{ts,mts,tsx,vue}'], - }, - - { - name: 'app/files-to-ignore', - ignores: ['**/dist/**', '**/dist-ssr/**', '**/coverage/**'], - }, - - pluginVue.configs['flat/essential'], - vueTsConfigs.recommended, - - { - ...pluginVitest.configs.recommended, - files: ['src/**/__tests__/*'], - }, - oxlint.configs['flat/recommended'], - skipFormatting, -) diff --git a/index.html b/index.html deleted file mode 100644 index 373d622..0000000 --- a/index.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - Nedaa | نداء - - - - - - - - - - -
- - - diff --git a/src/App.vue b/src/App.vue deleted file mode 100644 index 4e374b6..0000000 --- a/src/App.vue +++ /dev/null @@ -1,14 +0,0 @@ - - - diff --git a/src/assets/logo-dark.png b/src/assets/logo-dark.png deleted file mode 100644 index 98632552329ecc69569d6c72266d5f97f69cc94f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43618 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 diff --git a/src/assets/logo.png b/src/assets/logo.png deleted file mode 100644 index f4d2579b5cb34c836a3252597ef489d62f2505ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43604 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 RlvoIS$U6hQ>VJwk|9`qT@nir1 diff --git a/src/assets/main.css b/src/assets/main.css deleted file mode 100644 index 70980e8..0000000 --- a/src/assets/main.css +++ /dev/null @@ -1,203 +0,0 @@ -.theme-transition { - transition: - background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), - color 0.3s cubic-bezier(0.4, 0, 0.2, 1), - border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), - box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1); -} - -.theme-transition-text { - transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1); -} - -.theme-transition-bg { - transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1); -} - -.theme-transition-border { - transition: border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1); -} - -:focus-visible { - outline: 2px solid var(--v-theme-primary) !important; - outline-offset: 2px; -} - -.v-btn, -.v-card, -.v-menu, -.v-list-item, -.v-navigation-drawer { - transition: - box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1), - transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), - background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), - color 0.3s cubic-bezier(0.4, 0, 0.2, 1); -} - -.hover-feedback { - position: relative; - overflow: hidden; -} - -.hover-feedback::after { - content: ''; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - background: currentColor; - opacity: 0; - pointer-events: none; - transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1); - border-radius: inherit; -} - -.hover-feedback:hover::after { - opacity: 0.08; -} - -.v-application { - transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1); -} - -.logo-image { - transition: filter 0.3s ease, opacity 0.3s ease; -} - -.v-progress-linear { - transition: - background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), - color 0.3s cubic-bezier(0.4, 0, 0.2, 1); -} - -::-webkit-scrollbar { - width: 10px; - height: 10px; -} - -::-webkit-scrollbar-track { - background: rgba(var(--v-theme-surface-variant), 0.5); -} - -::-webkit-scrollbar-thumb { - background: rgba(var(--v-theme-primary), 0.3); - border-radius: 5px; -} - -::-webkit-scrollbar-thumb:hover { - background: rgba(var(--v-theme-primary), 0.5); -} - -.scale-transition-enter-active, -.scale-transition-leave-active { - transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important; -} -.scale-transition-enter-from, -.scale-transition-leave-to { - opacity: 0 !important; - transform: scale(0.95) !important; -} - -.translate-x-1 { - transform: translateX(4px); - transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); -} - -.translate-x-n1 { - transform: translateX(-4px); - transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); -} - -.translate-y-1 { - transform: translateY(4px); - transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); -} - -.translate-y-n1 { - transform: translateY(-4px); - transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); -} - -.hover-bg-primary-lighten-5 { - transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1); -} - -.hover-bg-primary-lighten-5:hover { - background-color: rgba(var(--v-theme-primary), 0.05); -} - -/* === Shared hover card styles === */ -.hover-card { - transition: - transform 0.2s ease-in-out, - box-shadow 0.2s ease-in-out; -} - -.hover-card:hover { - transform: translateY(-4px); - box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15) !important; -} - -.hover-card--subtle { - transition: transform 0.2s ease-in-out; -} - -.hover-card--subtle:hover { - transform: translateY(-2px); -} - -.hover-card--primary { - border: 2px solid rgb(var(--v-theme-primary)); - transition: - transform 0.2s ease-in-out, - box-shadow 0.2s ease-in-out; -} - -.hover-card--primary:hover { - transform: translateY(-4px); - box-shadow: 0 12px 40px rgba(var(--v-theme-primary), 0.3) !important; -} - -/* === Utility classes === */ -.cursor-pointer { - cursor: pointer; -} - -.max-width-600 { - max-width: 600px; -} - -.gap-6 { - gap: 1.5rem; -} - -/* === Skip-to-content link === */ -.skip-link { - position: absolute; - top: -100%; - left: 0; - z-index: 9999; - padding: 0.75rem 1.5rem; - background: var(--v-theme-primary, #1976d2); - color: #fff; - font-weight: 600; - text-decoration: none; - border-radius: 0 0 4px 0; -} - -.skip-link:focus { - top: 0; -} - -/* === Reduced motion === */ -@media (prefers-reduced-motion: reduce) { - *, - *::before, - *::after { - animation-duration: 0.01ms !important; - animation-iteration-count: 1 !important; - transition-duration: 0.01ms !important; - } -} diff --git a/src/components/HomePage.vue b/src/components/HomePage.vue deleted file mode 100644 index 7041173..0000000 --- a/src/components/HomePage.vue +++ /dev/null @@ -1,25 +0,0 @@ - - - diff --git a/src/components/__tests__/HelloWorld.spec.ts b/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index a3ddcf3..0000000 --- a/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HomePage from '../HomePage.vue' - -describe('HomePage', () => { - it('renders properly', () => { - const wrapper = mount(HomePage, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/src/components/layout/AppFooter.vue b/src/components/layout/AppFooter.vue deleted file mode 100644 index 89cc98a..0000000 --- a/src/components/layout/AppFooter.vue +++ /dev/null @@ -1,203 +0,0 @@ - - - diff --git a/src/components/layout/AppHeader.vue b/src/components/layout/AppHeader.vue deleted file mode 100644 index 9520f27..0000000 --- a/src/components/layout/AppHeader.vue +++ /dev/null @@ -1,149 +0,0 @@ - - - - - diff --git a/src/components/layout/PageContainer.vue b/src/components/layout/PageContainer.vue deleted file mode 100644 index a52b276..0000000 --- a/src/components/layout/PageContainer.vue +++ /dev/null @@ -1,17 +0,0 @@ - - - diff --git a/src/components/sections/DownloadSection.vue b/src/components/sections/DownloadSection.vue deleted file mode 100644 index ff21675..0000000 --- a/src/components/sections/DownloadSection.vue +++ /dev/null @@ -1,170 +0,0 @@ - - - diff --git a/src/components/sections/FeaturesSection.vue b/src/components/sections/FeaturesSection.vue deleted file mode 100644 index 364c95d..0000000 --- a/src/components/sections/FeaturesSection.vue +++ /dev/null @@ -1,140 +0,0 @@ - - - diff --git a/src/components/sections/HeroSection.vue b/src/components/sections/HeroSection.vue deleted file mode 100644 index 933c23e..0000000 --- a/src/components/sections/HeroSection.vue +++ /dev/null @@ -1,110 +0,0 @@ - - - diff --git a/src/components/sections/OpenSourceSection.vue b/src/components/sections/OpenSourceSection.vue deleted file mode 100644 index 449c8f6..0000000 --- a/src/components/sections/OpenSourceSection.vue +++ /dev/null @@ -1,188 +0,0 @@ - - - diff --git a/src/components/sections/SectionContainer.vue b/src/components/sections/SectionContainer.vue deleted file mode 100644 index 00d8f75..0000000 --- a/src/components/sections/SectionContainer.vue +++ /dev/null @@ -1,242 +0,0 @@ - - - - - diff --git a/src/components/sections/TranslateSection.vue b/src/components/sections/TranslateSection.vue deleted file mode 100644 index 3cea852..0000000 --- a/src/components/sections/TranslateSection.vue +++ /dev/null @@ -1,298 +0,0 @@ - - - diff --git a/src/components/ui/LocaleSwitch.vue b/src/components/ui/LocaleSwitch.vue deleted file mode 100644 index 7713ba8..0000000 --- a/src/components/ui/LocaleSwitch.vue +++ /dev/null @@ -1,83 +0,0 @@ - - - diff --git a/src/components/ui/ThemeSwitch.vue b/src/components/ui/ThemeSwitch.vue deleted file mode 100644 index d9e1c68..0000000 --- a/src/components/ui/ThemeSwitch.vue +++ /dev/null @@ -1,94 +0,0 @@ - - - - - diff --git a/src/composables/useThemedLogo.ts b/src/composables/useThemedLogo.ts deleted file mode 100644 index e36806f..0000000 --- a/src/composables/useThemedLogo.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { computed } from 'vue' -import { storeToRefs } from 'pinia' -import { useAppStore } from '@/stores/app' -import logo from '@/assets/logo.png' -import logoDark from '@/assets/logo-dark.png' - -export function useThemedLogo() { - const { theme } = storeToRefs(useAppStore()) - const logoSrc = computed(() => (theme.value === 'dark' ? logoDark : logo)) - return { logoSrc } -} diff --git a/src/enums/app.ts b/src/enums/app.ts deleted file mode 100644 index 6117237..0000000 --- a/src/enums/app.ts +++ /dev/null @@ -1,6 +0,0 @@ -export enum AppLocale { - EN = 'en', - AR = 'ar', - MS = 'ms', - UR = 'ur', -} diff --git a/src/localization/ar.json b/src/localization/ar.json deleted file mode 100644 index 488c12e..0000000 --- a/src/localization/ar.json +++ /dev/null @@ -1,228 +0,0 @@ -{ - "app": { - "description": "تطبيق بسيط ومفتوح المصدر لمواقيت الصلاة بدون إعلانات", - "name": "نداء", - "slogan": "مواقيت الصلاة ببساطة" - }, - "common": { - "welcomeTo": "مرحبًا بك في" - }, - "common.switchToDarkTheme": "التبديل إلى الوضع الداكن", - "common.switchToLightTheme": "التبديل إلى الوضع الفاتح", - "cta": { - "downloadNow": "حمّل الآن", - "learnMore": "اعرف المزيد" - }, - "download": { - "platforms": { - "android": { - "description": "متوفر لأجهزة أندرويد", - "title": "حمّله من Google Play" - }, - "github": { - "description": "احصل على أحدث إصدار مباشرة", - "title": "حمّله من GitHub" - }, - "huawei": { - "description": "متوفر لأجهزة هواوي", - "title": "استكشفه على AppGallery" - }, - "ios": { - "description": "متوفر للآيفون", - "title": "حمّله من App Store" - } - }, - "qr": { - "caption": "رمز QR للوصول السريع من الجوال", - "description": "امسح رمز QR للوصول بسرعة إلى روابط التحميل على جوالك", - "title": "وصول سريع" - }, - "subtitle": "حمّل نداء على منصتك المفضلة ولا تفوّت أي صلاة.", - "title": "تحميل" - }, - "downloadPage": { - "clickHere": "اضغط هنا إذا لم يتم التحويل", - "notOnPlatform": "لست على {platform}؟ عرض جميع خيارات التحميل", - "redirecting": "جارٍ التحويل إلى {store}...", - "storeName": { - "android": "Google Play", - "huawei": "AppGallery", - "ios": "App Store" - }, - "subtitle": "حمّل نداء على منصتك المفضلة ولا تفوّت أي صلاة.", - "title": "تحميل نداء" - }, - "features": { - "list": { - "accurateTimes": { - "description": "مواقيت صلاة دقيقة حسب موقعك مع طرق حساب متعددة", - "title": "مواقيت دقيقة" - }, - "alarm": { - "description": "منبه ذكي مع تحديات تضمن استيقاظك لصلاة الفجر والجمعة", - "title": "منبه الفجر والجمعة" - }, - "athkar": { - "description": "أذكار وأدعية يومية مع تلاوات صوتية", - "title": "أذكار مع صوت" - }, - "darkMode": { - "description": "مظهر داكن وفاتح لتجربة مريحة في جميع الأوقات", - "title": "الوضع الداكن" - }, - "design": { - "description": "واجهة بسيطة تركّز على ما يهمّك فعلًا", - "title": "تصميم أنيق" - }, - "locationBased": { - "description": "تحديد تلقائي للموقع مع إمكانية الاختيار يدويًا", - "title": "حسب الموقع" - }, - "notifications": { - "description": "تنبيهات مخصصة للصلاة مع خيارات صوتية متعددة", - "title": "تنبيهات مخصصة" - }, - "offline": { - "description": "مواقيت الصلاة متاحة بدون إنترنت بعد التحميل الأول", - "title": "يعمل بدون إنترنت" - } - }, - "subtitle": "كل ما تحتاجه لصلواتك اليومية في تطبيق بسيط وأنيق", - "title": "المميزات" - }, - "footer": { - "appName": "نداء", - "health": { - "allOperational": "جميع الأنظمة تعمل", - "checking": "جاري فحص الأنظمة...", - "issuesDetected": "تم اكتشاف مشاكل في النظام" - }, - "license": "الترخيص", - "privacy": "الخصوصية", - "social": { - "github": "مستودع GitHub", - "telegram": "تليجرام", - "translate": "ساعد في الترجمة" - } - }, - "hero": { - "subtitle": "ابق على اتصال بصلواتك مع تجربة نظيفة ومركزة", - "title": "مواقيت الصلاة بدون تشتيت" - }, - "languages": { - "ar": { - "name": "العربية", - "nativeName": "العربية" - }, - "currentLanguage": "اللغة الحالية", - "en": { - "name": "الإنجليزية", - "nativeName": "English" - }, - "ms": { - "name": "الملايو", - "nativeName": "Bahasa Melayu" - }, - "selectLanguage": "اختر لغة", - "ur": { - "name": "الأردية", - "nativeName": "اردو" - } - }, - "nav": { - "download": "تحميل", - "features": "المميزات", - "openSource": "المساهمة", - "translate": "الترجمة" - }, - "openSource": { - "contribute": { - "subtitle": "هناك طرق عديدة للمساهمة في نداء، بغض النظر عن خلفيتك التقنية", - "title": "كيف يمكنك المساهمة", - "types": { - "bugs": { - "action": "أبلغ عن خلل", - "description": "وجدت خللًا؟ أبلغ عنه لنتمكن من تحسين التطبيق للجميع", - "title": "الإبلاغ عن الأخطاء" - }, - "code": { - "action": "تصفّح المهام", - "description": "ساهم في تطوير التطبيق بكتابة أكواد أو إصلاح أخطاء أو إضافة ميزات جديدة", - "title": "المساهمة بالكود" - }, - "features": { - "action": "اقترح ميزة", - "description": "لديك فكرة لميزة جديدة؟ شاركها مع المجتمع", - "title": "اقتراح ميزات" - }, - "translate": { - "action": "ابدأ الترجمة", - "description": "ساعد في توفير نداء بلغات أكثر من خلال مشروع الترجمة", - "title": "الترجمة" - } - } - }, - "features": { - "community": { - "description": "بُني بواسطة المجتمع ومن أجله، والمساهمات مرحّب بها دائمًا", - "title": "بدعم المجتمع" - }, - "love": { - "description": "طُوِّر بعناية لخدمة المسلمين حول العالم", - "title": "صُنع بحب" - }, - "modern": { - "description": "بُني باستخدام React Native و TypeScript وأحدث تقنيات التطوير", - "title": "تقنيات حديثة" - }, - "transparent": { - "description": "الكود المصدري متاح بالكامل للمراجعة والتدقيق", - "title": "شفافية كاملة" - } - }, - "github": { - "starUs": "★ أعطنا نجمة", - "starUsDescription": "ادعم المشروع", - "viewOnGithub": "تصفّح على GitHub", - "viewSource": "عرض الكود", - "viewSourceDescription": "استكشف الكود المصدري" - }, - "license": "نداء مرخّص بموجب رخصة GPL-3.0 — مجاني ومفتوح للجميع", - "subtitle": "نداء مفتوح المصدر بالكامل — من المجتمع وللمجتمع", - "title": "مفتوح المصدر" - }, - "privacy": { - "consent": { - "content": "باستخدام تطبيقنا، فإنك توافق بموجب هذا على سياسة الخصوصية الخاصة بنا وتوافق على شروطها وأحكامها.", - "title": "الموافقة" - }, - "contact": { - "content": "إذا كانت لديك أي أسئلة أو اقتراحات حول سياسة الخصوصية الخاصة بنا، فلا تتردد في الاتصال بنا على support@nedaa.dev.", - "title": "اتصل بنا" - }, - "effectiveDate": "هذه السياسة سارية اعتبارًا من 2023-01-01", - "introduction": { - "content": "في نداء، إحدى أولوياتنا الرئيسية هي خصوصية زوارنا. تحتوي وثيقة سياسة الخصوصية هذه على أنواع المعلومات التي يتم جمعها وتسجيلها بواسطة نداء وكيفية استخدامها.", - "title": "مقدمة" - }, - "logFiles": { - "content": "يتبع نداء إجراءً قياسيًا لاستخدام ملفات السجل. تسجل هذه الملفات الزوار عند استخدام التطبيق. تتضمن المعلومات التي تجمعها ملفات السجل تاريخ ووقت الوصول، والبلد المستخدم لجلب أوقات الصلاة، وكذلك أي أخطاء وأعطال تحدث في التطبيق، مما يساعدنا على تحليل الأخطاء وإصلاحها للإصدارات المستقبلية. البيانات التي يتم جمعها غير مرتبطة بأي معلومات يمكن التعرف عليها شخصيًا. الغرض من المعلومات هو تحليل الاتجاهات وإدارة التطبيق والمساعدة في إصلاح المشكلات المستقبلية.", - "title": "ملفات السجل" - }, - "title": "سياسة خصوصية نداء" - }, - "translate": { - "becomeTranslator": "كن مترجمًا", - "description": "اجعل نداء متاحًا للمزيد من المسلمين حول العالم من خلال المساعدة في ترجمته إلى لغتك", - "joinProject": "انضم إلى مشروع الترجمة", - "languagesCount": "غير متوفر في أي لغة | متوفر حاليًا في لغة واحدة | متوفر حاليًا في لغتين | متوفر حاليًا في {count} لغات | متوفر حاليًا في {count} لغة", - "languagesNeedingHelp": "لغات يمكنك المساعدة فيها", - "noData": "لا توجد بيانات لغة متاحة", - "otherLanguages": "لغات تنتظر الترجمة", - "supportedLanguages": "مدعوم في {count} لغة | مدعوم في لغة واحدة | مدعوم في لغتين | مدعوم في {count} لغات | مدعوم في {count} لغة", - "title": "ساعد في ترجمة نداء", - "totalLanguages": "لا توجد لغات على Crowdin | لغة واحدة على Crowdin | لغتان على Crowdin | إجمالي {count} لغات على Crowdin | إجمالي {count} لغة على Crowdin", - "translationPlatform": "نستخدم Crowdin للترجمات", - "translationProgress": "تقدم الترجمة" - } -} \ No newline at end of file diff --git a/src/localization/en.json b/src/localization/en.json deleted file mode 100644 index 40a01c7..0000000 --- a/src/localization/en.json +++ /dev/null @@ -1,228 +0,0 @@ -{ - "app": { - "description": "A simple, open-source prayer times app with no ads", - "name": "Nedaa", - "slogan": "Prayer times simplified" - }, - "common": { - "welcomeTo": "Welcome to" - }, - "common.switchToDarkTheme": "Switch to Dark Theme", - "common.switchToLightTheme": "Switch to Light Theme", - "cta": { - "downloadNow": "Download Now", - "learnMore": "Learn More" - }, - "download": { - "platforms": { - "android": { - "description": "Available for Android devices", - "title": "Get it on Google Play" - }, - "github": { - "description": "Get the latest release directly", - "title": "Download from GitHub" - }, - "huawei": { - "description": "Available on Huawei devices", - "title": "Explore it on AppGallery" - }, - "ios": { - "description": "Available for iPhone", - "title": "Download on the App Store" - } - }, - "qr": { - "caption": "QR code for easy mobile access", - "description": "Scan the QR code to quickly access download links on your mobile device", - "title": "Quick Access" - }, - "subtitle": "Get Nedaa on your preferred platform and never miss a prayer.", - "title": "Download" - }, - "downloadPage": { - "clickHere": "Click here if not redirected", - "notOnPlatform": "Not on {platform}? See all download options", - "redirecting": "Redirecting to {store}...", - "storeName": { - "android": "Google Play", - "huawei": "AppGallery", - "ios": "App Store" - }, - "subtitle": "Get Nedaa on your preferred platform and never miss a prayer.", - "title": "Download Nedaa" - }, - "features": { - "list": { - "accurateTimes": { - "description": "Precise prayer times based on your location with multiple calculation methods", - "title": "Accurate Prayer Times" - }, - "alarm": { - "description": "Smart alarms with challenges to make sure you're up for Fajr and Jumu'ah prayers", - "title": "Fajr & Jumu'ah Alarm" - }, - "athkar": { - "description": "Daily remembrances and supplications with beautiful audio recitations", - "title": "Athkar with Audio" - }, - "darkMode": { - "description": "Beautiful dark and light themes for comfortable viewing", - "title": "Dark Mode" - }, - "design": { - "description": "Minimalist interface focused on what matters most", - "title": "Clean Design" - }, - "locationBased": { - "description": "Automatic location detection with manual location selection support", - "title": "Location Based" - }, - "notifications": { - "description": "Configurable prayer notifications with multiple sound options", - "title": "Custom Notifications" - }, - "offline": { - "description": "Prayer times available offline once initially loaded", - "title": "Works Offline" - } - }, - "subtitle": "Everything you need for your daily prayers in a simple, elegant app", - "title": "Features" - }, - "footer": { - "appName": "Nedaa", - "health": { - "allOperational": "All Systems Operational", - "checking": "Checking Systems...", - "issuesDetected": "System Issues Detected" - }, - "license": "License", - "privacy": "Privacy", - "social": { - "github": "GitHub Repository", - "telegram": "Telegram", - "translate": "Help Translate" - } - }, - "hero": { - "subtitle": "Stay connected to your prayers with a clean, focused experience", - "title": "Prayer Times Without Distractions" - }, - "languages": { - "ar": { - "name": "Arabic", - "nativeName": "العربية" - }, - "currentLanguage": "Current language", - "en": { - "name": "English", - "nativeName": "English" - }, - "ms": { - "name": "Malay", - "nativeName": "Bahasa Melayu" - }, - "selectLanguage": "Select a language", - "ur": { - "name": "Urdu", - "nativeName": "اردو" - } - }, - "nav": { - "download": "Download", - "features": "Features", - "openSource": "Contribute", - "translate": "Translate" - }, - "openSource": { - "contribute": { - "subtitle": "There are many ways to contribute to Nedaa, regardless of your technical background", - "title": "How You Can Contribute", - "types": { - "bugs": { - "action": "Report Bug", - "description": "Found a bug? Report it to help us improve the app for everyone", - "title": "Bug Reports" - }, - "code": { - "action": "View Issues", - "description": "Help improve the app by contributing code, fixing bugs, or adding features", - "title": "Code Contributions" - }, - "features": { - "action": "Suggest Feature", - "description": "Have an idea for a new feature? Share it with the community", - "title": "Feature Requests" - }, - "translate": { - "action": "Start Translating", - "description": "Help make Nedaa available in more languages through our translation project", - "title": "Translations" - } - } - }, - "features": { - "community": { - "description": "Built by the community, for the community with contributions welcome", - "title": "Community Driven" - }, - "love": { - "description": "Developed with care for the Muslim community worldwide", - "title": "Made with Love" - }, - "modern": { - "description": "Built with React Native, TypeScript, and modern development practices", - "title": "Modern Technology" - }, - "transparent": { - "description": "All source code is publicly available for review and audit", - "title": "Fully Transparent" - } - }, - "github": { - "starUs": "★ Star us", - "starUsDescription": "Support the project", - "viewOnGithub": "View on GitHub", - "viewSource": "View Source", - "viewSourceDescription": "Explore the code" - }, - "license": "Nedaa is licensed under the GPL-3.0 License - Free and open for everyone", - "subtitle": "Nedaa is completely open source - built by the community, for the community", - "title": "Open Source" - }, - "privacy": { - "consent": { - "content": "By using our app, you hereby consent to our Privacy Policy and agree to its Terms and Conditions.", - "title": "Consent" - }, - "contact": { - "content": "If you have any questions or suggestions about our Privacy Policy, do not hesitate to contact us at support@nedaa.dev.", - "title": "Contact Us" - }, - "effectiveDate": "This policy is effective as of 2023-01-01", - "introduction": { - "content": "At Nedaa, one of our main priorities is the privacy of our visitors. This Privacy Policy document contains types of information that is collected and recorded by Nedaa and how we use it.", - "title": "Introduction" - }, - "logFiles": { - "content": "Nedaa follows a standard procedure of using log files. These files log visitors when they use app. The information collected by log files include the date and time stamp of access, the country that is used to fetch the prayer times, and also any errors and crashes that happen on the app, which helps us analyze bugs and fix them for future releases. The data collected are not linked to any information that is personally identifiable. The purpose of the information is for analyzing trends, administering the app, and help fix future issues.", - "title": "Log Files" - }, - "title": "Nedaa Privacy Policy" - }, - "translate": { - "becomeTranslator": "Become a translator", - "description": "Make Nedaa accessible to more Muslims around the world by helping translate it into your language", - "joinProject": "Join Translation Project", - "languagesCount": "Currently available in {count} languages", - "languagesNeedingHelp": "Languages You Could Help With", - "noData": "No language data available", - "otherLanguages": "Languages Awaiting Translation", - "supportedLanguages": "Not supported in any language | Supported in 1 language | Supported in {count} languages", - "title": "Help Translate Nedaa", - "totalLanguages": "No languages on Crowdin | 1 language on Crowdin | Total of {count} languages on Crowdin", - "translationPlatform": "We use Crowdin for translations", - "translationProgress": "Translation progress" - } -} \ No newline at end of file diff --git a/src/localization/ms.json b/src/localization/ms.json deleted file mode 100644 index 501a316..0000000 --- a/src/localization/ms.json +++ /dev/null @@ -1,228 +0,0 @@ -{ - "app": { - "description": "Aplikasi waktu solat sumber terbuka yang ringkas tanpa iklan", - "name": "Nedaa", - "slogan": "Waktu solat yang dipermudahkan" - }, - "common": { - "welcomeTo": "Selamat datang ke" - }, - "common.switchToDarkTheme": "Tukar ke Tema Gelap", - "common.switchToLightTheme": "Tukar ke Tema Cerah", - "cta": { - "downloadNow": "Muat Turun Sekarang", - "learnMore": "Ketahui Lebih Lanjut" - }, - "download": { - "platforms": { - "android": { - "description": "Tersedia untuk peranti Android", - "title": "Dapatkan di Google Play" - }, - "github": { - "description": "Dapatkan keluaran terkini secara terus", - "title": "Muat turun dari GitHub" - }, - "huawei": { - "description": "Tersedia untuk peranti Huawei", - "title": "Terokai di AppGallery" - }, - "ios": { - "description": "Tersedia untuk iPhone", - "title": "Muat turun di App Store" - } - }, - "qr": { - "caption": "Kod QR untuk akses mudah melalui telefon", - "description": "Imbas kod QR untuk mengakses pautan muat turun dengan cepat di telefon anda", - "title": "Akses Pantas" - }, - "subtitle": "Dapatkan Nedaa di platform pilihan anda dan jangan terlepas solat.", - "title": "Muat Turun" - }, - "downloadPage": { - "clickHere": "Klik di sini jika tidak dialihkan", - "notOnPlatform": "Bukan pada {platform}? Lihat semua pilihan muat turun", - "redirecting": "Mengalihkan ke {store}...", - "storeName": { - "android": "Google Play", - "huawei": "AppGallery", - "ios": "App Store" - }, - "subtitle": "Dapatkan Nedaa di platform pilihan anda dan jangan terlepas solat.", - "title": "Muat Turun Nedaa" - }, - "features": { - "list": { - "accurateTimes": { - "description": "Waktu solat tepat berdasarkan lokasi anda dengan pelbagai kaedah pengiraan", - "title": "Waktu Solat Tepat" - }, - "alarm": { - "description": "Penggera pintar dengan cabaran untuk memastikan anda bangun untuk solat Subuh dan Jumaat", - "title": "Penggera Subuh & Jumaat" - }, - "athkar": { - "description": "Zikir dan doa harian dengan bacaan audio yang indah", - "title": "Zikir dengan Audio" - }, - "darkMode": { - "description": "Tema gelap dan cerah yang selesa untuk tontonan pada bila-bila masa", - "title": "Mod Gelap" - }, - "design": { - "description": "Antara muka ringkas yang fokus pada perkara penting", - "title": "Reka Bentuk Bersih" - }, - "locationBased": { - "description": "Pengesanan lokasi automatik dengan sokongan pemilihan lokasi secara manual", - "title": "Berdasarkan Lokasi" - }, - "notifications": { - "description": "Pemberitahuan solat yang boleh diubah suai dengan pelbagai pilihan bunyi", - "title": "Pemberitahuan Tersuai" - }, - "offline": { - "description": "Waktu solat tersedia tanpa internet selepas dimuat pertama kali", - "title": "Berfungsi Luar Talian" - } - }, - "subtitle": "Semua yang anda perlukan untuk solat harian dalam aplikasi yang ringkas dan elegan", - "title": "Ciri-ciri" - }, - "footer": { - "appName": "Nedaa", - "health": { - "allOperational": "Semua Sistem Beroperasi", - "checking": "Memeriksa Sistem...", - "issuesDetected": "Isu Sistem Dikesan" - }, - "license": "Lesen", - "privacy": "Privasi", - "social": { - "github": "Repositori GitHub", - "telegram": "Telegram", - "translate": "Bantu Terjemahan" - } - }, - "hero": { - "subtitle": "Kekal berhubung dengan solat anda melalui pengalaman yang bersih dan fokus", - "title": "Waktu Solat Tanpa Gangguan" - }, - "languages": { - "ar": { - "name": "Bahasa Arab", - "nativeName": "العربية" - }, - "currentLanguage": "Bahasa semasa", - "en": { - "name": "Bahasa Inggeris", - "nativeName": "English" - }, - "ms": { - "name": "Bahasa Melayu", - "nativeName": "Bahasa Melayu" - }, - "selectLanguage": "Pilih bahasa", - "ur": { - "name": "Bahasa Urdu", - "nativeName": "اردو" - } - }, - "nav": { - "download": "Muat Turun", - "features": "Ciri-ciri", - "openSource": "Sumbangan", - "translate": "Terjemahan" - }, - "openSource": { - "contribute": { - "subtitle": "Terdapat pelbagai cara untuk menyumbang kepada Nedaa, tanpa mengira latar belakang teknikal anda", - "title": "Cara Anda Boleh Menyumbang", - "types": { - "bugs": { - "action": "Laporkan Pepijat", - "description": "Jumpa pepijat? Laporkan supaya kami boleh menambah baik aplikasi untuk semua", - "title": "Laporan Pepijat" - }, - "code": { - "action": "Lihat Isu", - "description": "Bantu tingkatkan aplikasi dengan menyumbang kod, membetulkan pepijat, atau menambah ciri baharu", - "title": "Sumbangan Kod" - }, - "features": { - "action": "Cadangkan Ciri", - "description": "Ada idea untuk ciri baharu? Kongsikan dengan komuniti", - "title": "Cadangan Ciri" - }, - "translate": { - "action": "Mula Menterjemah", - "description": "Bantu menjadikan Nedaa tersedia dalam lebih banyak bahasa melalui projek terjemahan kami", - "title": "Terjemahan" - } - } - }, - "features": { - "community": { - "description": "Dibina oleh komuniti, untuk komuniti — sumbangan sentiasa dialu-alukan", - "title": "Dipacu Komuniti" - }, - "love": { - "description": "Dibangunkan dengan penuh keprihatinan untuk umat Islam di seluruh dunia", - "title": "Dibina dengan Kasih" - }, - "modern": { - "description": "Dibina menggunakan React Native, TypeScript, dan amalan pembangunan moden", - "title": "Teknologi Moden" - }, - "transparent": { - "description": "Semua kod sumber tersedia secara terbuka untuk semakan dan audit", - "title": "Telus Sepenuhnya" - } - }, - "github": { - "starUs": "★ Beri bintang", - "starUsDescription": "Sokong projek ini", - "viewOnGithub": "Lihat di GitHub", - "viewSource": "Lihat Sumber", - "viewSourceDescription": "Terokai kod sumber" - }, - "license": "Nedaa dilesenkan di bawah Lesen GPL-3.0 — percuma dan terbuka untuk semua", - "subtitle": "Nedaa adalah sumber terbuka sepenuhnya — dibina oleh komuniti, untuk komuniti", - "title": "Sumber Terbuka" - }, - "privacy": { - "consent": { - "content": "Dengan menggunakan aplikasi kami, anda dengan ini bersetuju dengan Dasar Privasi kami dan bersetuju dengan Terma dan Syaratnya.", - "title": "Persetujuan" - }, - "contact": { - "content": "Jika anda mempunyai sebarang pertanyaan atau cadangan tentang Dasar Privasi kami, jangan teragak-agak untuk menghubungi kami di support@nedaa.dev.", - "title": "Hubungi Kami" - }, - "effectiveDate": "Dasar ini berkuat kuasa mulai 2023-01-01", - "introduction": { - "content": "Di Nedaa, salah satu keutamaan utama kami adalah privasi pelawat kami. Dokumen Dasar Privasi ini mengandungi jenis maklumat yang dikumpulkan dan direkodkan oleh Nedaa dan bagaimana kami menggunakannya.", - "title": "Pengenalan" - }, - "logFiles": { - "content": "Nedaa mengikuti prosedur standard penggunaan fail log. Fail-fail ini merekodkan pelawat apabila mereka menggunakan aplikasi. Maklumat yang dikumpul oleh fail log termasuk tarikh dan cap masa akses, negara yang digunakan untuk mengambil waktu solat, dan juga sebarang ralat dan kerosakan yang berlaku pada aplikasi, yang membantu kami menganalisis pepijat dan memperbaikinya untuk keluaran masa depan. Data yang dikumpul tidak dikaitkan dengan mana-mana maklumat yang boleh dikenal pasti secara peribadi. Tujuan maklumat adalah untuk menganalisis trend, mentadbir aplikasi, dan membantu memperbaiki isu-isu masa depan.", - "title": "Fail Log" - }, - "title": "Dasar Privasi Nedaa" - }, - "translate": { - "becomeTranslator": "Jadilah penterjemah", - "description": "Jadikan Nedaa tersedia untuk lebih ramai umat Islam di seluruh dunia dengan membantu menterjemahkannya ke bahasa anda", - "joinProject": "Sertai Projek Terjemahan", - "languagesCount": "Tidak tersedia dalam mana-mana bahasa | Kini tersedia dalam 1 bahasa | Kini tersedia dalam {count} bahasa", - "languagesNeedingHelp": "Bahasa Yang Boleh Anda Bantu", - "noData": "Tiada data bahasa tersedia", - "otherLanguages": "Bahasa Menunggu Terjemahan", - "supportedLanguages": "Tidak disokong dalam mana-mana bahasa | Disokong dalam 1 bahasa | Disokong dalam {count} bahasa", - "title": "Bantu Terjemahkan Nedaa", - "totalLanguages": "Tiada bahasa di Crowdin | 1 bahasa di Crowdin | Jumlah {count} bahasa di Crowdin", - "translationPlatform": "Kami menggunakan Crowdin untuk terjemahan", - "translationProgress": "Kemajuan terjemahan" - } -} \ No newline at end of file diff --git a/src/localization/ur.json b/src/localization/ur.json deleted file mode 100644 index f57cc27..0000000 --- a/src/localization/ur.json +++ /dev/null @@ -1,228 +0,0 @@ -{ - "app": { - "description": "ایک سادہ، اوپن سورس نماز کے اوقات کی ایپ، بغیر کسی اشتہار کے", - "name": "نداء", - "slogan": "نماز کے اوقات کو آسان بنایا گیا" - }, - "common": { - "welcomeTo": "خوش آمدید" - }, - "common.switchToDarkTheme": "تاریک تھیم پر سوئچ کریں", - "common.switchToLightTheme": "ہلکے تھیم پر سوئچ کریں", - "cta": { - "downloadNow": "ابھی ڈاون لوڈ کریں", - "learnMore": "مزید جانیں" - }, - "download": { - "platforms": { - "android": { - "description": "اینڈرائیڈ ڈیوائسز کے لیے دستیاب", - "title": "گوگل پلے پر حاصل کریں" - }, - "github": { - "description": "تازہ ترین ریلیز براہ راست حاصل کریں", - "title": "براہِ راست گٹ ہب سے ڈاؤن لوڈ کریں" - }, - "huawei": { - "description": "ہواوی آلات کے لیے دستیاب", - "title": "ایپ گیلری میں اس کی تلاش کریں" - }, - "ios": { - "description": "آئی فون کے لیے دستیاب", - "title": "ایپ اسٹور میں ڈاؤن لوڈ کریں" - } - }, - "qr": { - "caption": "آسان موبائل رسائی کے لیے QR کوڈ", - "description": "اپنے موبائل ڈیوائس پر ڈاؤن لوڈ لنکس تک فوری رسائی کے لیے QR کوڈ اسکین کریں", - "title": "فوری رسائی" - }, - "subtitle": "اپنی پسندیدہ پلیٹ فارم پر \"نداء\" حاصل کریں اور کبھی بھی نماز نہ چھوڑیں۔.", - "title": "ڈاؤن لوڈ" - }, - "downloadPage": { - "clickHere": "اگر ری ڈائریکٹ نہ ہو تو یہاں کلک کریں", - "notOnPlatform": "{platform} پر نہیں ہیں؟ تمام ڈاؤن لوڈ آپشنز دیکھیں", - "redirecting": "{store} پر ری ڈائریکٹ ہو رہا ہے...", - "storeName": { - "android": "Google Play", - "huawei": "AppGallery", - "ios": "App Store" - }, - "subtitle": "اپنی پسندیدہ پلیٹ فارم پر نداء حاصل کریں اور کبھی بھی نماز نہ چھوڑیں۔", - "title": "نداء ڈاؤن لوڈ کریں" - }, - "features": { - "list": { - "accurateTimes": { - "description": "آپ کے مقام کے مطابق درست نماز کے اوقات مختلف حساب کے طریقوں کے ساتھ", - "title": "درست نماز کے اوقات" - }, - "alarm": { - "description": "چیلنجز کے ساتھ سمارٹ الارم تاکہ آپ فجر اور جمعہ کی نماز کے لیے ضرور اٹھیں", - "title": "فجر اور جمعہ الارم" - }, - "athkar": { - "description": "روزانہ کے اذکار اور دعائیں خوبصورت آڈیو تلاوت کے ساتھ", - "title": "آڈیو کے ساتھ اذکار" - }, - "darkMode": { - "description": "آرام دہ دیکھنے کے لیے خوبصورت تاریک اور روشنی کے تھیمز", - "title": "تاریک موڈ" - }, - "design": { - "description": "سادہ انٹرفیس جو اہم چیزوں پر مرکوز ہے", - "title": "صاف ڈیزائن" - }, - "locationBased": { - "description": "خودکار طور پر مقام کی شناخت اور دستی طور پر مقام منتخب کرنے کی سہولت", - "title": "مقام تبدیل ہوا" - }, - "notifications": { - "description": "حسب ضرورت نماز کی اطلاعات کے ساتھ متعدد آواز کے اختیارات", - "title": "حسب ضرورت اطلاع" - }, - "offline": { - "description": "نماز کے اوقات ابتدائی طور پر لوڈ ہونے کے بعد آف لائن دستیاب ہیں", - "title": "آف لائن کام کرتا ہے" - } - }, - "subtitle": "آپ کی روزانہ کی نمازوں کے لیے درکار سب کچھ ایک سادہ اور خوبصورت ایپ میں", - "title": "خصوصیات" - }, - "footer": { - "appName": "نداء", - "health": { - "allOperational": "تمام نظام فعال ہیں", - "checking": "نظام کی جانچ ہو رہی ہے...", - "issuesDetected": "نظام میں مسائل کا پتہ چلا" - }, - "license": "لائسنس", - "privacy": "رازداری", - "social": { - "github": "گٹ ہب ریپوزٹری", - "telegram": "ٹیلی گرام", - "translate": "ترجمہ میں مدد" - } - }, - "hero": { - "subtitle": "اپنی نمازوں سے جڑے رہیں ایک صاف اور مرکوز تجربے کے ساتھ", - "title": "نماز کے اوقات بغیر کسی خلل کے" - }, - "languages": { - "ar": { - "name": "عربی", - "nativeName": "العربية" - }, - "currentLanguage": "موجودہ زبان", - "en": { - "name": "انگریزی", - "nativeName": "English" - }, - "ms": { - "name": "مالائی", - "nativeName": "Bahasa Melayu" - }, - "selectLanguage": "زبان منتخب کریں", - "ur": { - "name": "Urdu", - "nativeName": "اردو" - } - }, - "nav": { - "download": "ڈاؤن لوڈ", - "features": "خصوصیات", - "openSource": "شرکت لیں", - "translate": "ترجمہ کریں" - }, - "openSource": { - "contribute": { - "subtitle": "آپ کی تکنیکی پس منظر سے قطع نظر، \"نداء\" میں شراکت کرنے کے بہت سے طریقے ہیں", - "title": "آپ کس طرح شراکت کر سکتے ہیں", - "types": { - "bugs": { - "action": "بگ رپورٹ کریں", - "description": "کیا آپ نے بگ پایا؟ اسے رپورٹ کریں تاکہ ہم ایپ کو سب کے لیے بہتر بنا سکیں", - "title": "بگ رپورٹ" - }, - "code": { - "action": "مسائل دیکھیں", - "description": "کوڈ فراہم کرکے، بگ ٹھیک کرکے، یا خصوصیات شامل کرکے ایپ کو بہتر بنانے میں مدد کریں", - "title": "کوڈ کی شراکتیں" - }, - "features": { - "action": "خصوصیات تجویز کریں", - "description": "کیا آپ کے پاس نئی خصوصیت کے لیے کوئی خیال ہے؟ اسے کمیونٹی کے ساتھ شیئر کریں", - "title": "خصوصیات کی درخواستیں" - }, - "translate": { - "action": "ترجمہ شروع کریں", - "description": "ہمارے ترجمے پروجیکٹ کے ذریعے \"نداء\" کو مزید زبانوں میں دستیاب بنانے میں مدد کریں", - "title": "ترجمے" - } - } - }, - "features": { - "community": { - "description": "کمیونٹی کے ذریعہ، کمیونٹی کے لیے بنایا گیا، شراکتیں خوش آمدید ہیں", - "title": "کمیونٹی کے زیر اثر" - }, - "love": { - "description": "دنیا بھر میں مسلم کمیونٹی کے لیے احتیاط سے تیار کیا گیا", - "title": "پیار سے بنایا ہوا" - }, - "modern": { - "description": "ری ایکٹ نیٹو، ٹائپ اسکرپٹ، اور جدید ترقیاتی طریقوں کے ساتھ بنایا گیا", - "title": "جدید ٹیکنالوجی" - }, - "transparent": { - "description": "تمام سورس کوڈ عوامی طور پر جائزے اور آڈٹ کے لیے دستیاب ہے", - "title": "کامل طور پر شفاف" - } - }, - "github": { - "starUs": "★ ہمیں ستارہ دیں", - "starUsDescription": "پروجیکٹ کی سپورٹ کریں", - "viewOnGithub": "گٹ ہب پر دیکھیں", - "viewSource": "سورس دیکھیں", - "viewSourceDescription": "کوڈ کی جانچ کریں" - }, - "license": "\"نداء\" کی لائسنس GPL-3.0 لائسنس - کے تحت ہے - سب کے لیے مفت اور کھلا", - "subtitle": "\"نداء\" مکمل طور پر اوپن سورس ہے - کمیونٹی کی جانب سے، کمیونٹی کے لیے", - "title": "اوپن سورس" - }, - "privacy": { - "consent": { - "content": "ہمارے ایپ کا استعمال کرتے ہوئے، آپ اس طرح ہماری رازداری کی پالیسی سے اتفاق کرتے ہیں اور اس کی شرائط و ضوابط پر رضا مند ہیں۔.", - "title": "رضامندی" - }, - "contact": { - "content": "اگر آپ کو ہماری رازداری کی پالیسی کے بارے میں کوئی سوالات یا تجاویز ہیں، تو براہ کرم ہم سے رابطہ کریں: support@nedaa.dev.", - "title": "ہم سے رابطہ کریں" - }, - "effectiveDate": "یہ پالیسی 2023-01-01 سے مؤثر ہے", - "introduction": { - "content": "\"نداء\" میں، ہمارے زائرین کی رازداری ہماری اہم ترجیحات میں سے ایک ہے۔ یہ رازداری کی پالیسی کا دستاویز ان معلومات کے اقسام پر مشتمل ہے جو \"نداء\" جمع اور ریکارڈ کرتا ہے اور ہم انہیں کیسے استعمال کرتے ہیں۔.", - "title": "تعارف" - }, - "logFiles": { - "content": "\"نداء\" لاگ فائلوں کے استعمال کا ایک معیاری طریقہ کار اختیار کرتا ہے۔ یہ فائلیں زائرین کو لاگ کرتی ہیں جب وہ ایپ کا استعمال کرتے ہیں۔ لاگ فائلوں کے ذریعے جمع کی جانے والی معلومات میں رسائی کی تاریخ اور وقت، وہ ملک جو نماز کے اوقات لینے کے لیے استعمال ہوتا ہے، اور ایپ پر ہونے والی کسی بھی غلطیوں اور کریشنگ شامل ہیں، جو ہمیں بگ کا تجزیہ کرنے اور انہیں مستقبل کی ریلیز کے لیے ٹھیک کرنے میں مدد دیتی ہیں۔ جمع کردہ ڈیٹا کسی بھی ذاتی طور پر شناختی معلومات سے منسلک نہیں ہے۔ معلومات کا مقصد رجحانات کا تجزیہ کرنا، ایپ کا انتظام کرنا، اور مستقبل کے مسائل کو حل کرنے میں مدد کرنا ہے۔.", - "title": "لاگ فائلوں" - }, - "title": "\"نداء\" کی رازداری کی پالیسی" - }, - "translate": { - "becomeTranslator": "ترجمہ کرنے والا بنیں", - "description": "نداء کو اپنی زبان میں ترجمہ کرنے میں مدد کر کے دنیا بھر کے زیادہ مسلمانوں کے لیے قابل رسائی بنائیں", - "joinProject": "ترجمہ پروجیکٹ میں شامل ہوں", - "languagesCount": "فی الحال {count} زبانوں میں دستیاب ہے", - "languagesNeedingHelp": "زبانیں جن میں آپ مدد کر سکتے ہیں", - "noData": "کوئی زبان کا ڈیٹا دستیاب نہیں", - "otherLanguages": "ترجمے کے منتظر زبانیں", - "supportedLanguages": "کسی زبان میں سپورٹ نہیں | 1 زبان میں سپورٹ ہے | {count} زبانوں میں سپورٹ ہے", - "title": "ترجمہ میں مدد", - "totalLanguages": "کسی زبان کا Crowdin پر نہیں | 1 زبان کا Crowdin پر ہے | کل {count} زبانیں Crowdin پر ہیں", - "translationPlatform": "ہم ترجمے کے لیے Crowdin کا استعمال کرتے ہیں", - "translationProgress": "پیش رفت کا ترجمہ" - } -} \ No newline at end of file diff --git a/src/main.ts b/src/main.ts deleted file mode 100644 index eefd7ce..0000000 --- a/src/main.ts +++ /dev/null @@ -1,14 +0,0 @@ -import '@/assets/main.css' - -import { createApp } from 'vue' - -// Plugins -import { registerPlugins } from '@/plugins' - -import App from '@/App.vue' - -const app = createApp(App) - -registerPlugins(app) - -app.mount('#app') diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts deleted file mode 100644 index 9dc741d..0000000 --- a/src/plugins/i18n.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { createI18n, type I18nOptions } from 'vue-i18n' - -// Locales -import ar from '@/localization/ar.json' -import en from '@/localization/en.json' -import ms from '@/localization/ms.json' -import ur from '@/localization/ur.json' - -const browserLocale = window.navigator.language.slice(0, 2) // take only locale e.g en from en-US - -const messages = { - ar, - en, - ms, - ur, -} - -const options: I18nOptions = { - legacy: false, - locale: browserLocale, - fallbackLocale: 'en', - messages, - missingWarn: false, - fallbackWarn: false, -} - -export default createI18n(options) diff --git a/src/plugins/index.ts b/src/plugins/index.ts deleted file mode 100644 index 504f558..0000000 --- a/src/plugins/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -// Plugins -import vuetify from '@/plugins/vuetify' -import pinia from '@/stores' -import router from '@/router' -import i18n from '@/plugins/i18n' - -// Types -import type { App } from 'vue' - -export function registerPlugins(app: App) { - app.use(i18n).use(vuetify).use(router).use(pinia) -} diff --git a/src/plugins/vuetify.ts b/src/plugins/vuetify.ts deleted file mode 100644 index 89affd3..0000000 --- a/src/plugins/vuetify.ts +++ /dev/null @@ -1,157 +0,0 @@ -// Styles -import 'vuetify/styles' - -import { createVuetify } from 'vuetify' -import { aliases, mdi } from 'vuetify/iconsets/mdi-svg' - -const userPrefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches - -export default createVuetify({ - icons: { - defaultSet: 'mdi', - aliases, - sets: { - mdi, - }, - }, - theme: { - defaultTheme: userPrefersDark ? 'dark' : 'light', - themes: { - light: { - colors: { - primary: '#1c5d85', - 'primary-50': '#f5f7fa', - 'primary-100': '#e2e8f0', - 'primary-200': '#b3c5d3', - 'primary-300': '#8da8bd', - 'primary-400': '#668ba7', - 'primary-600': '#1c5d7d', - 'primary-700': '#2a4d6d', - 'primary-800': '#0c1824', - 'primary-900': '#060c12', - - secondary: '#1c5d7d', - 'secondary-50': '#f5f7fa', - 'secondary-100': '#e2e8f0', - 'secondary-200': '#b3c5d3', - 'secondary-300': '#8da8bd', - 'secondary-400': '#668ba7', - 'secondary-600': '#2a4d6d', - 'secondary-700': '#1c5d85', - 'secondary-800': '#0c1824', - 'secondary-900': '#060c12', - - // Tertiary colors (--color-tertiary: "42 77 109") - tertiary: '#2a4d6d', - 'tertiary-50': '#f5f7fa', - 'tertiary-100': '#e2e8f0', - 'tertiary-200': '#b3c5d3', - 'tertiary-300': '#8da8bd', - 'tertiary-600': '#1c5d85', - 'tertiary-700': '#1c5d7d', - 'tertiary-800': '#0c1824', - 'tertiary-900': '#060c12', - - error: '#dc2626', // --color-error: "220 38 38" - success: '#16a34a', // --color-success: "22 163 74" - warning: '#d97706', // --color-warning: "217 119 6" - info: '#2563eb', // --color-info: "37 99 235" - - background: '#f5f7fa', // --color-background: "245 247 250" - surface: '#ffffff', // --color-background-secondary: "255 255 255" - 'surface-variant': '#f3f4f6', // --color-background-interactive: "245 247 250" - - // Background colors for status states - 'bg-error': '#fee2e2', // --color-background-error: "254 226 226" - 'bg-warning': '#fef3c7', // --color-background-warning: "254 243 199" - 'bg-success': '#dcfce7', // --color-background-success: "220 252 231" - 'bg-info': '#dbeafe', // --color-background-info: "219 234 254" - - 'on-background': '#1c5d85', // --color-typography: "28 93 133" - 'on-surface': '#1c5d85', - 'on-primary': '#ffffff', // --color-typography-contrast: "255 255 255" - 'on-secondary': '#ffffff', - 'on-tertiary': '#ffffff', - 'on-error': '#ffffff', - 'on-success': '#ffffff', - 'on-warning': '#ffffff', - 'on-info': '#ffffff', - - // Border colors from nedaa theme - outline: '#e2e8f0', // --color-outline: "226 232 240" - 'text-muted': '#64748b', // --color-typography-secondary: "100 116 139" - }, - }, - dark: { - colors: { - // Primary colors from nedaa dark theme (--color-primary: "230 196 105") - primary: '#e6c469', - 'primary-50': '#fdf9f0', - 'primary-100': '#f9efd7', - 'primary-200': '#f3dfaf', - 'primary-300': '#edcf87', - 'primary-400': '#e7bf5f', - 'primary-600': '#d4ba76', // --color-secondary: "212 186 118" - 'primary-700': '#897a51', - 'primary-800': '#5b5136', - 'primary-900': '#2e281b', - - // Secondary colors from nedaa dark theme - secondary: '#d4ba76', // --color-secondary: "212 186 118" - 'secondary-50': '#fdf9f0', - 'secondary-100': '#f9efd7', - 'secondary-200': '#f3dfaf', - 'secondary-300': '#edcf87', - 'secondary-400': '#e7bf5f', - 'secondary-600': '#e6c469', - 'secondary-700': '#897a51', - 'secondary-800': '#5b5136', - 'secondary-900': '#2e281b', - - // Tertiary colors from nedaa dark theme (--color-tertiary: "57 62 70") - tertiary: '#393e46', - 'tertiary-50': '#f8f9fa', - 'tertiary-100': '#e9ecef', - 'tertiary-200': '#dee2e6', - 'tertiary-300': '#ced4da', - 'tertiary-600': '#6c757d', - 'tertiary-700': '#495057', - 'tertiary-800': '#343a40', - 'tertiary-900': '#212529', - - // Status colors from nedaa dark theme - error: '#fca5a5', // --color-error: "252 165 165" - success: '#86efac', // --color-success: "134 239 172" - warning: '#fcd34d', // --color-warning: "252 211 77" - info: '#93c5fd', // --color-info: "147 197 253" - - // Background colors from nedaa dark theme - background: '#222831', // --color-background: "34 40 49" - surface: '#393e46', // --color-background-secondary: "57 62 70" - 'surface-variant': '#222831', // --color-background-interactive: "34 40 49" - - // Background colors for status states in dark theme - 'bg-error': '#7f1d1d', // --color-background-error: "127 29 29" - 'bg-warning': '#78350f', // --color-background-warning: "120 53 15" - 'bg-success': '#14532d', // --color-background-success: "20 83 45" - 'bg-info': '#1e3a8a', // --color-background-info: "30 58 138" - - // Text colors from nedaa dark theme - 'on-background': '#e6c469', // --color-typography: "230 196 105" - 'on-surface': '#e3e2ce', // --color-typography-secondary: "227 226 206" - 'on-primary': '#ffffff', // --color-typography-contrast: "255 255 255" - 'on-secondary': '#ffffff', - 'on-tertiary': '#e6c469', - 'on-error': '#ffffff', - 'on-success': '#ffffff', - 'on-warning': '#000000', - 'on-info': '#ffffff', - - // Border colors from nedaa dark theme - outline: 'rgba(255, 255, 255, 0.1)', // --color-outline: "255 255 255 10" (10% opacity) - 'text-muted': '#e3e2ce', // --color-typography-secondary: "227 226 206" - }, - }, - }, - }, -}) diff --git a/src/router/index.ts b/src/router/index.ts deleted file mode 100644 index 34ec714..0000000 --- a/src/router/index.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' - -import HomeView from '@/views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView, - }, - { - path: '/privacy', - name: 'privacy', - component: () => import('@/views/PrivacyPolicyView.vue'), - }, - { - path: '/download', - name: 'download', - component: () => import('@/views/DownloadView.vue'), - }, - ], -}) - -export default router diff --git a/src/services/crowdin.ts b/src/services/crowdin.ts deleted file mode 100644 index fd9af07..0000000 --- a/src/services/crowdin.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { TranslationStatus } from '@crowdin/crowdin-api-client' - -// Types -import type { Credentials } from '@crowdin/crowdin-api-client' - -const credentials: Credentials = { - token: import.meta.env.VITE_CROWDIN_API_TOKEN, -} - -const translationStatusApi = new TranslationStatus(credentials) -const projectId = Number(import.meta.env.VITE_CROWDIN_PROJECT_ID) - -export type LanguageProgress = { - code: string - name: string - progress: number -} - -export const crowdinService = { - getLanguageProgress: async (): Promise => { - try { - const response = await translationStatusApi.getProjectProgress(projectId) - const languages: LanguageProgress[] = [] - - // TODO: Now source language(English) is not included so this a tmp fix until we know to fetch it. - languages.push({ - code: 'en', - name: 'English', - progress: 100, - }) - - // Add other languages from response - response.data.forEach((item) => { - languages.push({ - code: item.data.languageId.toLowerCase(), - name: item.data.language.name || item.data.languageId, // Use name from API if available - progress: Math.round(item.data.translationProgress), - }) - }) - - return languages - } catch (error) { - console.error('Error fetching Crowdin translation progress:', error) - throw error - } - }, -} diff --git a/src/stores/app.ts b/src/stores/app.ts deleted file mode 100644 index 90531d6..0000000 --- a/src/stores/app.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { ref } from 'vue' - -import { defineStore } from 'pinia' -import { useLocale, useTheme } from 'vuetify' -import { useI18n } from 'vue-i18n' - -export const useAppStore = defineStore('app', () => { - const { locale: i18nLocale, t } = useI18n() - const { current: vuetifyLocale } = useLocale() - const vuetifyTheme = useTheme() - - const theme = ref(vuetifyTheme.global.name.value ?? 'light') - const locale = ref('en') - - const toggleTheme = () => { - theme.value = theme.value === 'light' ? 'dark' : 'light' - vuetifyTheme.global.name.value = theme.value - } - - const setLocale = (newLocale: string) => { - locale.value = newLocale - i18nLocale.value = locale.value - vuetifyLocale.value = locale.value - } - - return { - theme, - locale, - toggleTheme, - setLocale, - } -}) diff --git a/src/stores/index.ts b/src/stores/index.ts deleted file mode 100644 index 5b66ce7..0000000 --- a/src/stores/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { createPinia } from 'pinia' -import { createPersistedState } from 'pinia-plugin-persistedstate' - -const pinia = createPinia() - -pinia.use( - createPersistedState({ - storage: sessionStorage, - }), -) - -export default pinia diff --git a/src/typed-router.d.ts b/src/typed-router.d.ts deleted file mode 100644 index 507aa91..0000000 --- a/src/typed-router.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -/* eslint-disable */ -/* prettier-ignore */ -// @ts-nocheck -// Generated by unplugin-vue-router. ‼️ DO NOT MODIFY THIS FILE ‼️ -// It's recommended to commit this file. -// Make sure to add this file to your tsconfig.json file as an "includes" or "files" entry. - -declare module 'vue-router/auto-routes' { - import type { - RouteRecordInfo, - ParamValue, - ParamValueOneOrMore, - ParamValueZeroOrMore, - ParamValueZeroOrOne, - } from 'vue-router' - - /** - * Route name map generated by unplugin-vue-router - */ - export interface RouteNamedMap { - } -} diff --git a/src/types/i18n.d.ts b/src/types/i18n.d.ts deleted file mode 100644 index 9748436..0000000 --- a/src/types/i18n.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { DefineLocaleMessage } from 'vue-i18n' - -// types -import type { MessageSchema } from '@/types/locale' - -declare module 'vue-i18n' { - // eslint-disable-next-line @typescript-eslint/no-empty-object-type - export interface DefineLocaleMessage extends MessageSchema {} -} diff --git a/src/types/locale.ts b/src/types/locale.ts deleted file mode 100644 index 1178125..0000000 --- a/src/types/locale.ts +++ /dev/null @@ -1,5 +0,0 @@ -import en from '@/localization/en.json' - -export type MessageSchema = typeof en - -export type Locale = 'ar' | 'en' | 'ms' diff --git a/tsconfig.app.json b/tsconfig.app.json deleted file mode 100644 index 913b8f2..0000000 --- a/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", - - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/tsconfig.json b/tsconfig.json index 100cf6a..8ba41d7 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,14 +1,12 @@ { - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" + "extends": "astro/tsconfigs/strict", + "include": [".astro/types.d.ts", "**/*"], + "exclude": ["dist"], + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": ["src/*"] }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - } - ] + "jsx": "preserve" + } } diff --git a/tsconfig.node.json b/tsconfig.node.json deleted file mode 100644 index a83dfc9..0000000 --- a/tsconfig.node.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "extends": "@tsconfig/node22/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*", - "eslint.config.*" - ], - "compilerOptions": { - "noEmit": true, - "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", - - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/tsconfig.vitest.json b/tsconfig.vitest.json deleted file mode 100644 index 7d1d8ce..0000000 --- a/tsconfig.vitest.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "include": ["src/**/__tests__/*", "env.d.ts"], - "exclude": [], - "compilerOptions": { - "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.vitest.tsbuildinfo", - - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/vite.config.ts b/vite.config.ts deleted file mode 100644 index a5fd0d4..0000000 --- a/vite.config.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueDevTools from 'vite-plugin-vue-devtools' -import VueRouter from 'unplugin-vue-router/vite' -import vuetify from 'vite-plugin-vuetify' - -// https://vite.dev/config/ -export default defineConfig({ - plugins: [ - VueRouter({ - dts: 'src/typed-router.d.ts', - }), - vue(), - vueDevTools(), - vuetify(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)), - }, - }, -}) diff --git a/vitest.config.ts b/vitest.config.ts deleted file mode 100644 index c328717..0000000 --- a/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/**'], - root: fileURLToPath(new URL('./', import.meta.url)), - }, - }), -) From 6b700f78222124b7c7c47a0d4a52d1f7a6780312 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:00:44 +0300 Subject: [PATCH 002/121] chore: bootstrap astro + svelte + bun --- .gitignore | 8 ++++- astro.config.ts | 30 ++++++++++++++++++ package.json | 81 ++++++++++++++++-------------------------------- svelte.config.js | 5 +++ 4 files changed, 68 insertions(+), 56 deletions(-) create mode 100644 astro.config.ts create mode 100644 svelte.config.js diff --git a/.gitignore b/.gitignore index 0bffbf5..3887601 100644 --- a/.gitignore +++ b/.gitignore @@ -30,4 +30,10 @@ coverage *.tsbuildinfo -.env \ No newline at end of file +.env + +# Astro +.astro/ + +# Lighthouse CI +.lighthouseci/ diff --git a/astro.config.ts b/astro.config.ts new file mode 100644 index 0000000..a05fbc2 --- /dev/null +++ b/astro.config.ts @@ -0,0 +1,30 @@ +import { defineConfig } from 'astro/config'; +import { fileURLToPath } from 'node:url'; +import svelte from '@astrojs/svelte'; +import sitemap from '@astrojs/sitemap'; + +export default defineConfig({ + site: 'https://nedaa.dev', + output: 'static', + integrations: [svelte(), sitemap()], + i18n: { + defaultLocale: 'en', + locales: ['en', 'ar', 'ms', 'ur'], + routing: { prefixDefaultLocale: false }, + fallback: { ar: 'en', ms: 'en', ur: 'en' }, + }, + build: { + inlineStylesheets: 'auto', + assets: '_astro', + }, + vite: { + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)), + }, + }, + build: { + cssMinify: 'lightningcss', + }, + }, +}); diff --git a/package.json b/package.json index 6772e23..9c33103 100644 --- a/package.json +++ b/package.json @@ -1,66 +1,37 @@ { "name": "nedaa-website", - "version": "0.0.0", - "private": true, + "version": "1.0.0", "type": "module", + "private": true, "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "build-only": "vite build", - "type-check": "vue-tsc --build", - "lint:oxlint": "oxlint . --fix -D correctness --ignore-path .gitignore", - "lint:eslint": "eslint . --fix", - "lint": "run-s lint:*", - "format": "prettier --write src/", - "prepare": "husky" + "dev": "astro dev", + "start": "astro dev", + "build": "astro check && astro build", + "preview": "astro preview", + "check": "astro check", + "astro": "astro", + "format": "prettier --write \"src/**/*.{astro,svelte,ts,tsx,md}\"", + "lhci": "lhci autorun" }, + "packageManager": "bun@1.2.21", + "trustedDependencies": ["esbuild", "sharp"], "dependencies": { - "@crowdin/crowdin-api-client": "^1.44.0", - "@vueuse/core": "^14.2.1", - "pinia": "^3.0.2", - "pinia-plugin-persistedstate": "^4.3.0", - "vue": "^3.5.16", - "vue-i18n": "^11.1.5", - "vue-router": "^4.5.1", - "vuetify": "^3.8.7" + "@astrojs/check": "^0.9.4", + "@astrojs/rss": "^4.0.11", + "@astrojs/sitemap": "^3.4.1", + "@astrojs/svelte": "^7.2.1", + "@fontsource/asap": "^5.2.7", + "@fontsource/ibm-plex-sans-arabic": "^5.2.6", + "@fontsource/jetbrains-mono": "^5.2.7", + "astro": "^5.14.5", + "motion": "^12.23.20", + "svelte": "^5.43.6", + "typescript": "^5.7.3" }, "devDependencies": { - "@mdi/font": "^7.4.47", - "@mdi/js": "^7.4.47", - "@tsconfig/node22": "^22.0.2", - "@types/jsdom": "^21.1.7", - "@types/node": "^22.15.27", - "@vitejs/plugin-vue": "^5.2.4", - "@vitest/eslint-plugin": "1.1.25", - "@vue/eslint-config-prettier": "^10.2.0", - "@vue/eslint-config-typescript": "^14.5.0", - "@vue/test-utils": "^2.4.6", - "@vue/tsconfig": "^0.7.0", - "eslint": "^9.27.0", - "eslint-plugin-oxlint": "^0.15.15", - "eslint-plugin-vue": "^9.33.0", - "husky": "^9.1.7", - "jiti": "^2.4.2", - "jsdom": "^26.1.0", - "lint-staged": "^15.5.2", - "npm-run-all2": "^8.0.4", - "oxlint": "^0.15.15", + "@lhci/cli": "^0.15.1", "prettier": "^3.5.3", - "sass-embedded": "^1.89.0", - "typescript": "~5.8.3", - "unplugin-vue-router": "^0.12.0", - "vite": "^6.3.5", - "vite-plugin-vue-devtools": "^7.7.6", - "vite-plugin-vuetify": "^2.1.1", - "vitest": "^3.1.4", - "vue-tsc": "^2.2.10" - }, - "lint-staged": { - "*.{js,jsx,cjs,mjs,ts,tsx,cts,mts,vue}": [ - "eslint --fix --max-warnings 0", - "prettier --write" - ] + "prettier-plugin-astro": "^0.14.1", + "prettier-plugin-svelte": "^3.4.0" } } diff --git a/svelte.config.js b/svelte.config.js new file mode 100644 index 0000000..23f8587 --- /dev/null +++ b/svelte.config.js @@ -0,0 +1,5 @@ +import { vitePreprocess } from '@astrojs/svelte'; + +export default { + preprocess: vitePreprocess(), +}; From eb8179f8aeecd445dea8b0afcc37c8720ea9d935 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:01:04 +0300 Subject: [PATCH 003/121] chore: remove leftover vue views and utils --- src/utils/string.ts | 6 - src/views/DownloadView.vue | 335 -------------------------------- src/views/HomeView.vue | 7 - src/views/PrivacyPolicyView.vue | 62 ------ 4 files changed, 410 deletions(-) delete mode 100644 src/utils/string.ts delete mode 100644 src/views/DownloadView.vue delete mode 100644 src/views/HomeView.vue delete mode 100644 src/views/PrivacyPolicyView.vue diff --git a/src/utils/string.ts b/src/utils/string.ts deleted file mode 100644 index 9890cf7..0000000 --- a/src/utils/string.ts +++ /dev/null @@ -1,6 +0,0 @@ -export function formatApiName(name: string): string { - return name - .split('-') - .map((word) => word.charAt(0).toUpperCase() + word.slice(1)) - .join(' ') -} diff --git a/src/views/DownloadView.vue b/src/views/DownloadView.vue deleted file mode 100644 index 48678d6..0000000 --- a/src/views/DownloadView.vue +++ /dev/null @@ -1,335 +0,0 @@ - - - - - diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue deleted file mode 100644 index 71d50c1..0000000 --- a/src/views/HomeView.vue +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/src/views/PrivacyPolicyView.vue b/src/views/PrivacyPolicyView.vue deleted file mode 100644 index 9a2ba71..0000000 --- a/src/views/PrivacyPolicyView.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - - - From 73707ebe12ac67eb84576fe221c9a03006bae067 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:01:17 +0300 Subject: [PATCH 004/121] chore: relocate logos from src/assets to public --- public/logo-dark.png | Bin 0 -> 43618 bytes public/logo.png | Bin 0 -> 43604 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/logo-dark.png create mode 100644 public/logo.png diff --git a/public/logo-dark.png b/public/logo-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..98632552329ecc69569d6c72266d5f97f69cc94f GIT binary patch literal 43618 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 literal 0 HcmV?d00001 diff --git a/public/logo.png b/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f4d2579b5cb34c836a3252597ef489d62f2505ab GIT binary patch literal 43604 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 RlvoIS$U6hQ>VJwk|9`qT@nir1 literal 0 HcmV?d00001 From fb5b27c74de5f391b25613ff19224f9f1b4755e9 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:01:39 +0300 Subject: [PATCH 005/121] feat: design tokens and base styles --- src/styles/global.css | 644 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 644 insertions(+) create mode 100644 src/styles/global.css diff --git a/src/styles/global.css b/src/styles/global.css new file mode 100644 index 0000000..df4f1d4 --- /dev/null +++ b/src/styles/global.css @@ -0,0 +1,644 @@ +/* Nedaa marketing site — design tokens + base styles + Tokens mirror the in-app Tamagui palette exactly. */ + +@import '@fontsource/asap/400.css'; +@import '@fontsource/asap/500.css'; +@import '@fontsource/asap/600.css'; +@import '@fontsource/asap/700.css'; +@import '@fontsource/ibm-plex-sans-arabic/400.css'; +@import '@fontsource/ibm-plex-sans-arabic/500.css'; +@import '@fontsource/ibm-plex-sans-arabic/600.css'; +@import '@fontsource/ibm-plex-sans-arabic/700.css'; +@import '@fontsource/jetbrains-mono/400.css'; +@import '@fontsource/jetbrains-mono/500.css'; + +:root { + --primary: #1c5d85; + --secondary: #1c5d7d; + --accent: #1c5d7d; + --type: #1c5d85; + --type-2: #4b5563; + --type-contrast: #ffffff; + --bg: #f5f7fa; + --bg-2: #ffffff; + --bg-elev: #1c5d85; + --bg-muted: #f3f4f6; + --hover: #f9fafb; + --active: #f3f4f6; + --outline: #e2e8f0; + --outline-strong: #cbd5e1; + --outline-accent: #1c5d85; + --primary-10: rgba(28, 93, 133, 0.1); + --primary-04: rgba(28, 93, 133, 0.04); + --shadow: rgba(38, 38, 38, 0.08); + --shadow-lg: rgba(38, 38, 38, 0.14); + --success: #15803d; + --success-bg: #dcfce7; + --success-bd: #22c55e; + --warning: #92400e; + --warning-bg: #fef3c7; + --warning-bd: #f59e0b; + --error: #b91c1c; + --error-bg: #fee2e2; + --error-bd: #ef4444; + --info: #2563eb; + --info-bg: #dbeafe; + --info-bd: #3b82f6; + + --f-sans: 'Asap', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; + --f-arabic: 'IBM Plex Sans Arabic', 'Noto Sans Arabic', ui-sans-serif, system-ui, sans-serif; + --f-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace; + + --r-0: 0px; + --r-2: 2px; + --r-4: 4px; + --r-6: 6px; + --r-8: 8px; + --r-10: 10px; + --r-12: 12px; + --r-16: 16px; + --r-20: 20px; + --r-24: 24px; + --r-pill: 999px; +} + +[data-theme='dark'] { + --primary: #e6c469; + --secondary: #d4ba76; + --accent: #e6c469; + --type: #e6c469; + --type-2: #e3e2ce; + --type-contrast: #ffffff; + --bg: #222831; + --bg-2: #393e46; + --bg-elev: #393e46; + --bg-muted: #1f2937; + --hover: #374151; + --active: #4b5563; + --outline: rgba(255, 255, 255, 0.1); + --outline-strong: rgba(255, 255, 255, 0.18); + --outline-accent: #e6c469; + --primary-10: rgba(230, 196, 105, 0.1); + --primary-04: rgba(230, 196, 105, 0.04); + --shadow: rgba(0, 0, 0, 0.3); + --shadow-lg: rgba(0, 0, 0, 0.5); + --success: #86efac; + --success-bg: #14532d; + --success-bd: #22c55e; + --warning: #fcd34d; + --warning-bg: #78350f; + --warning-bd: #f59e0b; + --error: #fca5a5; + --error-bg: #7f1d1d; + --error-bd: #ef4444; + --info: #93c5fd; + --info-bg: #1e3a8a; + --info-bd: #3b82f6; +} + +* { + box-sizing: border-box; +} +html, +body { + margin: 0; + padding: 0; +} +html { + background: var(--bg); +} + +body { + font-family: var(--f-sans); + font-size: 16px; + line-height: 1.5; + color: var(--type); + background: var(--bg); + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + font-feature-settings: 'ss01', 'cv11'; +} + +[lang='ar'], +[dir='rtl'] { + font-family: var(--f-arabic); +} + +a { + color: inherit; + text-decoration: none; +} +button { + font-family: inherit; +} + +::selection { + background: var(--primary-10); + color: var(--type); +} + +/* layout */ +.shell { + max-width: 1280px; + margin: 0 auto; + padding: 0 32px; +} +@media (max-width: 768px) { + .shell { + padding: 0 20px; + } +} + +.rule { + border: 0; + border-top: 1px solid var(--outline); + margin: 0; +} +.rule-strong { + border-top-color: var(--outline-strong); +} + +.eyebrow { + font-family: var(--f-mono); + font-size: 11px; + font-weight: 500; + letter-spacing: 0.14em; + text-transform: uppercase; + color: var(--type-2); + display: inline-flex; + align-items: center; + gap: 8px; +} +.eyebrow::before { + content: ''; + display: inline-block; + width: 6px; + height: 6px; + background: var(--accent); + border-radius: 999px; +} + +[dir='rtl'] .eyebrow { + font-family: var(--f-arabic); + letter-spacing: 0; +} + +.h-display { + font-family: var(--f-sans); + font-weight: 600; + font-size: clamp(40px, 6.4vw, 72px); + line-height: 1.04; + letter-spacing: -0.022em; + color: var(--type); + margin: 0; + text-wrap: balance; +} +[dir='rtl'] .h-display { + font-family: var(--f-arabic); + letter-spacing: 0; + line-height: 1.2; +} + +.h-1 { + font-family: var(--f-sans); + font-weight: 600; + font-size: clamp(28px, 3.6vw, 40px); + line-height: 1.1; + letter-spacing: -0.02em; + margin: 0; + text-wrap: balance; +} +.h-2 { + font-family: var(--f-sans); + font-weight: 600; + font-size: 24px; + line-height: 1.25; + letter-spacing: -0.01em; + margin: 0; +} +.h-3 { + font-family: var(--f-sans); + font-weight: 600; + font-size: 18px; + line-height: 1.3; + margin: 0; +} +[dir='rtl'] .h-1, +[dir='rtl'] .h-2, +[dir='rtl'] .h-3 { + font-family: var(--f-arabic); + letter-spacing: 0; +} + +.lead { + font-size: 19px; + line-height: 1.55; + color: var(--type-2); + text-wrap: pretty; + max-width: 56ch; +} +.body { + color: var(--type-2); + line-height: 1.6; + text-wrap: pretty; +} +.muted { + color: var(--type-2); +} +.mono { + font-family: var(--f-mono); + font-feature-settings: 'tnum' 1; +} +.tnum { + font-variant-numeric: tabular-nums; +} + +/* buttons */ +.btn { + display: inline-flex; + align-items: center; + justify-content: center; + gap: 10px; + padding: 12px 18px; + border-radius: var(--r-8); + border: 1px solid transparent; + font-size: 14px; + font-weight: 500; + line-height: 1; + cursor: pointer; + white-space: nowrap; + background: transparent; + color: var(--type); +} +.btn-primary { + background: var(--primary); + color: var(--type-contrast); + border-color: var(--primary); +} +[data-theme='dark'] .btn-primary { + color: #1c1a12; +} +.btn-primary:hover { + filter: brightness(0.95); +} +.btn-ghost { + color: var(--type); + border-color: var(--outline-strong); + background: var(--bg-2); +} +.btn-ghost:hover { + background: var(--hover); + border-color: var(--primary); +} +.btn-link { + padding: 0; + border: 0; + background: transparent; + color: var(--type); + font-weight: 500; + text-decoration: none; + border-bottom: 1px solid var(--accent); + border-radius: 0; + padding-bottom: 1px; +} +.btn-link:hover { + color: var(--accent); +} + +/* Store buttons */ +.store-btn { + display: inline-flex; + align-items: center; + gap: 12px; + padding: 12px 18px; + border-radius: var(--r-8); + border: 1px solid var(--outline-strong); + background: var(--bg-2); + color: var(--type); + text-align: start; + min-width: 200px; + cursor: pointer; + font-family: inherit; + text-decoration: none; +} +.store-btn:hover { + border-color: var(--primary); + background: var(--hover); +} +.store-btn .glyph { + width: 24px; + height: 24px; + display: grid; + place-items: center; + color: var(--type); + flex-shrink: 0; +} +.store-btn .lines { + display: flex; + flex-direction: column; + line-height: 1.15; +} +.store-btn .lines small { + font-size: 10.5px; + color: var(--type-2); + letter-spacing: 0.04em; + text-transform: uppercase; + font-family: var(--f-mono); +} +.store-btn .lines strong { + font-size: 15px; + font-weight: 600; +} +.store-btn.primary { + background: var(--primary); + border-color: var(--primary); + color: var(--type-contrast); +} +[data-theme='dark'] .store-btn.primary { + color: #1c1a12; +} +.store-btn.primary .lines small { + color: rgba(255, 255, 255, 0.7); +} +[data-theme='dark'] .store-btn.primary .lines small { + color: rgba(28, 26, 18, 0.65); +} +.store-btn.primary .glyph { + color: var(--type-contrast); +} +[data-theme='dark'] .store-btn.primary .glyph { + color: #1c1a12; +} + +/* card */ +.card { + background: var(--bg-2); + border: 1px solid var(--outline); + border-radius: var(--r-12); + padding: 28px; +} +.card.flat { + background: transparent; + border-radius: 0; + border: 0; + padding: 0; +} + +/* nav */ +.topnav { + position: sticky; + top: 0; + z-index: 50; + backdrop-filter: blur(16px) saturate(160%); + -webkit-backdrop-filter: blur(16px) saturate(160%); + background: color-mix(in oklab, var(--bg) 78%, transparent); + border-bottom: 1px solid var(--outline); +} +.topnav-inner { + display: flex; + align-items: center; + justify-content: space-between; + height: 64px; + gap: 24px; +} +.topnav-links { + display: flex; + align-items: center; + gap: 28px; +} +.topnav-links a { + font-size: 14px; + color: var(--type-2); + cursor: pointer; +} +.topnav-links a:hover, +.topnav-links a.active { + color: var(--type); +} +.topnav-links a.active { + position: relative; +} +.topnav-links a.active::after { + content: ''; + position: absolute; + inset-inline: 0; + bottom: -22px; + height: 1px; + background: var(--accent); +} +@media (max-width: 768px) { + .topnav-links { + display: none; + } +} + +/* footer */ +footer.site { + border-top: 1px solid var(--outline); + padding: 64px 0 48px; + margin-top: 96px; + color: var(--type-2); + font-size: 14px; +} +footer.site .grid { + display: grid; + grid-template-columns: 1.4fr 1fr 1fr 1fr; + gap: 40px; +} +@media (max-width: 768px) { + footer.site .grid { + grid-template-columns: 1fr 1fr; + gap: 32px; + } +} +footer.site h4 { + font-size: 11px; + letter-spacing: 0.14em; + text-transform: uppercase; + color: var(--type-2); + font-family: var(--f-mono); + font-weight: 500; + margin: 0 0 14px; +} +footer.site ul { + list-style: none; + padding: 0; + margin: 0; + display: flex; + flex-direction: column; + gap: 10px; +} +footer.site a { + color: var(--type); +} +footer.site a:hover { + color: var(--accent); +} +footer.site .colophon { + margin-top: 56px; + padding-top: 24px; + border-top: 1px solid var(--outline); + display: flex; + justify-content: space-between; + gap: 24px; + flex-wrap: wrap; + font-size: 12px; + color: var(--type-2); + font-family: var(--f-mono); +} + +/* focus */ +:focus-visible { + outline: 2px solid var(--outline-accent); + outline-offset: 2px; + border-radius: var(--r-4); +} + +/* utility */ +.section { + padding: 96px 0; +} +.section-sm { + padding: 64px 0; +} +@media (max-width: 768px) { + .section { + padding: 64px 0; + } + .section-sm { + padding: 40px 0; + } +} +.row { + display: flex; + gap: 12px; + flex-wrap: wrap; + align-items: center; +} +.stack { + display: flex; + flex-direction: column; +} +.stack-2 { + gap: 8px; +} +.stack-3 { + gap: 12px; +} +.stack-4 { + gap: 16px; +} +.stack-5 { + gap: 20px; +} +.stack-6 { + gap: 24px; +} +.stack-8 { + gap: 32px; +} +.grid-2 { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 32px; +} +.grid-3 { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 24px; +} +.grid-4 { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 20px; +} +@media (max-width: 1024px) { + .grid-3 { + grid-template-columns: repeat(2, 1fr); + } + .grid-4 { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 640px) { + .grid-2, + .grid-3, + .grid-4 { + grid-template-columns: 1fr; + } +} + +/* almanac */ +.almanac-rule { + display: flex; + align-items: center; + gap: 12px; + font-family: var(--f-mono); + font-size: 11px; + letter-spacing: 0.1em; + text-transform: uppercase; + color: var(--type-2); +} +.almanac-rule::before, +.almanac-rule::after { + content: ''; + flex: 1; + height: 1px; + background: var(--outline); +} + +.marginalia { + font-family: var(--f-mono); + font-size: 10.5px; + letter-spacing: 0.08em; + color: var(--type-2); + text-transform: uppercase; +} + +.chip { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 4px 10px; + border: 1px solid var(--outline); + background: var(--bg-2); + border-radius: var(--r-pill); + font-family: var(--f-mono); + font-size: 11px; + letter-spacing: 0.04em; + color: var(--type-2); +} +.chip .dot { + width: 6px; + height: 6px; + border-radius: 999px; + background: var(--accent); +} + +.tag { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 3px 9px; + border-radius: var(--r-4); + font-family: var(--f-mono); + font-size: 10.5px; + letter-spacing: 0.06em; + text-transform: uppercase; + background: var(--primary-10); + color: var(--primary); +} + +/* Animation entry state — Motion sets opacity/transform on view */ +.fx-rise { + opacity: 0; + transform: translateY(12px); + will-change: opacity, transform; +} + +@media (prefers-reduced-motion: reduce) { + .fx-rise { + opacity: 1; + transform: none; + } +} From f272605d80b1144c661ba803d7bc1be88cf70b88 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:01:49 +0300 Subject: [PATCH 006/121] feat: i18n module with en/ar dicts --- src/i18n/ar.ts | 170 +++++++++++++++++++++++++++++++++++++++++++++ src/i18n/en.ts | 172 ++++++++++++++++++++++++++++++++++++++++++++++ src/i18n/types.ts | 5 ++ src/i18n/ui.ts | 17 +++++ src/i18n/utils.ts | 24 +++++++ 5 files changed, 388 insertions(+) create mode 100644 src/i18n/ar.ts create mode 100644 src/i18n/en.ts create mode 100644 src/i18n/types.ts create mode 100644 src/i18n/ui.ts create mode 100644 src/i18n/utils.ts diff --git a/src/i18n/ar.ts b/src/i18n/ar.ts new file mode 100644 index 0000000..4852112 --- /dev/null +++ b/src/i18n/ar.ts @@ -0,0 +1,170 @@ +export default { + // nav + 'nav.home': 'الرئيسية', + 'nav.features': 'المزايا', + 'nav.privacy': 'الخصوصية', + 'nav.open': 'مفتوح المصدر', + 'nav.download': 'تنزيل', + 'nav.support': 'الدعم', + 'nav.cta': 'تنزيل', + // hero + 'hero.eyebrow': 'لمن يحرصون على الصلاة', + 'hero.eyebrow2': 'iOS · أندرويد · هواوي', + 'hero.title': 'النداء إلى الصلاة،', + 'hero.title2': 'بتصميم يليق به.', + 'hero.lead': + 'نداء تطبيقٌ هادئ خاصّ يهتمّ بمواقيت الصلاة. مواقيت دقيقة، منبّه فجر حقيقي، ودجتات أنيقة، أذكار يومية، اتجاه القبلة، التاريخ الهجري — دون إعلانات أو حسابات أو متتبّعات.', + 'hero.fact': 'مجاني · مفتوح المصدر · بلا حسابات', + 'hero.shipped': 'صدر قبل ٤ أيام', + // honest + 'honest.free': 'مجاني', + 'honest.ads': 'بلا إعلانات', + 'honest.accounts': 'بلا حسابات', + 'honest.tracking': 'بلا تتبّع', + 'honest.os': 'مفتوح المصدر', + // capabilities + 'cap.section': 'المزايا', + 'cap.title': 'كلّ ما تحتاجه.', + 'cap.desc': + 'رفيقك اليومي الكامل — صنعه من يستخدمه. لا ترقيات مدفوعة. لا «خطّة محترفين». لا شيء يُباع لك.', + 'cap.times.t': 'مواقيت الصلاة', + 'cap.times.b': + 'دقّة في أيّ مكان في العالم. أكثر من ٢٠ طريقة حساب. تعمل دون إنترنت بعد المزامنة الأولى.', + 'cap.fajr.t': 'منبّه فجر ذكي', + 'cap.fajr.b': + 'منبّه حقيقي على مستوى النظام — لا مجرّد إشعار. اختياري: إيقاظ بلمسة أو بمسألة حسابية.', + 'cap.widgets.t': 'الودجتات', + 'cap.widgets.b': + 'الشاشة الرئيسية وشاشة القفل على iOS وأندرويد. ودجتات السحور والإفطار في رمضان.', + 'cap.athkar.t': 'الأذكار بالصوت', + 'cap.athkar.b': 'أذكار الصباح والمساء. حصن المسلم. ويمكنك إضافة أذكارك الخاصة.', + 'cap.qibla.t': 'بوصلة القبلة', + 'cap.qibla.b': 'مستشعرات الاتجاه الأصلية مع بدائل احتياطية. تعمل فعلًا.', + 'cap.hijri.t': 'التاريخ الهجري', + 'cap.hijri.b': 'التاريخ الهجري ظاهرٌ في كلّ مكان، إضافةً إلى محوّل ميلادي ↔ هجري.', + 'cap.qada.t': 'متتبّع القضاء', + 'cap.qada.b': 'عدّاد بسيط لما فاتك. يبقى بين الجلسات.', + 'cap.umrah.t': 'دليل العمرة', + 'cap.umrah.b': 'رفيقٌ خطوة بخطوة لمناسك العمرة.', + 'cap.quran.t': 'قارئ القرآن', + 'cap.quran.b': 'مصحف صوريّ مع تخصيص الألوان وتمييز الآيات.', + 'cap.quran.tag': 'قيد التطوير', + // alarm + 'alarm.section': 'الإشعارات · المنبّهات', + 'alarm.title': 'منبّه فجر يوقظك فعلًا.', + 'alarm.lead': + 'يستخدم نداء على iOS منبّه AlarmKit الحقيقي — كمنبّه تطبيق الساعة، لا مجرّد إشعار يمكنك النوم عبره. وعلى أندرويد، خدمة في المقدّمة مع قفل الإيقاظ تؤدّي الدور نفسه.', + 'alarm.f1.t': 'تذكيرات بثلاث طبقات', + 'alarm.f1.b': 'الأذان في وقته. تنبيه قبل الصلاة بدقائق تختارها. تذكير الإقامة بعدها.', + 'alarm.f2.t': 'إعدادات لكلّ صلاة', + 'alarm.f2.b': 'الصوت، عدد الدقائق قبل الصلاة، والتشغيل/الإيقاف — لكلّ صلاة على حدة.', + 'alarm.f3.t': 'أذانك أنت', + 'alarm.f3.b': 'أضف ملفًا صوتيًا من مسجدك المحلّي. سيُشغَّل بدل الافتراضي. (أندرويد فقط.)', + 'alarm.f3.tag': 'أندرويد', + 'alarm.f4.t': 'تحدّي الإيقاظ', + 'alarm.f4.b': 'يمكن اشتراط لمسة أو حلّ مسألة بسيطة لإيقاف منبّه الفجر.', + 'alarm.label': 'شاشة القفل · الفجر ٥:١٢', + // calc + 'calc.section': 'الحساب', + 'calc.title': 'وافق مسجدك المحلّي.', + 'calc.body': + 'أكثر من عشرين طريقة حساب، مع خيار مخصّص بالكامل إن كان لمسجدك اصطلاحاته. مذاهب العصر (المعياري / الحنفي). قواعد خطوط العرض المرتفعة. تعديل دقائق يدوي لكل صلاة.', + // privacy + 'priv.section': 'الخصوصية', + 'priv.title': 'تطبيق عبادة، لا منتج بيانات.', + 'priv.lead': 'أزلنا كلّ ما لا ينتمي. ما تبقّى هو التطبيق الذي كنت تبحث عنه.', + 'priv.cta': 'اقرأ موقفنا من الخصوصية', + 'priv.f1.t': 'بلا حسابات، أبدًا.', + 'priv.f1.b': 'لا تسجيل. لا بريد. لا كلمة مرور. يفتح التطبيق ويعمل.', + 'priv.f2.t': 'الموقع يبقى على جهازك.', + 'priv.f2.b': 'نطلب موقعًا منخفض الدقّة فقط — يكفي لحساب مواقيتك ولا أكثر.', + 'priv.f3.t': 'بلا مزامنة سحابية.', + 'priv.f3.b': 'إعداداتك وأذكارك المخصّصة وعدّاد القضاء تعيش على هاتفك. لا شيء يُرفع.', + 'priv.f4.t': 'بلا إعلانات. بلا شبكات تتبّع تحليلية.', + 'priv.f4.b': 'لا حزم خارجية تُحدّد هويّتك أو تُجزّئك أو تبيعك. لا نعرف من أنت.', + // languages + 'lang.section': 'اللغات · من اليمين إلى اليسار', + 'lang.title': 'يقرأ بلسانك.', + 'lang.body': + 'الإنجليزية والعربية والملايو والأردية متوفّرة اليوم. تخطيطات اليمين إلى اليسار من الدرجة الأولى — لا مجرّد قلب. الأرقام والمحاذاة والأيقونات والحركات تتصرّف بالشكل الصحيح في الاتجاهين.', + // localization + 'loc.section': 'الترجمة · المجتمع', + 'loc.title': 'يترجمها مَن يصلّي بها.', + 'loc.body': + 'نداء يُترجَم علنًا على Crowdin. تصل اللغات إلى التطبيق متى تجاوزت ٩٠٪ — ويراجعها أهل اللغة الذين يصلّون بها يوميًا. وإن كانت لغتك مفقودة، فيمكنك إضافتها.', + 'loc.live': 'مباشر · من Crowdin', + 'loc.updated': 'آخر تحديث ١٤ مارس ٢٠٢٦ · ١٠:٤٢ ت.ع.م', + 'loc.col.lang': 'اللغة', + 'loc.col.progress': 'التقدّم', + 'loc.col.tr': 'مترجم', + 'loc.col.ap': 'موافَق عليه', + 'loc.shipping': 'متاحة', + 'loc.cta1.t': 'ساعد في ترجمة نداء', + 'loc.cta1.b': + 'الترجمة ليست عمالة جماعية. لغتك تهمّ هنا — ومن يستخدمها هم من يجب أن يصوغوها. نراجع كلّ مساهمة مع متحدّثين أصليين يصلّون باللغة.', + 'loc.cta1.a1': 'انضم على Crowdin', + 'loc.cta1.a2': 'اقترح تحسينات', + 'loc.cta2.t': 'اطلب لغة جديدة', + 'loc.cta2.b': + 'لا ترى لغتك؟ أخبرنا — وسنضيفها على Crowdin ونتواصل حين تكون جاهزة للمراجعة.', + // huawei + 'huawei.tag': 'هواوي · بلا خدمات Google؟ مغطّى.', + 'huawei.title': 'إصدار هواوي حقيقي، لا APK احتياطي.', + 'huawei.body': + 'يصدر نداء بإصدار production-hms مخصّص لأجهزة هواوي بلا خدمات Google. الإشعارات والموقع ومستشعرات القبلة كلّها موصولة بـHMS — فتصلك المواقيت في وقتها على هاتفك.', + 'huawei.cta': 'افتح في AppGallery', + // open source + 'os.section': 'مفتوح المصدر', + 'os.title': 'اقرأ الشيفرة، لا التسويق.', + 'os.body': + 'يعيش نداء على NedaaDevs/nedaa في GitHub. كلّ معادلة لحساب وقت، وكلّ مشغّل إشعار، وكلّ سطر يلامس بياناتك — موجود لتقرأه وتدقّقه وتحسّنه.', + 'os.cta': 'NedaaDevs/nedaa', + 'os.contrib': 'دليل المساهمة', + // ledger + 'ledger.section': 'السجلّ التشغيلي', + 'ledger.title': 'اقرأ الأرقام، لا التسويق.', + 'ledger.lead': + 'حركة حقيقية من واجهة نداء — تُحدَّث ليلًا. لا نحتفظ بعناوين IP أو رؤوس الطلبات أو أجسامها.', + 'ledger.totalRequests': 'إجمالي الطلبات', + 'ledger.errorRate': 'نسبة الأخطاء', + 'ledger.avgResponse': 'متوسّط الاستجابة', + 'ledger.endpoints': 'النقاط الطرفية', + 'ledger.statusCodes': 'رموز الحالة', + 'ledger.path': 'المسار', + 'ledger.share': 'الحصّة', + 'ledger.p95': 'الـp95', + 'ledger.requests': 'الطلبات', + 'ledger.note': 'لا نحتفظ بعناوين IP أو رؤوس الطلبات أو أجسامها.', + 'ledger.loading': 'جارٍ التحميل…', + 'ledger.error': 'تعذّر تحميل الإحصاءات الحيّة. حاول لاحقًا.', + // footer + 'footer.tagline': + 'رفيقٌ هادئ خاصّ لمواقيت الصلاة. مجّاني، مفتوح المصدر، مصمَّم ليبقى بعيدًا عن الإزعاج.', + 'footer.product': 'المنتج', + 'footer.community': 'المجتمع', + 'footer.contact': 'تواصل', + 'footer.changelog': 'سجلّ التغييرات', + 'footer.github': 'GitHub', + 'footer.translate': 'ترجمة على Crowdin', + 'footer.press': 'حقيبة الصحافة', + 'footer.terms': 'الشروط', + 'footer.attrib': 'الإسنادات', + 'footer.copy': '© ٢٠٢٦ NedaaDevs · لمن يجيبون النداء.', + 'footer.license': 'GPLv3 · المصدر متاح', + 'footer.status': 'يعمل', + 'footer.attribTitle': 'إسنادات لازمة', + 'footer.attribBody': + 'نصّ القرآن من Tanzil (tanzil.net). الصوت من EveryAyah (everyayah.com) و QUL. صور المصحف من مجمّع الملك فهد لطباعة المصحف الشريف (QCF). الأذكار من حصن المسلم. الموارد الخطّية من Unwan. تُستخدم وفق تراخيصها؛ وإسنادات كاملة داخل التطبيق وفي صفحة المصدر المفتوح.', + // download page + 'dl.title': 'حمّل نداء.', + 'dl.lead': 'مجاني. مفتوح المصدر. بلا حسابات.', + // privacy page + 'privPage.title': 'موقفنا من الخصوصية', + 'privPage.lead': + 'بُني نداء على افتراض أنّ العبادة شأن خاصّ. ينبغي للتطبيق أن يصلك حين يحين الوقت — وفيما عدا ذلك يدعك وشأنك.', + // toggles + 'ui.theme': 'السِمة', + 'ui.theme.light': 'فاتحة', + 'ui.theme.dark': 'داكنة', + 'ui.locale': 'اللغة', +} as const; diff --git a/src/i18n/en.ts b/src/i18n/en.ts new file mode 100644 index 0000000..899a259 --- /dev/null +++ b/src/i18n/en.ts @@ -0,0 +1,172 @@ +export default { + // nav + 'nav.home': 'Home', + 'nav.features': 'Features', + 'nav.privacy': 'Privacy', + 'nav.open': 'Open Source', + 'nav.download': 'Download', + 'nav.support': 'Support', + 'nav.cta': 'Download', + // hero (quiet) + 'hero.eyebrow': 'For practicing Muslims', + 'hero.eyebrow2': 'iOS · Android · Huawei', + 'hero.title': 'The call to prayer,', + 'hero.title2': 'dignified by design.', + 'hero.lead': + 'Nedaa is a quiet, private prayer-times companion. Accurate timings, a real Fajr alarm, beautiful widgets, daily Athkar, Qibla, Hijri date — and not a single ad, account, or tracker.', + 'hero.fact': 'Free · Open source · No accounts', + 'hero.shipped': 'shipped 4 days ago', + // honest + 'honest.free': 'Free', + 'honest.ads': 'No ads', + 'honest.accounts': 'No accounts', + 'honest.tracking': 'No tracking', + 'honest.os': 'Open source', + // capabilities + 'cap.section': 'Capabilities', + 'cap.title': 'Everything you need.', + 'cap.desc': + 'Your full daily companion — built by people who use it. No paid upgrades. No “pro” plan. Nothing sold to you.', + 'cap.times.t': 'Prayer times', + 'cap.times.b': 'Accurate anywhere. 20+ calculation methods. Works offline after first sync.', + 'cap.fajr.t': 'Smart Fajr alarm', + 'cap.fajr.b': 'A real OS-level alarm — not a notification. Optional tap or math wake-up.', + 'cap.widgets.t': 'Widgets', + 'cap.widgets.b': 'Home and lock screen on iOS and Android. Suhoor and Iftar variants for Ramadan.', + 'cap.athkar.t': 'Athkar with audio', + 'cap.athkar.b': 'Morning and evening remembrances. Hisn al-Muslim. Custom Athkar supported.', + 'cap.qibla.t': 'Qibla compass', + 'cap.qibla.b': + 'Native heading sensors with rotation-vector and accel/mag fallbacks. It just works.', + 'cap.hijri.t': 'Hijri date', + 'cap.hijri.b': 'Hijri shown throughout, plus a standalone Gregorian ↔ Hijri converter.', + 'cap.qada.t': 'Qada tracker', + 'cap.qada.b': 'Counter-style tracking for missed prayers. Persists across sessions.', + 'cap.umrah.t': 'Umrah guide', + 'cap.umrah.b': 'A clear, step-by-step companion for the rituals of ʿUmrah.', + 'cap.quran.t': 'Quran reader', + 'cap.quran.b': 'Image-based mushaf with theming and ayah highlighting.', + 'cap.quran.tag': 'In development', + // alarm + 'alarm.section': 'Notifications · Alarms', + 'alarm.title': 'A Fajr alarm that actually wakes you.', + 'alarm.lead': + 'Nedaa on iOS uses a real AlarmKit alarm — like the Clock app, not a notification you can sleep through. On Android, a foreground service with wake locks does the same job.', + 'alarm.f1.t': 'Three-layered reminders', + 'alarm.f1.b': + 'The adhan at the moment. A pre-prayer warning N minutes ahead. An iqama reminder after.', + 'alarm.f2.t': 'Per-prayer settings', + 'alarm.f2.b': 'Sound, minutes-before, on/off — set independently for each prayer.', + 'alarm.f3.t': 'Your adhan', + 'alarm.f3.b': + 'Add an audio file from your local masjid. It plays in place of the default. (Android only.)', + 'alarm.f3.tag': 'Android', + 'alarm.f4.t': 'Wake-up challenge', + 'alarm.f4.b': 'Optional tap or simple math problem to dismiss the Fajr alarm.', + 'alarm.label': 'Lock screen · Fajr 5:12', + // calc + 'calc.section': 'Calculation', + 'calc.title': 'Match your local masjid.', + 'calc.body': + 'Twenty-plus calculation methods, plus a fully custom option for masjids with their own conventions. ʿAṣr madhabs (Standard / Hanafi). High-latitude rules. Manual minute offsets per prayer.', + // privacy + 'priv.section': 'Privacy', + 'priv.title': 'A worship app, not a data product.', + 'priv.lead': 'We removed everything that didn’t belong. What’s left is the app you were looking for.', + 'priv.cta': 'Read our privacy stance', + 'priv.f1.t': 'No accounts. Ever.', + 'priv.f1.b': 'No sign-up. No email. No password. The app opens and works.', + 'priv.f2.t': 'Location stays on device.', + 'priv.f2.b': 'We ask for low-precision location only — enough to compute your timings, no more.', + 'priv.f3.t': 'No cloud sync.', + 'priv.f3.b': + 'Your settings, custom Athkar, and Qada counter live on your phone. Nothing is uploaded.', + 'priv.f4.t': 'No ads. No analytics tracking networks.', + 'priv.f4.b': + 'No third-party SDKs that identify, segment, or sell you. We don’t know who you are.', + // languages + 'lang.section': 'Languages · RTL', + 'lang.title': 'Reads in your tongue.', + 'lang.body': + 'English, Arabic, Malay, and Urdu ship today. First-class right-to-left layouts — not a flip. Numbers, alignment, icons, and motion behave correctly in both directions.', + // localization + 'loc.section': 'Translation · Community', + 'loc.title': 'Translated by the people who pray in it.', + 'loc.body': + 'Nedaa is translated openly on Crowdin. Languages ship to the app once they cross 90% — and they’re reviewed by native speakers who pray in them daily. If yours is missing, you can add it.', + 'loc.live': 'Live · from Crowdin', + 'loc.updated': 'Last updated 14 Mar 2026 · 10:42 UTC', + 'loc.col.lang': 'Language', + 'loc.col.progress': 'Progress', + 'loc.col.tr': 'Translated', + 'loc.col.ap': 'Approved', + 'loc.shipping': 'Shipping', + 'loc.cta1.t': 'Help translate Nedaa', + 'loc.cta1.b': + 'Translation isn’t crowd labor. Your language matters here — and the people who use it should shape it. Every contribution is reviewed with native speakers who pray in the language.', + 'loc.cta1.a1': 'Join on Crowdin', + 'loc.cta1.a2': 'Suggest improvements', + 'loc.cta2.t': 'Request a new language', + 'loc.cta2.b': + 'Don’t see yours? Tell us — we’ll spin it up on Crowdin and reach out when it’s ready for review.', + // huawei + 'huawei.tag': 'Huawei · No Google services? Covered.', + 'huawei.title': 'A real Huawei build, not a fallback APK.', + 'huawei.body': + 'Nedaa ships a dedicated production-hms build for Huawei devices without Google services. Notifications, location, and Qibla sensors are wired to HMS — so timings reach you, on time, on your phone.', + 'huawei.cta': 'Open in AppGallery', + // open source + 'os.section': 'Open source', + 'os.title': 'Read the code, not the marketing.', + 'os.body': + 'Nedaa lives at NedaaDevs/nedaa on GitHub. Every prayer-time formula, every notification trigger, every line that touches your data — is there to read, audit, and improve.', + 'os.cta': 'NedaaDevs/nedaa', + 'os.contrib': 'Contribution guide', + // ledger + 'ledger.section': 'Operational ledger', + 'ledger.title': 'Read the numbers, not the marketing.', + 'ledger.lead': + 'Real traffic from the Nedaa API — refreshed nightly. No IPs, headers, or query bodies retained.', + 'ledger.totalRequests': 'Total requests', + 'ledger.errorRate': 'Error rate', + 'ledger.avgResponse': 'Avg response', + 'ledger.endpoints': 'Endpoints', + 'ledger.statusCodes': 'Status codes', + 'ledger.path': 'Path', + 'ledger.share': 'Share', + 'ledger.p95': 'p95', + 'ledger.requests': 'Requests', + 'ledger.note': 'No IPs, headers, or query bodies retained.', + 'ledger.loading': 'Loading…', + 'ledger.error': 'Could not load live stats. Try again later.', + // footer + 'footer.tagline': + 'A quiet, private companion for prayer times. Free, open source, designed to stay out of the way.', + 'footer.product': 'Product', + 'footer.community': 'Community', + 'footer.contact': 'Contact', + 'footer.changelog': 'Changelog', + 'footer.github': 'GitHub', + 'footer.translate': 'Translate on Crowdin', + 'footer.press': 'Press kit', + 'footer.terms': 'Terms', + 'footer.attrib': 'Attributions', + 'footer.copy': '© 2026 NedaaDevs · For those who answer the call.', + 'footer.license': 'GPLv3 · source available', + 'footer.status': 'Operational', + 'footer.attribTitle': 'Required attributions', + 'footer.attribBody': + 'Quran text from Tanzil (tanzil.net). Audio from EveryAyah (everyayah.com) and QUL. Mushaf images from King Fahd Glorious Quran Printing Complex (QCF). Athkar from Hisn al-Muslim. Calligraphic resources from Unwan. Used per their licenses; full credits in-app and on the Open Source page.', + // download page + 'dl.title': 'Download Nedaa.', + 'dl.lead': 'Free. Open source. No accounts.', + // privacy page + 'privPage.title': 'Privacy stance', + 'privPage.lead': + 'Nedaa was built around the assumption that worship is private. The app should reach you when the time comes — and otherwise, leave you alone.', + // theme & locale toggles + 'ui.theme': 'Theme', + 'ui.theme.light': 'Light', + 'ui.theme.dark': 'Dark', + 'ui.locale': 'Language', +} as const; diff --git a/src/i18n/types.ts b/src/i18n/types.ts new file mode 100644 index 0000000..e9fe2ec --- /dev/null +++ b/src/i18n/types.ts @@ -0,0 +1,5 @@ +export type Locale = 'en' | 'ar' | 'ms' | 'ur'; +export const LOCALES: Locale[] = ['en', 'ar', 'ms', 'ur']; +export const RTL_LOCALES: Locale[] = ['ar', 'ur']; + +export const isRTL = (l: Locale) => RTL_LOCALES.includes(l); diff --git a/src/i18n/ui.ts b/src/i18n/ui.ts new file mode 100644 index 0000000..53a4ce2 --- /dev/null +++ b/src/i18n/ui.ts @@ -0,0 +1,17 @@ +import en from '@/i18n/en'; +import ar from '@/i18n/ar'; + +export const defaultLang = 'en' as const; +export const showDefaultLang = false; + +export const languages = { + en: 'English', + ar: 'العربية', + ms: 'Bahasa Melayu', + ur: 'اردو', +} as const; + +export const ui = { en, ar } as const; + +export type UI = typeof ui; +export type UIKey = keyof typeof en; diff --git a/src/i18n/utils.ts b/src/i18n/utils.ts new file mode 100644 index 0000000..ea7a97b --- /dev/null +++ b/src/i18n/utils.ts @@ -0,0 +1,24 @@ +import { ui, defaultLang, showDefaultLang, type UIKey } from '@/i18n/ui'; +import { isRTL, type Locale } from '@/i18n/types'; + +export { isRTL, type Locale } from '@/i18n/types'; +export { defaultLang, languages } from '@/i18n/ui'; + +export const getLangFromUrl = (url: URL): keyof typeof ui => { + const [, lang] = url.pathname.split('/'); + return lang in ui ? (lang as keyof typeof ui) : defaultLang; +}; + +export const useTranslations = + (lang: keyof typeof ui) => + (key: UIKey): string => + ui[lang][key] ?? ui[defaultLang][key]; + +export const useTranslatedPath = + (lang: Locale) => + (path: string, l: Locale = lang): string => { + const clean = path.replace(/^\/+/, ''); + return !showDefaultLang && l === defaultLang ? `/${clean}` : `/${l}/${clean}`; + }; + +export const dirFor = (lang: Locale): 'rtl' | 'ltr' => (isRTL(lang) ? 'rtl' : 'ltr'); From 1d8fcc37a05af90759c4a7afd6251d30a272ab24 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:02:09 +0300 Subject: [PATCH 007/121] feat: motion entry-animation helpers --- src/lib/motion.ts | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/lib/motion.ts diff --git a/src/lib/motion.ts b/src/lib/motion.ts new file mode 100644 index 0000000..33e191e --- /dev/null +++ b/src/lib/motion.ts @@ -0,0 +1,28 @@ +import { animate } from 'motion/mini'; +import { inView } from 'motion'; + +export type RiseOpts = { delay?: number; y?: number; duration?: number }; + +export const riseIn = (el: Element, { delay = 0, y = 12, duration = 0.5 }: RiseOpts = {}) => { + if (matchMedia('(prefers-reduced-motion: reduce)').matches) { + Object.assign((el as HTMLElement).style, { opacity: '1', transform: 'none' }); + return () => {}; + } + return inView( + el, + () => { + animate( + el, + { opacity: [0, 1], transform: [`translateY(${y}px)`, 'translateY(0)'] }, + { duration, delay, ease: [0.22, 1, 0.36, 1] }, + ); + }, + { margin: '0px 0px -10% 0px' }, + ); +}; + +export const autoRise = (root: ParentNode = document) => { + root + .querySelectorAll('.fx-rise') + .forEach((el, i) => riseIn(el, { delay: i * 0.05 })); +}; From fc1c9118b105ea8d48fbf2cabe4c538f2a72677b Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:02:18 +0300 Subject: [PATCH 008/121] feat: brand mark component --- src/components/Brand.astro | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/components/Brand.astro diff --git a/src/components/Brand.astro b/src/components/Brand.astro new file mode 100644 index 0000000..61f19b2 --- /dev/null +++ b/src/components/Brand.astro @@ -0,0 +1,35 @@ +--- +interface Props { + size?: number; + monogram?: boolean; +} +const { size = 36 } = Astro.props; +const stroke = Math.max(1.4, size / 22); +--- + + From 59217de24fe7f3476a0d3cff94932053f523388f Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:25:49 +0300 Subject: [PATCH 009/121] chore: bump astro to 6.3 and svelte integration to 8.1 --- bun.lock | 226 ++++++++++++++------------------------------------- package.json | 10 +-- 2 files changed, 65 insertions(+), 171 deletions(-) diff --git a/bun.lock b/bun.lock index e8cbdfe..813bede 100644 --- a/bun.lock +++ b/bun.lock @@ -5,14 +5,14 @@ "": { "name": "nedaa-website", "dependencies": { - "@astrojs/check": "^0.9.4", - "@astrojs/rss": "^4.0.11", - "@astrojs/sitemap": "^3.4.1", - "@astrojs/svelte": "^7.2.1", + "@astrojs/check": "^0.9.9", + "@astrojs/rss": "^4.0.18", + "@astrojs/sitemap": "^3.7.2", + "@astrojs/svelte": "^8.1.0", "@fontsource/asap": "^5.2.7", "@fontsource/ibm-plex-sans-arabic": "^5.2.6", "@fontsource/jetbrains-mono": "^5.2.7", - "astro": "^5.14.5", + "astro": "^6.3.1", "motion": "^12.23.20", "svelte": "^5.43.6", "typescript": "^5.7.3", @@ -34,21 +34,21 @@ "@astrojs/compiler": ["@astrojs/compiler@2.13.1", "", {}, "sha512-f3FN83d2G/v32ipNClRKgYv30onQlMZX1vCeZMjPsMMPl1mDpmbl0+N5BYo4S/ofzqJyS5hvwacEo0CCVDn/Qg=="], - "@astrojs/internal-helpers": ["@astrojs/internal-helpers@0.7.6", "", {}, "sha512-GOle7smBWKfMSP8osUIGOlB5kaHdQLV3foCsf+5Q9Wsuu+C6Fs3Ez/ttXmhjZ1HkSgsogcM1RXSjjOVieHq16Q=="], + "@astrojs/internal-helpers": ["@astrojs/internal-helpers@0.9.0", "", { "dependencies": { "picomatch": "^4.0.4" } }, "sha512-GdYkzR26re8izmyYlBqf4z2s7zNngmWLFuxw0UKiPNqHraZGS6GKWIwSHgS22RDlu2ePFJ8bzmpBcUszut/SDg=="], "@astrojs/language-server": ["@astrojs/language-server@2.16.8", "", { "dependencies": { "@astrojs/compiler": "^2.13.1", "@astrojs/yaml2ts": "^0.2.3", "@jridgewell/sourcemap-codec": "^1.5.5", "@volar/kit": "~2.4.28", "@volar/language-core": "~2.4.28", "@volar/language-server": "~2.4.28", "@volar/language-service": "~2.4.28", "muggle-string": "^0.4.1", "tinyglobby": "^0.2.16", "volar-service-css": "0.0.70", "volar-service-emmet": "0.0.70", "volar-service-html": "0.0.70", "volar-service-prettier": "0.0.70", "volar-service-typescript": "0.0.70", "volar-service-typescript-twoslash-queries": "0.0.70", "volar-service-yaml": "0.0.70", "vscode-html-languageservice": "^5.6.2", "vscode-uri": "^3.1.0" }, "peerDependencies": { "prettier": "^3.0.0", "prettier-plugin-astro": ">=0.11.0" }, "optionalPeers": ["prettier", "prettier-plugin-astro"], "bin": { "astro-ls": "bin/nodeServer.js" } }, "sha512-yg1pZF6hs9FaKr2fgXMOGbW7pDLgFexFjuhWilPAc8VybTU+WSnbfbhYaUL1exm6dAK4sM3aKXGcfVwss+HXbg=="], - "@astrojs/markdown-remark": ["@astrojs/markdown-remark@6.3.11", "", { "dependencies": { "@astrojs/internal-helpers": "0.7.6", "@astrojs/prism": "3.3.0", "github-slugger": "^2.0.0", "hast-util-from-html": "^2.0.3", "hast-util-to-text": "^4.0.2", "import-meta-resolve": "^4.2.0", "js-yaml": "^4.1.1", "mdast-util-definitions": "^6.0.0", "rehype-raw": "^7.0.0", "rehype-stringify": "^10.0.1", "remark-gfm": "^4.0.1", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.2", "remark-smartypants": "^3.0.2", "shiki": "^3.21.0", "smol-toml": "^1.6.0", "unified": "^11.0.5", "unist-util-remove-position": "^5.0.0", "unist-util-visit": "^5.0.0", "unist-util-visit-parents": "^6.0.2", "vfile": "^6.0.3" } }, "sha512-hcaxX/5aC6lQgHeGh1i+aauvSwIT6cfyFjKWvExYSxUhZZBBdvCliOtu06gbQyhbe0pGJNoNmqNlQZ5zYUuIyQ=="], + "@astrojs/markdown-remark": ["@astrojs/markdown-remark@7.1.1", "", { "dependencies": { "@astrojs/internal-helpers": "0.9.0", "@astrojs/prism": "4.0.1", "github-slugger": "^2.0.0", "hast-util-from-html": "^2.0.3", "hast-util-to-text": "^4.0.2", "js-yaml": "^4.1.1", "mdast-util-definitions": "^6.0.0", "rehype-raw": "^7.0.0", "rehype-stringify": "^10.0.1", "remark-gfm": "^4.0.1", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.2", "remark-smartypants": "^3.0.2", "retext-smartypants": "^6.2.0", "shiki": "^4.0.0", "smol-toml": "^1.6.0", "unified": "^11.0.5", "unist-util-remove-position": "^5.0.0", "unist-util-visit": "^5.1.0", "unist-util-visit-parents": "^6.0.2", "vfile": "^6.0.3" } }, "sha512-C6e9BnLGlbdv6bV8MYGeHpHxsUHrCrB4OuRLqi5LI7oiBVcBcqfUN06zpwFQdHgV48QCCrMmLpyqBr7VqC+swA=="], - "@astrojs/prism": ["@astrojs/prism@3.3.0", "", { "dependencies": { "prismjs": "^1.30.0" } }, "sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ=="], + "@astrojs/prism": ["@astrojs/prism@4.0.1", "", { "dependencies": { "prismjs": "^1.30.0" } }, "sha512-nksZQVjlferuWzhPsBpQ1JE5XuKAf1id1/9Hj4a9KG4+ofrlzxUUwX4YGQF/SuDiuiGKEnzopGOt38F3AnVWsQ=="], "@astrojs/rss": ["@astrojs/rss@4.0.18", "", { "dependencies": { "fast-xml-parser": "^5.5.7", "piccolore": "^0.1.3", "zod": "^4.3.6" } }, "sha512-wc5DwKlbTEdgVAWnHy8krFTeQ42t1v/DJqeq5HtulYK3FYHE4krtRGjoyhS3eXXgfdV6Raoz2RU3wrMTFAitRg=="], "@astrojs/sitemap": ["@astrojs/sitemap@3.7.2", "", { "dependencies": { "sitemap": "^9.0.0", "stream-replace-string": "^2.0.0", "zod": "^4.3.6" } }, "sha512-PqkzkcZTb5ICiyIR8VoKbIAP/laNRXi5tw616N1Ckk+40oNB8Can1AzVV56lrbC5GKSZFCyJYUVYqVivMisvpA=="], - "@astrojs/svelte": ["@astrojs/svelte@7.2.5", "", { "dependencies": { "@sveltejs/vite-plugin-svelte": "^5.1.1", "svelte2tsx": "^0.7.46", "vite": "^6.4.1" }, "peerDependencies": { "astro": "^5.0.0", "svelte": "^5.1.16", "typescript": "^5.3.3" } }, "sha512-Tl5aF/dYbzzd7sLpxMBX6pRz3yJ1B4pilt9G3GJbj0I0/doJHIEmerNQsnlxX0/InNKUhMXXN8wyyet9VhA+Zw=="], + "@astrojs/svelte": ["@astrojs/svelte@8.1.0", "", { "dependencies": { "@sveltejs/vite-plugin-svelte": "^6.2.4", "svelte2tsx": "^0.7.52", "vite": "^7.3.2", "vitefu": "^1.1.2" }, "peerDependencies": { "astro": "^6.0.0", "svelte": "^5.43.6", "typescript": "^5.3.3" } }, "sha512-yZrHRFOxDJeo2hr9rGAMou6/6OL3agEaUCvWNWrea8YhZultsERTYZthfKNC58onAtZs76xNklOYV+G2Dp10kw=="], - "@astrojs/telemetry": ["@astrojs/telemetry@3.3.0", "", { "dependencies": { "ci-info": "^4.2.0", "debug": "^4.4.0", "dlv": "^1.1.3", "dset": "^3.1.4", "is-docker": "^3.0.0", "is-wsl": "^3.1.0", "which-pm-runs": "^1.1.0" } }, "sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ=="], + "@astrojs/telemetry": ["@astrojs/telemetry@3.3.2", "", { "dependencies": { "ci-info": "^4.4.0", "dset": "^3.1.4", "is-docker": "^4.0.0", "is-wsl": "^3.1.1", "which-pm-runs": "^1.1.0" } }, "sha512-j8DNruA8ors99Al39RYZPJK4DC1bKkoNm93mAMuBhY9TCNC4R8n1q7ovFnJ5qhGh5Lsh7pa1gpQVpYpsJPeTHQ=="], "@astrojs/yaml2ts": ["@astrojs/yaml2ts@0.2.3", "", { "dependencies": { "yaml": "^2.8.2" } }, "sha512-PJzRmgQzUxI2uwpdX2lXSHtP4G8ocp24/t+bZyf5Fy0SZLSF9f9KXZoMlFM/XCGue+B0nH/2IZ7FpBYQATBsCg=="], @@ -62,6 +62,10 @@ "@capsizecss/unpack": ["@capsizecss/unpack@4.0.0", "", { "dependencies": { "fontkitten": "^1.0.0" } }, "sha512-VERIM64vtTP1C4mxQ5thVT9fK0apjPFobqybMtA1UdUujWka24ERHbRHFGmpbbhp73MhV+KSsHQH9C6uOTdEQA=="], + "@clack/core": ["@clack/core@1.3.0", "", { "dependencies": { "fast-wrap-ansi": "^0.2.0", "sisteransi": "^1.0.5" } }, "sha512-xJPHpAmEQUBrXSLx0gF+q5K/IyihXpsHZcha+jB+tyahsKRK3Dxo4D0coZDewHo12NhiuzC3dTtMPbm53GEAAA=="], + + "@clack/prompts": ["@clack/prompts@1.3.0", "", { "dependencies": { "@clack/core": "1.3.0", "fast-string-width": "^3.0.2", "fast-wrap-ansi": "^0.2.0", "sisteransi": "^1.0.5" } }, "sha512-GgcWwRCs/xPtaqlMy8qRhPnZf9vlWcWZNHAitnVQ3yk7JmSralSiq5q07yaffYE8SogtDm7zFeKccx1QNVARpw=="], + "@emmetio/abbreviation": ["@emmetio/abbreviation@2.3.3", "", { "dependencies": { "@emmetio/scanner": "^1.0.4" } }, "sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA=="], "@emmetio/css-abbreviation": ["@emmetio/css-abbreviation@2.1.8", "", { "dependencies": { "@emmetio/scanner": "^1.0.4" } }, "sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw=="], @@ -282,25 +286,27 @@ "@sentry/utils": ["@sentry/utils@7.120.4", "", { "dependencies": { "@sentry/types": "7.120.4" } }, "sha512-zCKpyDIWKHwtervNK2ZlaK8mMV7gVUijAgFeJStH+CU/imcdquizV3pFLlSQYRswG+Lbyd6CT/LGRh3IbtkCFw=="], - "@shikijs/core": ["@shikijs/core@3.23.0", "", { "dependencies": { "@shikijs/types": "3.23.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.5" } }, "sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA=="], + "@shikijs/core": ["@shikijs/core@4.0.2", "", { "dependencies": { "@shikijs/primitive": "4.0.2", "@shikijs/types": "4.0.2", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.5" } }, "sha512-hxT0YF4ExEqB8G/qFdtJvpmHXBYJ2lWW7qTHDarVkIudPFE6iCIrqdgWxGn5s+ppkGXI0aEGlibI0PAyzP3zlw=="], + + "@shikijs/engine-javascript": ["@shikijs/engine-javascript@4.0.2", "", { "dependencies": { "@shikijs/types": "4.0.2", "@shikijs/vscode-textmate": "^10.0.2", "oniguruma-to-es": "^4.3.4" } }, "sha512-7PW0Nm49DcoUIQEXlJhNNBHyoGMjalRETTCcjMqEaMoJRLljy1Bi/EGV3/qLBgLKQejdspiiYuHGQW6dX94Nag=="], - "@shikijs/engine-javascript": ["@shikijs/engine-javascript@3.23.0", "", { "dependencies": { "@shikijs/types": "3.23.0", "@shikijs/vscode-textmate": "^10.0.2", "oniguruma-to-es": "^4.3.4" } }, "sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA=="], + "@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@4.0.2", "", { "dependencies": { "@shikijs/types": "4.0.2", "@shikijs/vscode-textmate": "^10.0.2" } }, "sha512-UpCB9Y2sUKlS9z8juFSKz7ZtysmeXCgnRF0dlhXBkmQnek7lAToPte8DkxmEYGNTMii72zU/lyXiCB6StuZeJg=="], - "@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@3.23.0", "", { "dependencies": { "@shikijs/types": "3.23.0", "@shikijs/vscode-textmate": "^10.0.2" } }, "sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g=="], + "@shikijs/langs": ["@shikijs/langs@4.0.2", "", { "dependencies": { "@shikijs/types": "4.0.2" } }, "sha512-KaXby5dvoeuZzN0rYQiPMjFoUrz4hgwIE+D6Du9owcHcl6/g16/yT5BQxSW5cGt2MZBz6Hl0YuRqf12omRfUUg=="], - "@shikijs/langs": ["@shikijs/langs@3.23.0", "", { "dependencies": { "@shikijs/types": "3.23.0" } }, "sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg=="], + "@shikijs/primitive": ["@shikijs/primitive@4.0.2", "", { "dependencies": { "@shikijs/types": "4.0.2", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-M6UMPrSa3fN5ayeJwFVl9qWofl273wtK1VG8ySDZ1mQBfhCpdd8nEx7nPZ/tk7k+TYcpqBZzj/AnwxT9lO+HJw=="], - "@shikijs/themes": ["@shikijs/themes@3.23.0", "", { "dependencies": { "@shikijs/types": "3.23.0" } }, "sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA=="], + "@shikijs/themes": ["@shikijs/themes@4.0.2", "", { "dependencies": { "@shikijs/types": "4.0.2" } }, "sha512-mjCafwt8lJJaVSsQvNVrJumbnnj1RI8jbUKrPKgE6E3OvQKxnuRoBaYC51H4IGHePsGN/QtALglWBU7DoKDFnA=="], - "@shikijs/types": ["@shikijs/types@3.23.0", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ=="], + "@shikijs/types": ["@shikijs/types@4.0.2", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-qzbeRooUTPnLE+sHD/Z8DStmaDgnbbc/pMrU203950aRqjX/6AFHeDYT+j00y2lPdz0ywJKx7o/7qnqTivtlXg=="], "@shikijs/vscode-textmate": ["@shikijs/vscode-textmate@10.0.2", "", {}, "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg=="], "@sveltejs/acorn-typescript": ["@sveltejs/acorn-typescript@1.0.9", "", { "peerDependencies": { "acorn": "^8.9.0" } }, "sha512-lVJX6qEgs/4DOcRTpo56tmKzVPtoWAaVbL4hfO7t7NVwl9AAXzQR6cihesW1BmNMPl+bK6dreu2sOKBP2Q9CIA=="], - "@sveltejs/vite-plugin-svelte": ["@sveltejs/vite-plugin-svelte@5.1.1", "", { "dependencies": { "@sveltejs/vite-plugin-svelte-inspector": "^4.0.1", "debug": "^4.4.1", "deepmerge": "^4.3.1", "kleur": "^4.1.5", "magic-string": "^0.30.17", "vitefu": "^1.0.6" }, "peerDependencies": { "svelte": "^5.0.0", "vite": "^6.0.0" } }, "sha512-Y1Cs7hhTc+a5E9Va/xwKlAJoariQyHY+5zBgCZg4PFWNYQ1nMN9sjK1zhw1gK69DuqVP++sht/1GZg1aRwmAXQ=="], + "@sveltejs/vite-plugin-svelte": ["@sveltejs/vite-plugin-svelte@6.2.4", "", { "dependencies": { "@sveltejs/vite-plugin-svelte-inspector": "^5.0.0", "deepmerge": "^4.3.1", "magic-string": "^0.30.21", "obug": "^2.1.0", "vitefu": "^1.1.1" }, "peerDependencies": { "svelte": "^5.0.0", "vite": "^6.3.0 || ^7.0.0" } }, "sha512-ou/d51QSdTyN26D7h6dSpusAKaZkAiGM55/AKYi+9AGZw7q85hElbjK3kEyzXHhLSnRISHOYzVge6x0jRZ7DXA=="], - "@sveltejs/vite-plugin-svelte-inspector": ["@sveltejs/vite-plugin-svelte-inspector@4.0.1", "", { "dependencies": { "debug": "^4.3.7" }, "peerDependencies": { "@sveltejs/vite-plugin-svelte": "^5.0.0", "svelte": "^5.0.0", "vite": "^6.0.0" } }, "sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw=="], + "@sveltejs/vite-plugin-svelte-inspector": ["@sveltejs/vite-plugin-svelte-inspector@5.0.2", "", { "dependencies": { "obug": "^2.1.0" }, "peerDependencies": { "@sveltejs/vite-plugin-svelte": "^6.0.0-next.0", "svelte": "^5.0.0", "vite": "^6.3.0 || ^7.0.0" } }, "sha512-TZzRTcEtZffICSAoZGkPSl6Etsj2torOVrx6Uw0KpXxrec9Gg6jFWQ60Q3+LmNGfZSxHRCZL7vXVZIWmuV50Ig=="], "@tootallnate/quickjs-emscripten": ["@tootallnate/quickjs-emscripten@0.23.0", "", {}, "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA=="], @@ -354,8 +360,6 @@ "ajv-draft-04": ["ajv-draft-04@1.0.0", "", { "peerDependencies": { "ajv": "^8.5.0" }, "optionalPeers": ["ajv"] }, "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw=="], - "ansi-align": ["ansi-align@3.0.1", "", { "dependencies": { "string-width": "^4.1.0" } }, "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w=="], - "ansi-colors": ["ansi-colors@4.1.3", "", {}, "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw=="], "ansi-escapes": ["ansi-escapes@3.2.0", "", {}, "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ=="], @@ -378,7 +382,7 @@ "ast-types": ["ast-types@0.13.4", "", { "dependencies": { "tslib": "^2.0.1" } }, "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w=="], - "astro": ["astro@5.18.1", "", { "dependencies": { "@astrojs/compiler": "^2.13.0", "@astrojs/internal-helpers": "0.7.6", "@astrojs/markdown-remark": "6.3.11", "@astrojs/telemetry": "3.3.0", "@capsizecss/unpack": "^4.0.0", "@oslojs/encoding": "^1.1.0", "@rollup/pluginutils": "^5.3.0", "acorn": "^8.15.0", "aria-query": "^5.3.2", "axobject-query": "^4.1.0", "boxen": "8.0.1", "ci-info": "^4.3.1", "clsx": "^2.1.1", "common-ancestor-path": "^1.0.1", "cookie": "^1.1.1", "cssesc": "^3.0.0", "debug": "^4.4.3", "deterministic-object-hash": "^2.0.2", "devalue": "^5.6.2", "diff": "^8.0.3", "dlv": "^1.1.3", "dset": "^3.1.4", "es-module-lexer": "^1.7.0", "esbuild": "^0.27.3", "estree-walker": "^3.0.3", "flattie": "^1.1.1", "fontace": "~0.4.0", "github-slugger": "^2.0.0", "html-escaper": "3.0.3", "http-cache-semantics": "^4.2.0", "import-meta-resolve": "^4.2.0", "js-yaml": "^4.1.1", "magic-string": "^0.30.21", "magicast": "^0.5.1", "mrmime": "^2.0.1", "neotraverse": "^0.6.18", "p-limit": "^6.2.0", "p-queue": "^8.1.1", "package-manager-detector": "^1.6.0", "piccolore": "^0.1.3", "picomatch": "^4.0.3", "prompts": "^2.4.2", "rehype": "^13.0.2", "semver": "^7.7.3", "shiki": "^3.21.0", "smol-toml": "^1.6.0", "svgo": "^4.0.0", "tinyexec": "^1.0.2", "tinyglobby": "^0.2.15", "tsconfck": "^3.1.6", "ultrahtml": "^1.6.0", "unifont": "~0.7.3", "unist-util-visit": "^5.0.0", "unstorage": "^1.17.4", "vfile": "^6.0.3", "vite": "^6.4.1", "vitefu": "^1.1.1", "xxhash-wasm": "^1.1.0", "yargs-parser": "^21.1.1", "yocto-spinner": "^0.2.3", "zod": "^3.25.76", "zod-to-json-schema": "^3.25.1", "zod-to-ts": "^1.2.0" }, "optionalDependencies": { "sharp": "^0.34.0" }, "bin": { "astro": "astro.js" } }, "sha512-m4VWilWZ+Xt6NPoYzC4CgGZim/zQUO7WFL0RHCH0AiEavF1153iC3+me2atDvXpf/yX4PyGUeD8wZLq1cirT3g=="], + "astro": ["astro@6.3.1", "", { "dependencies": { "@astrojs/compiler": "^4.0.0", "@astrojs/internal-helpers": "0.9.0", "@astrojs/markdown-remark": "7.1.1", "@astrojs/telemetry": "3.3.2", "@capsizecss/unpack": "^4.0.0", "@clack/prompts": "^1.1.0", "@oslojs/encoding": "^1.1.0", "@rollup/pluginutils": "^5.3.0", "aria-query": "^5.3.2", "axobject-query": "^4.1.0", "ci-info": "^4.4.0", "clsx": "^2.1.1", "common-ancestor-path": "^2.0.0", "cookie": "^1.1.1", "devalue": "^5.6.3", "diff": "^8.0.3", "dset": "^3.1.4", "es-module-lexer": "^2.0.0", "esbuild": "^0.27.3", "flattie": "^1.1.1", "fontace": "~0.4.1", "get-tsconfig": "5.0.0-beta.4", "github-slugger": "^2.0.0", "html-escaper": "3.0.3", "http-cache-semantics": "^4.2.0", "js-yaml": "^4.1.1", "jsonc-parser": "^3.3.1", "magic-string": "^0.30.21", "magicast": "^0.5.2", "mrmime": "^2.0.1", "neotraverse": "^0.6.18", "obug": "^2.1.1", "p-limit": "^7.3.0", "p-queue": "^9.1.0", "package-manager-detector": "^1.6.0", "piccolore": "^0.1.3", "picomatch": "^4.0.4", "rehype": "^13.0.2", "semver": "^7.7.4", "shiki": "^4.0.2", "smol-toml": "^1.6.0", "svgo": "^4.0.1", "tinyclip": "^0.1.12", "tinyexec": "^1.0.4", "tinyglobby": "^0.2.15", "ultrahtml": "^1.6.0", "unifont": "~0.7.4", "unist-util-visit": "^5.1.0", "unstorage": "^1.17.5", "vfile": "^6.0.3", "vite": "^7.3.2", "vitefu": "^1.1.2", "xxhash-wasm": "^1.1.0", "yargs-parser": "^22.0.0", "zod": "^4.3.6" }, "optionalDependencies": { "sharp": "^0.34.0" }, "bin": { "astro": "bin/astro.mjs" } }, "sha512-atz6dmkE3Gu24bDgb7g2RE/BYnKqPYIHd6hTUM1UXvu/i7qNZOKLAqEHvgYpv9PQVcgWsXpk4/OOXZ0E/FzvSQ=="], "axe-core": ["axe-core@4.11.4", "", {}, "sha512-KunSNx+TVpkAw/6ULfhnx+HWRecjqZGTOyquAoWHYLRSdK1tB5Ihce1ZW+UY3fj33bYAFWPu7W/GRSmmrCGuxA=="], @@ -402,16 +406,12 @@ "bare-url": ["bare-url@2.4.3", "", { "dependencies": { "bare-path": "^3.0.0" } }, "sha512-Kccpc7ACfXaxfeInfqKcZtW4pT5YBn1mesc4sCsun6sRwtbJ4h+sNOaksUpYEJUKfN65YWC6Bw2OJEFiKxq8nQ=="], - "base-64": ["base-64@1.0.0", "", {}, "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg=="], - "basic-ftp": ["basic-ftp@5.3.1", "", {}, "sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw=="], "body-parser": ["body-parser@1.20.5", "", { "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.1", "iconv-lite": "~0.4.24", "on-finished": "~2.4.1", "qs": "~6.15.1", "raw-body": "~2.5.3", "type-is": "~1.6.18", "unpipe": "~1.0.0" } }, "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA=="], "boolbase": ["boolbase@1.0.0", "", {}, "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="], - "boxen": ["boxen@8.0.1", "", { "dependencies": { "ansi-align": "^3.0.1", "camelcase": "^8.0.0", "chalk": "^5.3.0", "cli-boxes": "^3.0.0", "string-width": "^7.2.0", "type-fest": "^4.21.0", "widest-line": "^5.0.0", "wrap-ansi": "^9.0.0" } }, "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw=="], - "brace-expansion": ["brace-expansion@1.1.14", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g=="], "buffer-crc32": ["buffer-crc32@0.2.13", "", {}, "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="], @@ -444,8 +444,6 @@ "ci-info": ["ci-info@4.4.0", "", {}, "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg=="], - "cli-boxes": ["cli-boxes@3.0.0", "", {}, "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g=="], - "cli-cursor": ["cli-cursor@2.1.0", "", { "dependencies": { "restore-cursor": "^2.0.0" } }, "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw=="], "cli-width": ["cli-width@2.2.1", "", {}, "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw=="], @@ -462,7 +460,7 @@ "commander": ["commander@11.1.0", "", {}, "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ=="], - "common-ancestor-path": ["common-ancestor-path@1.0.1", "", {}, "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w=="], + "common-ancestor-path": ["common-ancestor-path@2.0.0", "", {}, "sha512-dnN3ibLeoRf2HNC+OlCiNc5d2zxbLJXOtiZUudNFSXZrNSydxcCsSpRzXwfu7BBWCIfHPw+xTayeBvJCP/D8Ng=="], "compressible": ["compressible@2.0.18", "", { "dependencies": { "mime-db": ">= 1.43.0 < 2" } }, "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg=="], @@ -494,8 +492,6 @@ "css-what": ["css-what@6.2.2", "", {}, "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA=="], - "cssesc": ["cssesc@3.0.0", "", { "bin": { "cssesc": "bin/cssesc" } }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="], - "csso": ["csso@5.0.5", "", { "dependencies": { "css-tree": "~2.2.0" } }, "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ=="], "data-uri-to-buffer": ["data-uri-to-buffer@6.0.2", "", {}, "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw=="], @@ -528,8 +524,6 @@ "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], - "deterministic-object-hash": ["deterministic-object-hash@2.0.2", "", { "dependencies": { "base-64": "^1.0.0" } }, "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ=="], - "devalue": ["devalue@5.8.0", "", {}, "sha512-2zA9pFEsnp7vWBZbXF5JAgAq0fsUIt/1XPbRiAmRV3lp/2C3upzH+sADiyy66aFCihoLEsrQHxNM5w1gIDfsBg=="], "devlop": ["devlop@1.1.0", "", { "dependencies": { "dequal": "^2.0.0" } }, "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA=="], @@ -538,8 +532,6 @@ "diff": ["diff@8.0.4", "", {}, "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw=="], - "dlv": ["dlv@1.1.3", "", {}, "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="], - "dom-serializer": ["dom-serializer@2.0.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" } }, "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg=="], "domelementtype": ["domelementtype@2.3.0", "", {}, "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="], @@ -572,7 +564,7 @@ "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], - "es-module-lexer": ["es-module-lexer@1.7.0", "", {}, "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA=="], + "es-module-lexer": ["es-module-lexer@2.1.0", "", {}, "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ=="], "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="], @@ -594,7 +586,7 @@ "estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], - "estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], + "estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], "esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="], @@ -616,8 +608,14 @@ "fast-fifo": ["fast-fifo@1.3.2", "", {}, "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ=="], + "fast-string-truncated-width": ["fast-string-truncated-width@3.0.3", "", {}, "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g=="], + + "fast-string-width": ["fast-string-width@3.0.2", "", { "dependencies": { "fast-string-truncated-width": "^3.0.2" } }, "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg=="], + "fast-uri": ["fast-uri@3.1.2", "", {}, "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ=="], + "fast-wrap-ansi": ["fast-wrap-ansi@0.2.0", "", { "dependencies": { "fast-string-width": "^3.0.2" } }, "sha512-rLV8JHxTyhVmFYhBJuMujcrHqOT2cnO5Zxj37qROj23CP39GXubJRBUFF0z8KFK77Uc0SukZUf7JZhsVEQ6n8w=="], + "fast-xml-builder": ["fast-xml-builder@1.2.0", "", { "dependencies": { "path-expression-matcher": "^1.5.0", "xml-naming": "^0.1.0" } }, "sha512-00aAWieqff+ZJhsXA4g1g7M8k+7AYoMUUHF+/zFb5U6Uv/P0Vl4QZo84/IcufzYalLuEj9928bXN9PbbFzMF0Q=="], "fast-xml-parser": ["fast-xml-parser@5.7.3", "", { "dependencies": { "@nodable/entities": "^2.1.0", "fast-xml-builder": "^1.1.7", "path-expression-matcher": "^1.5.0", "strnum": "^2.2.3" }, "bin": { "fxparser": "src/cli/cli.js" } }, "sha512-C0AaNuC+mscy6vrAQKAc/rMq+zAPHodfHGZu4sGVehvAQt/JLG1O5zEcYcXSY5zSqr4YVgxsB+pHXTq0i7eDlg=="], @@ -652,14 +650,14 @@ "get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="], - "get-east-asian-width": ["get-east-asian-width@1.6.0", "", {}, "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA=="], - "get-intrinsic": ["get-intrinsic@1.3.0", "", { "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" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="], "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], "get-stream": ["get-stream@5.2.0", "", { "dependencies": { "pump": "^3.0.0" } }, "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA=="], + "get-tsconfig": ["get-tsconfig@5.0.0-beta.4", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-7nF7C9fIPFEMHgEMEfgIlO9wDdZ8CyHw27rWciFZfHvHDReIiPhsYuzPRXsfvBCqFy1l8RRyyWV7QLM+ZhUJsQ=="], + "get-uri": ["get-uri@6.0.5", "", { "dependencies": { "basic-ftp": "^5.0.2", "data-uri-to-buffer": "^6.0.2", "debug": "^4.3.4" } }, "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg=="], "github-slugger": ["github-slugger@2.0.0", "", {}, "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw=="], @@ -718,8 +716,6 @@ "immediate": ["immediate@3.0.6", "", {}, "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ=="], - "import-meta-resolve": ["import-meta-resolve@4.2.0", "", {}, "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg=="], - "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="], "inflight": ["inflight@1.0.6", "", { "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA=="], @@ -762,7 +758,7 @@ "json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], - "jsonc-parser": ["jsonc-parser@2.3.1", "", {}, "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg=="], + "jsonc-parser": ["jsonc-parser@3.3.1", "", {}, "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ=="], "kleur": ["kleur@4.1.5", "", {}, "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="], @@ -948,6 +944,8 @@ "object-inspect": ["object-inspect@1.13.4", "", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="], + "obug": ["obug@2.1.1", "", {}, "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ=="], + "ofetch": ["ofetch@1.5.1", "", { "dependencies": { "destr": "^2.0.5", "node-fetch-native": "^1.6.7", "ufo": "^1.6.1" } }, "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA=="], "ohash": ["ohash@2.0.11", "", {}, "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ=="], @@ -968,13 +966,13 @@ "os-tmpdir": ["os-tmpdir@1.0.2", "", {}, "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g=="], - "p-limit": ["p-limit@6.2.0", "", { "dependencies": { "yocto-queue": "^1.1.1" } }, "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA=="], + "p-limit": ["p-limit@7.3.0", "", { "dependencies": { "yocto-queue": "^1.2.1" } }, "sha512-7cIXg/Z0M5WZRblrsOla88S4wAK+zOQQWeBYfV3qJuJXMr+LnbYjaadrFaS0JILfEDPVqHyKnZ1Z/1d6J9VVUw=="], "p-locate": ["p-locate@4.1.0", "", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="], - "p-queue": ["p-queue@8.1.1", "", { "dependencies": { "eventemitter3": "^5.0.1", "p-timeout": "^6.1.2" } }, "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ=="], + "p-queue": ["p-queue@9.2.0", "", { "dependencies": { "eventemitter3": "^5.0.4", "p-timeout": "^7.0.0" } }, "sha512-dWgLE8AH0HjQ9fe74pUkKkvzzYT18Inp4zra3lKHnnwqGvcfcUBrvF2EAVX+envufDNBOzpPq/IBUONDbI7+3g=="], - "p-timeout": ["p-timeout@6.1.4", "", {}, "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg=="], + "p-timeout": ["p-timeout@7.0.1", "", {}, "sha512-AxTM2wDGORHGEkPCt8yqxOTMgpfbEHqF51f/5fJCmwFC3C/zNcGT63SymH2ttOAaiIws2zVg4+izQCjrakcwHg=="], "p-try": ["p-try@2.2.0", "", {}, "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="], @@ -1022,8 +1020,6 @@ "progress": ["progress@2.0.3", "", {}, "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="], - "prompts": ["prompts@2.4.2", "", { "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" } }, "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q=="], - "property-information": ["property-information@7.1.0", "", {}, "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ=="], "proxy-addr": ["proxy-addr@2.0.7", "", { "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg=="], @@ -1078,6 +1074,8 @@ "require-main-filename": ["require-main-filename@2.0.0", "", {}, "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="], + "resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="], + "restore-cursor": ["restore-cursor@2.0.0", "", { "dependencies": { "onetime": "^2.0.0", "signal-exit": "^3.0.2" } }, "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q=="], "retext": ["retext@9.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "retext-latin": "^4.0.0", "retext-stringify": "^4.0.0", "unified": "^11.0.0" } }, "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA=="], @@ -1122,7 +1120,7 @@ "sharp": ["sharp@0.34.5", "", { "dependencies": { "@img/colour": "^1.0.0", "detect-libc": "^2.1.2", "semver": "^7.7.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.34.5", "@img/sharp-darwin-x64": "0.34.5", "@img/sharp-libvips-darwin-arm64": "1.2.4", "@img/sharp-libvips-darwin-x64": "1.2.4", "@img/sharp-libvips-linux-arm": "1.2.4", "@img/sharp-libvips-linux-arm64": "1.2.4", "@img/sharp-libvips-linux-ppc64": "1.2.4", "@img/sharp-libvips-linux-riscv64": "1.2.4", "@img/sharp-libvips-linux-s390x": "1.2.4", "@img/sharp-libvips-linux-x64": "1.2.4", "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", "@img/sharp-libvips-linuxmusl-x64": "1.2.4", "@img/sharp-linux-arm": "0.34.5", "@img/sharp-linux-arm64": "0.34.5", "@img/sharp-linux-ppc64": "0.34.5", "@img/sharp-linux-riscv64": "0.34.5", "@img/sharp-linux-s390x": "0.34.5", "@img/sharp-linux-x64": "0.34.5", "@img/sharp-linuxmusl-arm64": "0.34.5", "@img/sharp-linuxmusl-x64": "0.34.5", "@img/sharp-wasm32": "0.34.5", "@img/sharp-win32-arm64": "0.34.5", "@img/sharp-win32-ia32": "0.34.5", "@img/sharp-win32-x64": "0.34.5" } }, "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg=="], - "shiki": ["shiki@3.23.0", "", { "dependencies": { "@shikijs/core": "3.23.0", "@shikijs/engine-javascript": "3.23.0", "@shikijs/engine-oniguruma": "3.23.0", "@shikijs/langs": "3.23.0", "@shikijs/themes": "3.23.0", "@shikijs/types": "3.23.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA=="], + "shiki": ["shiki@4.0.2", "", { "dependencies": { "@shikijs/core": "4.0.2", "@shikijs/engine-javascript": "4.0.2", "@shikijs/engine-oniguruma": "4.0.2", "@shikijs/langs": "4.0.2", "@shikijs/themes": "4.0.2", "@shikijs/types": "4.0.2", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-eAVKTMedR5ckPo4xne/PjYQYrU3qx78gtJZ+sHlXEg5IHhhoQhMfZVzetTYuaJS0L2Ef3AcCRzCHV8T0WI6nIQ=="], "side-channel": ["side-channel@1.1.0", "", { "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" } }, "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw=="], @@ -1194,6 +1192,8 @@ "tiny-inflate": ["tiny-inflate@1.0.3", "", {}, "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="], + "tinyclip": ["tinyclip@0.1.12", "", {}, "sha512-Ae3OVUqifDw0wBriIBS7yVaW44Dp6eSHQcyq4Igc7eN2TJH/2YsicswaW+J/OuMvhpDPOKEgpAZCjkb4hpoyeA=="], + "tinyexec": ["tinyexec@1.1.2", "", {}, "sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA=="], "tinyglobby": ["tinyglobby@0.2.16", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.4" } }, "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg=="], @@ -1214,12 +1214,8 @@ "trough": ["trough@2.2.0", "", {}, "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw=="], - "tsconfck": ["tsconfck@3.1.6", "", { "peerDependencies": { "typescript": "^5.0.0" }, "optionalPeers": ["typescript"], "bin": { "tsconfck": "bin/tsconfck.js" } }, "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w=="], - "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "type-fest": ["type-fest@4.41.0", "", {}, "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA=="], - "type-is": ["type-is@1.6.18", "", { "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" } }, "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g=="], "typed-query-selector": ["typed-query-selector@2.12.2", "", {}, "sha512-EOPFbyIub4ngnEdqi2yOcNeDLaX/0jcE1JoAXQDDMIthap7FoN795lc/SHfIq2d416VufXpM8z/lD+WRm2gfOQ=="], @@ -1280,7 +1276,7 @@ "vfile-message": ["vfile-message@4.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw=="], - "vite": ["vite@6.4.2", "", { "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" }, "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" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-2N/55r4JDJ4gdrCvGgINMy+HH3iRpNIz8K6SFwVsA+JbQScLiC+clmAxBgwiSPgcG9U15QmvqCGWzMbqda5zGQ=="], + "vite": ["vite@7.3.3", "", { "dependencies": { "esbuild": "^0.27.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-/4XH147Ui7OGTjg3HbdWe5arnZQSbfuRzdr9Ec7TQi5I7R+ir0Rlc9GIvD4v0XZurELqA035KVXJXpR61xhiTA=="], "vitefu": ["vitefu@1.1.3", "", { "peerDependencies": { "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" }, "optionalPeers": ["vite"] }, "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg=="], @@ -1332,9 +1328,7 @@ "which-pm-runs": ["which-pm-runs@1.1.0", "", {}, "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA=="], - "widest-line": ["widest-line@5.0.0", "", { "dependencies": { "string-width": "^7.0.0" } }, "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA=="], - - "wrap-ansi": ["wrap-ansi@9.0.2", "", { "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", "strip-ansi": "^7.1.0" } }, "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww=="], + "wrap-ansi": ["wrap-ansi@6.2.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA=="], "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], @@ -1362,23 +1356,15 @@ "yocto-queue": ["yocto-queue@1.2.2", "", {}, "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ=="], - "yocto-spinner": ["yocto-spinner@0.2.3", "", { "dependencies": { "yoctocolors": "^2.1.1" } }, "sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ=="], - - "yoctocolors": ["yoctocolors@2.1.2", "", {}, "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug=="], - "zimmerframe": ["zimmerframe@1.1.4", "", {}, "sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ=="], "zod": ["zod@4.4.3", "", {}, "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ=="], - "zod-to-json-schema": ["zod-to-json-schema@3.25.2", "", { "peerDependencies": { "zod": "^3.25.28 || ^4" } }, "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA=="], - - "zod-to-ts": ["zod-to-ts@1.2.0", "", { "peerDependencies": { "typescript": "^4.9.4 || ^5.0.2", "zod": "^3" } }, "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA=="], - "zwitch": ["zwitch@2.0.4", "", {}, "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A=="], "@astrojs/check/yargs": ["yargs@17.7.2", "", { "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" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], - "@astrojs/telemetry/is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], + "@astrojs/telemetry/is-docker": ["is-docker@4.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-LHE+wROyG/Y/0ZnbktRCoTix2c1RhgWaZraMZ8o1Q7zCh0VSrICJQO5oqIIISrcSBtrXv0o233w1IYwsWCjTzA=="], "@astrojs/telemetry/is-wsl": ["is-wsl@3.1.1", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw=="], @@ -1388,36 +1374,26 @@ "@puppeteer/browsers/yargs": ["yargs@17.7.2", "", { "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" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], - "@rollup/pluginutils/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + "@vscode/emmet-helper/jsonc-parser": ["jsonc-parser@2.3.1", "", {}, "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg=="], "accepts/negotiator": ["negotiator@0.6.3", "", {}, "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="], - "ansi-align/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - "anymatch/picomatch": ["picomatch@2.3.2", "", {}, "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA=="], - "astro/yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], + "astro/@astrojs/compiler": ["@astrojs/compiler@4.0.0", "", {}, "sha512-eouss7G8ygdZqHuke033VMcVw5HTZUu+PXd/h06DGDUg/jt5btPYPqh66ENWw/mU78rBrf/oeC4oqoBwMtDMNA=="], - "astro/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], + "astro/yargs-parser": ["yargs-parser@22.0.0", "", {}, "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw=="], "body-parser/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], "body-parser/qs": ["qs@6.15.1", "", { "dependencies": { "side-channel": "^1.1.0" } }, "sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg=="], - "boxen/camelcase": ["camelcase@8.0.0", "", {}, "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA=="], - - "boxen/chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], - - "boxen/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], - "chromium-bidi/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], "cliui/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], "cliui/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "cliui/wrap-ansi": ["wrap-ansi@6.2.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA=="], - "compression/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], "csso/css-tree": ["css-tree@2.2.1", "", { "dependencies": { "mdn-data": "2.0.28", "source-map-js": "^1.0.1" } }, "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA=="], @@ -1458,8 +1434,6 @@ "p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], - "prompts/kleur": ["kleur@3.0.3", "", {}, "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w=="], - "puppeteer-core/devtools-protocol": ["devtools-protocol@0.0.1608973", "", {}, "sha512-Tpm17fxYzt+J7VrGdc1k8YdRqS3YV7se/M6KeemEqvUbq/n7At1rWVuXMxQgpWkdwSdIEKYbU//Bve+Shm4YNQ=="], "puppeteer-core/ws": ["ws@8.20.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA=="], @@ -1480,17 +1454,11 @@ "unstorage/lru-cache": ["lru-cache@11.3.6", "", {}, "sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A=="], - "vite/esbuild": ["esbuild@0.25.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="], + "wrap-ansi/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - "vscode-json-languageservice/jsonc-parser": ["jsonc-parser@3.3.1", "", {}, "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ=="], + "wrap-ansi/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - "widest-line/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], - - "wrap-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], - - "wrap-ansi/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], - - "wrap-ansi/strip-ansi": ["strip-ansi@7.2.0", "", { "dependencies": { "ansi-regex": "^6.2.2" } }, "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w=="], + "wrap-ansi/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], "yaml-language-server/request-light": ["request-light@0.5.8", "", {}, "sha512-3Zjgh+8b5fhRJBQZoy+zbVKpAQGLyka0MPgW3zruTF4dFFJ8Fqcfu9YsAvi/rvdcaTeWG3MkbZv4WKxAn/84Lg=="], @@ -1500,8 +1468,6 @@ "yargs/yargs-parser": ["yargs-parser@18.1.3", "", { "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" } }, "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ=="], - "zod-to-ts/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], - "@astrojs/check/yargs/cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="], "@astrojs/check/yargs/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], @@ -1520,22 +1486,12 @@ "@puppeteer/browsers/yargs/yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], - "ansi-align/string-width/is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], - - "ansi-align/string-width/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "body-parser/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - "boxen/string-width/emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="], - - "boxen/string-width/strip-ansi": ["strip-ansi@7.2.0", "", { "dependencies": { "ansi-regex": "^6.2.2" } }, "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w=="], - "cliui/string-width/is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], "cliui/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - "cliui/wrap-ansi/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - "compression/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], "csso/css-tree/mdn-data": ["mdn-data@2.0.28", "", {}, "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g=="], @@ -1562,65 +1518,11 @@ "unstorage/chokidar/readdirp": ["readdirp@5.0.0", "", {}, "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ=="], - "vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="], - - "vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.12", "", { "os": "android", "cpu": "arm" }, "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg=="], - - "vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.12", "", { "os": "android", "cpu": "arm64" }, "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg=="], - - "vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.12", "", { "os": "android", "cpu": "x64" }, "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg=="], - - "vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg=="], - - "vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA=="], - - "vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.12", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg=="], - - "vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ=="], - - "vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.12", "", { "os": "linux", "cpu": "arm" }, "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw=="], - - "vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ=="], - - "vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.12", "", { "os": "linux", "cpu": "ia32" }, "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA=="], - - "vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng=="], - - "vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw=="], - - "vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA=="], + "wrap-ansi/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - "vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w=="], + "wrap-ansi/string-width/is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], - "vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg=="], - - "vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.12", "", { "os": "linux", "cpu": "x64" }, "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw=="], - - "vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg=="], - - "vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.12", "", { "os": "none", "cpu": "x64" }, "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ=="], - - "vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.12", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A=="], - - "vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.12", "", { "os": "openbsd", "cpu": "x64" }, "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw=="], - - "vite/esbuild/@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg=="], - - "vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.12", "", { "os": "sunos", "cpu": "x64" }, "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w=="], - - "vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg=="], - - "vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.12", "", { "os": "win32", "cpu": "ia32" }, "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ=="], - - "vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.12", "", { "os": "win32", "cpu": "x64" }, "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA=="], - - "widest-line/string-width/emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="], - - "widest-line/string-width/strip-ansi": ["strip-ansi@7.2.0", "", { "dependencies": { "ansi-regex": "^6.2.2" } }, "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w=="], - - "wrap-ansi/string-width/emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="], - - "wrap-ansi/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], + "wrap-ansi/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], "yargs/string-width/is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], @@ -1642,12 +1544,6 @@ "@puppeteer/browsers/yargs/string-width/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "ansi-align/string-width/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - - "boxen/string-width/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], - - "cliui/wrap-ansi/ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - "lighthouse/yargs/cliui/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], "lighthouse/yargs/cliui/wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], @@ -1656,7 +1552,7 @@ "lighthouse/yargs/string-width/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "widest-line/string-width/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], + "wrap-ansi/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], "yargs/string-width/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], @@ -1672,8 +1568,6 @@ "@puppeteer/browsers/yargs/string-width/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - "cliui/wrap-ansi/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], - "lighthouse/yargs/cliui/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], "lighthouse/yargs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], diff --git a/package.json b/package.json index 9c33103..d0cd92b 100644 --- a/package.json +++ b/package.json @@ -16,14 +16,14 @@ "packageManager": "bun@1.2.21", "trustedDependencies": ["esbuild", "sharp"], "dependencies": { - "@astrojs/check": "^0.9.4", - "@astrojs/rss": "^4.0.11", - "@astrojs/sitemap": "^3.4.1", - "@astrojs/svelte": "^7.2.1", + "@astrojs/check": "^0.9.9", + "@astrojs/rss": "^4.0.18", + "@astrojs/sitemap": "^3.7.2", + "@astrojs/svelte": "^8.1.0", "@fontsource/asap": "^5.2.7", "@fontsource/ibm-plex-sans-arabic": "^5.2.6", "@fontsource/jetbrains-mono": "^5.2.7", - "astro": "^5.14.5", + "astro": "^6.3.1", "motion": "^12.23.20", "svelte": "^5.43.6", "typescript": "^5.7.3" From 4296b7de41220f8f8936849ec7550a406e2fce61 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:25:49 +0300 Subject: [PATCH 010/121] fix(astro): drop css minify and i18n fallback config --- astro.config.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/astro.config.ts b/astro.config.ts index a05fbc2..6318534 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -11,7 +11,6 @@ export default defineConfig({ defaultLocale: 'en', locales: ['en', 'ar', 'ms', 'ur'], routing: { prefixDefaultLocale: false }, - fallback: { ar: 'en', ms: 'en', ur: 'en' }, }, build: { inlineStylesheets: 'auto', @@ -23,8 +22,5 @@ export default defineConfig({ '@': fileURLToPath(new URL('./src', import.meta.url)), }, }, - build: { - cssMinify: 'lightningcss', - }, }, }); From f1788b908e69186356a8e604905248e4f9d9d50c Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:25:49 +0300 Subject: [PATCH 011/121] feat(brand): use real logo png with theme-aware swap --- src/components/Brand.astro | 72 ++++++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 31 deletions(-) diff --git a/src/components/Brand.astro b/src/components/Brand.astro index 61f19b2..d77e8b3 100644 --- a/src/components/Brand.astro +++ b/src/components/Brand.astro @@ -1,35 +1,45 @@ --- -interface Props { +type Props = { size?: number; - monogram?: boolean; -} -const { size = 36 } = Astro.props; -const stroke = Math.max(1.4, size / 22); + alt?: string; +}; + +const { size = 36, alt = 'Nedaa' } = Astro.props; --- - + + + + + + From 9e1029dbb194d0b0acfa685ef8d1d98f57ff480f Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:25:49 +0300 Subject: [PATCH 012/121] feat(i18n): add site.brand and site.title keys --- src/i18n/ar.ts | 3 +++ src/i18n/en.ts | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/i18n/ar.ts b/src/i18n/ar.ts index 4852112..2024e5f 100644 --- a/src/i18n/ar.ts +++ b/src/i18n/ar.ts @@ -1,4 +1,7 @@ export default { + // site + 'site.brand': 'نداء', + 'site.title': 'نداء — مواقيت صلاة بتصميم يليق', // nav 'nav.home': 'الرئيسية', 'nav.features': 'المزايا', diff --git a/src/i18n/en.ts b/src/i18n/en.ts index 899a259..240f50d 100644 --- a/src/i18n/en.ts +++ b/src/i18n/en.ts @@ -1,4 +1,7 @@ export default { + // site + 'site.brand': 'Nedaa', + 'site.title': 'Nedaa | نداء — Prayer times, dignified by design', // nav 'nav.home': 'Home', 'nav.features': 'Features', From bd12eb465d5a533306cf8766054525b562076301 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:25:49 +0300 Subject: [PATCH 013/121] feat: layout shell with theme restore and motion auto-rise --- src/layouts/Layout.astro | 47 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/layouts/Layout.astro diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro new file mode 100644 index 0000000..8c9022f --- /dev/null +++ b/src/layouts/Layout.astro @@ -0,0 +1,47 @@ +--- +import '@/styles/global.css'; +import { type Locale, dirFor } from '@/i18n/utils'; + +type Props = { + title: string; + description?: string; + locale?: Locale; +}; + +const { + title, + description = 'A quiet, private, free, open-source prayer-times companion.', + locale = 'en', +} = Astro.props; +const dir = dirFor(locale); +--- + + + + + + + + {title} + + + + + + + + + + + From f7879f05b6bb592c48ea5d104d3b1d20ac15d1d0 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:25:49 +0300 Subject: [PATCH 014/121] feat: theme toggle svelte island --- src/components/svelte/ThemeToggle.svelte | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/components/svelte/ThemeToggle.svelte diff --git a/src/components/svelte/ThemeToggle.svelte b/src/components/svelte/ThemeToggle.svelte new file mode 100644 index 0000000..ee43e78 --- /dev/null +++ b/src/components/svelte/ThemeToggle.svelte @@ -0,0 +1,20 @@ + + + From cf8a9364ba62417c85666b4ae71e3832ddfc12a8 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:25:50 +0300 Subject: [PATCH 015/121] feat: minimal home pages for en and ar --- src/pages/ar/index.astro | 5 +++++ src/pages/index.astro | 22 ++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 src/pages/ar/index.astro create mode 100644 src/pages/index.astro diff --git a/src/pages/ar/index.astro b/src/pages/ar/index.astro new file mode 100644 index 0000000..dce8f88 --- /dev/null +++ b/src/pages/ar/index.astro @@ -0,0 +1,5 @@ +--- +import Home from '@/pages/index.astro'; +--- + + diff --git a/src/pages/index.astro b/src/pages/index.astro new file mode 100644 index 0000000..1950454 --- /dev/null +++ b/src/pages/index.astro @@ -0,0 +1,22 @@ +--- +import Layout from '@/layouts/Layout.astro'; +import ThemeToggle from '@/components/svelte/ThemeToggle.svelte'; +import Brand from '@/components/Brand.astro'; +import { getLangFromUrl, useTranslations } from '@/i18n/utils'; + +const lang = getLangFromUrl(Astro.url); +const t = useTranslations(lang); +--- + + +
+
+ +

{t('site.brand')}

+
+

{t('hero.lead')}

+
+ +
+
+
From 8b394a176f542e8c836069d2c16bc83b82b57a5c Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:40:29 +0300 Subject: [PATCH 016/121] fix(brand): move theme-swap rules to global css so :global parent doesn't get stripped --- src/components/Brand.astro | 28 ++-------------------------- src/styles/global.css | 36 ++++++++++++++++++++++++++---------- 2 files changed, 28 insertions(+), 36 deletions(-) diff --git a/src/components/Brand.astro b/src/components/Brand.astro index d77e8b3..aa7e116 100644 --- a/src/components/Brand.astro +++ b/src/components/Brand.astro @@ -8,9 +8,9 @@ const { size = 36, alt = 'Nedaa' } = Astro.props; --- - + - - diff --git a/src/styles/global.css b/src/styles/global.css index df4f1d4..789855a 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -1,16 +1,10 @@ /* Nedaa marketing site — design tokens + base styles Tokens mirror the in-app Tamagui palette exactly. */ -@import '@fontsource/asap/400.css'; -@import '@fontsource/asap/500.css'; -@import '@fontsource/asap/600.css'; -@import '@fontsource/asap/700.css'; -@import '@fontsource/ibm-plex-sans-arabic/400.css'; -@import '@fontsource/ibm-plex-sans-arabic/500.css'; -@import '@fontsource/ibm-plex-sans-arabic/600.css'; -@import '@fontsource/ibm-plex-sans-arabic/700.css'; -@import '@fontsource/jetbrains-mono/400.css'; -@import '@fontsource/jetbrains-mono/500.css'; +@import '@fontsource-variable/asap'; +@import '@fontsource-variable/jetbrains-mono'; +@import '@fontsource/ibm-plex-sans-arabic/arabic-500.css'; +@import '@fontsource/ibm-plex-sans-arabic/arabic-600.css'; :root { --primary: #1c5d85; @@ -629,6 +623,28 @@ footer.site .colophon { color: var(--primary); } +/* Brand mark — theme-aware logo swap */ +.brand { + display: inline-block; + position: relative; + width: var(--s); + height: var(--s); + line-height: 0; +} +.brand-img { + display: block; + width: 100%; + height: 100%; + position: absolute; + inset: 0; +} +[data-theme='dark'] .brand-img-light { + display: none; +} +:not([data-theme='dark']) .brand-img-dark { + display: none; +} + /* Animation entry state — Motion sets opacity/transform on view */ .fx-rise { opacity: 0; From b1b7595e3ebec8f798a2618a1e424991d17f7a83 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:40:29 +0300 Subject: [PATCH 017/121] perf(fonts): switch latin fonts to variable, drop unused arabic weights --- bun.lock | 10 +++++----- package.json | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/bun.lock b/bun.lock index 813bede..d54b660 100644 --- a/bun.lock +++ b/bun.lock @@ -9,9 +9,9 @@ "@astrojs/rss": "^4.0.18", "@astrojs/sitemap": "^3.7.2", "@astrojs/svelte": "^8.1.0", - "@fontsource/asap": "^5.2.7", + "@fontsource-variable/asap": "^5.2.9", + "@fontsource-variable/jetbrains-mono": "^5.2.8", "@fontsource/ibm-plex-sans-arabic": "^5.2.6", - "@fontsource/jetbrains-mono": "^5.2.7", "astro": "^6.3.1", "motion": "^12.23.20", "svelte": "^5.43.6", @@ -134,11 +134,11 @@ "@esbuild/win32-x64": ["@esbuild/win32-x64@0.27.7", "", { "os": "win32", "cpu": "x64" }, "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg=="], - "@fontsource/asap": ["@fontsource/asap@5.2.9", "", {}, "sha512-Fu10GZhJNWeTwHqnSyRH3/J1I0Nw26wX/OQrNehSy7sy5cQhvf0rslWBoEXlHoYXXWtWs3o0UO4d7rJN8rQfzg=="], + "@fontsource-variable/asap": ["@fontsource-variable/asap@5.2.9", "", {}, "sha512-ctcOAZDEFVEug1fDbPPnx/35z9TyE7wbVhA7Z7xiamzyu+e+AKs7dsYNmpRklBLaG2Qou+6qga3Mq7fvwjKZ8w=="], - "@fontsource/ibm-plex-sans-arabic": ["@fontsource/ibm-plex-sans-arabic@5.2.9", "", {}, "sha512-mAs+anYcmatmhTuYApDy/CEEu5iYcfalXp2DB1gBN/6o2ex24lcBs635bwtgV5BNbByCYslIGsQvD4X6s7eVgw=="], + "@fontsource-variable/jetbrains-mono": ["@fontsource-variable/jetbrains-mono@5.2.8", "", {}, "sha512-WBA9elru6Jdp5df2mES55wuOO0WIrn3kpXnI4+W2ek5u3ZgLS9XS4gmIlcQhiZOWEKl95meYdvK7xI+ETLCq/Q=="], - "@fontsource/jetbrains-mono": ["@fontsource/jetbrains-mono@5.2.8", "", {}, "sha512-6w8/SG4kqvIMu7xd7wt6x3idn1Qux3p9N62s6G3rfldOUYHpWcc2FKrqf+Vo44jRvqWj2oAtTHrZXEP23oSKwQ=="], + "@fontsource/ibm-plex-sans-arabic": ["@fontsource/ibm-plex-sans-arabic@5.2.9", "", {}, "sha512-mAs+anYcmatmhTuYApDy/CEEu5iYcfalXp2DB1gBN/6o2ex24lcBs635bwtgV5BNbByCYslIGsQvD4X6s7eVgw=="], "@formatjs/ecma402-abstract": ["@formatjs/ecma402-abstract@2.3.6", "", { "dependencies": { "@formatjs/fast-memoize": "2.2.7", "@formatjs/intl-localematcher": "0.6.2", "decimal.js": "^10.4.3", "tslib": "^2.8.0" } }, "sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw=="], diff --git a/package.json b/package.json index d0cd92b..6739f9a 100644 --- a/package.json +++ b/package.json @@ -20,9 +20,9 @@ "@astrojs/rss": "^4.0.18", "@astrojs/sitemap": "^3.7.2", "@astrojs/svelte": "^8.1.0", - "@fontsource/asap": "^5.2.7", + "@fontsource-variable/asap": "^5.2.9", + "@fontsource-variable/jetbrains-mono": "^5.2.8", "@fontsource/ibm-plex-sans-arabic": "^5.2.6", - "@fontsource/jetbrains-mono": "^5.2.7", "astro": "^6.3.1", "motion": "^12.23.20", "svelte": "^5.43.6", From ec17d7ef3d9bfadb5061b1c471a5cf0556c8a0c6 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:40:30 +0300 Subject: [PATCH 018/121] =?UTF-8?q?ci:=20lighthouse=20budgets=20=E2=80=94?= =?UTF-8?q?=20perf=2095,=20a11y/bp/seo=20100,=20JS<50KB=20CSS<20KB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lighthouserc.cjs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 lighthouserc.cjs diff --git a/lighthouserc.cjs b/lighthouserc.cjs new file mode 100644 index 0000000..ca4b938 --- /dev/null +++ b/lighthouserc.cjs @@ -0,0 +1,29 @@ +/** @type {import('@lhci/cli').LHCI} */ +module.exports = { + ci: { + collect: { + staticDistDir: './dist', + url: ['http://localhost/index.html', 'http://localhost/ar/index.html'], + numberOfRuns: 1, + settings: { + preset: 'desktop', + }, + }, + assert: { + assertions: { + 'categories:performance': ['error', { minScore: 0.95 }], + 'categories:accessibility': ['error', { minScore: 1 }], + 'categories:best-practices': ['error', { minScore: 1 }], + 'categories:seo': ['error', { minScore: 1 }], + 'first-contentful-paint': ['warn', { maxNumericValue: 1500 }], + 'largest-contentful-paint': ['error', { maxNumericValue: 1800 }], + 'cumulative-layout-shift': ['error', { maxNumericValue: 0.05 }], + 'total-blocking-time': ['error', { maxNumericValue: 100 }], + 'resource-summary:script:size': ['error', { maxNumericValue: 51200 }], + 'resource-summary:stylesheet:size': ['error', { maxNumericValue: 20480 }], + 'resource-summary:total:size': ['error', { maxNumericValue: 256000 }], + }, + }, + upload: { target: 'temporary-public-storage' }, + }, +}; From 08400e7d5417bd620524018f072a7b3cdb9eea86 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:42:32 +0300 Subject: [PATCH 019/121] ci: astro-rewrite workflow with build, lighthouse, docker smoke --- .github/workflows/astro-ci.yml | 57 ++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/astro-ci.yml diff --git a/.github/workflows/astro-ci.yml b/.github/workflows/astro-ci.yml new file mode 100644 index 0000000..c7a8de0 --- /dev/null +++ b/.github/workflows/astro-ci.yml @@ -0,0 +1,57 @@ +name: Astro CI + +on: + push: + branches: ['astro-rewrite'] + pull_request: + branches: ['astro-rewrite'] + +permissions: + contents: read + +jobs: + build: + name: Build + check + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: oven-sh/setup-bun@v2 + with: + bun-version: '1.3.2' + - run: bun install --frozen-lockfile + - run: bun run check + - run: bun run build + - uses: actions/upload-artifact@v4 + with: + name: dist + path: dist + retention-days: 1 + + lighthouse: + name: Lighthouse CI + runs-on: ubuntu-latest + needs: build + steps: + - uses: actions/checkout@v4 + - uses: oven-sh/setup-bun@v2 + with: + bun-version: '1.3.2' + - run: bun install --frozen-lockfile + - uses: actions/download-artifact@v4 + with: + name: dist + path: dist + - run: bunx @lhci/cli@0.15 autorun --config=./lighthouserc.cjs + + docker: + name: Docker smoke build + runs-on: ubuntu-latest + needs: build + steps: + - uses: actions/checkout@v4 + - run: docker build -t nedaa-website:ci . + - name: Smoke test + run: | + docker run --rm -d --name web -p 8080:80 nedaa-website:ci + for _ in 1 2 3 4 5; do sleep 2; curl -fsS http://localhost:8080/ && break; done + docker rm -f web From c28b1fbd1cf44cf8ccfb57da576d7e6b2aecd9db Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:50:35 +0300 Subject: [PATCH 020/121] build: dockerfile and dockerignore --- .dockerignore | 13 +++++++++++++ Dockerfile | 26 ++++++++++++++++++++++++++ docker/nginx.conf | 43 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 docker/nginx.conf diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..6093a7e --- /dev/null +++ b/.dockerignore @@ -0,0 +1,13 @@ +node_modules +.astro +dist +.git +.github +.husky +docs +.claude +.agent* +*.log +.env* +README.md +lighthouserc.cjs diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..859e3e0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,26 @@ +# syntax=docker/dockerfile:1.7 + +# ---- deps --------------------------------------------------------------- +FROM oven/bun:1.3-alpine AS deps +WORKDIR /app +COPY package.json bun.lock ./ +RUN bun install --frozen-lockfile + +# ---- build -------------------------------------------------------------- +FROM oven/bun:1.3-alpine AS build +WORKDIR /app +ENV NODE_ENV=production +COPY --from=deps /app/node_modules ./node_modules +COPY . . +RUN bun run build + +# ---- runtime ------------------------------------------------------------ +FROM nginx:1.27-alpine AS runtime +RUN apk add --no-cache curl \ + && rm /etc/nginx/conf.d/default.conf +COPY docker/nginx.conf /etc/nginx/conf.d/default.conf +COPY --from=build /app/dist /usr/share/nginx/html +EXPOSE 80 +HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ + CMD curl -fsS http://localhost/ >/dev/null || exit 1 +CMD ["nginx", "-g", "daemon off;"] diff --git a/docker/nginx.conf b/docker/nginx.conf new file mode 100644 index 0000000..80c8e30 --- /dev/null +++ b/docker/nginx.conf @@ -0,0 +1,43 @@ +server { + listen 80 default_server; + listen [::]:80 default_server; + server_name _; + + root /usr/share/nginx/html; + index index.html; + + gzip on; + gzip_vary on; + gzip_proxied any; + gzip_comp_level 6; + gzip_min_length 256; + gzip_types + text/plain text/css text/xml application/javascript + application/json application/xml application/xml+rss + image/svg+xml font/woff2; + + # Hashed Astro assets — long-cache, immutable + location /_astro/ { + expires 1y; + access_log off; + add_header Cache-Control "public, max-age=31536000, immutable"; + try_files $uri =404; + } + + # Fonts and images — long but mutable + location ~* \.(woff2|woff|ttf|otf|png|jpg|jpeg|webp|avif|svg|ico)$ { + expires 30d; + add_header Cache-Control "public, max-age=2592000"; + } + + # HTML — short cache + revalidate + location / { + add_header Cache-Control "public, max-age=0, s-maxage=300, stale-while-revalidate=86400"; + try_files $uri $uri/ $uri.html /index.html; + } + + add_header X-Frame-Options "SAMEORIGIN" always; + add_header X-Content-Type-Options "nosniff" always; + add_header Referrer-Policy "strict-origin-when-cross-origin" always; + add_header Permissions-Policy "geolocation=(), microphone=(), camera=()" always; +} From d60185b1893e29dadff481413964f56ea00c62c6 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:50:35 +0300 Subject: [PATCH 021/121] build: nginx config and compose with cpu and memory limits --- compose.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 compose.yml diff --git a/compose.yml b/compose.yml new file mode 100644 index 0000000..7f6af5e --- /dev/null +++ b/compose.yml @@ -0,0 +1,27 @@ +services: + web: + build: . + image: nedaa-website:latest + container_name: nedaa-website + restart: unless-stopped + ports: + - '80:80' + deploy: + resources: + limits: + cpus: '0.50' + memory: 128M + reservations: + cpus: '0.10' + memory: 32M + healthcheck: + test: ['CMD', 'curl', '-fsS', 'http://localhost/'] + interval: 30s + timeout: 3s + retries: 3 + start_period: 5s + logging: + driver: json-file + options: + max-size: '10m' + max-file: '3' From 599b9bfaabe17dfe083dfda7fa0b3674da2c4c50 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:54:09 +0300 Subject: [PATCH 022/121] docs: minimal readme --- README.md | 40 ++-------------------------------------- 1 file changed, 2 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index dfc7e95..f354003 100644 --- a/README.md +++ b/README.md @@ -2,46 +2,10 @@ # nedaa-website -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) to make the TypeScript language service aware of `.vue` types. - -## Customize configuration - -See [Vite Configuration Reference](https://vite.dev/config/). - -## Project Setup +Site for [Nedaa](https://nedaa.dev). ```sh bun install -``` - -### Compile and Hot-Reload for Development - -```sh -bun dev -``` - -### Type-Check, Compile and Minify for Production - -```sh +bun run dev bun run build ``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -bun test:unit -``` - -### Lint with [ESLint](https://eslint.org/) - -```sh -bun lint -``` From 62002b7df079dd6572923668da872f2482f2f7ee Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Fri, 8 May 2026 22:56:28 +0300 Subject: [PATCH 023/121] ci: pin node 22 before bun for astro 6 compat --- .github/workflows/astro-ci.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/astro-ci.yml b/.github/workflows/astro-ci.yml index c7a8de0..3f768f5 100644 --- a/.github/workflows/astro-ci.yml +++ b/.github/workflows/astro-ci.yml @@ -15,6 +15,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '22' - uses: oven-sh/setup-bun@v2 with: bun-version: '1.3.2' @@ -33,6 +36,9 @@ jobs: needs: build steps: - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '22' - uses: oven-sh/setup-bun@v2 with: bun-version: '1.3.2' From 71cd59678cfa0fcda96aadeee09405ba1631765f Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Sat, 9 May 2026 00:14:17 +0300 Subject: [PATCH 024/121] feat: wordmark with arabic divider --- src/components/Wordmark.astro | 51 +++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/components/Wordmark.astro diff --git a/src/components/Wordmark.astro b/src/components/Wordmark.astro new file mode 100644 index 0000000..2baa2eb --- /dev/null +++ b/src/components/Wordmark.astro @@ -0,0 +1,51 @@ +--- +type Props = { + size?: 'sm' | 'md' | 'lg'; + withArabic?: boolean; +}; + +const { size = 'md', withArabic = true } = Astro.props; + +const dims = { + sm: { latin: 16, arabic: 18, gap: 10 }, + md: { latin: 20, arabic: 22, gap: 12 }, + lg: { latin: 28, arabic: 30, gap: 16 }, +}[size]; +--- + + + Nedaa + { + withArabic && ( + <> + + + From 0b86e08a3c72fe1b1e9a70db860e29866e297cbc Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Sat, 9 May 2026 00:14:17 +0300 Subject: [PATCH 025/121] feat: shared icon component with line set --- src/components/Icon.astro | 75 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 src/components/Icon.astro diff --git a/src/components/Icon.astro b/src/components/Icon.astro new file mode 100644 index 0000000..34b5b85 --- /dev/null +++ b/src/components/Icon.astro @@ -0,0 +1,75 @@ +--- +export type IconName = + | 'clock' + | 'bell' + | 'alarm' + | 'widget' + | 'compass' + | 'calendar' + | 'book' + | 'beads' + | 'check' + | 'counter' + | 'kaaba' + | 'lock' + | 'leaf' + | 'globe' + | 'code' + | 'arrow-right' + | 'arrow-up-right' + | 'shield' + | 'no-eye' + | 'hand' + | 'star' + | 'apple' + | 'android' + | 'huawei' + | 'github'; + +type Props = { + name: IconName; + size?: number; + class?: string; +}; + +const { name, size = 20, class: className } = Astro.props; +--- + + From 70caa8a5980b57db774bc55776af104c70aab8ab Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Sat, 9 May 2026 00:14:17 +0300 Subject: [PATCH 026/121] feat: store button and row --- src/components/StoreButton.astro | 31 +++++++++++++++++++++++++++++++ src/components/StoreRow.astro | 15 +++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 src/components/StoreButton.astro create mode 100644 src/components/StoreRow.astro diff --git a/src/components/StoreButton.astro b/src/components/StoreButton.astro new file mode 100644 index 0000000..38649f3 --- /dev/null +++ b/src/components/StoreButton.astro @@ -0,0 +1,31 @@ +--- +import Icon, { type IconName } from '@/components/Icon.astro'; + +export type Store = 'ios' | 'android' | 'huawei'; + +type Props = { + store: Store; + primary?: boolean; + full?: boolean; + href?: string; +}; + +const { store, primary = false, full = false, href = '#' } = Astro.props; + +const config: Record = { + ios: { line1: 'Download on the', line2: 'App Store', icon: 'apple' }, + android: { line1: 'Get it on', line2: 'Google Play', icon: 'android' }, + huawei: { line1: 'Explore it on', line2: 'AppGallery', icon: 'huawei' }, +}; + +const { line1, line2, icon } = config[store]; +const classes = ['store-btn', primary && 'primary'].filter(Boolean).join(' '); +--- + + + + + {line1} + {line2} + + diff --git a/src/components/StoreRow.astro b/src/components/StoreRow.astro new file mode 100644 index 0000000..bbb771b --- /dev/null +++ b/src/components/StoreRow.astro @@ -0,0 +1,15 @@ +--- +import StoreButton, { type Store } from '@/components/StoreButton.astro'; + +type Props = { + primary?: Store; + compact?: boolean; +}; + +const { primary = 'ios', compact = false } = Astro.props; +const order: Store[] = ['ios', 'android', 'huawei']; +--- + +
+ {order.map((s) => )} +
From 7c5f7eebb37ea39fe4ac8d1e7985d43e0d2ee039 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Sat, 9 May 2026 00:17:58 +0300 Subject: [PATCH 027/121] feat: locale switcher svelte island --- src/components/svelte/LocaleSwitcher.svelte | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/components/svelte/LocaleSwitcher.svelte diff --git a/src/components/svelte/LocaleSwitcher.svelte b/src/components/svelte/LocaleSwitcher.svelte new file mode 100644 index 0000000..a6ec4fb --- /dev/null +++ b/src/components/svelte/LocaleSwitcher.svelte @@ -0,0 +1,18 @@ + + + From 591b0f046ae94f19cf157c2cd0e3421ac15fa5dc Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Sat, 9 May 2026 00:17:58 +0300 Subject: [PATCH 028/121] feat: top nav with brand, links, theme/locale toggles --- src/components/TopNav.astro | 60 +++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/components/TopNav.astro diff --git a/src/components/TopNav.astro b/src/components/TopNav.astro new file mode 100644 index 0000000..3026018 --- /dev/null +++ b/src/components/TopNav.astro @@ -0,0 +1,60 @@ +--- +import Brand from '@/components/Brand.astro'; +import Wordmark from '@/components/Wordmark.astro'; +import Icon from '@/components/Icon.astro'; +import ThemeToggle from '@/components/svelte/ThemeToggle.svelte'; +import LocaleSwitcher from '@/components/svelte/LocaleSwitcher.svelte'; +import { getLangFromUrl, useTranslations, useTranslatedPath } from '@/i18n/utils'; + +const lang = getLangFromUrl(Astro.url); +const t = useTranslations(lang); +const path = useTranslatedPath(lang); +const current = Astro.url.pathname.replace(/\/$/, '') || '/'; + +const items = [ + { id: 'home', href: path('/'), label: t('nav.home') }, + { id: 'features', href: path('/features'), label: t('nav.features') }, + { id: 'privacy', href: path('/privacy'), label: t('nav.privacy') }, + { id: 'open', href: path('/open'), label: t('nav.open') }, + { id: 'download', href: path('/download'), label: t('nav.download') }, + { id: 'support', href: path('/support'), label: t('nav.support') }, +]; + +const isActive = (href: string) => current === href.replace(/\/$/, ''); +--- + + + + From a3311a6a03ae481b0c64a6859420a826ac0ba446 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Sat, 9 May 2026 02:04:59 +0300 Subject: [PATCH 029/121] refactor: extract icon and store types to ts modules --- src/components/Icon.astro | 59 +++++++++----------------------- src/components/StoreButton.astro | 6 ++-- src/components/StoreRow.astro | 3 +- src/components/icons.ts | 26 ++++++++++++++ src/components/store.ts | 1 + 5 files changed, 49 insertions(+), 46 deletions(-) create mode 100644 src/components/icons.ts create mode 100644 src/components/store.ts diff --git a/src/components/Icon.astro b/src/components/Icon.astro index 34b5b85..5258aaa 100644 --- a/src/components/Icon.astro +++ b/src/components/Icon.astro @@ -1,30 +1,5 @@ --- -export type IconName = - | 'clock' - | 'bell' - | 'alarm' - | 'widget' - | 'compass' - | 'calendar' - | 'book' - | 'beads' - | 'check' - | 'counter' - | 'kaaba' - | 'lock' - | 'leaf' - | 'globe' - | 'code' - | 'arrow-right' - | 'arrow-up-right' - | 'shield' - | 'no-eye' - | 'hand' - | 'star' - | 'apple' - | 'android' - | 'huawei' - | 'github'; +import type { IconName } from '@/components/icons'; type Props = { name: IconName; @@ -47,29 +22,29 @@ const { name, size = 20, class: className } = Astro.props; aria-hidden="true" class:list={['icon', className]} > - {name === 'clock' && (<>)} - {name === 'bell' && (<>)} - {name === 'alarm' && (<>)} - {name === 'widget' && (<>)} - {name === 'compass' && (<>)} - {name === 'calendar' && (<>)} - {name === 'book' && (<>)} - {name === 'beads' && (<>)} + {name === 'clock' && ()} + {name === 'bell' && ()} + {name === 'alarm' && ()} + {name === 'widget' && ()} + {name === 'compass' && ()} + {name === 'calendar' && ()} + {name === 'book' && ()} + {name === 'beads' && ()} {name === 'check' && ()} - {name === 'counter' && (<>)} - {name === 'kaaba' && (<>)} - {name === 'lock' && (<>)} - {name === 'leaf' && (<>)} - {name === 'globe' && (<>)} + {name === 'counter' && ()} + {name === 'kaaba' && ()} + {name === 'lock' && ()} + {name === 'leaf' && ()} + {name === 'globe' && ()} {name === 'code' && ()} {name === 'arrow-right' && ()} {name === 'arrow-up-right' && ()} {name === 'shield' && ()} - {name === 'no-eye' && (<>)} + {name === 'no-eye' && ()} {name === 'hand' && ()} {name === 'star' && ()} {name === 'apple' && ()} - {name === 'android' && (<>)} - {name === 'huawei' && (<>)} + {name === 'android' && ()} + {name === 'huawei' && ()} {name === 'github' && ()} diff --git a/src/components/StoreButton.astro b/src/components/StoreButton.astro index 38649f3..db92fde 100644 --- a/src/components/StoreButton.astro +++ b/src/components/StoreButton.astro @@ -1,7 +1,7 @@ --- -import Icon, { type IconName } from '@/components/Icon.astro'; - -export type Store = 'ios' | 'android' | 'huawei'; +import Icon from '@/components/Icon.astro'; +import type { IconName } from '@/components/icons'; +import type { Store } from '@/components/store'; type Props = { store: Store; diff --git a/src/components/StoreRow.astro b/src/components/StoreRow.astro index bbb771b..b48e601 100644 --- a/src/components/StoreRow.astro +++ b/src/components/StoreRow.astro @@ -1,5 +1,6 @@ --- -import StoreButton, { type Store } from '@/components/StoreButton.astro'; +import StoreButton from '@/components/StoreButton.astro'; +import type { Store } from '@/components/store'; type Props = { primary?: Store; diff --git a/src/components/icons.ts b/src/components/icons.ts new file mode 100644 index 0000000..0abb363 --- /dev/null +++ b/src/components/icons.ts @@ -0,0 +1,26 @@ +export type IconName = + | 'clock' + | 'bell' + | 'alarm' + | 'widget' + | 'compass' + | 'calendar' + | 'book' + | 'beads' + | 'check' + | 'counter' + | 'kaaba' + | 'lock' + | 'leaf' + | 'globe' + | 'code' + | 'arrow-right' + | 'arrow-up-right' + | 'shield' + | 'no-eye' + | 'hand' + | 'star' + | 'apple' + | 'android' + | 'huawei' + | 'github'; diff --git a/src/components/store.ts b/src/components/store.ts new file mode 100644 index 0000000..1666454 --- /dev/null +++ b/src/components/store.ts @@ -0,0 +1 @@ +export type Store = 'ios' | 'android' | 'huawei'; From c25d5dfcd3cc64c6db664321136765c75bd5445c Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Sat, 9 May 2026 02:04:59 +0300 Subject: [PATCH 030/121] feat: site footer --- src/components/Footer.astro | 89 +++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 src/components/Footer.astro diff --git a/src/components/Footer.astro b/src/components/Footer.astro new file mode 100644 index 0000000..0fe0fa4 --- /dev/null +++ b/src/components/Footer.astro @@ -0,0 +1,89 @@ +--- +import Brand from '@/components/Brand.astro'; +import Wordmark from '@/components/Wordmark.astro'; +import { getLangFromUrl, useTranslations, useTranslatedPath } from '@/i18n/utils'; + +const lang = getLangFromUrl(Astro.url); +const t = useTranslations(lang); +const path = useTranslatedPath(lang); + +const product = [ + { href: path('/features'), label: t('nav.features') }, + { href: path('/download'), label: t('nav.download') }, + { href: path('/privacy'), label: t('nav.privacy') }, + { href: path('/changelog'), label: t('footer.changelog') }, +]; +const community = [ + { href: 'https://github.com/NedaaDevs/nedaa', label: t('footer.github') }, + { href: 'https://crowdin.com', label: t('footer.translate') }, + { href: path('/press'), label: t('footer.press') }, +]; +const contact = [ + { href: path('/support'), label: t('nav.support') }, + { href: path('/terms'), label: t('footer.terms') }, + { href: path('/attributions'), label: t('footer.attrib') }, +]; +--- + +
+
+
+
+ + + + +

{t('footer.tagline')}

+
+ +
+

{t('footer.product')}

+ +
+ +
+

{t('footer.community')}

+ +
+ +
+

{t('footer.contact')}

+ +
+
+ +
+ {t('footer.copy')} + {t('footer.license')} + + + {t('footer.status')} + +
+
+
+ + From b3072cc90080a54cb1f39523667671ef06f48aaf Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Sat, 9 May 2026 02:04:59 +0300 Subject: [PATCH 031/121] feat: quiet hero section --- src/components/home/Hero.astro | 220 +++++++++++++++++++++++++++++++++ 1 file changed, 220 insertions(+) create mode 100644 src/components/home/Hero.astro diff --git a/src/components/home/Hero.astro b/src/components/home/Hero.astro new file mode 100644 index 0000000..d9a8e6e --- /dev/null +++ b/src/components/home/Hero.astro @@ -0,0 +1,220 @@ +--- +import StoreRow from '@/components/StoreRow.astro'; +import { getLangFromUrl, useTranslations } from '@/i18n/utils'; + +const lang = getLangFromUrl(Astro.url); +const t = useTranslations(lang); + +const facts: [string, string][] = [ + ['Method', 'Umm al-Qurā'], + ['Madhhab', 'Standard · ʿAṣr 1×'], + ['Engine', 'Adhan (open source)'], + ['Accuracy', '±15 s · device clock'], + ['Offline', 'After first sync'], + ['Privacy', 'On-device only'], +]; +--- + +
+
+ +
+ +
+
+ {t('hero.eyebrow')} +

+ {t('hero.title')}
+ {t('hero.title2')} +

+

{t('hero.lead')}

+ +
+ {t('hero.fact')} + + + v3.4 · {t('hero.shipped')} + +
+
+ +
+
+ +
+ Home +
+
+
+ Pl. I — Home + captured 14 Mar 2026 +
+
+
+ +
+
+ { + facts.map(([k, v]) => ( +
+
{k}
+
{v}
+
+ )) + } +
+
+
+ + From b8d69f1e2afd22083070b61364c4f7966b697f06 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Sat, 9 May 2026 02:05:00 +0300 Subject: [PATCH 032/121] feat: honest line strip --- src/components/home/HonestLine.astro | 58 ++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/components/home/HonestLine.astro diff --git a/src/components/home/HonestLine.astro b/src/components/home/HonestLine.astro new file mode 100644 index 0000000..5b07df1 --- /dev/null +++ b/src/components/home/HonestLine.astro @@ -0,0 +1,58 @@ +--- +import { getLangFromUrl, useTranslations } from '@/i18n/utils'; + +const lang = getLangFromUrl(Astro.url); +const t = useTranslations(lang); + +const items = [ + t('honest.free'), + t('honest.ads'), + t('honest.accounts'), + t('honest.tracking'), + t('honest.os'), +]; +--- + +
+
+ { + items.map((it, i) => ( + + {i > 0 && + )) + } +
+
+ + From 566674a63b19535c6fb0c04236ff0c290cea7d84 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Sat, 9 May 2026 02:05:00 +0300 Subject: [PATCH 033/121] feat: wire home with nav, hero, honest, footer --- src/pages/index.astro | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/pages/index.astro b/src/pages/index.astro index 1950454..7334ede 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,7 +1,9 @@ --- import Layout from '@/layouts/Layout.astro'; -import ThemeToggle from '@/components/svelte/ThemeToggle.svelte'; -import Brand from '@/components/Brand.astro'; +import TopNav from '@/components/TopNav.astro'; +import Footer from '@/components/Footer.astro'; +import Hero from '@/components/home/Hero.astro'; +import HonestLine from '@/components/home/HonestLine.astro'; import { getLangFromUrl, useTranslations } from '@/i18n/utils'; const lang = getLangFromUrl(Astro.url); @@ -9,14 +11,10 @@ const t = useTranslations(lang); --- -
-
- -

{t('site.brand')}

-
-

{t('hero.lead')}

-
- -
+ +
+ +
+
From 59efd1c50bb330444dd1a83d8c9040d8b18c8ab9 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Sat, 9 May 2026 02:12:12 +0300 Subject: [PATCH 034/121] fix(a11y): contrast on store-btn primary, heading order, button label match --- src/components/Footer.astro | 6 +++--- src/components/svelte/LocaleSwitcher.svelte | 2 +- src/components/svelte/ThemeToggle.svelte | 17 ++++++++++++++++- src/styles/global.css | 4 ++-- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/components/Footer.astro b/src/components/Footer.astro index 0fe0fa4..483e345 100644 --- a/src/components/Footer.astro +++ b/src/components/Footer.astro @@ -37,21 +37,21 @@ const contact = [
-

{t('footer.product')}

+

{t('footer.product')}

-

{t('footer.community')}

+

{t('footer.community')}

-

{t('footer.contact')}

+

{t('footer.contact')}

diff --git a/src/components/svelte/LocaleSwitcher.svelte b/src/components/svelte/LocaleSwitcher.svelte index a6ec4fb..917b953 100644 --- a/src/components/svelte/LocaleSwitcher.svelte +++ b/src/components/svelte/LocaleSwitcher.svelte @@ -13,6 +13,6 @@ const label = $derived(current === 'en' ? 'العربية' : 'English'); - diff --git a/src/components/svelte/ThemeToggle.svelte b/src/components/svelte/ThemeToggle.svelte index ee43e78..102689e 100644 --- a/src/components/svelte/ThemeToggle.svelte +++ b/src/components/svelte/ThemeToggle.svelte @@ -15,6 +15,21 @@ }; - + + diff --git a/src/styles/global.css b/src/styles/global.css index 789855a..99381b6 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -352,7 +352,7 @@ button { color: #1c1a12; } .store-btn.primary .lines small { - color: rgba(255, 255, 255, 0.7); + color: rgba(255, 255, 255, 0.92); } [data-theme='dark'] .store-btn.primary .lines small { color: rgba(28, 26, 18, 0.65); @@ -445,7 +445,7 @@ footer.site .grid { gap: 32px; } } -footer.site h4 { +footer.site .col-title { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; From f9d701d92149b9aa03fd8b7b7a456fb65ca080f2 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Sat, 9 May 2026 02:32:14 +0300 Subject: [PATCH 035/121] feat(api): reusable api service layer + itunes lookup script for store release --- .gitignore | 1 + package.json | 3 +- scripts/fetch-release.ts | 83 ++++++++++++++++++++++++++++++++++++++++ src/lib/api/client.ts | 60 +++++++++++++++++++++++++++++ src/lib/api/itunes.ts | 28 ++++++++++++++ 5 files changed, 174 insertions(+), 1 deletion(-) create mode 100644 scripts/fetch-release.ts create mode 100644 src/lib/api/client.ts create mode 100644 src/lib/api/itunes.ts diff --git a/.gitignore b/.gitignore index 3887601..aee3dea 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,4 @@ coverage # Lighthouse CI .lighthouseci/ +src/data/release.json diff --git a/package.json b/package.json index 6739f9a..36ba8a2 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "scripts": { "dev": "astro dev", "start": "astro dev", - "build": "astro check && astro build", + "build": "bun run scripts/fetch-release.ts && astro check && astro build", + "fetch:release": "bun run scripts/fetch-release.ts", "preview": "astro preview", "check": "astro check", "astro": "astro", diff --git a/scripts/fetch-release.ts b/scripts/fetch-release.ts new file mode 100644 index 0000000..3b3e721 --- /dev/null +++ b/scripts/fetch-release.ts @@ -0,0 +1,83 @@ +/** + * Pulls the latest iOS App Store release of Nedaa via iTunes Lookup at + * build time and writes `src/data/release.json`. If the lookup fails the + * existing checked-in JSON (or a fallback) is preserved so the build + * doesn't crash on offline / transient errors. + */ +import { mkdir, readFile, writeFile } from 'node:fs/promises'; +import { dirname, resolve } from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { lookupByBundleId } from '@/lib/api/itunes'; + +const BUNDLE_ID = 'dev.nedaa.app'; +const ANDROID_PACKAGE = 'dev.nedaa.android'; +const HUAWEI_APP_ID = 'C115223843'; + +const ROOT = resolve(dirname(fileURLToPath(import.meta.url)), '..'); +const OUT = resolve(ROOT, 'src/data/release.json'); + +export type Release = { + version: string; + releaseDate: string; + trackId: number; + trackName: string; + minimumOsVersion: string; + iosUrl: string; + androidUrl: string; + huaweiUrl: string; + fetchedAt: string; +}; + +const FALLBACK: Release = { + version: '2.9.1', + releaseDate: '2026-04-21T13:54:16Z', + trackId: 6740703900, + trackName: 'Nedaa - Prayer Times & Athan', + minimumOsVersion: '15.1', + iosUrl: 'https://apps.apple.com/app/id6740703900', + androidUrl: `https://play.google.com/store/apps/details?id=${ANDROID_PACKAGE}`, + huaweiUrl: `https://appgallery.huawei.com/app/${HUAWEI_APP_ID}`, + fetchedAt: new Date().toISOString(), +}; + +const readExisting = async (): Promise => { + try { + return JSON.parse(await readFile(OUT, 'utf8')) as Release; + } catch { + return null; + } +}; + +const main = async () => { + const lookup = await lookupByBundleId(BUNDLE_ID, { timeoutMs: 5000 }); + + let out: Release; + if (lookup.ok) { + const i = lookup.data; + out = { + version: i.version, + releaseDate: i.currentVersionReleaseDate, + trackId: i.trackId, + trackName: i.trackName, + minimumOsVersion: i.minimumOsVersion, + iosUrl: i.trackViewUrl, + androidUrl: `https://play.google.com/store/apps/details?id=${ANDROID_PACKAGE}`, + huaweiUrl: `https://appgallery.huawei.com/app/${HUAWEI_APP_ID}`, + fetchedAt: new Date().toISOString(), + }; + } else { + const existing = await readExisting(); + out = existing ?? FALLBACK; + console.warn( + '[fetch-release] iTunes Lookup failed:', + lookup.error.kind, + `— using ${existing ? 'previous release.json' : 'hardcoded fallback'}`, + ); + } + + await mkdir(dirname(OUT), { recursive: true }); + await writeFile(OUT, JSON.stringify(out, null, 2) + '\n', 'utf8'); + console.log(`[fetch-release] ${out.version} · ${out.releaseDate}`); +}; + +await main(); diff --git a/src/lib/api/client.ts b/src/lib/api/client.ts new file mode 100644 index 0000000..392adfa --- /dev/null +++ b/src/lib/api/client.ts @@ -0,0 +1,60 @@ +/** + * Tiny fetch wrapper used by every service in `src/lib/api/`. + * Works the same in Bun (build scripts) and the browser (Svelte islands) + * because both expose `globalThis.fetch`. + */ + +export type ApiError = + | { kind: 'network'; message: string } + | { kind: 'http'; status: number; message: string } + | { kind: 'parse'; message: string } + | { kind: 'timeout'; message: string }; + +export type ApiResult = { ok: true; data: T } | { ok: false; error: ApiError }; + +export type RequestOpts = { + timeoutMs?: number; + headers?: HeadersInit; + signal?: AbortSignal; +}; + +const DEFAULT_TIMEOUT = 5000; + +export const get = async (url: string, opts: RequestOpts = {}): Promise> => { + const { timeoutMs = DEFAULT_TIMEOUT, headers, signal } = opts; + const ctrl = new AbortController(); + const timer = setTimeout(() => ctrl.abort('timeout'), timeoutMs); + signal?.addEventListener('abort', () => ctrl.abort(signal.reason)); + + try { + const res = await fetch(url, { + headers: { Accept: 'application/json', ...headers }, + signal: ctrl.signal, + }); + if (!res.ok) { + return { + ok: false, + error: { kind: 'http', status: res.status, message: res.statusText }, + }; + } + try { + const data = (await res.json()) as T; + return { ok: true, data }; + } catch (e) { + return { + ok: false, + error: { kind: 'parse', message: e instanceof Error ? e.message : String(e) }, + }; + } + } catch (e) { + if (ctrl.signal.aborted && ctrl.signal.reason === 'timeout') { + return { ok: false, error: { kind: 'timeout', message: `> ${timeoutMs}ms` } }; + } + return { + ok: false, + error: { kind: 'network', message: e instanceof Error ? e.message : String(e) }, + }; + } finally { + clearTimeout(timer); + } +}; diff --git a/src/lib/api/itunes.ts b/src/lib/api/itunes.ts new file mode 100644 index 0000000..9a412f7 --- /dev/null +++ b/src/lib/api/itunes.ts @@ -0,0 +1,28 @@ +import { get, type ApiResult } from '@/lib/api/client'; + +export type ItunesLookupResult = { + trackId: number; + trackName: string; + bundleId: string; + version: string; + currentVersionReleaseDate: string; + minimumOsVersion: string; + trackViewUrl: string; + sellerName: string; +}; + +type LookupEnvelope = { resultCount: number; results: ItunesLookupResult[] }; + +export const lookupByBundleId = async ( + bundleId: string, + opts?: { timeoutMs?: number }, +): Promise> => { + const url = `https://itunes.apple.com/lookup?bundleId=${encodeURIComponent(bundleId)}`; + const res = await get(url, opts); + if (!res.ok) return res; + const item = res.data.results[0]; + if (!item) { + return { ok: false, error: { kind: 'parse', message: `no result for ${bundleId}` } }; + } + return { ok: true, data: item }; +}; From 45472e64b5d9ac49242088d1a4a8f01a27627c02 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Sat, 9 May 2026 02:32:14 +0300 Subject: [PATCH 036/121] feat: store buttons and hero use live release data --- src/components/StoreRow.astro | 9 ++++++++- src/components/home/Hero.astro | 5 +++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/components/StoreRow.astro b/src/components/StoreRow.astro index b48e601..3536c4e 100644 --- a/src/components/StoreRow.astro +++ b/src/components/StoreRow.astro @@ -1,6 +1,7 @@ --- import StoreButton from '@/components/StoreButton.astro'; import type { Store } from '@/components/store'; +import release from '@/data/release.json'; type Props = { primary?: Store; @@ -8,9 +9,15 @@ type Props = { }; const { primary = 'ios', compact = false } = Astro.props; + +const links: Record = { + ios: release.iosUrl, + android: release.androidUrl, + huawei: release.huaweiUrl, +}; const order: Store[] = ['ios', 'android', 'huawei']; ---
- {order.map((s) => )} + {order.map((s) => )}
diff --git a/src/components/home/Hero.astro b/src/components/home/Hero.astro index d9a8e6e..9938111 100644 --- a/src/components/home/Hero.astro +++ b/src/components/home/Hero.astro @@ -1,5 +1,6 @@ --- import StoreRow from '@/components/StoreRow.astro'; +import release from '@/data/release.json'; import { getLangFromUrl, useTranslations } from '@/i18n/utils'; const lang = getLangFromUrl(Astro.url); @@ -20,7 +21,7 @@ const facts: [string, string][] = [
@@ -37,7 +38,7 @@ const facts: [string, string][] = [ {t('hero.fact')} - v3.4 · {t('hero.shipped')} + v{release.version} · {t('hero.shipped')}
From 4030139d8b7e9eded629ecdf0d23d7a00db4fce4 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Sat, 9 May 2026 10:57:52 +0300 Subject: [PATCH 037/121] feat(icon): semantic arrow-end that flips per direction --- src/components/Icon.astro | 8 ++++++++ src/components/TopNav.astro | 2 +- src/components/icons.ts | 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/components/Icon.astro b/src/components/Icon.astro index 5258aaa..31d9bf2 100644 --- a/src/components/Icon.astro +++ b/src/components/Icon.astro @@ -1,5 +1,6 @@ --- import type { IconName } from '@/components/icons'; +import { dirFor, getLangFromUrl } from '@/i18n/utils'; type Props = { name: IconName; @@ -8,6 +9,7 @@ type Props = { }; const { name, size = 20, class: className } = Astro.props; +const isRtl = dirFor(getLangFromUrl(Astro.url)) === 'rtl'; --- )} {name === 'arrow-right' && ()} {name === 'arrow-up-right' && ()} + {name === 'arrow-end' && ( + + )} + {name === 'arrow-up-end' && ( + + )} {name === 'shield' && ()} {name === 'no-eye' && ()} {name === 'hand' && ()} diff --git a/src/components/TopNav.astro b/src/components/TopNav.astro index 3026018..46fe6cb 100644 --- a/src/components/TopNav.astro +++ b/src/components/TopNav.astro @@ -45,7 +45,7 @@ const isActive = (href: string) => current === href.replace(/\/$/, ''); {t('nav.cta')} - + diff --git a/src/components/icons.ts b/src/components/icons.ts index 0abb363..8cf1fb6 100644 --- a/src/components/icons.ts +++ b/src/components/icons.ts @@ -16,6 +16,8 @@ export type IconName = | 'code' | 'arrow-right' | 'arrow-up-right' + | 'arrow-end' + | 'arrow-up-end' | 'shield' | 'no-eye' | 'hand' From aea6d8d87dc494e72980a0311e22b8874790fecc Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Sat, 9 May 2026 11:04:24 +0300 Subject: [PATCH 038/121] feat: live hijri + relative-date islands in hero --- astro.config.ts | 1 + src/components/home/Hero.astro | 17 +++++++++++-- src/components/svelte/HijriDate.svelte | 15 ++++++++++++ src/components/svelte/RelativeDate.svelte | 15 ++++++++++++ src/lib/format.ts | 29 +++++++++++++++++++++++ 5 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 src/components/svelte/HijriDate.svelte create mode 100644 src/components/svelte/RelativeDate.svelte create mode 100644 src/lib/format.ts diff --git a/astro.config.ts b/astro.config.ts index 6318534..e74c85d 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -16,6 +16,7 @@ export default defineConfig({ inlineStylesheets: 'auto', assets: '_astro', }, + devToolbar: { enabled: true }, vite: { resolve: { alias: { diff --git a/src/components/home/Hero.astro b/src/components/home/Hero.astro index 9938111..e225e21 100644 --- a/src/components/home/Hero.astro +++ b/src/components/home/Hero.astro @@ -1,11 +1,17 @@ --- import StoreRow from '@/components/StoreRow.astro'; +import RelativeDate from '@/components/svelte/RelativeDate.svelte'; +import HijriDate from '@/components/svelte/HijriDate.svelte'; import release from '@/data/release.json'; import { getLangFromUrl, useTranslations } from '@/i18n/utils'; +import { hijriDate, relativeDays } from '@/lib/format'; const lang = getLangFromUrl(Astro.url); const t = useTranslations(lang); +const shippedFallback = relativeDays(lang, release.releaseDate); +const hijriFallback = hijriDate(lang); + const facts: [string, string][] = [ ['Method', 'Umm al-Qurā'], ['Madhhab', 'Standard · ʿAṣr 1×'], @@ -20,7 +26,9 @@ const facts: [string, string][] = [

@@ -38,7 +46,12 @@ const facts: [string, string][] = [ {t('hero.fact')} - v{release.version} · {t('hero.shipped')} + v{release.version} ·
diff --git a/src/components/svelte/HijriDate.svelte b/src/components/svelte/HijriDate.svelte new file mode 100644 index 0000000..70053e7 --- /dev/null +++ b/src/components/svelte/HijriDate.svelte @@ -0,0 +1,15 @@ + + +{text} diff --git a/src/components/svelte/RelativeDate.svelte b/src/components/svelte/RelativeDate.svelte new file mode 100644 index 0000000..8e06c0d --- /dev/null +++ b/src/components/svelte/RelativeDate.svelte @@ -0,0 +1,15 @@ + + +{text} diff --git a/src/lib/format.ts b/src/lib/format.ts new file mode 100644 index 0000000..0f301d8 --- /dev/null +++ b/src/lib/format.ts @@ -0,0 +1,29 @@ +import type { Locale } from '@/i18n/types'; + +const bcp47 = (lang: Locale): string => + ({ en: 'en-US', ar: 'ar-SA', ms: 'ms-MY', ur: 'ur-PK' })[lang]; + +export const relativeDays = (lang: Locale, isoDate: string, now: Date = new Date()): string => { + const ms = now.getTime() - new Date(isoDate).getTime(); + const days = Math.round(ms / 86_400_000); + const rtf = new Intl.RelativeTimeFormat(bcp47(lang), { numeric: 'auto' }); + return rtf.format(-days, 'day'); +}; + +export const hijriDate = (lang: Locale, when: Date = new Date()): string => { + const fmt = new Intl.DateTimeFormat(`${bcp47(lang)}-u-ca-islamic-umalqura`, { + day: 'numeric', + month: 'long', + year: 'numeric', + }); + return fmt.format(when); +}; + +export const gregorianShort = (lang: Locale, when: Date = new Date()): string => { + const fmt = new Intl.DateTimeFormat(bcp47(lang), { + day: 'numeric', + month: 'short', + year: 'numeric', + }); + return fmt.format(when); +}; From 3ecfc45c9c891a2a98cea81dd4fbb8cb04a3a9f7 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Sat, 9 May 2026 12:30:00 +0300 Subject: [PATCH 039/121] feat(api): nedaa service with prayers, geocode, stats --- src/lib/api/nedaa.ts | 122 +++++++++++++++++++++++++++++++++++++++++++ src/lib/tz-cities.ts | 75 ++++++++++++++++++++++++++ 2 files changed, 197 insertions(+) create mode 100644 src/lib/api/nedaa.ts create mode 100644 src/lib/tz-cities.ts diff --git a/src/lib/api/nedaa.ts b/src/lib/api/nedaa.ts new file mode 100644 index 0000000..4d7a5f8 --- /dev/null +++ b/src/lib/api/nedaa.ts @@ -0,0 +1,122 @@ +import { get, type ApiResult } from '@/lib/api/client'; + +export const NEDAA_API_BASE = + (import.meta.env?.PUBLIC_NEDAA_API ?? 'https://new.nedaa.dev').replace(/\/$/, ''); + +// ── Prayer times ──────────────────────────────────────────────────────────── + +export type PrayerTimings = { + fajr: string; + sunrise: string; + dhuhr: string; + asr: string; + sunset: string; + maghrib: string; + isha: string; + imsak: string; + midnight: string; + firstthird: string; + lastthird: string; +}; + +export type PrayerDay = { + /** Unix epoch (seconds) as a string. */ + date: string; + timings: PrayerTimings; +}; + +export type PrayerMonths = Record; + +export type PrayersResponse = { + timezone: string; + coordinates: { lat: number; lng: number }; + provider: string; + months: PrayerMonths; +}; + +export type PrayersQuery = { + lat: number; + lng: number; + year?: number; + month?: number; + provider?: string; +}; + +export const getPrayers = (q: PrayersQuery, opts?: { timeoutMs?: number }) => { + const params = new URLSearchParams({ lat: String(q.lat), lng: String(q.lng) }); + if (q.year) params.set('year', String(q.year)); + if (q.month) params.set('month', String(q.month)); + if (q.provider) params.set('provider', q.provider); + return get(`${NEDAA_API_BASE}/v3/prayers/?${params}`, opts); +}; + +// ── Reverse geocode ───────────────────────────────────────────────────────── + +export type ReverseGeocode = { + countryName: string; + city: string; + timezone: string; +}; + +export const getReverseGeocode = ( + q: { lat: number; lng: number; locale: 'en' | 'ar' | 'ms' | 'ur' }, + opts?: { timeoutMs?: number }, +): Promise> => { + const params = new URLSearchParams({ + lat: String(q.lat), + lng: String(q.lng), + locale: q.locale, + }); + return get(`${NEDAA_API_BASE}/v3/locations/reverse-geocode?${params}`, opts); +}; + +// ── Stats ─────────────────────────────────────────────────────────────────── + +export type StatsPeriod = '24h' | '7d' | '30d'; + +export type EndpointStat = { + endpoint: string; + count: number; + avgMs: number; + errorRate: number; +}; + +export type StatsSummary = { + period: string; + totalRequests: number; + errorRate: number; + avgResponseTimeMs: number; + endpoints: EndpointStat[]; + statusCodes: Record; +}; + +export const getStatsSummary = ( + period: StatsPeriod = '24h', + opts?: { timeoutMs?: number; token?: string }, +): Promise> => { + const headers: HeadersInit = opts?.token + ? { Authorization: `Bearer ${opts.token}` } + : {}; + return get(`${NEDAA_API_BASE}/v3/stats/summary?period=${period}`, { + timeoutMs: opts?.timeoutMs, + headers, + }); +}; + +// ── Helpers ───────────────────────────────────────────────────────────────── + +/** + * Picks today's PrayerDay row out of a PrayersResponse based on the + * device clock. Falls back to the first day of the first month if today + * isn't found (e.g. month boundary edge case). + */ +export const todayFrom = (resp: PrayersResponse, now: Date = new Date()): PrayerDay | null => { + const today = now.toISOString().slice(0, 10); // YYYY-MM-DD + for (const days of Object.values(resp.months)) { + for (const d of days) { + if (d.timings.fajr.startsWith(today)) return d; + } + } + const firstMonth = Object.values(resp.months)[0]; + return firstMonth?.[0] ?? null; +}; diff --git a/src/lib/tz-cities.ts b/src/lib/tz-cities.ts new file mode 100644 index 0000000..6329866 --- /dev/null +++ b/src/lib/tz-cities.ts @@ -0,0 +1,75 @@ +/** + * TZ → approximate city + lat/lng table. Used by the live prayer-card island + * to call the Nedaa prayers API without prompting for geolocation. + * + * Coverage prioritises Muslim-majority and high-traffic timezones; everything + * else falls back to the default (Riyadh). + */ +export type TzCity = { city: string; lat: number; lng: number }; + +const TABLE: Record = { + // Gulf / Levant / North Africa + 'Asia/Riyadh': { city: 'Riyadh', lat: 24.7136, lng: 46.6753 }, + 'Asia/Dubai': { city: 'Dubai', lat: 25.2048, lng: 55.2708 }, + 'Asia/Qatar': { city: 'Doha', lat: 25.2854, lng: 51.531 }, + 'Asia/Kuwait': { city: 'Kuwait City', lat: 29.3759, lng: 47.9774 }, + 'Asia/Bahrain': { city: 'Manama', lat: 26.2285, lng: 50.586 }, + 'Asia/Muscat': { city: 'Muscat', lat: 23.588, lng: 58.3829 }, + 'Asia/Baghdad': { city: 'Baghdad', lat: 33.3152, lng: 44.3661 }, + 'Asia/Damascus': { city: 'Damascus', lat: 33.5138, lng: 36.2765 }, + 'Asia/Beirut': { city: 'Beirut', lat: 33.8938, lng: 35.5018 }, + 'Asia/Amman': { city: 'Amman', lat: 31.9454, lng: 35.9284 }, + 'Asia/Jerusalem': { city: 'Jerusalem', lat: 31.7683, lng: 35.2137 }, + 'Asia/Hebron': { city: 'Hebron', lat: 31.5326, lng: 35.0998 }, + 'Asia/Gaza': { city: 'Gaza', lat: 31.5017, lng: 34.4668 }, + 'Asia/Aden': { city: "Sana'a", lat: 15.3694, lng: 44.191 }, + 'Africa/Cairo': { city: 'Cairo', lat: 30.0444, lng: 31.2357 }, + 'Africa/Khartoum': { city: 'Khartoum', lat: 15.5007, lng: 32.5599 }, + 'Africa/Algiers': { city: 'Algiers', lat: 36.7372, lng: 3.0863 }, + 'Africa/Tunis': { city: 'Tunis', lat: 36.8065, lng: 10.1815 }, + 'Africa/Tripoli': { city: 'Tripoli', lat: 32.8872, lng: 13.1913 }, + 'Africa/Casablanca': { city: 'Casablanca', lat: 33.5731, lng: -7.5898 }, + 'Africa/Lagos': { city: 'Lagos', lat: 6.5244, lng: 3.3792 }, + // South + Southeast Asia + 'Asia/Karachi': { city: 'Karachi', lat: 24.8607, lng: 67.0011 }, + 'Asia/Tehran': { city: 'Tehran', lat: 35.6892, lng: 51.389 }, + 'Asia/Kabul': { city: 'Kabul', lat: 34.5553, lng: 69.2075 }, + 'Asia/Kolkata': { city: 'Delhi', lat: 28.6139, lng: 77.209 }, + 'Asia/Dhaka': { city: 'Dhaka', lat: 23.8103, lng: 90.4125 }, + 'Asia/Kathmandu': { city: 'Kathmandu', lat: 27.7172, lng: 85.324 }, + 'Asia/Kuala_Lumpur': { city: 'Kuala Lumpur', lat: 3.139, lng: 101.6869 }, + 'Asia/Singapore': { city: 'Singapore', lat: 1.3521, lng: 103.8198 }, + 'Asia/Jakarta': { city: 'Jakarta', lat: -6.2088, lng: 106.8456 }, + 'Asia/Manila': { city: 'Manila', lat: 14.5995, lng: 120.9842 }, + 'Asia/Bangkok': { city: 'Bangkok', lat: 13.7563, lng: 100.5018 }, + // Turkey + Central Asia + 'Europe/Istanbul': { city: 'Istanbul', lat: 41.0082, lng: 28.9784 }, + 'Asia/Tashkent': { city: 'Tashkent', lat: 41.2995, lng: 69.2401 }, + 'Asia/Almaty': { city: 'Almaty', lat: 43.222, lng: 76.8512 }, + // Europe + 'Europe/London': { city: 'London', lat: 51.5072, lng: -0.1276 }, + 'Europe/Paris': { city: 'Paris', lat: 48.8566, lng: 2.3522 }, + 'Europe/Berlin': { city: 'Berlin', lat: 52.52, lng: 13.405 }, + 'Europe/Madrid': { city: 'Madrid', lat: 40.4168, lng: -3.7038 }, + 'Europe/Rome': { city: 'Rome', lat: 41.9028, lng: 12.4964 }, + 'Europe/Amsterdam': { city: 'Amsterdam', lat: 52.3676, lng: 4.9041 }, + // Americas + 'America/New_York': { city: 'New York', lat: 40.7128, lng: -74.006 }, + 'America/Chicago': { city: 'Chicago', lat: 41.8781, lng: -87.6298 }, + 'America/Denver': { city: 'Denver', lat: 39.7392, lng: -104.9903 }, + 'America/Los_Angeles': { city: 'Los Angeles', lat: 34.0522, lng: -118.2437 }, + 'America/Toronto': { city: 'Toronto', lat: 43.6532, lng: -79.3832 }, + // Oceania + 'Australia/Sydney': { city: 'Sydney', lat: -33.8688, lng: 151.2093 }, + 'Australia/Melbourne': { city: 'Melbourne', lat: -37.8136, lng: 144.9631 }, +}; + +export const DEFAULT_CITY: TzCity = TABLE['Asia/Riyadh']!; + +export const cityForTz = (tz: string): TzCity => TABLE[tz] ?? DEFAULT_CITY; + +export const detectCity = (): TzCity => { + if (typeof Intl === 'undefined') return DEFAULT_CITY; + const tz = Intl.DateTimeFormat().resolvedOptions().timeZone; + return cityForTz(tz); +}; From 49aea127231511f68e4b1292898fba0ad1a2da8c Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Sat, 9 May 2026 12:30:01 +0300 Subject: [PATCH 040/121] feat: live prayer card island with hijri header and animated countdown --- src/components/svelte/PrayerCard.svelte | 287 ++++++++++++++++++++++++ 1 file changed, 287 insertions(+) create mode 100644 src/components/svelte/PrayerCard.svelte diff --git a/src/components/svelte/PrayerCard.svelte b/src/components/svelte/PrayerCard.svelte new file mode 100644 index 0000000..8957ac8 --- /dev/null +++ b/src/components/svelte/PrayerCard.svelte @@ -0,0 +1,287 @@ + + +
+
+ {cityLabel} + {#if day} + {@const today = new Date(day.timings.fajr)} + + {hijriDate(lang, today)} + {fmtGregorian(today)} + + {/if} +
+
+ +
+
+
{NEXT_LABEL[lang]} · {next?.label ?? '—'}
+
+ {next ? fmtTime(next.iso) : '—'} +
+
+ {#if minutesUntil != null && minutesUntil > 0} + {IN_LABEL[lang]} {minutesUntil} {MIN_LABEL[lang]} + {:else} +   + {/if} +
+
+ +
    + {#each rows.filter((r) => r.key !== next?.key) as r} +
  • + {r.label} + {fmtTime(r.iso)} +
  • + {/each} + {#if rows.length === 0} + {#each ORDER as k} + + {/each} + {/if} +
+
+ +
+ +
+ + From 6bc847776cb9619c286b74b085e15fdf619cc0e3 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Sat, 9 May 2026 12:30:01 +0300 Subject: [PATCH 041/121] feat(hero): switch to almanac variant with live prayer card --- src/components/home/Hero.astro | 61 ++-------------------------------- 1 file changed, 3 insertions(+), 58 deletions(-) diff --git a/src/components/home/Hero.astro b/src/components/home/Hero.astro index e225e21..10e2bad 100644 --- a/src/components/home/Hero.astro +++ b/src/components/home/Hero.astro @@ -2,6 +2,7 @@ import StoreRow from '@/components/StoreRow.astro'; import RelativeDate from '@/components/svelte/RelativeDate.svelte'; import HijriDate from '@/components/svelte/HijriDate.svelte'; +import PrayerCard from '@/components/svelte/PrayerCard.svelte'; import release from '@/data/release.json'; import { getLangFromUrl, useTranslations } from '@/i18n/utils'; import { hijriDate, relativeDays } from '@/lib/format'; @@ -57,16 +58,7 @@ const facts: [string, string][] = [
-
- -
- Home -
-
-
- Pl. I — Home - captured 14 Mar 2026 -
+
@@ -134,54 +126,7 @@ const facts: [string, string][] = [ } .hero-shot { - display: flex; - flex-direction: column; - align-items: center; - } - .phone { - width: 78%; - max-width: 360px; - aspect-ratio: 9 / 19.5; - border: 1px solid var(--outline-strong); - border-radius: 38px; - padding: 8px; - background: var(--bg-2); - position: relative; - filter: drop-shadow(0 30px 60px var(--shadow-lg)); - } - .notch { - position: absolute; - inset-block-start: 14px; - inset-inline-start: 50%; - transform: translateX(-50%); - width: 64px; - height: 18px; - border-radius: 999px; - background: var(--type); - opacity: 0.85; - z-index: 2; - } - .screen { - border-radius: 32px; - overflow: hidden; - height: 100%; - background: var(--bg); - display: grid; - place-items: center; - color: var(--type-2); - } - .screen-placeholder { - font-family: var(--f-mono); - font-size: 11px; - letter-spacing: 0.12em; - text-transform: uppercase; - } - .caption { - width: 78%; - max-width: 360px; - display: flex; - justify-content: space-between; - margin-top: 14px; + width: 100%; } .quiet-facts { From 248d2409222669721da04cd24827ab6782e58ea2 Mon Sep 17 00:00:00 2001 From: Fahad <42780409+F2had@users.noreply.github.com> Date: Sat, 9 May 2026 12:30:01 +0300 Subject: [PATCH 042/121] fix(a11y): drop redundant aria-label on brand link --- src/components/TopNav.astro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/TopNav.astro b/src/components/TopNav.astro index 46fe6cb..2fe013d 100644 --- a/src/components/TopNav.astro +++ b/src/components/TopNav.astro @@ -25,7 +25,7 @@ const isActive = (href: string) => current === href.replace(/\/$/, '');