From d25f14a79fc8d6fc7a7aaee83a9a4a7c3f9b4b44 Mon Sep 17 00:00:00 2001 From: Lawrence Chen <54008264+lawrencecchen@users.noreply.github.com> Date: Mon, 9 Feb 2026 20:51:27 -0800 Subject: [PATCH] Add landing page (web/) with Next.js + Tailwind - Minimal centered layout with Geist sans font - Typing animation cycling through agent names - Light/dark mode toggle via next-themes - Download for Mac button linking to latest DMG - Feature list, GitHub + Docs footer links - Meta tags and Open Graph for SEO - CI: add web typecheck job (tsc --noEmit) --- .github/workflows/ci.yml | 20 + web/.gitignore | 41 + web/app/apple-icon.png | Bin 0 -> 30800 bytes web/app/favicon.ico | Bin 0 -> 1516 bytes web/app/globals.css | 45 + web/app/icon.png | Bin 0 -> 1516 bytes web/app/layout.tsx | 60 + web/app/page.tsx | 132 + web/app/providers.tsx | 11 + web/app/theme.tsx | 57 + web/app/typing.tsx | 102 + web/eslint.config.mjs | 18 + web/next.config.ts | 7 + web/package-lock.json | 5845 ++++++++++++++++++++++++++++++++++++ web/package.json | 35 + web/postcss.config.mjs | 7 + web/public/icon.png | Bin 0 -> 30800 bytes web/public/macos-badge.png | Bin 0 -> 13866 bytes web/tsconfig.json | 34 + 19 files changed, 6414 insertions(+) create mode 100644 web/.gitignore create mode 100644 web/app/apple-icon.png create mode 100644 web/app/favicon.ico create mode 100644 web/app/globals.css create mode 100644 web/app/icon.png create mode 100644 web/app/layout.tsx create mode 100644 web/app/page.tsx create mode 100644 web/app/providers.tsx create mode 100644 web/app/theme.tsx create mode 100644 web/app/typing.tsx create mode 100644 web/eslint.config.mjs create mode 100644 web/next.config.ts create mode 100644 web/package-lock.json create mode 100644 web/package.json create mode 100644 web/postcss.config.mjs create mode 100644 web/public/icon.png create mode 100644 web/public/macos-badge.png create mode 100644 web/tsconfig.json diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a0b09cb7..57f73aa4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,6 +7,26 @@ on: pull_request: jobs: + web-typecheck: + runs-on: ubuntu-latest + defaults: + run: + working-directory: web + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: 22 + + - name: Install dependencies + run: npm ci + + - name: Typecheck + run: npx tsc --noEmit + ui-tests: runs-on: self-hosted concurrency: diff --git a/web/.gitignore b/web/.gitignore new file mode 100644 index 00000000..5ef6a520 --- /dev/null +++ b/web/.gitignore @@ -0,0 +1,41 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# env files (can opt-in for committing if needed) +.env* + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/web/app/apple-icon.png b/web/app/apple-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..37255441d73d3ade31167353079c9b616077ea83 GIT binary patch literal 30800 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∈gc_`04ZShH`6jmycm8plTkg}=1NQj?SX@nP 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 HWyJpgRjiM> literal 0 HcmV?d00001 diff --git a/web/app/favicon.ico b/web/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..1e3fd85b9267d1baf8f6eb70d54ad2bd633b805a GIT binary patch literal 1516 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 { + return ( + + + {children} + + + ); +} diff --git a/web/app/page.tsx b/web/app/page.tsx new file mode 100644 index 00000000..3f3869d6 --- /dev/null +++ b/web/app/page.tsx @@ -0,0 +1,132 @@ +import Image from "next/image"; +import { TypingTagline } from "./typing"; +import { ThemeToggle } from "./theme"; + + +export default function Home() { + return ( +
+ {/* Theme toggle */} +
+ +
+ +
+ {/* Header */} +
+ cmux icon +

cmux

+
+ + {/* Tagline */} +

+ A terminal built for +

+

+ Native macOS app built on Ghostty. Vertical tabs, notification rings + when agents need attention, split panes, and a socket API for + automation. +

+ + {/* Download */} + + + {/* Features */} +
+

+ Features +

+
    +
  • + - + + Notification rings + + : tabs flash when agents need your input + + +
  • +
  • + - + + Vertical tabs + + : see all your terminals at a glance in a sidebar + + +
  • +
  • + - + + GPU-accelerated + + : powered by libghostty for smooth rendering + + +
  • +
  • + - + + Split panes + + : horizontal and vertical splits within each tab + + +
  • +
  • + - + + Socket API + + : programmatic control for creating tabs, sending input + + +
  • +
  • + - + + Lightweight + + : native Swift + AppKit, no Electron + + +
  • +
+
+ + {/* Footer */} + +
+
+ ); +} diff --git a/web/app/providers.tsx b/web/app/providers.tsx new file mode 100644 index 00000000..acd83ac7 --- /dev/null +++ b/web/app/providers.tsx @@ -0,0 +1,11 @@ +"use client"; + +import { ThemeProvider } from "next-themes"; + +export function Providers({ children }: { children: React.ReactNode }) { + return ( + + {children} + + ); +} diff --git a/web/app/theme.tsx b/web/app/theme.tsx new file mode 100644 index 00000000..c85d3d88 --- /dev/null +++ b/web/app/theme.tsx @@ -0,0 +1,57 @@ +"use client"; + +import { useTheme } from "next-themes"; +import { useEffect, useState } from "react"; + +export function ThemeToggle() { + const { resolvedTheme, setTheme } = useTheme(); + const [mounted, setMounted] = useState(false); + + useEffect(() => setMounted(true), []); + + if (!mounted) return
; + + return ( + + ); +} diff --git a/web/app/typing.tsx b/web/app/typing.tsx new file mode 100644 index 00000000..891b2809 --- /dev/null +++ b/web/app/typing.tsx @@ -0,0 +1,102 @@ +"use client"; + +import { useEffect, useState } from "react"; + +const phrases = [ + "coding agents", + "multitasking", + "Claude Code", + "Codex", + "Opencode", + "Gemini", +]; + +export function TypingTagline() { + const [phraseIndex, setPhraseIndex] = useState(0); + const [charIndex, setCharIndex] = useState(0); + const [deleting, setDeleting] = useState(false); + const [showControls, setShowControls] = useState(false); + const [topOffset, setTopOffset] = useState(0); + const [blink, setBlink] = useState(true); + + useEffect(() => { + const handler = (e: KeyboardEvent) => { + if (e.key === "." && e.metaKey) { + e.preventDefault(); + setShowControls((s) => !s); + } + }; + window.addEventListener("keydown", handler); + return () => window.removeEventListener("keydown", handler); + }, []); + + useEffect(() => { + const phrase = phrases[phraseIndex]; + + if (!deleting && charIndex === phrase.length) { + const timeout = setTimeout(() => setDeleting(true), 2000); + return () => clearTimeout(timeout); + } + + if (deleting && charIndex === 0) { + setDeleting(false); + setPhraseIndex((i) => (i + 1) % phrases.length); + return; + } + + const speed = deleting ? 30 : 60; + const timeout = setTimeout(() => { + setCharIndex((c) => c + (deleting ? -1 : 1)); + }, speed); + + return () => clearTimeout(timeout); + }, [charIndex, deleting, phraseIndex]); + + const phrase = phrases[phraseIndex]; + const displayed = phrase.slice(0, charIndex); + const tailwindClass = + topOffset > 0 + ? `-top-[${topOffset}px]` + : topOffset < 0 + ? `top-[${Math.abs(topOffset)}px]` + : ""; + + return ( + + {displayed} + setShowControls((s) => !s)} + /> + {showControls && ( + + + + + {tailwindClass || "0px"} + + + )} + + ); +} diff --git a/web/eslint.config.mjs b/web/eslint.config.mjs new file mode 100644 index 00000000..05e726d1 --- /dev/null +++ b/web/eslint.config.mjs @@ -0,0 +1,18 @@ +import { defineConfig, globalIgnores } from "eslint/config"; +import nextVitals from "eslint-config-next/core-web-vitals"; +import nextTs from "eslint-config-next/typescript"; + +const eslintConfig = defineConfig([ + ...nextVitals, + ...nextTs, + // Override default ignores of eslint-config-next. + globalIgnores([ + // Default ignores of eslint-config-next: + ".next/**", + "out/**", + "build/**", + "next-env.d.ts", + ]), +]); + +export default eslintConfig; diff --git a/web/next.config.ts b/web/next.config.ts new file mode 100644 index 00000000..e9ffa308 --- /dev/null +++ b/web/next.config.ts @@ -0,0 +1,7 @@ +import type { NextConfig } from "next"; + +const nextConfig: NextConfig = { + /* config options here */ +}; + +export default nextConfig; diff --git a/web/package-lock.json b/web/package-lock.json new file mode 100644 index 00000000..4cc02e70 --- /dev/null +++ b/web/package-lock.json @@ -0,0 +1,5845 @@ +{ + "name": "web", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "web", + "version": "0.1.0", + "dependencies": { + "next": "16.1.6", + "next-themes": "^0.4.6", + "react": "19.2.3", + "react-dom": "19.2.3" + }, + "devDependencies": { + "@tailwindcss/postcss": "^4", + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "eslint": "^9", + "eslint-config-next": "16.1.6", + "tailwindcss": "^4", + "typescript": "^5" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/json5": { + "version": "2.2.3", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", + "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.1.0", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", + "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", + "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.2", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@img/colour": { + "version": "1.0.0", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" + } + }, + "node_modules/@next/env": { + "version": "16.1.6", + "license": "MIT" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "16.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-glob": "3.3.1" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "16.1.6", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "16.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.1.6.tgz", + "integrity": "sha512-BLFPYPDO+MNJsiDWbeVzqvYd4NyuRrEYVB5k2N3JfWncuHAy2IVwMAOlVQDFjj+krkWzhY2apvmekMkfQR0CUQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "16.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.1.6.tgz", + "integrity": "sha512-OJYkCd5pj/QloBvoEcJ2XiMnlJkRv9idWA/j0ugSuA34gMT6f5b7vOiCQHVRpvStoZUknhl6/UxOXL4OwtdaBw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "16.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.1.6.tgz", + "integrity": "sha512-S4J2v+8tT3NIO9u2q+S0G5KdvNDjXfAv06OhfOzNDaBn5rw84DGXWndOEB7d5/x852A20sW1M56vhC/tRVbccQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "16.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.1.6.tgz", + "integrity": "sha512-2eEBDkFlMMNQnkTyPBhQOAyn2qMxyG2eE7GPH2WIDGEpEILcBPI/jdSv4t6xupSP+ot/jkfrCShLAa7+ZUPcJQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "16.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.1.6.tgz", + "integrity": "sha512-oicJwRlyOoZXVlxmIMaTq7f8pN9QNbdes0q2FXfRsPhfCi8n8JmOZJm5oo1pwDaFbnnD421rVU409M3evFbIqg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "16.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.1.6.tgz", + "integrity": "sha512-gQmm8izDTPgs+DCWH22kcDmuUp7NyiJgEl18bcr8irXA5N2m2O+JQIr6f3ct42GOs9c0h8QF3L5SzIxcYAAXXw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "16.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.1.6.tgz", + "integrity": "sha512-NRfO39AIrzBnixKbjuo2YiYhB6o9d8v/ymU9m/Xk8cyVk+k7XylniXkHwjs4s70wedVffc6bQNbufk5v0xEm0A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@swc/helpers": { + "version": "0.5.15", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.1.18", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "enhanced-resolve": "^5.18.3", + "jiti": "^2.6.1", + "lightningcss": "1.30.2", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.18" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.18", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.18", + "@tailwindcss/oxide-darwin-arm64": "4.1.18", + "@tailwindcss/oxide-darwin-x64": "4.1.18", + "@tailwindcss/oxide-freebsd-x64": "4.1.18", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.18", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.18", + "@tailwindcss/oxide-linux-x64-musl": "4.1.18", + "@tailwindcss/oxide-wasm32-wasi": "4.1.18", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.18" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.18.tgz", + "integrity": "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.18", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.18.tgz", + "integrity": "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.18.tgz", + "integrity": "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.18.tgz", + "integrity": "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.18.tgz", + "integrity": "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.18.tgz", + "integrity": "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.18.tgz", + "integrity": "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.18.tgz", + "integrity": "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.18.tgz", + "integrity": "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.0", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.18.tgz", + "integrity": "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.18.tgz", + "integrity": "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/postcss": { + "version": "4.1.18", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "@tailwindcss/node": "4.1.18", + "@tailwindcss/oxide": "4.1.18", + "postcss": "^8.4.41", + "tailwindcss": "4.1.18" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.19.33", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.13", + "dev": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.55.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.55.0", + "@typescript-eslint/type-utils": "8.55.0", + "@typescript-eslint/utils": "8.55.0", + "@typescript-eslint/visitor-keys": "8.55.0", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.55.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.55.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.55.0", + "@typescript-eslint/types": "8.55.0", + "@typescript-eslint/typescript-estree": "8.55.0", + "@typescript-eslint/visitor-keys": "8.55.0", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.55.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.55.0", + "@typescript-eslint/types": "^8.55.0", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.55.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.55.0", + "@typescript-eslint/visitor-keys": "8.55.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.55.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.55.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.55.0", + "@typescript-eslint/typescript-estree": "8.55.0", + "@typescript-eslint/utils": "8.55.0", + "debug": "^4.4.3", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.55.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.55.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.55.0", + "@typescript-eslint/tsconfig-utils": "8.55.0", + "@typescript-eslint/types": "8.55.0", + "@typescript-eslint/visitor-keys": "8.55.0", + "debug": "^4.4.3", + "minimatch": "^9.0.5", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch/node_modules/brace-expansion": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.7.4", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.55.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.55.0", + "@typescript-eslint/types": "8.55.0", + "@typescript-eslint/typescript-estree": "8.55.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.55.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.55.0", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.11" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/acorn": { + "version": "8.15.0", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.9", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "dev": true, + "license": "MIT" + }, + "node_modules/async-function": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.11.1", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.19", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001769", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "dev": true, + "license": "MIT" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "devOptional": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.286", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "dev": true, + "license": "MIT" + }, + "node_modules/enhanced-resolve": { + "version": "5.19.0", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-abstract": { + "version": "1.24.1", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.1", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.1.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.3.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.5", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.39.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.2", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "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.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.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" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-next": { + "version": "16.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@next/eslint-plugin-next": "16.1.6", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-jsx-a11y": "^6.10.0", + "eslint-plugin-react": "^7.37.0", + "eslint-plugin-react-hooks": "^7.0.0", + "globals": "16.4.0", + "typescript-eslint": "^8.46.0" + }, + "peerDependencies": { + "eslint": ">=9.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.10.1", + "dev": true, + "license": "ISC", + "dependencies": { + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.4.0", + "get-tsconfig": "^4.10.0", + "is-bun-module": "^2.0.0", + "stable-hash": "^0.0.5", + "tinyglobby": "^0.2.13", + "unrs-resolver": "^1.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-import-resolver-typescript" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.1", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.32.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.1", + "hasown": "^2.0.2", + "is-core-module": "^2.16.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.1", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.9", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "dev": true, + "license": "MIT", + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.24.4", + "@babel/parser": "^7.24.4", + "hermes-parser": "^0.25.1", + "zod": "^3.25.0 || ^4.0.0", + "zod-validation-error": "^3.5.0 || ^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.20.1", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "dev": true, + "license": "ISC" + }, + "node_modules/for-each": { + "version": "0.3.5", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/generator-function": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.13.6", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "16.4.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "dev": true, + "license": "ISC" + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hermes-estree": { + "version": "0.25.1", + "dev": true, + "license": "MIT" + }, + "node_modules/hermes-parser": { + "version": "0.25.1", + "dev": true, + "license": "MIT", + "dependencies": { + "hermes-estree": "0.25.1" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bun-module": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.7.1" + } + }, + "node_modules/is-bun-module/node_modules/semver": { + "version": "7.7.4", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/jiti": { + "version": "2.6.1", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lightningcss": { + "version": "1.30.2", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.30.2", + "lightningcss-darwin-arm64": "1.30.2", + "lightningcss-darwin-x64": "1.30.2", + "lightningcss-freebsd-x64": "1.30.2", + "lightningcss-linux-arm-gnueabihf": "1.30.2", + "lightningcss-linux-arm64-gnu": "1.30.2", + "lightningcss-linux-arm64-musl": "1.30.2", + "lightningcss-linux-x64-gnu": "1.30.2", + "lightningcss-linux-x64-musl": "1.30.2", + "lightningcss-win32-arm64-msvc": "1.30.2", + "lightningcss-win32-x64-msvc": "1.30.2" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", + "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.2", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", + "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", + "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", + "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", + "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", + "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", + "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", + "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", + "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", + "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "dev": true, + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-postinstall": { + "version": "0.3.4", + "dev": true, + "license": "MIT", + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/next": { + "version": "16.1.6", + "license": "MIT", + "dependencies": { + "@next/env": "16.1.6", + "@swc/helpers": "0.5.15", + "baseline-browser-mapping": "^2.8.3", + "caniuse-lite": "^1.0.30001579", + "postcss": "8.4.31", + "styled-jsx": "5.1.6" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=20.9.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "16.1.6", + "@next/swc-darwin-x64": "16.1.6", + "@next/swc-linux-arm64-gnu": "16.1.6", + "@next/swc-linux-arm64-musl": "16.1.6", + "@next/swc-linux-x64-gnu": "16.1.6", + "@next/swc-linux-x64-musl": "16.1.6", + "@next/swc-win32-arm64-msvc": "16.1.6", + "@next/swc-win32-x64-msvc": "16.1.6", + "sharp": "^0.34.4" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.51.1", + "babel-plugin-react-compiler": "*", + "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next-themes": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.4.6.tgz", + "integrity": "sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc" + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.31", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/node-releases": { + "version": "2.0.27", + "dev": true, + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.9", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/react": { + "version": "19.2.3", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.3", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.3" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "dev": true, + "license": "MIT" + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve": { + "version": "1.22.11", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/sharp": { + "version": "0.34.5", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "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" + } + }, + "node_modules/sharp/node_modules/semver": { + "version": "7.7.4", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stable-hash": { + "version": "0.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.6", + "license": "MIT", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "4.1.18", + "dev": true, + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-api-utils": { + "version": "2.4.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.55.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.55.0", + "@typescript-eslint/parser": "8.55.0", + "@typescript-eslint/typescript-estree": "8.55.0", + "@typescript-eslint/utils": "8.55.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "dev": true, + "license": "MIT" + }, + "node_modules/unrs-resolver": { + "version": "1.11.1", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.3.0" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", + "@unrs/resolver-binding-android-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-x64": "1.11.1", + "@unrs/resolver-binding-freebsd-x64": "1.11.1", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.20", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.3.6", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-validation-error": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "zod": "^3.25.0 || ^4.0.0" + } + } + } +} diff --git a/web/package.json b/web/package.json new file mode 100644 index 00000000..1815bc4d --- /dev/null +++ b/web/package.json @@ -0,0 +1,35 @@ +{ + "name": "web", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "eslint" + }, + "dependencies": { + "next": "16.1.6", + "next-themes": "^0.4.6", + "react": "19.2.3", + "react-dom": "19.2.3" + }, + "devDependencies": { + "@tailwindcss/postcss": "^4", + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "eslint": "^9", + "eslint-config-next": "16.1.6", + "tailwindcss": "^4", + "typescript": "^5" + }, + "ignoreScripts": [ + "sharp", + "unrs-resolver" + ], + "trustedDependencies": [ + "sharp", + "unrs-resolver" + ] +} diff --git a/web/postcss.config.mjs b/web/postcss.config.mjs new file mode 100644 index 00000000..61e36849 --- /dev/null +++ b/web/postcss.config.mjs @@ -0,0 +1,7 @@ +const config = { + plugins: { + "@tailwindcss/postcss": {}, + }, +}; + +export default config; diff --git a/web/public/icon.png b/web/public/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..37255441d73d3ade31167353079c9b616077ea83 GIT binary patch literal 30800 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∈gc_`04ZShH`6jmycm8plTkg}=1NQj?SX@nP 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 HWyJpgRjiM> literal 0 HcmV?d00001 diff --git a/web/public/macos-badge.png b/web/public/macos-badge.png new file mode 100644 index 0000000000000000000000000000000000000000..c76acf8361a760a085c7c7dd93b791fb17875eb9 GIT binary patch literal 13866 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 literal 0 HcmV?d00001 diff --git a/web/tsconfig.json b/web/tsconfig.json new file mode 100644 index 00000000..3a13f90a --- /dev/null +++ b/web/tsconfig.json @@ -0,0 +1,34 @@ +{ + "compilerOptions": { + "target": "ES2017", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "react-jsx", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": ["./*"] + } + }, + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + ".next/dev/types/**/*.ts", + "**/*.mts" + ], + "exclude": ["node_modules"] +}