From 514ee9a2e3541db65f6934a425d291de9782e7ce Mon Sep 17 00:00:00 2001 From: m3tam3re Date: Thu, 16 Jul 2026 15:05:58 +0200 Subject: [PATCH] first --- .dockerignore | 8 + .env.example | 4 + .gitignore | 45 + Dockerfile | 52 + docker-compose.yml | 15 + eslint.config.mjs | 18 + fields.json | Bin 0 -> 223582 bytes flake.lock | 27 + flake.nix | 75 + next.config.ts | 8 + nixos/module.nix | 94 + old_overview.txt | Bin 0 -> 4150 bytes package-lock.json | 6555 +++++++++++++++++++++++++++++ package.json | 26 + public/file.svg | 1 + public/globe.svg | 1 + public/next.svg | 1 + public/vercel.svg | 1 + public/window.svg | 1 + src/app/api/campaigns/route.ts | 73 + src/app/api/login/route.ts | 20 + src/app/api/phishing/route.ts | 76 + src/app/globals.css | 252 ++ src/app/icon.png | Bin 0 -> 261181 bytes src/app/layout.tsx | 19 + src/app/login/page.tsx | 60 + src/app/page.tsx | 544 +++ src/components/AnimatedNumber.tsx | 35 + src/components/CampaignTab.tsx | 64 + src/components/InteractionTab.tsx | 69 + src/components/MatrixTab.tsx | 72 + src/components/OverviewTab.tsx | 147 + src/components/TrendTab.tsx | 33 + src/components/UserTab.tsx | 497 +++ src/lib/utils.ts | 31 + src/proxy.ts | 24 + src/types/index.ts | 38 + tsconfig.json | 34 + 38 files changed, 9020 insertions(+) create mode 100644 .dockerignore create mode 100644 .env.example create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 docker-compose.yml create mode 100644 eslint.config.mjs create mode 100644 fields.json create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 next.config.ts create mode 100644 nixos/module.nix create mode 100644 old_overview.txt create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/file.svg create mode 100644 public/globe.svg create mode 100644 public/next.svg create mode 100644 public/vercel.svg create mode 100644 public/window.svg create mode 100644 src/app/api/campaigns/route.ts create mode 100644 src/app/api/login/route.ts create mode 100644 src/app/api/phishing/route.ts create mode 100644 src/app/globals.css create mode 100644 src/app/icon.png create mode 100644 src/app/layout.tsx create mode 100644 src/app/login/page.tsx create mode 100644 src/app/page.tsx create mode 100644 src/components/AnimatedNumber.tsx create mode 100644 src/components/CampaignTab.tsx create mode 100644 src/components/InteractionTab.tsx create mode 100644 src/components/MatrixTab.tsx create mode 100644 src/components/OverviewTab.tsx create mode 100644 src/components/TrendTab.tsx create mode 100644 src/components/UserTab.tsx create mode 100644 src/lib/utils.ts create mode 100644 src/proxy.ts create mode 100644 src/types/index.ts create mode 100644 tsconfig.json diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..6217a27 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,8 @@ +Dockerfile +.dockerignore +node_modules +npm-debug.log +README.md +.next +.git +.env diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..fba041f --- /dev/null +++ b/.env.example @@ -0,0 +1,4 @@ +BASEROW_API_TOKEN=your_baserow_api_token_here +BASEROW_PHISHING_TABLE_URL=https://your-baserow-instance.com/database/YOUR_DB_ID/table/YOUR_TABLE_ID_1 +BASEROW_CAMPAIGNS_TABLE_URL=https://your-baserow-instance.com/database/YOUR_DB_ID/table/YOUR_TABLE_ID_2 +DASHBOARD_PASSWORD=your_secure_password diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9b97caa --- /dev/null +++ b/.gitignore @@ -0,0 +1,45 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# agent stugg +.pi* + +# 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 +result + +# 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/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e4d42a9 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,52 @@ +FROM node:18-alpine AS base + +# Install dependencies only when needed +FROM base AS deps +# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed. +RUN apk add --no-cache libc6-compat +WORKDIR /app + +# Install dependencies based on the preferred package manager +COPY package.json package-lock.json* ./ +RUN npm ci + +# Rebuild the source code only when needed +FROM base AS builder +WORKDIR /app +COPY --from=deps /app/node_modules ./node_modules +COPY . . + +# Next.js telemetry is disabled +ENV NEXT_TELEMETRY_DISABLED 1 + +RUN npm run build + +# Production image, copy all the files and run next +FROM base AS runner +WORKDIR /app + +ENV NODE_ENV production +ENV NEXT_TELEMETRY_DISABLED 1 + +RUN addgroup --system --gid 1001 nodejs +RUN adduser --system --uid 1001 nextjs + +COPY --from=builder /app/public ./public + +# Set the correct permission for prerender cache +RUN mkdir .next +RUN chown nextjs:nodejs .next + +# Automatically leverage output traces to reduce image size +# https://nextjs.org/docs/advanced-features/output-file-tracing +COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ +COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static + +USER nextjs + +EXPOSE 3000 + +ENV PORT 3000 +ENV HOSTNAME "0.0.0.0" + +CMD ["node", "server.js"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..1aef85c --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,15 @@ +version: '3.8' + +services: + dashboard: + build: + context: . + dockerfile: Dockerfile + container_name: phishing_dashboard + ports: + - "3000:3000" + environment: + - BASEROW_API_TOKEN=${BASEROW_API_TOKEN} + - BASEROW_TABLE_URL=${BASEROW_TABLE_URL} + - DASHBOARD_PASSWORD=${DASHBOARD_PASSWORD} + restart: always diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..05e726d --- /dev/null +++ b/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/fields.json b/fields.json new file mode 100644 index 0000000000000000000000000000000000000000..9d4350e6e3f242eb08706543285b4e0a6a0d8b38 GIT binary patch literal 223582 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 YaAwG7C}jZM>If^bKx@}PB`d@<0D(z#WdHyG literal 0 HcmV?d00001 diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..c1c930c --- /dev/null +++ b/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1784011430, + "narHash": "sha256-lDebytrYdd47IBLwvNOD+6AGeoqZ78CIKlp70hzW280=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "8eeec934ae0dbeca3d7868c059568a65c08b2fc3", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-26.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..624e6fc --- /dev/null +++ b/flake.nix @@ -0,0 +1,75 @@ +{ + description = "AZ Phishboard - Next.js phishing simulation dashboard"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05"; + }; + + outputs = { + self, + nixpkgs, + }: let + systems = [ + "aarch64-linux" + "x86_64-linux" + ]; + + forAllSystems = nixpkgs.lib.genAttrs systems; + in { + nixosModules.default = import ./nixos/module.nix; + + packages = forAllSystems (system: let + pkgs = nixpkgs.legacyPackages.${system}; + in { + default = pkgs.buildNpmPackage { + pname = "phishboard"; + version = "0.1.0"; + + src = self; + + nodejs = pkgs.nodejs_22; + npmDepsHash = "sha256-4BheNdfPgXQFjAiaRyxMpmhCk/H6puSPxjxh+PY2ljA="; + + NEXT_TELEMETRY_DISABLED = "1"; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp -r .next/standalone/. $out/ + mkdir -p $out/.next + cp -r .next/static $out/.next/static + + if [ -d public ]; then + cp -r public $out/public + fi + + runHook postInstall + ''; + + meta = with pkgs.lib; { + description = "AZ Phishboard Next.js dashboard"; + homepage = "https://pb.l.az-gruppe.com"; + platforms = platforms.linux; + }; + }; + }); + + devShells = forAllSystems (system: let + pkgs = nixpkgs.legacyPackages.${system}; + in { + default = pkgs.mkShell { + packages = with pkgs; [ + nodejs_22 + typescript + ]; + + shellHook = '' + echo "Phishboard development environment" + echo "Node: $(node --version)" + echo "npm: $(npm --version)" + ''; + }; + }); + }; +} diff --git a/next.config.ts b/next.config.ts new file mode 100644 index 0000000..54db459 --- /dev/null +++ b/next.config.ts @@ -0,0 +1,8 @@ +import type { NextConfig } from "next"; + +const nextConfig: NextConfig = { + output: 'standalone', +}; + +export default nextConfig; + diff --git a/nixos/module.nix b/nixos/module.nix new file mode 100644 index 0000000..3c4eb38 --- /dev/null +++ b/nixos/module.nix @@ -0,0 +1,94 @@ +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.services.phishboard; +in { + options.services.phishboard = { + enable = lib.mkEnableOption "AZ Phishboard Next.js service"; + + package = lib.mkOption { + type = lib.types.nullOr lib.types.package; + default = null; + description = "Phishboard package to run."; + }; + + host = lib.mkOption { + type = lib.types.str; + default = "127.0.0.1"; + description = "Host address the Phishboard service should bind to."; + }; + + port = lib.mkOption { + type = lib.types.port; + default = 3000; + description = "Port the Phishboard service should listen on."; + }; + + environmentFile = lib.mkOption { + type = lib.types.nullOr lib.types.path; + default = null; + description = '' + File containing runtime environment variables, for example + BASEROW_API_TOKEN, BASEROW_PHISHING_TABLE_URL, + BASEROW_CAMPAIGNS_TABLE_URL, and DASHBOARD_PASSWORD. + ''; + }; + }; + + config = lib.mkIf cfg.enable { + assertions = [ + { + assertion = cfg.package != null; + message = "services.phishboard.package must be set."; + } + ]; + + systemd.services.phishboard = { + description = "AZ Phishboard"; + wantedBy = ["multi-user.target"]; + after = ["network-online.target"]; + wants = ["network-online.target"]; + + environment = { + HOSTNAME = cfg.host; + PORT = toString cfg.port; + NODE_ENV = "production"; + NEXT_TELEMETRY_DISABLED = "1"; + }; + + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.nodejs_22}/bin/node ${cfg.package}/server.js"; + WorkingDirectory = cfg.package; + DynamicUser = true; + Restart = "on-failure"; + RestartSec = "10s"; + + CapabilityBoundingSet = ""; + LockPersonality = true; + NoNewPrivileges = true; + PrivateDevices = true; + PrivateTmp = true; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectSystem = "strict"; + RestrictAddressFamilies = ["AF_UNIX" "AF_INET" "AF_INET6"]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + SystemCallFilter = ["@system-service" "~@privileged"]; + } // lib.optionalAttrs (cfg.environmentFile != null) { + EnvironmentFile = cfg.environmentFile; + }; + }; + }; +} diff --git a/old_overview.txt b/old_overview.txt new file mode 100644 index 0000000000000000000000000000000000000000..d91a233eb7a7a80d517232f9e6280fc65da0b72c GIT binary patch literal 4150 zcmezWPl+LuA(x?mA)ld$p@cz!A&4QBA(0^&%uZt{V#sI6Wl&&HXDEV;t208oZ?UW=LfyVkidlTp21EQo*bch9ZVUhGK>c1|u*(m?489 zlOdHMharW*ks$}HrvxnH%#gv5%8<;E&EU+C$xy_Q43-6%4Kf2_Qzk4Jiyx42cXW3=mzo+?B|X#83=&aVa=7@vF{bNM!)2 z1EujC27iV;h8%`UJT}yVLmm`csSFiJxiFa_pCON-7@P|caRv%ykWV4`Q;)%o!I{AZ zYn<9KC@|PEC@^R+fbu13tb%e7di;UJkYftOM}#hFjG)Sa+>-{*VYovW;ucUU%mJ4Q zAQRBT6`LCDp^2^%luI8cD%ZUfn(z<}v%dyKL{0h}*2ko<`1UPT5422gx}LIb2*1FdXPV9-Yi zA#~j!A89ctFc>lzFo4VerF{biO{7@D^a~;;aQOig^T_2ErY|67V7eYtC#w5l`bcwk z3Iiyufzl}`w_=YGT?PdPhz!IINGXghMnR?(GZZl7FeEZmf@^Y^$=G8Q(@&sKPGC@B zsAlkG0M$qt40_;t0+Qx5P~4%(P|KjokN}Mln0r9}0hK$r@-8H2AWVn2OoIXB_B4hx za7wmeP+%}%&|@$J^AI^2l!8HSM&w-$aQO)mhhZBAPzZqP7Eo;l3W;KdVg^5kM21|3 zR0dmy7zQP9%?)Wk=z{Yf$nIpYe?hGvP`(A(0&2kp*q+P7U0@6mq8ue?x4h05CiDScn+=3~F z+5@uRkii7pq5;(wsIJOoNMtBtNC*2dh#`|9ogssv1e|Zx8B7=o7%Jed0_8?K21soL zat|^N1J|1AVE=;JI~iaTs=+Y^3Tsdp!%`cj2{sJ+@EAe$J91uz=!2yp^toPp#Ekjv5a!|HoPO$sUJ@YPtLGE0#GyX~M{f=veE z0&KqUWPrE{W-m5Bfow#$5ac#U%N9~bq07M9wh%kfeGO`xLQ=RhxHJIe0fgPy!UJSG zD0L%r>Vn%Npp;g^kjVgQJAvdOt^u)-Rf2L!IyeU*R6<+^3k^_?!j*3c<=JY61cG@M zRAwPugz$AOLjsQ6K}nvqVL-$vD1<y%YC&-${9kytpj3u52$@4P@X{*fus+R-#}?2jR92_pL*o>97r9u zwmYIkL2X%s`gkDUl``ajTi0m}pt=pz-^~P<;R+1ceT=Oojp|}hs}`G2K;p|pUW7q)mEUA6IOEbGH@~2fO8il96+@`q&;fN ZV8CF`V8o!nki<|4?)wxo*fD_A0{|Nl#RdQX literal 0 HcmV?d00001 diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..fc5f76a --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6555 @@ +{ + "name": "dashboard", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "dashboard", + "version": "0.1.0", + "dependencies": { + "lucide-react": "^1.24.0", + "next": "16.2.10", + "react": "19.2.4", + "react-dom": "19.2.4", + "recharts": "^3.9.2" + }, + "devDependencies": { + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "eslint": "^9", + "eslint-config-next": "16.2.10", + "typescript": "^5" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", + "@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/generator": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz", + "integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", + "@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.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "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.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", + "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz", + "integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.2.tgz", + "integrity": "sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "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", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz", + "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.5" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "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", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "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.5", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz", + "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.14.0", + "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.5", + "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/js": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", + "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", + "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", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "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", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "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.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/types": "^0.15.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@img/colour": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "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", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "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" + ], + "libc": [ + "glibc" + ], + "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" + ], + "libc": [ + "glibc" + ], + "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" + ], + "libc": [ + "glibc" + ], + "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" + ], + "libc": [ + "glibc" + ], + "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" + ], + "libc": [ + "glibc" + ], + "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" + ], + "libc": [ + "glibc" + ], + "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" + ], + "libc": [ + "musl" + ], + "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" + ], + "libc": [ + "musl" + ], + "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" + ], + "libc": [ + "glibc" + ], + "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" + ], + "libc": [ + "glibc" + ], + "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" + ], + "libc": [ + "glibc" + ], + "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" + ], + "libc": [ + "glibc" + ], + "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" + ], + "libc": [ + "glibc" + ], + "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" + ], + "libc": [ + "glibc" + ], + "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" + ], + "libc": [ + "musl" + ], + "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" + ], + "libc": [ + "musl" + ], + "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", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "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", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "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", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.6.tgz", + "integrity": "sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.3" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@next/env": { + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.10.tgz", + "integrity": "sha512-zLPxg9M0MEHmygpj5OuxjQ+vHMiy/K7cSp74G8ecYolmgUWw0RwN02tF56npup/+qaI8JB97hQgS/r2Hb6QwVA==", + "license": "MIT" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-16.2.10.tgz", + "integrity": "sha512-Gs8D2m21VnJeFo9qvYIIqJH94frWerWYu41BprU1pLtRVF7PCQNLiFZZ3fG+iPuj3K83Cwv/rt+msLOy8Qgu3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-glob": "3.3.1" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.10.tgz", + "integrity": "sha512-v9IdJCa0H0mbo+8z5zwUpOk1Vj7RjkcI5uNYf5Ws1y6szf/p3Mzl9hLaST8SCt6L9h8NGnruZcd2+o0NTNwDhA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.10.tgz", + "integrity": "sha512-17IS0jJRViROGmA9uGdNR8VPJpfbnaVG7E9qhso5jDLkmyd0lSDORWxbcKINzcFqzZqGwGtMSnrFRxBpuUYjLQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.10.tgz", + "integrity": "sha512-GRQRsRtuciNJvB54AvvuQTiq0oZtFwa1owQqtZD8wwnGpM2L39MV22kpI72YSXLKIyY40LC66EiLFv4PiicXxg==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.10.tgz", + "integrity": "sha512-zkN9MQYS7UQBro+FnISUq1itaQjXI9xqISzuQ+2bc921NcJ1x4yPCqrn77tVN6/dOOXaaWVX3k6/bR07pPwK+A==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.10.tgz", + "integrity": "sha512-iCVJnwvrPYECvA6WM/7+oo+OiTvedIKLxtCLAZP4xZR3nXa1zmzZyLPbYCmWvpd4CvMYF1EMTafd0ii3DygLvA==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.10.tgz", + "integrity": "sha512-ov2g4H0dHY9bPoOU83m91hWT7Iq5qy13bUnyyshLU3HGR1Ownn0X9QpmDPc5iIUaahTp7f7LeGAhV4DSFtackw==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.10.tgz", + "integrity": "sha512-DwAnhLX76HQiFFQNgWlcK+JzlnD1rZ+UK/WY0ZMI/deXpvgnesjNYrqcfo1JzBuz4Kf7o3brIBL0glI1junatA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.10.tgz", + "integrity": "sha512-0JXq3b85Jk9Jg4ntLUbXSPvoDw3gpZou7twuKdoFG2jOw635v7+IiXfTaa0TxVMyx78pUjnrVYwLgjKfX4e6/A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@reduxjs/toolkit": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.12.0.tgz", + "integrity": "sha512-KiT+RzZbp6mQET+Mg+h2c97+9j1sNflUxQkIHI7Yuzf6Peu+OYpmkn6nbHWmLLWj+1ZODUJFwGZ7gx3L9R9EOw==", + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "@standard-schema/utils": "^0.3.0", + "immer": "^11.0.0", + "redux": "^5.0.1", + "redux-thunk": "^3.1.0", + "reselect": "^5.1.0" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18 || ^19", + "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } + } + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "license": "MIT" + }, + "node_modules/@standard-schema/utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@standard-schema/utils/-/utils-0.3.0.tgz", + "integrity": "sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==", + "license": "MIT" + }, + "node_modules/@swc/helpers": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz", + "integrity": "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz", + "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==", + "license": "MIT" + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", + "license": "MIT" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", + "license": "MIT" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "license": "MIT", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz", + "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==", + "license": "MIT" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz", + "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", + "license": "MIT", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-shape": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.8.tgz", + "integrity": "sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==", + "license": "MIT", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", + "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==", + "license": "MIT" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.19.43", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz", + "integrity": "sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.17", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.17.tgz", + "integrity": "sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz", + "integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==", + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.63.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.63.0.tgz", + "integrity": "sha512-rvwSgqT+DHpWdzfSzPatRLm02a0GlESt++9iy3hLCDY4BgkaLcl8LBi9Yh7XGFBpwcBE/K3024QuXWTpbz4FfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.63.0", + "@typescript-eslint/type-utils": "8.63.0", + "@typescript-eslint/utils": "8.63.0", + "@typescript-eslint/visitor-keys": "8.63.0", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.5.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.63.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.6.tgz", + "integrity": "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.63.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.63.0.tgz", + "integrity": "sha512-gwh4gvvlaVDKKxyfxMG+Gnu1u9X0OQBwyGLkbwB65dIzBKnxeRiJlNFqlI3zwVhNXJIs6qV7mlFCn/BIajlVig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.63.0", + "@typescript-eslint/types": "8.63.0", + "@typescript-eslint/typescript-estree": "8.63.0", + "@typescript-eslint/visitor-keys": "8.63.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 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.63.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.63.0.tgz", + "integrity": "sha512-e5dh0/UI0ok53AlZ5wRkXCB32z/f2jUZqPR/ygAw5WYaSw8j9EoJWlS7wQjr/dmOaqWjnPIn2m+HhVPCMWGZVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.63.0", + "@typescript-eslint/types": "^8.63.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.1.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.63.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.63.0.tgz", + "integrity": "sha512-uUyfMWCnDSN8bCpcrY8nGP2BLkQ9Xn0GsipcONcpIDWhwhO4ZSyHvyS14U3X75mzxWxL3I2UZIrenTzdzcJO8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.63.0", + "@typescript-eslint/visitor-keys": "8.63.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.63.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.63.0.tgz", + "integrity": "sha512-sUAbkulqBAsncKnbRP3+7CtQFRKicexnj7ZwNC6ddCR7EmrXvjvdCYMJbUIqMd6lwoEriZjwLo08aS5tSjVMHg==", + "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.1.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.63.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.63.0.tgz", + "integrity": "sha512-Nzzh/OGxVCOjObjaj1CQF2RUasyYy2Jfuh+zZ3PjLzG2fYRriAiZLib9UKtO+CpQAS3YHiAS+ckZDclwqI1TPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.63.0", + "@typescript-eslint/typescript-estree": "8.63.0", + "@typescript-eslint/utils": "8.63.0", + "debug": "^4.4.3", + "ts-api-utils": "^2.5.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 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.63.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.63.0.tgz", + "integrity": "sha512-xyLtl9DUBBFrcJS4x2pIqGLH68/tC2uOa4Z7pUteW09D3bXnnXUom4dyPikzWgB7llmIc1zoeI3aoUdC4rPK/Q==", + "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.63.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.63.0.tgz", + "integrity": "sha512-ygBkU+B7ex5UI/gKhaqexWev79uISfIv7XQCRNYO/jmD8rGLPyWLAb3KMRT6nd8Gt9bmUBi9+iX6tBdYfOY81Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.63.0", + "@typescript-eslint/tsconfig-utils": "8.63.0", + "@typescript-eslint/types": "8.63.0", + "@typescript-eslint/visitor-keys": "8.63.0", + "debug": "^4.4.3", + "minimatch": "^10.2.2", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.5.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.1.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.7.tgz", + "integrity": "sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.63.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.63.0.tgz", + "integrity": "sha512-fUKaeAvrTuQg/Tgt3nliAUSZHJM6DlCcfyEmxCvlX8kieWSStBX+5O5Fnidtc3i2JrH+9c/GL4RY2iasd/GPTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.63.0", + "@typescript-eslint/types": "8.63.0", + "@typescript-eslint/typescript-estree": "8.63.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 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.63.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.63.0.tgz", + "integrity": "sha512-UexrHGnGTpbuQHct2ExOc2ZcFbGUS9FOesCxxqdBGcpI1BxYu/LZ6U8Aq6/72XtF/qRBk9nhuGHFJIXXMhPMdw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.63.0", + "eslint-visitor-keys": "^5.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.12.2.tgz", + "integrity": "sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.12.2.tgz", + "integrity": "sha512-YGCRZv/9GLhwmz6mYDeTsm/92BAyR28l6c2ReweVW5pWgfsitWLY8upvfRlGdoyD8HjeTHSYJWyZGD4KJA/nFQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.12.2.tgz", + "integrity": "sha512-u9DiNT1auQMO20A9SyTuG3wUgQWB9Z7KjAg0uFuCDR1FsAY8A0CG2S6JpHS1xwm/w1G08bjXZDcyOCjv1WAm2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.12.2.tgz", + "integrity": "sha512-f7rPLi/T1HVKZu/u6t87lroib16n8vrSzcyxI7lg4BGO9UF26KhQL44sd9eOUgrTYhvRXtWOIZT5PejdPyJfUA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.12.2.tgz", + "integrity": "sha512-BpcOjWCJub6nRZUS2zA20pmLvjtqAtGejETaIyRLiZiQf++cbrjltLA5NN/xaXfqeOBOSlMFbemIl5/S5tljmg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.12.2.tgz", + "integrity": "sha512-vZTDvdSISZjJx66OzJqtsOhzifbqRjbmI1Mnu49fQDwog5GtDI4QidRiEAYbZCRj9C8YZEW+3ZjqsyS9GR4k2A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.12.2.tgz", + "integrity": "sha512-BiPI+IrIlwcW4nLLMM21+B1dFPzd55yAVgVGrdgDjNef+ch03GdxrcyaIz8X9SsQirh/kCQ7mviyWlMxdh2D7g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.12.2.tgz", + "integrity": "sha512-zJc0H99FEPoFfSrNpa91HYfxzfAJCr502oxNK1cfdC9hlaFI43RT+JFCann9JUgZmLzzntChHyn13Sgn9ljHNg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.12.2.tgz", + "integrity": "sha512-KQ3Lki6l+Pz1k/eBipN41ES+YUK30beLGb9YqcB1O542cyLCNE6GaxrfcY3T6EezmGGk84wb5XyO9loTM9tkcA==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-loong64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-gnu/-/resolver-binding-linux-loong64-gnu-1.12.2.tgz", + "integrity": "sha512-3SJGEh1DborhG6pyxvhPzCT4bbSIVihsvgJc13P1bHG7KLdNDaF9T3gsTwFc7Jw/5Y5/iWOjkEx7Zy0NvCGX3Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-loong64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-musl/-/resolver-binding-linux-loong64-musl-1.12.2.tgz", + "integrity": "sha512-jiuG/Obbel7uw1PwHNFfrkiKhLAF6mnyZ6aWlOAVN9WqKm8v0OFGnciJIHu8+CMvXLQ8AD51LPzAoUfT21D5Ew==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.12.2.tgz", + "integrity": "sha512-q7xRvVpmcfeL+LlZg8Pbbo6QaTZwDU5BaGZbwfhkEsXJn3Was8xYfE0RBH266xZt0rM6B7i8xAYIvjthuUIWHg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.12.2.tgz", + "integrity": "sha512-0CVdx6lcnT3Q9inOH8tsMIOJ6ImndllMjqJHg8RLVdB7Vq4SfkEXl9mCSsVNuNA4MCYycRicCUxPCabVHJRr6A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.12.2.tgz", + "integrity": "sha512-iOwlRo9vnp6R6ohHQS11n0NnfdXx/omhkocmIfaPRpQhKZ+3BDMkkdRVh53qjkFkpPddf+FETA28NwGN7l5l+w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.12.2.tgz", + "integrity": "sha512-HYJtLfXq94q8iZNFT1lknx258wlkkWhZeUXJRqzKBBUJ00CvZ+N33zgbCqimLjsyw5Va6uUxhVa12mI+kaveEw==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.12.2.tgz", + "integrity": "sha512-mPsUhunKKDih5O96Y6enDQyHc1SqBPlY1E/SfMWDM3EdJ95Z9CArPeCVwCCqbP45ljvivdEk8Fxn+SIb1rDAJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.12.2.tgz", + "integrity": "sha512-azrt6+5ydLd8Vt210AAFis/lZevSfPw93EJRIJG+xPu4WCJ8K0kppCTpMyLPcKT7H15M4Jnt2tMp5bOvCkRC6A==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-openharmony-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-openharmony-arm64/-/resolver-binding-openharmony-arm64-1.12.2.tgz", + "integrity": "sha512-YZ9hP4O0X9PQb8eO980qmLNGH4zT3I9+SZTdt0Pr0YyuGQhYKoOZkV02VzrzyOZJ5xIJ3UFIenKkUkGg8GjgWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.12.2.tgz", + "integrity": "sha512-tYFDIkMxSflfEc/h92ZWNsZlHSwgimbNHSO3PL2JWQHfCuC2q316jMyYU9TIWZsFK2bQwyK5VAdYgn8ygPj69A==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi/node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.12.2.tgz", + "integrity": "sha512-qzNyg3xL0VPQmCaUh+N5jSitce6k+uCBfMDesWRnlULOZaqUkaJ0ybdT+UqlAWJoQjuqfIU/0Ptx9bteN4D82g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.12.2.tgz", + "integrity": "sha512-WD9sY00OfpHVGfsnHZoA8jVT+esS/Bg8z8jzxp5BnDCjjwsuKsPQrzswwpFy4J1AUJbXPRfkpcX0mXrzeXW79g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.12.2.tgz", + "integrity": "sha512-nAB74NfSNKknqQ1RrYj6uz8FcXEomu/MATJZxh/x+BArzN2U3JbOYC0APYzUIGhVY3m5hRxA8VPNdPBoG8txlA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/acorn": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "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", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "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", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "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", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "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", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "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", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "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", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "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", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.12.1.tgz", + "integrity": "sha512-s7iGf5GaVMxEG0ENN9x+xTr7GFZCb1ZP/1uATUpCEK2X78nDB3RwbtFCo9pGAf9ru+VwoQ464DkaLEeRM08wJA==", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.42", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.42.tgz", + "integrity": "sha512-c/jurFrDLyui7o1J86yLkRu4LMsTYcBohveus7/I2Hzdn9KIP2bdJPTue/lR1KH46enoPbD77GKeSYNdyPoD3Q==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.16", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.16.tgz", + "integrity": "sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.5.tgz", + "integrity": "sha512-Cu2E6QejHWzuDMTkuwgpABFgDfZrXLQq5V13YOACZx4mFAG4IwGTbTfHPMr4WtxlHoXSM8FIuRwYYCz5XiabaQ==", + "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.10.42", + "caniuse-lite": "^1.0.30001800", + "electron-to-chromium": "^1.5.387", + "node-releases": "^2.0.50", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "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", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001803", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001803.tgz", + "integrity": "sha512-g/uHREV2ZpK9qMalCsWaxmA6ol+DX8GYhuf3T40RKoP+oL7vhRJh8LNt73PCjpnR6l14FzfPrB5Yux4PKm2meg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "license": "ISC", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.2.tgz", + "integrity": "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "license": "ISC", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "license": "ISC", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "license": "ISC", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "license": "ISC", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js-light": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", + "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==", + "license": "MIT" + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "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.389", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.389.tgz", + "integrity": "sha512-cEto7aeOqBfU1D+c5py5pE+ooscKE75JifxLBdFUZsqAxRS6y7kebtxAZvICszSl05gPjYHDTjY+lXpyGvpJbg==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-abstract": { + "version": "1.24.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz", + "integrity": "sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==", + "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-abstract-get": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-abstract-get/-/es-abstract-get-1.0.0.tgz", + "integrity": "sha512-6PMWXpdhshVvFp+FoWYs1EvG1Nj0tvk0dZM+XcK0xMEM1czRVcP6ohqPWHy6qPagSpC8j4+p89WXlT+xXJs/fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.2", + "is-callable": "^1.2.7", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.3.3.tgz", + "integrity": "sha512-0PuBxFi+4uPanB97iDxCLWuHeYud2FALrw5HFZGtAF38UpJDbDC8frwp2cnDyae692CQ0dou60UwWfhgsa4U/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.2", + "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", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "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", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.4.tgz", + "integrity": "sha512-yPDz7wqpg1/mmHLmS3tcfTfbw5f1eryXvyghYBffGdERwe+mV7ZcWzTR8LR17Kvqt3qfPurjlonmnq3MKXIOXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-abstract-get": "^1.0.0", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "is-callable": "^1.2.7", + "is-date-object": "^1.1.0", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-toolkit": { + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.49.0.tgz", + "integrity": "sha512-G5iZ6Pc/FNRY/soKZHC+TxGDD83rHUDXxzaWhGCX44vAv/tMs56WMusnm/KMNK+luUPsgA9U28cGr4RDlSzL2g==", + "license": "MIT", + "workspaces": [ + "docs", + "benchmarks" + ] + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", + "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.2", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.5", + "@eslint/js": "9.39.4", + "@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.14.0", + "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.5", + "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.2.10", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-16.2.10.tgz", + "integrity": "sha512-HSybLOY0QKf39i4FWUqPN0xWiNDi6A6UqJmZtgDkS3zMqjXTqULvj/sueXx3cdCG0mVG+qH6k5/qdegklH1d1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@next/eslint-plugin-next": "16.2.10", + "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-config-next/node_modules/globals": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", + "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.10.tgz", + "integrity": "sha512-tRrKqFyCaKict5hOd244sL6EQFNycnMQnBe+j8uqGNXYzsImGbGUU4ibtoaBmv5FLwJwcFJNeg1GeVjQfbMrDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.16.1", + "resolve": "^2.0.0-next.6" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", + "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", + "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.14.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.14.0.tgz", + "integrity": "sha512-W2WCRZ9Dqntd+2u8jJcVMV2PKulc6RdLgUUoh/yQr3uB6lo/ZOeGx11sv60/8S4QFFKNslAlWhr9u0Ef7ZW6Ig==", + "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", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", + "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", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "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", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "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.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.1.1.tgz", + "integrity": "sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==", + "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 || ^10.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "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", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "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", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "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", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "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", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "dev": true, + "license": "ISC" + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.2.0.tgz", + "integrity": "sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2", + "hasown": "^2.0.4", + "is-callable": "^1.2.7", + "is-document.all": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "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", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "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", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.14.0.tgz", + "integrity": "sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==", + "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", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "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.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hermes-estree": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", + "dev": true, + "license": "MIT" + }, + "node_modules/hermes-parser": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hermes-estree": "0.25.1" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immer": { + "version": "11.1.11", + "resolved": "https://registry.npmjs.org/immer/-/immer-11.1.11.tgz", + "integrity": "sha512-qzXuyXAkPySAGYkfsAwodDPWT8Zm7/Uo5BNt4BjhMhG5WlWyZZ4wQqnWwdS8kjlQ1Cwu6gjw3A6+0gTQwlyYtw==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bun-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", + "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.7.1" + } + }, + "node_modules/is-bun-module/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz", + "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-document.all": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-document.all/-/is-document.all-1.0.0.tgz", + "integrity": "sha512-+XSoyS05OdBbhFuELhgTCpFNHkpBOJqtsZfUFFpe5QTw+9Sjbh8zitxhQkYAo6wV7e1Vb8cAPvpCk9jGam/82g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "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", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "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/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz", + "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "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", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "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", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lucide-react": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-1.24.0.tgz", + "integrity": "sha512-YT6mBD8lGKkg4nM39enlm94/sfJIiW0YKUT60fBy4YK8tai31ylg1VhGNWxkpSKHo9UagfnZqwIff3HTDQwXeA==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.15", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.15.tgz", + "integrity": "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==", + "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", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", + "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", + "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", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/next": { + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/next/-/next-16.2.10.tgz", + "integrity": "sha512-2som5AVXb3kE6Yjine3/mNbBayYF58eguBWIVVUdr1y/L426xyVEgYxgBG+1QC34P2x5E+tcDup6XkuOAX3dCA==", + "license": "MIT", + "dependencies": { + "@next/env": "16.2.10", + "@swc/helpers": "0.5.15", + "baseline-browser-mapping": "^2.9.19", + "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.2.10", + "@next/swc-darwin-x64": "16.2.10", + "@next/swc-linux-arm64-gnu": "16.2.10", + "@next/swc-linux-arm64-musl": "16.2.10", + "@next/swc-linux-x64-gnu": "16.2.10", + "@next/swc-linux-x64-musl": "16.2.10", + "@next/swc-win32-arm64-msvc": "16.2.10", + "@next/swc-win32-x64-msvc": "16.2.10", + "sharp": "^0.34.5" + }, + "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/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "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-exports-info": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.2.tgz", + "integrity": "sha512-kXs9Go0cah0qHVV2v389IXQLdLCeE1xfFtjOAF+iobu0OIoG1pje8At2vMHyaPMiPMnG/LWP50twML21eMcAag==", + "dev": true, + "license": "MIT", + "dependencies": { + "array.prototype.flatmap": "^1.3.3", + "es-errors": "^1.3.0", + "object.entries": "^1.1.9", + "semver": "^6.3.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/node-releases": { + "version": "2.0.51", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.51.tgz", + "integrity": "sha512-wRNIrw4DmVLKQlbgOMdkMx27Wrpzes2hh5Jtbi2bjPd+4wJstWIqP5A+lscnqbm0xxmT5Bpg8Lec5ItEBwx6BQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", + "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", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "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", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "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", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "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", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "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", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/react": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.4" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/react-redux": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.3.0.tgz", + "integrity": "sha512-KQopgqFo/p/fgmAs5qz6p5RWaNAzq40WAu7fJIXnQpYxFPbJYtsJPWvGeF2rOBaY/kEuV77AVsX8TsQzKm+A/g==", + "license": "MIT", + "dependencies": { + "@types/use-sync-external-store": "^0.0.6", + "use-sync-external-store": "^1.4.0" + }, + "peerDependencies": { + "@types/react": "^18.2.25 || ^19", + "react": "^18.0 || ^19", + "redux": "^5.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "redux": { + "optional": true + } + } + }, + "node_modules/recharts": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-3.9.2.tgz", + "integrity": "sha512-G4fy+Pk46RaXgwWMh+Nzhyo/lbFAVqXo9gtetlyehe6Ehge9CsgDuOTwQDD+i1+llaLktNBiNq4bhnGlDRXFtw==", + "license": "MIT", + "workspaces": [ + "www" + ], + "dependencies": { + "@reduxjs/toolkit": "^1.9.0 || 2.x.x", + "clsx": "^2.1.1", + "decimal.js-light": "^2.5.1", + "es-toolkit": "^1.39.3", + "eventemitter3": "^5.0.1", + "immer": "^11.1.8", + "react-redux": "8.x.x || 9.x.x", + "reselect": "5.2.0", + "tiny-invariant": "^1.3.3", + "use-sync-external-store": "^1.2.2", + "victory-vendor": "^37.0.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/redux": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", + "license": "MIT" + }, + "node_modules/redux-thunk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", + "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==", + "license": "MIT", + "peerDependencies": { + "redux": "^5.0.0" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/reselect": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.2.0.tgz", + "integrity": "sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw==", + "license": "MIT" + }, + "node_modules/resolve": { + "version": "2.0.0-next.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.7.tgz", + "integrity": "sha512-tqt+NBWwyaMgw3zDsnygx4CByWjQEJHOPMdslYhppaQSJUtL/D4JO9CcBBlhPoI8lz9oJIDXkwXfhF4aWqP8xQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "is-core-module": "^2.16.2", + "node-exports-info": "^1.6.0", + "object-keys": "^1.1.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", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.4.tgz", + "integrity": "sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "get-intrinsic": "^1.3.0", + "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", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "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.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", + "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.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stable-hash": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", + "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", + "dev": true, + "license": "MIT" + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "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", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "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", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.11.tgz", + "integrity": "sha512-PwvK7BU+CMTJGYQCTZb5RWXIML92lftJLhQz1tBzgKiqGxJaMlBAa48POXaNAC2s4y8jr3EFqrkF9+44neS46w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.2", + "es-object-atoms": "^1.1.2", + "has-property-descriptors": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.10.tgz", + "integrity": "sha512-2+3aDAOmPTmuFwjDnmJG2ctEkQKVki7vOSqaxkv42Mowj1V6PnvuwFCRrR5lChUux1TBskPjfkeTOhqczDMxTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", + "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", + "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", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-api-utils": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "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/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.8.tgz", + "integrity": "sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "for-each": "^0.3.5", + "gopd": "^1.2.0", + "is-typed-array": "^1.1.15", + "possible-typed-array-names": "^1.1.0", + "reflect.getprototypeof": "^1.0.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.63.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.63.0.tgz", + "integrity": "sha512-xgwXyzG4sK9ALkBxbyGkTMMOS+imnW65iPhxCQMK83KhxyoDNW7l+IDqEf9vMdoUidHpOoS967RCq4eMiTexwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.63.0", + "@typescript-eslint/parser": "8.63.0", + "@typescript-eslint/typescript-estree": "8.63.0", + "@typescript-eslint/utils": "8.63.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 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/unrs-resolver": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.12.2.tgz", + "integrity": "sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.3.4" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.12.2", + "@unrs/resolver-binding-android-arm64": "1.12.2", + "@unrs/resolver-binding-darwin-arm64": "1.12.2", + "@unrs/resolver-binding-darwin-x64": "1.12.2", + "@unrs/resolver-binding-freebsd-x64": "1.12.2", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.12.2", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.12.2", + "@unrs/resolver-binding-linux-arm64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-arm64-musl": "1.12.2", + "@unrs/resolver-binding-linux-loong64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-loong64-musl": "1.12.2", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-riscv64-musl": "1.12.2", + "@unrs/resolver-binding-linux-s390x-gnu": "1.12.2", + "@unrs/resolver-binding-linux-x64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-x64-musl": "1.12.2", + "@unrs/resolver-binding-openharmony-arm64": "1.12.2", + "@unrs/resolver-binding-wasm32-wasi": "1.12.2", + "@unrs/resolver-binding-win32-arm64-msvc": "1.12.2", + "@unrs/resolver-binding-win32-ia32-msvc": "1.12.2", + "@unrs/resolver-binding-win32-x64-msvc": "1.12.2" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/victory-vendor": { + "version": "37.3.6", + "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-37.3.6.tgz", + "integrity": "sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==", + "license": "MIT AND ISC", + "dependencies": { + "@types/d3-array": "^3.0.3", + "@types/d3-ease": "^3.0.0", + "@types/d3-interpolate": "^3.0.1", + "@types/d3-scale": "^4.0.2", + "@types/d3-shape": "^3.1.0", + "@types/d3-time": "^3.0.0", + "@types/d3-timer": "^3.0.0", + "d3-array": "^3.1.6", + "d3-ease": "^3.0.1", + "d3-interpolate": "^3.0.1", + "d3-scale": "^4.0.2", + "d3-shape": "^3.1.0", + "d3-time": "^3.0.0", + "d3-timer": "^3.0.1" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.22", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.22.tgz", + "integrity": "sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.9", + "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", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", + "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-validation-error": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", + "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "zod": "^3.25.0 || ^4.0.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..a8d1ac4 --- /dev/null +++ b/package.json @@ -0,0 +1,26 @@ +{ + "name": "dashboard", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "eslint" + }, + "dependencies": { + "lucide-react": "^1.24.0", + "next": "16.2.10", + "react": "19.2.4", + "react-dom": "19.2.4", + "recharts": "^3.9.2" + }, + "devDependencies": { + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "eslint": "^9", + "eslint-config-next": "16.2.10", + "typescript": "^5" + } +} diff --git a/public/file.svg b/public/file.svg new file mode 100644 index 0000000..004145c --- /dev/null +++ b/public/file.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/globe.svg b/public/globe.svg new file mode 100644 index 0000000..567f17b --- /dev/null +++ b/public/globe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/next.svg b/public/next.svg new file mode 100644 index 0000000..5174b28 --- /dev/null +++ b/public/next.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/vercel.svg b/public/vercel.svg new file mode 100644 index 0000000..7705396 --- /dev/null +++ b/public/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/window.svg b/public/window.svg new file mode 100644 index 0000000..b2b2a44 --- /dev/null +++ b/public/window.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/app/api/campaigns/route.ts b/src/app/api/campaigns/route.ts new file mode 100644 index 0000000..a06b2e8 --- /dev/null +++ b/src/app/api/campaigns/route.ts @@ -0,0 +1,73 @@ +import { NextResponse } from 'next/server'; + +export const dynamic = 'force-dynamic'; + +export async function GET() { + try { + const baserowToken = process.env.BASEROW_API_TOKEN?.trim(); + const baserowTableUrl = process.env.BASEROW_TABLE_URL?.trim(); + const campaignsUrl = process.env.BASEROW_CAMPAIGNS_TABLE_URL?.trim(); + + if (baserowToken) { + let apiUrl = ''; + if (campaignsUrl && campaignsUrl.includes('/database/')) { + const match = campaignsUrl.match(/\/table\/(\d+)/); + if (match) { + const tableId = match[1]; + const baseUrl = new URL(campaignsUrl).origin; + apiUrl = `${baseUrl}/api/database/rows/table/${tableId}/?user_field_names=true&size=200`; + } + } else if (baserowTableUrl && baserowTableUrl.includes('/database/')) { + const baseUrl = new URL(baserowTableUrl).origin; + // Fallback: Table 1103 is "Simulationen" + apiUrl = `${baseUrl}/api/database/rows/table/1103/?user_field_names=true&size=200`; + } + + if (!apiUrl) { + return NextResponse.json([]); + } + + let allResults: any[] = []; + let nextUrl: string | null = apiUrl; + + while (nextUrl) { + nextUrl = nextUrl.replace(/^http:\/\//i, 'https://'); + const response: Response = await fetch(nextUrl, { + headers: { + Authorization: `Token ${baserowToken}`, + }, + }); + + if (!response.ok) { + throw new Error('Fehler beim Abrufen der Baserow-Daten (Campaigns): ' + response.status); + } + + const data: any = await response.json(); + if (data.results) { + allResults = allResults.concat(data.results); + } + nextUrl = data.next; + } + + const transformedData = allResults.map((row: any) => ({ + Simulation: row['Simulation'] || '', + Quelle: row['Quelle']?.value || '', + Simulationsname: row['Simulationsname']?.value || '', + Simulationstyp: row['Simulationstyp']?.value || '', + Vorschau: row['Vorschau'] || [], + Absendername: row['Absendername'] || '', + Von: row['Von'] || '', + Betreff: row['Betreff'] || '', + 'Phishing-Link/Anlage': row['Phishing-Link/Anlage'] || '' + })); + + return NextResponse.json(transformedData); + } + + return NextResponse.json([]); + + } catch (error: any) { + console.error('API Error (Campaigns):', error); + return NextResponse.json({ error: error.message || 'Interner Serverfehler' }, { status: 500 }); + } +} diff --git a/src/app/api/login/route.ts b/src/app/api/login/route.ts new file mode 100644 index 0000000..906be7b --- /dev/null +++ b/src/app/api/login/route.ts @@ -0,0 +1,20 @@ +import { NextResponse } from 'next/server'; + +export async function POST(request: Request) { + const body = await request.json(); + + if (body.password === process.env.DASHBOARD_PASSWORD) { + const response = NextResponse.json({ success: true }); + // Set cookie for 1 day + response.cookies.set({ + name: 'auth_session', + value: 'authenticated', + httpOnly: true, + path: '/', + maxAge: 60 * 60 * 24, + }); + return response; + } + + return NextResponse.json({ success: false }, { status: 401 }); +} diff --git a/src/app/api/phishing/route.ts b/src/app/api/phishing/route.ts new file mode 100644 index 0000000..523bf89 --- /dev/null +++ b/src/app/api/phishing/route.ts @@ -0,0 +1,76 @@ +import { NextResponse } from 'next/server'; + +export const dynamic = 'force-dynamic'; + +// Das ist die Schnittstelle, die Live-Daten von Baserow holt. +export async function GET() { + try { + const baserowToken = process.env.BASEROW_API_TOKEN?.trim(); + const baserowTableUrl = (process.env.BASEROW_PHISHING_TABLE_URL || process.env.BASEROW_TABLE_URL)?.trim(); + + // 1. Wenn Baserow-Zugangsdaten vorhanden sind, Live-Daten abrufen: + if (baserowToken && baserowTableUrl) { + let apiUrl = baserowTableUrl; + // Konvertiere UI URL (z.B. https://br.az-gruppe.com/database/423/table/1091/4099) in API URL + if (baserowTableUrl.includes('/database/')) { + const match = baserowTableUrl.match(/\/table\/(\d+)/); + if (match) { + const tableId = match[1]; + const baseUrl = new URL(baserowTableUrl).origin; + apiUrl = `${baseUrl}/api/database/rows/table/${tableId}/?user_field_names=true&size=200`; + } + } + + let allResults: any[] = []; + let nextUrl: string | null = apiUrl; + + while (nextUrl) { + // Fix: Falls Baserow HTTP statt HTTPS für next_url zurückgibt (z.B. wegen Reverse Proxy), + // zwingen wir es auf HTTPS, damit fetch den Authorization-Header beim Redirect nicht droppt! + nextUrl = nextUrl.replace(/^http:\/\//i, 'https://'); + + const response: Response = await fetch(nextUrl, { + headers: { + Authorization: `Token ${baserowToken}`, + }, + }); + + if (!response.ok) { + const errText = await response.text(); + throw new Error('Fehler beim Abrufen der Baserow-Daten: ' + response.status + ' ' + errText); + } + + const data: any = await response.json(); + if (data.results) { + allResults = allResults.concat(data.results); + } + nextUrl = data.next; // Pagination von Baserow + } + + // Transformiere Baserow-Daten in das Format, das das Dashboard erwartet (wie CSV) + const transformedData = allResults.map((row: any) => ({ + Simulationstyp: row.Simulationstyp?.[0]?.value?.value || '', + Name: row.Name?.value || row.Name || '', + NameColor: row.Name?.color || '', + Gelesen: row.Gelesen ? 'True' : 'False', + 'Link Geklickt': row['Link Geklickt']?.value || row['Link Geklickt'] || '', + 'Anmeldeinfos eingegeben': row['Anmeldeinfos eingegeben']?.value || row['Anmeldeinfos eingegeben'] || '', + 'IT Kontakt': row['IT Kontakt']?.value || row['IT Kontakt'] || '', + 'Gelöscht': row['Gelöscht'] ? 'True' : 'False', + 'Weitergeleitet': row['Weitergeleitet'] ? 'True' : 'False', + 'Anlage geöffnet': row['Anlage geöffnet']?.value || row['Anlage geöffnet'] || '', + 'Gesendet': row['Gesendet'] || '', + 'Abgeschlossen': row['Abgeschlossen'] || '', + 'Simulation': row['Simulation']?.[0]?.value || '', + })); + + return NextResponse.json(transformedData); + } + + return NextResponse.json([]); + + } catch (error: any) { + console.error('API Error:', error); + return NextResponse.json({ error: error.message || 'Interner Serverfehler' }, { status: 500 }); + } +} diff --git a/src/app/globals.css b/src/app/globals.css new file mode 100644 index 0000000..5f8f20a --- /dev/null +++ b/src/app/globals.css @@ -0,0 +1,252 @@ +:root { + --background: #fdfdfd; + --foreground: #444444; + --card-bg: #ffffff; + --card-border: #e0e0e0; + --primary: #e3000f; /* AZ INTEC Red */ + --primary-hover: #c2000d; + --danger: #d32f2f; + --danger-light: #ffebee; + --success: #2e7d32; + --success-light: #e8f5e9; + --text-muted: #777777; + --font-sans: 'Montserrat', 'Corbel', system-ui, -apple-system, sans-serif; + --radius: 8px; /* Softer edges for a more modern premium feel */ +} + +@media (prefers-color-scheme: dark) { + :root { + --background: #0f172a; + --foreground: #f1f5f9; + --card-bg: #1e293b; + --card-border: #334155; + --primary: #3b82f6; + --primary-hover: #60a5fa; + --danger: #ef4444; + --danger-light: rgba(239, 68, 68, 0.1); + --success: #22c55e; + --success-light: rgba(34, 197, 94, 0.1); + --text-muted: #94a3b8; + } +} + +* { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +body { + background-color: var(--background); + color: var(--foreground); + font-family: var(--font-sans); + line-height: 1.5; + min-height: 100vh; +} + +a { + color: var(--primary); + text-decoration: none; +} + +a:hover { + color: var(--primary-hover); +} + +.container { + max-width: 1600px; /* Made slightly wider to fit filters and side-by-side charts better */ + margin: 0 auto; + padding: 2rem; +} + +/* Premium Card Design - Flat & Crisp */ +.card { + background: var(--card-bg); + border: 1px solid var(--card-border); + border-radius: var(--radius); + padding: 1.5rem; + box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03); /* Enhanced shadow for premium feel */ +} + +.card-title { + font-size: 0.875rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.05em; + margin-bottom: 0.75rem; + color: var(--text-muted); +} + +.card-value { + font-size: 2.5rem; + font-weight: 700; + color: var(--foreground); + margin-bottom: 0.25rem; + line-height: 1.2; +} + +/* Form Elements */ +.input { + width: 100%; + padding: 0.6rem 0.8rem; + border: 1px solid var(--card-border); + border-radius: var(--radius); + background: var(--card-bg); + color: var(--foreground); + font-size: 0.95rem; + outline: none; + transition: border-color 0.2s, box-shadow 0.2s; +} + +.input:focus { + border-color: var(--primary); + box-shadow: 0 0 0 2px rgba(227, 0, 15, 0.1); +} + +.btn { + display: inline-flex; + align-items: center; + justify-content: center; + background: var(--primary); + color: #ffffff; + padding: 0.6rem 1.25rem; + border: none; + border-radius: var(--radius); + font-size: 0.95rem; + font-weight: 600; + cursor: pointer; + transition: background-color 0.2s, transform 0.1s; +} + +.btn:hover { + background: var(--primary-hover); +} + +.btn:active { + transform: scale(0.98); +} + +/* Header & Logo */ +.header-top { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 2rem; + padding-bottom: 1.5rem; + border-bottom: 1px solid var(--card-border); +} + +.logo-container { + display: flex; + align-items: center; + gap: 0.75rem; +} + +.logo-text { + font-weight: 800; + font-size: 1.5rem; + color: var(--foreground); + letter-spacing: -0.02em; +} + +.page-title { + font-size: 1.75rem; + font-weight: 700; + color: var(--foreground); + margin-bottom: 0.25rem; +} + +/* Filter Bar Styling */ +.filter-bar { + display: flex; + flex-wrap: wrap; + gap: 1.5rem; + margin-bottom: 2rem; + background: var(--card-bg); + padding: 1.25rem; + border-radius: var(--radius); + border: 1px solid var(--card-border); + align-items: flex-end; +} + +.filter-group { + display: flex; + flex-direction: column; + gap: 0.5rem; +} + +.filter-label { + font-size: 0.85rem; + font-weight: 600; + color: var(--text-muted); +} + +/* Trend Indicator Styling */ +.trend-indicator { + display: inline-flex; + align-items: center; + font-size: 0.875rem; + font-weight: 600; + padding: 0.2rem 0.5rem; + border-radius: 4px; + margin-top: 0.5rem; +} + +.trend-positive { + color: var(--success); + background-color: var(--success-light); +} + +.trend-negative { + color: var(--danger); + background-color: var(--danger-light); +} + +.trend-neutral { + color: var(--text-muted); + background-color: rgba(0,0,0,0.05); +} + +/* Utilities */ +.flex-center { + display: flex; + align-items: center; +} + +.gap-2 { + gap: 0.5rem; +} + +.w-full { + width: 100%; +} + +/* Tabs Styling */ +.tabs { + display: flex; + gap: 1rem; + margin-bottom: 2rem; + border-bottom: 2px solid var(--card-border); +} + +.tab { + background: none; + border: none; + font-size: 1.05rem; + font-weight: 600; + color: var(--text-muted); + padding: 0.75rem 1rem; + cursor: pointer; + border-bottom: 2px solid transparent; + margin-bottom: -2px; /* Overlap border */ + transition: all 0.2s; +} + +.tab:hover { + color: var(--foreground); +} + +.tab-active { + color: var(--primary); + border-bottom-color: var(--primary); +} diff --git a/src/app/icon.png b/src/app/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..12c73b36753cc94c13eb0a5919f5674ecc804c91 GIT binary patch literal 261181 zcmeAS@N?(olHy`uVBq!ia0y~yV0s6_9Bd2>3?F4DpJHHOU@Q)DcVbv~PUa;80|QIC zqpu?a!^VE@KZ&di3=EtF9+AZi40_5S%viD1zKnr^L9)a(q9iy!t)x7$D3u`~F*C13 z&(AeP!Bo#s&(KJi(Y=I$fni5#glC$krxpVT0|NsqgA^kx10w?igBJq>gEW*K#K6Fy z!N?32XJ%kvFl1z65M*Frh+<%1$ZTf;i{~&vK-^hIh8N5X3@{qqRt5%U28Idj3@i)` z3vp_8pJ3DCI&_ZCa}sNOA7`j2Bj)I->@rYyRoxjlg!2d##cgG%nS?om?CvH81qEPShO5n*lbaBw{*v|X|oGo zcgJn1xOe~8xx#sMAj9U(nXuCt%#aBPtvp{|bN%M-d;kA&_uu>K`DTu7w~>}ufF$1= z`)!epM^{LQNVo(th_JedY-LhnYF)G_p(R15NwuL+xY z-wuhttG?O)_l2Y2#mY#bP8X%ZuM?Z9l_q-FocwS(|3}wvzq=nVe(p9-KUI2Nwm!@9 zqsF#v z>7q1ohm^-b+ld}3>xAz8G~f4m`}>OH*5`BQ+HI}8yK(XQdo^D~zV(VqTYK{a8FVlt zvn~)hCn_Ktm~!CKy>8Bj3<^sFR?96A74Z6{p|oPFlS{zVhhiElxO7|_7diw6bSJD4 zwU*}2;b+#9vF>U2pZDi1w>w{+{rl4Rss~r?KlsO4o>ZCWp&}H{qPas|sPl;EvHX8i z^MAEk*T4V%W!CMyzq5X+mp^!LwA*6G-Xo1inVM%FcF?{O`k28j8E-YIrp8ww<;JQ1rm(S^JjbuQm;$bFbF1;5Wn`d*+xxbyW@|y9-59;s! zwWik{JpDA({-6H7W8EP8J5TqE+!5|{dBpYb?fq|W?Mt5L?

Pz1F`n`0ok#f)@vc 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 literal 0 HcmV?d00001 diff --git a/src/app/layout.tsx b/src/app/layout.tsx new file mode 100644 index 0000000..6800dee --- /dev/null +++ b/src/app/layout.tsx @@ -0,0 +1,19 @@ +import type { Metadata } from "next"; +import "./globals.css"; + +export const metadata: Metadata = { + title: "AZ-Phish-Board", + description: "Internes Auswertungstool für Phishing Simulationen", +}; + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + {children} + + ); +} diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx new file mode 100644 index 0000000..17d159d --- /dev/null +++ b/src/app/login/page.tsx @@ -0,0 +1,60 @@ +"use client"; + +import { useState } from 'react'; +import { useRouter } from 'next/navigation'; + +export default function LoginPage() { + const [password, setPassword] = useState(''); + const [error, setError] = useState(''); + const router = useRouter(); + + const handleLogin = async (e: React.FormEvent) => { + e.preventDefault(); + + const res = await fetch('/api/login', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ password }) + }); + + if (res.ok) { + router.push('/'); + } else { + setError('Falsches Passwort'); + } + }; + + return ( +

+ ); +} diff --git a/src/app/page.tsx b/src/app/page.tsx new file mode 100644 index 0000000..5d14a92 --- /dev/null +++ b/src/app/page.tsx @@ -0,0 +1,544 @@ +"use client"; + +import { useEffect, useState } from 'react'; +import { FileText } from 'lucide-react'; +import { parseDateString, isDateInRange } from '../lib/utils'; +import { PhishingRow, CampaignData } from '../types'; +import OverviewTab from '../components/OverviewTab'; +import MatrixTab from '../components/MatrixTab'; +import CampaignTab from '../components/CampaignTab'; +import TrendTab from '../components/TrendTab'; +import InteractionTab from '../components/InteractionTab'; +import UserTab from '../components/UserTab'; + +export default function Home() { + const [data, setData] = useState([]); + const [campaigns, setCampaigns] = useState([]); + const [loading, setLoading] = useState(true); + const [errorMsg, setErrorMsg] = useState(null); + + // Tabs + const [activeTab, setActiveTab] = useState<'übersicht' | 'matrix' | 'diagramme' | 'trend' | 'interaktion' | 'nutzer'>('übersicht'); + const [campaignSortOrder, setCampaignSortOrder] = useState('date-desc'); + + // Filters + const [selectedSimulation, setSelectedSimulation] = useState('Alle'); + const [startDate, setStartDate] = useState(''); + const [endDate, setEndDate] = useState(''); + + // Reference Filters + const [refStartDate, setRefStartDate] = useState(''); + const [refEndDate, setRefEndDate] = useState(''); + + useEffect(() => { + Promise.all([ + fetch('/api/phishing').then(async res => { + if (!res.ok) throw new Error(`API Error Phishing (${res.status}): ${await res.text()}`); + return res.json(); + }), + fetch('/api/campaigns').then(async res => { + if (!res.ok) throw new Error(`API Error Campaigns (${res.status}): ${await res.text()}`); + return res.json(); + }) + ]) + .then(([phishingData, campaignsData]) => { + // Globaler Filter: Ignoriere Daten, deren "Abgeschlossen"-Datum in der Zukunft liegt + const now = new Date(); + now.setHours(23, 59, 59, 999); // Ende des heutigen Tages + + const validPhishingData = phishingData.filter((row: any) => { + if (!row['Abgeschlossen']) return true; + const abgDate = parseDateString(row['Abgeschlossen']); + if (!abgDate) return true; + return abgDate <= now; + }); + + setData(validPhishingData); + setCampaigns(campaignsData); + setLoading(false); + }) + .catch(err => { + console.error(err); + setErrorMsg(err.message); + setLoading(false); + }); + }, []); + + if (loading) { + return
Lade Daten...
; + } + + if (errorMsg) { + return ( +
+

Fehler beim Laden der Daten

+
{errorMsg}
+
+ ); + } + + const allSimulations = Array.from(new Set(data.map(row => row.Simulation).filter(Boolean))); + const simulationOptions = ['Alle', ...allSimulations]; + + // Extract unique valid dates from the data and sort descending + const availableDates = Array.from(new Set(data.map(row => { + const parsed = parseDateString(row.Gesendet); + // Use ISO string (YYYY-MM-DD) as the internal value + if (!parsed) return ''; + const tzOffset = parsed.getTimezoneOffset() * 60000; // offset in milliseconds + const localISOTime = (new Date(parsed.getTime() - tzOffset)).toISOString().split('T')[0]; + return localISOTime; + }).filter(Boolean))).sort((a, b) => new Date(b).getTime() - new Date(a).getTime()); + + const formatDateForDisplay = (isoStr: string) => { + const d = new Date(isoStr); + return d.toLocaleDateString('de-DE', { day: '2-digit', month: '2-digit', year: 'numeric' }); + }; + + // 1. Filter Current Period Data + const filteredData = data.filter(row => { + if (selectedSimulation !== 'Alle' && row.Simulation !== selectedSimulation) return false; + return isDateInRange(row.Gesendet, startDate, endDate); + }); + + // 2. Filter Reference Period Data + const refFilteredData = data.filter(row => { + if (selectedSimulation !== 'Alle' && row.Simulation !== selectedSimulation) return false; + // If no reference date is set, we don't calculate a reference + if (!refStartDate && !refEndDate) return false; + return isDateInRange(row.Gesendet, refStartDate, refEndDate); + }); + + // Preview Data (if specific simulation selected) + const selectedCampaign = selectedSimulation !== 'Alle' + ? campaigns.find(c => c.Simulation === selectedSimulation) + : null; + + // Calculate Metrics Function + const calculateMetrics = (dataset: any[]) => { + const total = dataset.length; + const uniqueUsers = new Set(dataset.map(d => d.Name)).size; + const uniqueSimulations = new Set(dataset.map(d => d.Simulation)).size; + const read = dataset.filter(d => d['Gelesen'] === 'True').length; + const click = dataset.filter(d => d['Link Geklickt'] === '✓').length; + const credentials = dataset.filter(d => d['Anmeldeinfos eingegeben'] === '✓').length; + + // Only checkmarks, ignoring 'IT' (Tests egal) + const reported = dataset.filter(d => d['IT Kontakt'] === '✓').length; + + // Checkmarks + Compromised + const reportedCompromised = dataset.filter(d => { + if (d['IT Kontakt'] !== '✓') return false; + const isClicked = d['Link Geklickt'] === '✓'; + const isCreds = d['Anmeldeinfos eingegeben'] === '✓'; + const isAttachment = d['Anlage geöffnet'] === '✓'; + return isClicked || isCreds || isAttachment; + }).length; + + const deleted = dataset.filter(d => d['Gelöscht'] === 'True').length; + const forwarded = dataset.filter(d => d['Weitergeleitet'] === 'True').length; + const attachment = dataset.filter(d => d['Anlage geöffnet'] === '✓').length; + + const compromised = dataset.filter(d => { + const isClicked = d['Link Geklickt'] === '✓'; + const isCreds = d['Anmeldeinfos eingegeben'] === '✓'; + const isAttachment = d['Anlage geöffnet'] === '✓'; + const isTest = d['IT Kontakt'] === 'IT'; + + return (isClicked || isCreds || isAttachment) && !isTest; + }).length; + + return { total, uniqueUsers, uniqueSimulations, read, click, credentials, reported, reportedCompromised, deleted, forwarded, attachment, compromised }; + }; + + const currentMetrics = calculateMetrics(filteredData); + const refMetrics = calculateMetrics(refFilteredData); + + const hasRef = Boolean(refStartDate || refEndDate); + + + + // --- Neue Diagrammdaten berechnen --- + + // 1. Kampagnen-Vergleich + const campaignsMap = new Map(); + filteredData.forEach(row => { + const sim = row['Simulation'] || 'Unbekannt'; + if (!campaignsMap.has(sim)) { + campaignsMap.set(sim, { name: sim, total: 0, reported: 0, compromised: 0, date: null }); + } + const stats = campaignsMap.get(sim); + stats.total += 1; + if (row['IT Kontakt'] === '✓') stats.reported += 1; + + // Parse Date for sorting + const dateStr = row['Gesendet']; + if (dateStr) { + const d = parseDateString(dateStr); + if (d && (!stats.date || d > stats.date)) { + stats.date = d; + } + } + + const isClicked = row['Link Geklickt'] === '✓'; + const isCreds = row['Anmeldeinfos eingegeben'] === '✓'; + const isAttachment = row['Anlage geöffnet'] === '✓'; + const isTest = row['IT Kontakt'] === 'IT'; + if ((isClicked || isCreds || isAttachment) && !isTest) { + stats.compromised += 1; + } + }); + + const campaignComparisonData = Array.from(campaignsMap.values()) + .map(c => { + const meld = c.total > 0 ? Math.round((c.reported / c.total) * 100) : 0; + const komp = c.total > 0 ? Math.round((c.compromised / c.total) * 100) : 0; + + // Berechne Farbe basierend auf Risiko + let color = '#9ca3af'; // Default grau + const totalRisk = komp + meld; + if (totalRisk > 0) { + const riskRatio = komp / totalRisk; // 0 bis 1 + const hue = (1 - riskRatio) * 120; // 0=rot, 120=grün + color = `hsl(${hue}, 80%, 45%)`; + } + + return { + name: c.name.length > 30 ? c.name.substring(0, 30) + '...' : c.name, + fullName: c.name, + total: c.total, + Melderate: meld, + Kompromittierungsrate: komp, + riskColor: color, + dateValue: c.date ? c.date.getTime() : 0 + }; + }) + .sort((a, b) => { + switch (campaignSortOrder) { + case 'komp-desc': return b.Kompromittierungsrate - a.Kompromittierungsrate; + case 'komp-asc': return a.Kompromittierungsrate - b.Kompromittierungsrate; + case 'meld-desc': return b.Melderate - a.Melderate; + case 'meld-asc': return a.Melderate - b.Melderate; + case 'date-desc': return b.dateValue - a.dateValue; + case 'date-asc': return a.dateValue - b.dateValue; + default: return b.Kompromittierungsrate - a.Kompromittierungsrate; + } + }); + + // 2. Zeitlicher Verlauf + const timeMap = new Map(); + filteredData.forEach(row => { + const dateStr = row['Gesendet']; + const d = parseDateString(dateStr); + if (!d) return; + + const monthYear = d.toLocaleString('de-DE', { month: 'short', year: 'numeric' }); + const sortKey = `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}`; + + if (!timeMap.has(sortKey)) { + timeMap.set(sortKey, { name: monthYear, sortKey, total: 0, reported: 0, compromised: 0, reportedCompromised: 0 }); + } + const stats = timeMap.get(sortKey); + stats.total += 1; + + const isReported = row['IT Kontakt'] === '✓'; + if (isReported) stats.reported += 1; + + const isClicked = row['Link Geklickt'] === '✓'; + const isCreds = row['Anmeldeinfos eingegeben'] === '✓'; + const isAttachment = row['Anlage geöffnet'] === '✓'; + const isTest = row['IT Kontakt'] === 'IT'; + if ((isClicked || isCreds || isAttachment) && !isTest) { + stats.compromised += 1; + if (isReported) { + stats.reportedCompromised += 1; + } + } + }); + + const timeSeriesData = Array.from(timeMap.values()) + .sort((a, b) => a.sortKey.localeCompare(b.sortKey)) + .map(t => ({ + name: t.name, + Melderate: t.total > 0 ? Math.round((t.reported / t.total) * 100) : 0, + Kompromittierungsrate: t.total > 0 ? Math.round((t.compromised / t.total) * 100) : 0, + 'Komp. aber gemeldet': t.total > 0 ? Math.round((t.reportedCompromised / t.total) * 100) : 0 + })); + + // 3. Detail-Interaktion (Multi-Ring Donut = 100% der Mails) + let validSent = 0; + let cntGelesen = 0; + let cntKompNur = 0; + let cntMeldNur = 0; + let cntKompUndMeld = 0; + let cntGeloescht = 0; + + filteredData.forEach(row => { + const isTest = row['IT Kontakt'] === 'IT'; + if (isTest) return; // Test-Nutzer komplett ausklammern + + validSent++; + + const isClicked = row['Link Geklickt'] === '✓'; + const isCreds = row['Anmeldeinfos eingegeben'] === '✓'; + const isAttachment = row['Anlage geöffnet'] === '✓'; + const isCompromised = isClicked || isCreds || isAttachment; + + const isReported = row['IT Kontakt'] === '✓'; + const isDeleted = row['Gelöscht'] === 'True' || row['Mail gelöscht'] === '✓' || row['Gelöscht'] === '✓'; + const isRead = row['Gelesen'] === 'True'; + + // Alles was interagiert wurde, gilt als geöffnet + if (isRead || isReported || isDeleted || isCompromised) { + cntGelesen++; + } + + if (isCompromised && isReported) { + cntKompUndMeld++; + } else if (isCompromised) { + cntKompNur++; + } else if (isReported) { + cntMeldNur++; + } + + if (isDeleted) { + cntGeloescht++; + } + }); + + const pieReadData = [ + { name: 'Geöffnet / Gelesen', value: cntGelesen, color: '#f59e0b' }, + { name: 'Ignoriert', value: validSent - cntGelesen, color: 'var(--card-border)' } + ]; + + const pieKompData = [ + { name: 'Kompromittiert (ohne Meldung)', value: cntKompNur, color: 'var(--danger)' }, + { name: 'Rest', value: validSent - cntKompNur, color: 'var(--card-border)' } + ]; + + const pieMeldData = [ + { name: 'Gemeldet (ohne Komprom.)', value: cntMeldNur, color: 'var(--success)' }, + { name: 'Rest', value: validSent - cntMeldNur, color: 'var(--card-border)' } + ]; + + const pieKompUndMeldData = [ + { name: 'Kompromittiert und Gemeldet', value: cntKompUndMeld, color: '#8b5cf6' }, + { name: 'Rest', value: validSent - cntKompUndMeld, color: 'var(--card-border)' } + ]; + + const pieDelData = [ + { name: 'Gelöscht', value: cntGeloescht, color: '#3b82f6' }, + { name: 'Rest', value: validSent - cntGeloescht, color: 'var(--card-border)' } + ]; + + const customLegend = [ + { value: 'Geöffnet / Gelesen', type: 'circle', color: '#f59e0b' }, + { value: 'Gelöscht', type: 'circle', color: '#3b82f6' }, + { value: 'Kompromittiert (ohne Meldung)', type: 'circle', color: 'var(--danger)' }, + { value: 'Kompromittiert und Gemeldet', type: 'circle', color: '#8b5cf6' }, + { value: 'Gemeldet (ohne Komprom.)', type: 'circle', color: 'var(--success)' } + ]; + + // Dynamically sort rings: largest value outside, smallest inside + const sortedRings = [ + { id: 'read', data: pieReadData, value: cntGelesen }, + { id: 'del', data: pieDelData, value: cntGeloescht }, + { id: 'kompnur', data: pieKompData, value: cntKompNur }, + { id: 'kompmeld', data: pieKompUndMeldData, value: cntKompUndMeld }, + { id: 'meldnur', data: pieMeldData, value: cntMeldNur } + ].sort((a, b) => b.value - a.value); + + const COLORS = ['#10b981', '#3b82f6', '#8b5cf6', '#9ca3af']; + + return ( +
+
+
+ AZ INTEC +
+

+ AZ-Phish-Board – Phishing Simulation Dashboard (Angriffssimulationstraining) +

+
+
+
+ + {/* FILTER BAR */} +
+
+ + +
+ +
+ + +
+
+ + +
+ +
+ +
+ + +
+
+ + +
+ + {(startDate || endDate || refStartDate || refEndDate || selectedSimulation !== 'Alle') && ( + + )} +
+ + {/* PREVIEW SECTION (only visible if specific simulation is selected) */} + {selectedCampaign && ( +
+ )} + + {/* TABS NAVIGATION */} +
+ + + + + + +
+ + {activeTab === 'übersicht' && ( + + )} + + {activeTab === 'matrix' && ( + + )} + + {activeTab === 'diagramme' && ( + + )} + + {activeTab === 'trend' && ( + + )} + + {activeTab === 'interaktion' && ( + + )} + + {activeTab === 'nutzer' && ( + + )} + +
+ ); +} diff --git a/src/components/AnimatedNumber.tsx b/src/components/AnimatedNumber.tsx new file mode 100644 index 0000000..5f8e5f6 --- /dev/null +++ b/src/components/AnimatedNumber.tsx @@ -0,0 +1,35 @@ +import React, { useEffect, useState } from 'react'; + +interface AnimatedNumberProps { + value: number; + duration?: number; +} + +export const AnimatedNumber: React.FC = ({ value, duration = 1000 }) => { + const [displayValue, setDisplayValue] = useState(0); + + useEffect(() => { + let startTimestamp: number | null = null; + const endValue = value; + + const step = (timestamp: number) => { + if (!startTimestamp) startTimestamp = timestamp; + const progress = Math.min((timestamp - startTimestamp) / duration, 1); + + // easeOutQuart for smooth deceleration + const easeOut = 1 - Math.pow(1 - progress, 4); + + setDisplayValue(Math.floor(easeOut * endValue)); + + if (progress < 1) { + window.requestAnimationFrame(step); + } else { + setDisplayValue(endValue); + } + }; + + window.requestAnimationFrame(step); + }, [value, duration]); + + return {displayValue}; +}; diff --git a/src/components/CampaignTab.tsx b/src/components/CampaignTab.tsx new file mode 100644 index 0000000..6cb93a5 --- /dev/null +++ b/src/components/CampaignTab.tsx @@ -0,0 +1,64 @@ +import React from 'react'; +import { TrendingUp } from 'lucide-react'; +import { ResponsiveContainer, BarChart, CartesianGrid, XAxis, YAxis, Tooltip as RechartsTooltip, Legend, Bar } from 'recharts'; + +interface CampaignTabProps { + campaignComparisonData: any[]; + campaignSortOrder: string; + setCampaignSortOrder: (order: string) => void; +} + +export default function CampaignTab({ campaignComparisonData, campaignSortOrder, setCampaignSortOrder }: CampaignTabProps) { + return ( +
+
+
+
+

+ Kampagnen-Vergleich +

+

+ Roter Balken: Anteil der Nutzer, die kompromittiert wurden.
+ Grüner Balken: Anteil der Nutzer, die es an die IT gemeldet haben. +

+
+ + +
+ +
+
+ + + + + + + + + + + +
+
+
+
+ ); +} diff --git a/src/components/InteractionTab.tsx b/src/components/InteractionTab.tsx new file mode 100644 index 0000000..a98f524 --- /dev/null +++ b/src/components/InteractionTab.tsx @@ -0,0 +1,69 @@ +import React from 'react'; +import { Eye } from 'lucide-react'; +import { ResponsiveContainer, PieChart, Pie, Cell, Tooltip as RechartsTooltip } from 'recharts'; + +interface InteractionTabProps { + sortedRings: any[]; + validSent: number; + customLegend: any[]; +} + +export default function InteractionTab({ sortedRings, validSent, customLegend }: InteractionTabProps) { + return ( +
+
+

+ Nutzer-Verhalten +

+

+ Jeder Ring repräsentiert 100% aller versendeten E-Mails. Die Farbigen Segmente zeigen den exakten Anteil der Nutzer an, die die jeweilige Aktion durchgeführt haben. Die Bereiche können sich überlappen (z.B. ein Nutzer kann gelesen, geklickt und gemeldet haben). +

+
+ + + {sortedRings.map((ring, index) => { + const outer = 200 - (index * 30); + const inner = outer - 30; + return ( + + {ring.data.map((entry: any, i: number) => )} + + ); + })} + { + if (active && payload && payload.length) { + const data = payload[0].payload; + if (data.name.startsWith('Nicht ') || data.name === 'Ignoriert') { + return null; // Zeige nichts bei grauem "Rest" + } + const perc = validSent > 0 ? Math.round((data.value / validSent) * 100) : 0; + return ( +
+

+ + {data.name} +

+

{`${data.value} Nutzer (${perc}%)`}

+
+ ); + } + return null; + }} + /> +
+
+
+ +
+ {customLegend.map((item, i) => ( +
+ + {item.value} +
+ ))} +
+
+
+ ); +} diff --git a/src/components/MatrixTab.tsx b/src/components/MatrixTab.tsx new file mode 100644 index 0000000..a059fef --- /dev/null +++ b/src/components/MatrixTab.tsx @@ -0,0 +1,72 @@ +import React from 'react'; +import { AlertTriangle } from 'lucide-react'; +import { ResponsiveContainer, ScatterChart, CartesianGrid, XAxis, YAxis, ZAxis, Tooltip as RechartsTooltip, Scatter, Cell } from 'recharts'; + +interface MatrixTabProps { + campaignComparisonData: any[]; +} + +export default function MatrixTab({ campaignComparisonData }: MatrixTabProps) { + return ( +
+
+

+ Risiko-Matrix (Melderate vs. Kompromittierungsrate) +

+

+ Je weiter links oben ein Punkt ist, desto gefährlicher war die Simulation (hohe Klickrate, wenig Meldungen). + Je weiter rechts unten, desto sicherer haben die Nutzer reagiert.
+ Die Größe des Punktes spiegelt die Anzahl der Empfänger wider (großer Punkt = viele Empfänger). +

+
+ + + + + + + { + if (active && payload && payload.length) { + const data = payload[0].payload; + return ( +
+

+ {data.fullName} +

+

Gesendet an: {data.total}

+

Komp.-Rate: {data.Kompromittierungsrate}%

+

Melderate: {data.Melderate}%

+
+ ); + } + return null; + }} + /> + + {campaignComparisonData.map((entry, index) => ( + + ))} + +
+
+
+
+
+ ); +} diff --git a/src/components/OverviewTab.tsx b/src/components/OverviewTab.tsx new file mode 100644 index 0000000..c4484d8 --- /dev/null +++ b/src/components/OverviewTab.tsx @@ -0,0 +1,147 @@ +import React from 'react'; +import { Send, Users, Eye, Trash2, ShieldAlert, CheckCircle, TrendingUp, TrendingDown, Minus, ShieldCheck } from 'lucide-react'; +import { Metrics } from '../types'; +import { AnimatedNumber } from './AnimatedNumber'; + +interface TrendProps { + current: number; + refValue: number; + hasRef: boolean; + totalCurrent?: number; + totalRef?: number; + invertGoodBad?: boolean; + absolute?: boolean; + neutralOnly?: boolean; +} + +export const Trend: React.FC = ({ current, refValue, hasRef, totalCurrent, totalRef, invertGoodBad = false, absolute = false, neutralOnly = false }) => { + if (!hasRef) return null; + if (!absolute && (totalRef === 0 || totalRef === undefined || totalCurrent === undefined)) return null; + + const valCurrent = absolute ? current : (totalCurrent! > 0 ? (current / totalCurrent!) * 100 : 0); + const valRef = absolute ? refValue : (totalRef! > 0 ? (refValue / totalRef!) * 100 : 0); + const diff = valCurrent - valRef; + + const displayRef = absolute ? refValue : `${Math.round(valRef)}%`; + + if (neutralOnly || Math.abs(diff) < 0.1) { + return ( + + {!neutralOnly && } + Vergleich: {displayRef} + + ); + } + + const isIncrease = diff > 0; + const isGoodTrend = invertGoodBad ? !isIncrease : isIncrease; + + const Icon = isIncrease ? TrendingUp : TrendingDown; + const trendClass = isGoodTrend ? "trend-positive" : "trend-negative"; + + return ( + + + Vergleich: {displayRef} + + ); +}; + +interface OverviewTabProps { + currentMetrics: Metrics; + refMetrics: Metrics; + hasRef: boolean; +} + +export default function OverviewTab({ currentMetrics, refMetrics, hasRef }: OverviewTabProps) { + return ( + <> +
+
+
Gesamte Mails
+
+
+

von {currentMetrics.uniqueSimulations} verschiedenen Simulationen

+ +
+
+ +
+
Anzahl Benutzer
+
+
+

Teilnehmer im Filter

+ +
+
+ +
+
+ Mail geöffnet +
+
+
+

+ Rate: {currentMetrics.total ? Math.round((currentMetrics.read / currentMetrics.total) * 100) : 0}% +

+ +
+
+ +
+
+ Mail gelöscht +
+
+
+

+ Rate: {currentMetrics.total ? Math.round((currentMetrics.deleted / currentMetrics.total) * 100) : 0}% +

+ +
+
+
+ +
+
+
+ Kompromittiert (Klick/Anhang) +
+
+
+

+ Rate: {currentMetrics.total ? Math.round((currentMetrics.compromised / currentMetrics.total) * 100) : 0}% +

+ +
+
+ +
+
+ IT Kontaktiert +
+
+
+

+ Rate: {currentMetrics.total ? Math.round((currentMetrics.reported / currentMetrics.total) * 100) : 0}% +

+ +
+
+ +
+
+ Kompromittiert, aber Gemeldet +
+
+
+

+ Rate: {currentMetrics.total ? Math.round((currentMetrics.reportedCompromised / currentMetrics.total) * 100) : 0}% +

+ +
+
+
+ + ); +} diff --git a/src/components/TrendTab.tsx b/src/components/TrendTab.tsx new file mode 100644 index 0000000..4736c04 --- /dev/null +++ b/src/components/TrendTab.tsx @@ -0,0 +1,33 @@ +import React from 'react'; +import { FileText } from 'lucide-react'; +import { ResponsiveContainer, LineChart, CartesianGrid, XAxis, YAxis, Tooltip as RechartsTooltip, Legend, Line } from 'recharts'; + +interface TrendTabProps { + timeSeriesData: any[]; +} + +export default function TrendTab({ timeSeriesData }: TrendTabProps) { + return ( +
+
+

+ Zeitlicher Verlauf +

+
+ + + + + + + + + + + + +
+
+
+ ); +} diff --git a/src/components/UserTab.tsx b/src/components/UserTab.tsx new file mode 100644 index 0000000..70b917b --- /dev/null +++ b/src/components/UserTab.tsx @@ -0,0 +1,497 @@ +import React, { useState, useMemo, useRef } from 'react'; +import { createPortal } from 'react-dom'; +import { Users, Search, CheckCircle, ShieldAlert, ArrowUpDown, FileText } from 'lucide-react'; +import { parseDateString } from '../lib/utils'; +import { PhishingRow, CampaignData } from '../types'; + +interface UserTabProps { + data: PhishingRow[]; + campaignsData?: CampaignData[]; +} + +const Sparkline = ({ simulations }: { simulations: any[] }) => { + if (!simulations || simulations.length < 2) { + return Zu wenig Daten; + } + + const width = 80; + const height = 24; + const padding = 4; + + const getPoints = () => { + return simulations.map((sim, i) => { + const x = padding + (i / (simulations.length - 1)) * (width - 2 * padding); + let y = height / 2; // middle (ignored) + if (sim.isCompromised) y = padding; // top (bad) + if (sim.isReported && !sim.isCompromised) y = height - padding; // bottom (good) + return { x, y, sim }; + }); + }; + + const points = getPoints(); + const pathData = `M ${points.map(p => `${p.x},${p.y}`).join(' L ')}`; + + return ( + + + {points.map((p, i) => { + let color = "var(--text-muted)"; + if (p.sim.isCompromised) color = "var(--danger)"; + else if (p.sim.isReported) color = "var(--success)"; + + return ( + + ); + })} + + ); +}; + +const HoverTooltip = ({ children, sim, campaign }: { children: React.ReactNode, sim: any, campaign: CampaignData | undefined }) => { + const [isHovered, setIsHovered] = useState(false); + const [coords, setCoords] = useState({ x: 0, y: 0, position: 'top' }); + const ref = useRef(null); + + if (!sim) return <>{children}; + + const handleMouseEnter = () => { + if (ref.current) { + const rect = ref.current.getBoundingClientRect(); + const spaceAbove = rect.top; + + if (spaceAbove < 350) { + // Not enough space above, position below + setCoords({ x: rect.left + rect.width / 2, y: rect.bottom + 12, position: 'bottom' }); + } else { + // Position above + setCoords({ x: rect.left + rect.width / 2, y: rect.top - 12, position: 'top' }); + } + } + setIsHovered(true); + }; + + return ( +
setIsHovered(false)} + > + {children} + {isHovered && campaign && typeof document !== 'undefined' && createPortal( +
+
+ Simulations-Details +
+ +
+ {/* Left Column: Metadata */} +
+
+
Betreff
+
{campaign.Betreff || '-'}
+
+ +
+
Absender
+
+ {campaign.Absendername && campaign.Von + ? <>{campaign.Absendername} <{campaign.Von}> + : (campaign.Absendername || campaign.Von || '-')} +
+
+ +
+
Typ
+
+ {campaign.Simulationstyp || '-'} +
+
+
+ + {/* Right Column: Vorschau */} +
+
Vorschau
+ {campaign.Vorschau && campaign.Vorschau.length > 0 ? ( + Vorschau + ) : ( +
Keine Vorschau verfügbar
+ )} +
+
+
, + document.body + )} +
+ ); +}; + +const SortIcon = ({ columnKey, activeKey }: { columnKey: string, activeKey: string }) => { + if (activeKey !== columnKey) return ; + return ; +}; + +export default function UserTab({ data, campaignsData }: UserTabProps) { + const [filterStatus, setFilterStatus] = useState<'Alle' | 'Aktiv' | 'Ausgeschieden'>('Aktiv'); + const [searchQuery, setSearchQuery] = useState(''); + const [sortConfig, setSortConfig] = useState<{ key: string, direction: 'asc' | 'desc' }>({ key: 'name', direction: 'asc' }); + + const campaignMap = useMemo(() => { + const map = new Map(); + if (!campaignsData) return map; + campaignsData.forEach(c => map.set(c.Simulation, c)); + return map; + }, [campaignsData]); + + const userStats = useMemo(() => { + const map = new Map(); + + data.forEach(row => { + const name = row['Name']; + if (!name) return; + + const isTest = row['IT Kontakt'] === 'IT'; + if (isTest) return; + + if (!map.has(name)) { + map.set(name, { + name, + color: row.NameColor || '', + total: 0, + compromised: 0, + reported: 0, + simulations: [] + }); + } + + const user = map.get(name); + user.total += 1; + + const isClicked = row['Link Geklickt'] === '✓'; + const isCreds = row['Anmeldeinfos eingegeben'] === '✓'; + const isAttachment = row['Anlage geöffnet'] === '✓'; + const isRead = row['Gelesen'] === 'True' || isClicked || isCreds || isAttachment; // Wenn interagiert, wurde sie auch gelesen + const isCompromised = isClicked || isCreds || isAttachment; + const isReported = row['IT Kontakt'] === '✓'; + + if (isCompromised) user.compromised += 1; + if (isReported) user.reported += 1; + + const dateStr = row['Gesendet']; + const date = dateStr ? parseDateString(dateStr) : null; + + user.simulations.push({ + simName: row['Simulation'], + date, + isCompromised, + isReported, + isRead, + isClicked, + isCreds, + isAttachment + }); + }); + + const usersArray = Array.from(map.values()) + .filter(user => user.total > 0) + .map(user => { + user.simulations.sort((a: any, b: any) => { + if (!a.date) return 1; + if (!b.date) return -1; + return a.date.getTime() - b.date.getTime(); + }); + + const firstSim = user.simulations[0] || null; + const lastSim = user.simulations[user.simulations.length - 1] || null; + const lastCompromisedSim = [...user.simulations].reverse().find((s: any) => s.isCompromised) || null; + + let trend = "Gleichbleibend"; + if (user.simulations.length === 0) { + trend = "Keine Daten"; + } else if (user.simulations.length >= 2) { + const firstHalf = user.simulations.slice(0, Math.ceil(user.simulations.length / 2)); + const secondHalf = user.simulations.slice(Math.ceil(user.simulations.length / 2)); + + const firstKompRate = firstHalf.filter((s: any) => s.isCompromised).length / firstHalf.length; + const secondKompRate = secondHalf.filter((s: any) => s.isCompromised).length / secondHalf.length; + + if (secondKompRate < firstKompRate) trend = "Verbessert"; + else if (secondKompRate > firstKompRate) trend = "Verschlechtert"; + else if (user.compromised > 0) trend = "Konstant Anfällig"; + else trend = "Sicher"; + } else { + if (user.compromised > 0) trend = "Gefährdet"; + else trend = "Sicher"; + } + + const isActive = user.color !== 'darker-gray'; + + return { + ...user, + firstSim, + lastSim, + lastCompromisedSim, + trend, + isActive + }; + }); + + return usersArray; + }, [data]); + + const filteredUsers = useMemo(() => { + return userStats.filter(user => { + if (filterStatus === 'Aktiv' && !user.isActive) return false; + if (filterStatus === 'Ausgeschieden' && user.isActive) return false; + if (searchQuery && !user.name.toLowerCase().includes(searchQuery.toLowerCase())) return false; + return true; + }); + }, [userStats, filterStatus, searchQuery]); + + const sortedUsers = useMemo(() => { + const sortable = [...filteredUsers]; + sortable.sort((a, b) => { + let aVal = a[sortConfig.key]; + let bVal = b[sortConfig.key]; + + if (sortConfig.key === 'compRate') { + aVal = a.total > 0 ? a.compromised / a.total : 0; + bVal = b.total > 0 ? b.compromised / b.total : 0; + } else if (sortConfig.key === 'repRate') { + aVal = a.total > 0 ? a.reported / a.total : 0; + bVal = b.total > 0 ? b.reported / b.total : 0; + } + + if (aVal < bVal) return sortConfig.direction === 'asc' ? -1 : 1; + if (aVal > bVal) return sortConfig.direction === 'asc' ? 1 : -1; + return 0; + }); + return sortable; + }, [filteredUsers, sortConfig]); + + const requestSort = (key: string) => { + let direction: 'asc' | 'desc' = 'desc'; + if (sortConfig.key === key && sortConfig.direction === 'desc') { + direction = 'asc'; + } + setSortConfig({ key, direction }); + }; + + return ( +
+
+
+
+

+ Nutzer-Auswertung +

+

+ Detaillierte Übersicht aller Mitarbeiter über alle Simulationen hinweg. +

+
+ +
+
+ + setSearchQuery(e.target.value)} + className="input" + style={{ paddingLeft: '32px', width: '200px' }} + /> +
+ +
+
+ +
+
+ Kompromittiert +
+
+ Gemeldet +
+
+ - Ignoriert / Sicher +
+
+ +
+ + + + + + + + + + + + + + + {sortedUsers.map((user, i) => { + const compRate = user.total > 0 ? Math.round((user.compromised / user.total) * 100) : 0; + const repRate = user.total > 0 ? Math.round((user.reported / user.total) * 100) : 0; + + return ( + + + + + + + + + + + ); + })} + {sortedUsers.length === 0 && ( + + + + )} + +
requestSort('name')}> +
Mitarbeiter
+
requestSort('total')}> +
Teilnahmen
+
+
+ Kompromittiert +
+ requestSort('compromised')} title="Nach Anzahl sortieren"> + # + + requestSort('compRate')} title="Nach Prozent sortieren"> + % + +
+
+
+
+ Gemeldet +
+ requestSort('reported')} title="Nach Anzahl sortieren"> + # + + requestSort('repRate')} title="Nach Prozent sortieren"> + % + +
+
+
Erste SimulationLetzte KompromittierungLetzte Simulation requestSort('trend')}> +
Trend
+
+
+ {user.name} +
+
{user.total} 0 ? 'var(--danger)' : 'inherit' }}> + {user.compromised} ({compRate}%) + 0 ? 'var(--success)' : 'inherit' }}> + {user.reported} ({repRate}%) + + {user.firstSim ? ( + +
{user.firstSim.simName}
+ {user.firstSim.date && ( +
+ {user.firstSim.date.toLocaleDateString('de-DE')} +
+ )} +
+ {user.firstSim.isCompromised && } + {user.firstSim.isReported && } + {!user.firstSim.isCompromised && !user.firstSim.isReported && -} +
+
+ ) : '-'} +
+ {user.lastCompromisedSim ? ( + +
{user.lastCompromisedSim.simName}
+ {user.lastCompromisedSim.date && ( +
+ {user.lastCompromisedSim.date.toLocaleDateString('de-DE')} +
+ )} +
+ + {user.lastCompromisedSim.isReported && } +
+
+ ) : -} +
+ {user.lastSim ? ( + +
{user.lastSim.simName}
+ {user.lastSim.date && ( +
+ {user.lastSim.date.toLocaleDateString('de-DE')} +
+ )} +
+ {user.lastSim.isCompromised && } + {user.lastSim.isReported && } + {!user.lastSim.isCompromised && !user.lastSim.isReported && -} +
+
+ ) : '-'} +
+ +
+ Keine Benutzer gefunden. +
+
+
+
+ ); +} diff --git a/src/lib/utils.ts b/src/lib/utils.ts new file mode 100644 index 0000000..f45a76a --- /dev/null +++ b/src/lib/utils.ts @@ -0,0 +1,31 @@ +export const parseDateString = (dateStr: string) => { + if (!dateStr) return null; + // If format is DD.MM.YYYY + if (dateStr.includes('.')) { + const parts = dateStr.split(' ')[0].split('.'); + if (parts.length === 3) { + return new Date(`${parts[2]}-${parts[1]}-${parts[0]}`); + } + } + const date = new Date(dateStr); + return isNaN(date.getTime()) ? null : date; +}; + +export const isDateInRange = (dateStr: string, start: string, end: string) => { + if (!start && !end) return true; + const d = parseDateString(dateStr); + if (!d) return false; + + d.setHours(0, 0, 0, 0); + if (start) { + const s = new Date(start); + s.setHours(0, 0, 0, 0); + if (d < s) return false; + } + if (end) { + const e = new Date(end); + e.setHours(23, 59, 59, 999); + if (d > e) return false; + } + return true; +}; diff --git a/src/proxy.ts b/src/proxy.ts new file mode 100644 index 0000000..798b0f2 --- /dev/null +++ b/src/proxy.ts @@ -0,0 +1,24 @@ +import { NextResponse } from 'next/server'; +import type { NextRequest } from 'next/server'; + +export function proxy(request: NextRequest) { + const path = request.nextUrl.pathname; + + // Protect all API routes and the root dashboard (except the login API) + if (path === '/' || (path.startsWith('/api/') && path !== '/api/login')) { + const session = request.cookies.get('auth_session'); + + if (!session || session.value !== 'authenticated') { + if (path.startsWith('/api/')) { + return NextResponse.json({ error: 'Unauthorized' }, { status: 401 }); + } + return NextResponse.redirect(new URL('/login', request.url)); + } + } + + return NextResponse.next(); +} + +export const config = { + matcher: ['/', '/api/:path*'], +}; diff --git a/src/types/index.ts b/src/types/index.ts new file mode 100644 index 0000000..72baf7a --- /dev/null +++ b/src/types/index.ts @@ -0,0 +1,38 @@ +export interface PhishingRow { + Simulationstyp?: string; + Name?: string; + NameColor?: string; + Gelesen?: string; + 'Link Geklickt'?: string; + 'Anmeldeinfos eingegeben'?: string; + 'IT Kontakt'?: string; + Gelöscht?: string; + 'Mail gelöscht'?: string; + Weitergeleitet?: string; + 'Anlage geöffnet'?: string; + Gesendet?: string; + Abgeschlossen?: string; + Simulation?: string; + [key: string]: any; +} + +export interface CampaignData { + id: string; + value: string; + [key: string]: any; +} + +export interface Metrics { + total: number; + uniqueUsers: number; + uniqueSimulations: number; + read: number; + click: number; + credentials: number; + reported: number; + reportedCompromised: number; + deleted: number; + forwarded: number; + attachment: number; + compromised: number; +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..cf9c65d --- /dev/null +++ b/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": { + "@/*": ["./src/*"] + } + }, + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + ".next/dev/types/**/*.ts", + "**/*.mts" + ], + "exclude": ["node_modules"] +}