diff --git a/AGENTS.md b/AGENTS.md index 2ea0c33e..c83352b6 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -29,6 +29,21 @@ Cursor rules to apply (see each file for full wording): **Project rules:** See **`.cursorrules`** for stack, architecture, tRPC/Redux boundaries, styling (MUI + Emotion, no Tailwind), testing conventions, and feature workflow. **`.cursor/rules/*.mdc`** adds always-on style rules (React hook imports, type imports, `useEffect` comments). +### Instant Navigations (Next.js 16.3) — not on Pages Router yet + +dStruct is **Pages Router only** (`src/pages/`). **Instant Navigations** (`cacheComponents`, `partialPrefetching`, `'use cache'`, `unstable_instant`, Instant Insights) requires the **App Router** (`src/app/`). Do not enable `cacheComponents` or add `'use cache'` under `src/pages/`. + +Before implementing Instant Navigations, read: + +- `vibe-docs/Instant-Navigations-Design.md` — phased migration plan (i18n, Vercel 16.3 gate, route priorities) +- `node_modules/next/dist/docs/01-app/02-guides/instant-navigation.md` +- `node_modules/next/dist/docs/01-app/02-guides/migrating-to-cache-components.md` +- `node_modules/next/dist/docs/01-app/03-api-reference/05-config/01-next-config-js/cacheComponents.md` + +**16.3 on Vercel:** stay on the pinned `next` version in `package.json` until preview `/api/*` routes return correct `x-matched-path` (not `/en/404`). See design doc Phase 1. + +**Pilot order when migrating:** marketing routes (`/`, `/privacy`, `/daily`) under `app/[lang]/` before `/playground`. + ## Cursor Cloud specific instructions ### Services overview diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 00000000..43c994c2 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1 @@ +@AGENTS.md diff --git a/next-env.d.ts b/next-env.d.ts index 7996d352..2d5420eb 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,6 +1,7 @@ /// /// -import "./.next/dev/types/routes.d.ts"; +/// +import "./.next/types/routes.d.ts"; // NOTE: This file should not be edited -// see https://nextjs.org/docs/pages/api-reference/config/typescript for more information. +// see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/next.config.mjs b/next.config.mjs index 5fbf7b26..979345ea 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -7,10 +7,37 @@ void ( !process.env.SKIP_ENV_VALIDATION && (await import("./src/env/server.mjs")) ); +/** Keep in sync with `src/i18n/i18n-util.ts` `locales`. */ +const i18nLocales = [ + "ar", + "be", + "de", + "en", + "es", + "fr", + "hi", + "id", + "it", + "ja", + "ko", + "nl", + "pl", + "pt", + "ru", + "sr", + "tr", + "uk", + "vi", + "zh", +]; + /** @type {import("next").NextConfig} */ const config = { reactStrictMode: true, productionBrowserSourceMaps: true, + // TODO(Instant Nav): enable after root layout avoids blocking `headers()` under Cache Components. + // cacheComponents: true, + // partialPrefetching: true, // Bundled docs: `node_modules/next/dist/docs/02-pages/04-api-reference/04-config/01-next-config-js/poweredByHeader.md` poweredByHeader: false, // Bundled docs: `node_modules/next/dist/docs/01-app/03-api-reference/05-config/01-next-config-js/reactCompiler.md` @@ -32,6 +59,7 @@ const config = { ], }, transpilePackages: [ + "@mui/material-nextjs", "@apollo/client", "@hello-pangea/dnd", "@monaco-editor/react", @@ -57,28 +85,7 @@ const config = { "zod", ], i18n: { - locales: [ - "ar", - "be", - "de", - "en", - "es", - "fr", - "hi", - "id", - "it", - "ja", - "ko", - "nl", - "pl", - "pt", - "ru", - "sr", - "tr", - "uk", - "vi", - "zh", - ], + locales: i18nLocales, defaultLocale: "en", localeDetection: false, }, diff --git a/package.json b/package.json index 15328743..2b335bbf 100644 --- a/package.json +++ b/package.json @@ -51,62 +51,63 @@ "@babel/traverse": "^7.29.0", "@babel/types": "^7.29.0", "@datastructures-js/priority-queue": "5.3.0", - "@datastructures-js/queue": "4.2.1", + "@datastructures-js/queue": "4.3.0", "@emotion/cache": "^11.14.0", "@emotion/react": "^11.14.0", "@emotion/server": "^11.11.0", "@emotion/styled": "^11.14.1", "@hello-pangea/dnd": "^18.0.1", "@monaco-editor/react": "^4.7.0", - "@mui/icons-material": "^9.0.1", - "@mui/lab": "9.0.0-beta.3", - "@mui/material": "^9.0.1", - "@mui/x-charts": "^9.3.0", + "@mui/icons-material": "^9.2.0", + "@mui/lab": "9.0.0-beta.6", + "@mui/material": "^9.2.0", + "@mui/material-nextjs": "^9.1.1", + "@mui/x-charts": "^9.10.1", "@next-auth/prisma-adapter": "1.0.7", - "@prisma/adapter-pg": "^7.8.0", - "@prisma/client": "7.8.0", + "@prisma/adapter-pg": "^7.9.1", + "@prisma/client": "7.9.1", "@react-three/drei": "^10.7.7", - "@react-three/fiber": "^9.5.0", + "@react-three/fiber": "^9.7.0", "@reduxjs/toolkit": "^2.11.2", - "@tanstack/react-query": "^5.100.11", - "@trpc/client": "11.17.0", - "@trpc/next": "11.17.0", - "@trpc/react-query": "11.17.0", - "@trpc/server": "11.17.0", - "@upstash/redis": "^1.37.0", + "@tanstack/react-query": "^5.101.4", + "@trpc/client": "11.18.0", + "@trpc/next": "11.18.0", + "@trpc/react-query": "11.18.0", + "@trpc/server": "11.18.0", + "@upstash/redis": "^1.38.1", "@vercel/analytics": "^1.6.1", - "@vercel/edge-config": "^1.4.3", + "@vercel/edge-config": "^1.5.0", "@vercel/speed-insights": "^1.3.1", "@zumer/snapdom": "^2.23.1", "aws-sdk": "^2.1693.0", - "axios": "1.16.1", + "axios": "1.19.0", "clsx": "^2.1.1", "cookie": "^1.1.1", "cookies-next": "^6.1.1", "formik": "^2.4.9", "graphql": "16.14.0", - "joi": "^18.1.2", - "monaco-editor": "^0.55.1", - "next": "16.2.6", - "next-auth": "4.24.14", + "joi": "^18.2.3", + "monaco-editor": "^0.56.0", + "next": "16.2.12", + "next-auth": "4.24.15", "notistack": "^3.0.2", "overlayscrollbars": "^2.14.0", "overlayscrollbars-react": "^0.5.6", "pyodide": "^0.29.3", - "react": "19.2.6", - "react-dom": "19.2.6", + "react": "19.2.8", + "react-dom": "19.2.8", "react-redux": "^9.3.0", - "react-resizable-panels": "^4.11.1", - "react-virtuoso": "^4.18.7", + "react-resizable-panels": "^4.12.2", + "react-virtuoso": "^4.18.11", "redux": "^5.0.1", "redux-logger": "^3.0.6", - "sanitize-html": "^2.17.3", - "sharp": "^0.34.5", + "sanitize-html": "^2.17.6", + "sharp": "^0.35.3", "short-uuid": "^6.0.3", "slugify": "^1.6.9", "superjson": "2.2.6", "symbol-observable": "^4.0.0", - "three": "^0.183.2", + "three": "^0.185.1", "three-stdlib": "^2.36.1", "typesafe-i18n": "^5.27.1", "yup": "^1.7.1", @@ -119,7 +120,7 @@ "@graphql-codegen/typescript": "^4.1.6", "@graphql-codegen/typescript-operations": "^4.6.1", "@graphql-codegen/typescript-react-apollo": "^4.4.1", - "@next/eslint-plugin-next": "^16.2.6", + "@next/eslint-plugin-next": "16.2.12", "@semantic-release/changelog": "^6.0.3", "@semantic-release/git": "^10.0.1", "@testing-library/dom": "^10.4.1", @@ -131,11 +132,11 @@ "@types/babel__traverse": "^7.28.0", "@types/minimist": "^1.2.5", "@types/node": "^22.19.17", - "@types/react": "^19.2.15", - "@types/react-dom": "^19.2.3", + "@types/react": "^19.2.18", + "@types/react-dom": "^19.2.4", "@types/redux-logger": "^3.0.13", "@types/sanitize-html": "^2.16.1", - "@types/three": "^0.173.0", + "@types/three": "^0.185.3", "@types/uuid": "^10.0.0", "@vitejs/plugin-react": "^5.2.0", "@vitest/coverage-v8": "5.0.0-beta.3", @@ -145,9 +146,9 @@ "dotenv": "^17.4.0", "es-guard": "^1.20.0", "esbuild": "^0.28.1", - "eslint": "^10.4.0", + "eslint": "^10.8.0", "eslint-config-prettier": "^10.1.8", - "eslint-plugin-prettier": "^5.5.5", + "eslint-plugin-prettier": "^5.5.6", "eslint-plugin-react-hooks": "^7.1.1", "eslint-plugin-testing-library": "^7.16.2", "gltfjsx": "^6.5.3", @@ -156,15 +157,15 @@ "lint-staged": "^15.5.2", "minimist": "^1.2.8", "next-router-mock": "^1.0.5", - "prettier": "3.8.3", - "prisma": "7.8.0", + "prettier": "3.9.6", + "prisma": "7.9.1", "raw-loader": "^4.0.2", "resize-observer-polyfill": "^1.5.1", - "sass": "1.90.0", - "semantic-release": "^25.0.3", - "tsx": "^4.21.0", + "sass": "1.102.0", + "semantic-release": "^25.0.8", + "tsx": "^4.23.5", "typescript": "6.0.3", - "typescript-eslint": "^8.59.4", + "typescript-eslint": "^8.66.0", "vite": "^6.4.2", "vitest": "5.0.0-beta.3", "vitest-canvas-mock": "^1.1.4" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cae95d26..f6dac1d5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,100 +10,103 @@ importers: dependencies: '@apollo/client': specifier: ^3.14.1 - version: 3.14.1(@types/react@19.2.15)(graphql-ws@6.0.8(graphql@16.14.0)(ws@8.20.1))(graphql@16.14.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + version: 3.14.1(@types/react@19.2.18)(graphql-ws@6.2.0(graphql@16.14.0)(ws@8.21.1))(graphql@16.14.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@babel/generator': specifier: ^7.29.1 - version: 7.29.1 + version: 7.29.8 '@babel/parser': specifier: ^7.29.2 - version: 7.29.3 + version: 7.29.8 '@babel/traverse': specifier: ^7.29.0 - version: 7.29.0 + version: 7.29.8 '@babel/types': specifier: ^7.29.0 - version: 7.29.0 + version: 7.29.8 '@datastructures-js/priority-queue': specifier: 5.3.0 version: 5.3.0 '@datastructures-js/queue': - specifier: 4.2.1 - version: 4.2.1 + specifier: 4.3.0 + version: 4.3.0 '@emotion/cache': specifier: ^11.14.0 version: 11.14.0 '@emotion/react': specifier: ^11.14.0 - version: 11.14.0(@types/react@19.2.15)(react@19.2.6) + version: 11.14.0(@types/react@19.2.18)(react@19.2.8) '@emotion/server': specifier: ^11.11.0 version: 11.11.0 '@emotion/styled': specifier: ^11.14.1 - version: 11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6) + version: 11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8) '@hello-pangea/dnd': specifier: ^18.0.1 - version: 18.0.1(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + version: 18.0.1(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@monaco-editor/react': specifier: ^4.7.0 - version: 4.7.0(monaco-editor@0.55.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + version: 4.7.0(monaco-editor@0.56.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@mui/icons-material': - specifier: ^9.0.1 - version: 9.0.1(@mui/material@9.0.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@types/react@19.2.15)(react@19.2.6) + specifier: ^9.2.0 + version: 9.2.0(@mui/material@9.2.0(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/react@19.2.18)(react@19.2.8) '@mui/lab': - specifier: 9.0.0-beta.3 - version: 9.0.0-beta.3(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@mui/material@9.0.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + specifier: 9.0.0-beta.6 + version: 9.0.0-beta.6(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@mui/material@9.2.0(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@mui/material': - specifier: ^9.0.1 - version: 9.0.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + specifier: ^9.2.0 + version: 9.2.0(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@mui/material-nextjs': + specifier: ^9.1.1 + version: 9.1.1(@emotion/cache@11.14.0)(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/server@11.11.0)(@types/react@19.2.18)(next@16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0))(react@19.2.8) '@mui/x-charts': - specifier: ^9.3.0 - version: 9.3.0(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@mui/material@9.0.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mui/system@9.0.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + specifier: ^9.10.1 + version: 9.10.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@mui/material@9.2.0(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@mui/system@9.2.0(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@next-auth/prisma-adapter': specifier: 1.0.7 - version: 1.0.7(@prisma/client@7.8.0(prisma@7.8.0(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(magicast@0.5.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@6.0.3))(typescript@6.0.3))(next-auth@4.24.14(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)) + version: 1.0.7(@prisma/client@7.9.1(prisma@7.9.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(typescript@6.0.3))(next-auth@4.24.15(next@16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)) '@prisma/adapter-pg': - specifier: ^7.8.0 - version: 7.8.0 + specifier: ^7.9.1 + version: 7.9.1 '@prisma/client': - specifier: 7.8.0 - version: 7.8.0(prisma@7.8.0(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(magicast@0.5.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@6.0.3))(typescript@6.0.3) + specifier: 7.9.1 + version: 7.9.1(prisma@7.9.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(typescript@6.0.3) '@react-three/drei': specifier: ^10.7.7 - version: 10.7.7(@react-three/fiber@9.6.1(@types/react@19.2.15)(immer@11.1.8)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(three@0.183.2))(@types/react@19.2.15)(@types/three@0.173.0)(immer@11.1.8)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(three@0.183.2) + version: 10.7.7(@react-three/fiber@9.7.0(@types/react@19.2.18)(immer@11.1.15)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(three@0.185.1))(@types/react@19.2.18)(@types/three@0.185.3)(immer@11.1.15)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(three@0.185.1) '@react-three/fiber': - specifier: ^9.5.0 - version: 9.6.1(@types/react@19.2.15)(immer@11.1.8)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(three@0.183.2) + specifier: ^9.7.0 + version: 9.7.0(@types/react@19.2.18)(immer@11.1.15)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(three@0.185.1) '@reduxjs/toolkit': specifier: ^2.11.2 - version: 2.12.0(react-redux@9.3.0(@types/react@19.2.15)(react@19.2.6)(redux@5.0.1))(react@19.2.6) + version: 2.12.0(react-redux@9.3.0(@types/react@19.2.18)(react@19.2.8)(redux@5.0.1))(react@19.2.8) '@tanstack/react-query': - specifier: ^5.100.11 - version: 5.100.11(react@19.2.6) + specifier: ^5.101.4 + version: 5.101.4(react@19.2.8) '@trpc/client': - specifier: 11.17.0 - version: 11.17.0(@trpc/server@11.17.0(typescript@6.0.3))(typescript@6.0.3) + specifier: 11.18.0 + version: 11.18.0(@trpc/server@11.18.0(typescript@6.0.3))(typescript@6.0.3) '@trpc/next': - specifier: 11.17.0 - version: 11.17.0(@tanstack/react-query@5.100.11(react@19.2.6))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@6.0.3))(typescript@6.0.3))(@trpc/react-query@11.17.0(@tanstack/react-query@5.100.11(react@19.2.6))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@6.0.3))(typescript@6.0.3))(@trpc/server@11.17.0(typescript@6.0.3))(react@19.2.6)(typescript@6.0.3))(@trpc/server@11.17.0(typescript@6.0.3))(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@6.0.3) + specifier: 11.18.0 + version: 11.18.0(@tanstack/react-query@5.101.4(react@19.2.8))(@trpc/client@11.18.0(@trpc/server@11.18.0(typescript@6.0.3))(typescript@6.0.3))(@trpc/react-query@11.18.0(@tanstack/react-query@5.101.4(react@19.2.8))(@trpc/client@11.18.0(@trpc/server@11.18.0(typescript@6.0.3))(typescript@6.0.3))(@trpc/server@11.18.0(typescript@6.0.3))(react@19.2.8)(typescript@6.0.3))(@trpc/server@11.18.0(typescript@6.0.3))(next@16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) '@trpc/react-query': - specifier: 11.17.0 - version: 11.17.0(@tanstack/react-query@5.100.11(react@19.2.6))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@6.0.3))(typescript@6.0.3))(@trpc/server@11.17.0(typescript@6.0.3))(react@19.2.6)(typescript@6.0.3) + specifier: 11.18.0 + version: 11.18.0(@tanstack/react-query@5.101.4(react@19.2.8))(@trpc/client@11.18.0(@trpc/server@11.18.0(typescript@6.0.3))(typescript@6.0.3))(@trpc/server@11.18.0(typescript@6.0.3))(react@19.2.8)(typescript@6.0.3) '@trpc/server': - specifier: 11.17.0 - version: 11.17.0(typescript@6.0.3) + specifier: 11.18.0 + version: 11.18.0(typescript@6.0.3) '@upstash/redis': - specifier: ^1.37.0 - version: 1.38.0 + specifier: ^1.38.1 + version: 1.38.1 '@vercel/analytics': specifier: ^1.6.1 - version: 1.6.1(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0))(react@19.2.6) + version: 1.6.1(next@16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0))(react@19.2.8) '@vercel/edge-config': - specifier: ^1.4.3 - version: 1.4.3(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0)) + specifier: ^1.5.0 + version: 1.5.0(next@16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0)) '@vercel/speed-insights': specifier: ^1.3.1 - version: 1.3.1(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0))(react@19.2.6) + version: 1.3.1(next@16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0))(react@19.2.8) '@zumer/snapdom': specifier: ^2.23.1 version: 2.23.1 @@ -111,8 +114,8 @@ importers: specifier: ^2.1693.0 version: 2.1693.0 axios: - specifier: 1.16.1 - version: 1.16.1 + specifier: 1.19.0 + version: 1.19.0 clsx: specifier: ^2.1.1 version: 2.1.1 @@ -121,52 +124,52 @@ importers: version: 1.1.1 cookies-next: specifier: ^6.1.1 - version: 6.1.1(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0))(react@19.2.6) + version: 6.1.1(next@16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0))(react@19.2.8) formik: specifier: ^2.4.9 - version: 2.4.9(@types/react@19.2.15)(react@19.2.6) + version: 2.4.9(@types/react@19.2.18)(react@19.2.8) graphql: specifier: 16.14.0 version: 16.14.0 joi: - specifier: ^18.1.2 - version: 18.2.1 + specifier: ^18.2.3 + version: 18.2.3 monaco-editor: - specifier: ^0.55.1 - version: 0.55.1 + specifier: ^0.56.0 + version: 0.56.0 next: - specifier: 16.2.6 - version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0) + specifier: 16.2.12 + version: 16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0) next-auth: - specifier: 4.24.14 - version: 4.24.14(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + specifier: 4.24.15 + version: 4.24.15(next@16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0))(react-dom@19.2.8(react@19.2.8))(react@19.2.8) notistack: specifier: ^3.0.2 - version: 3.0.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + version: 3.0.2(react-dom@19.2.8(react@19.2.8))(react@19.2.8) overlayscrollbars: specifier: ^2.14.0 version: 2.16.0 overlayscrollbars-react: specifier: ^0.5.6 - version: 0.5.6(overlayscrollbars@2.16.0)(react@19.2.6) + version: 0.5.6(overlayscrollbars@2.16.0)(react@19.2.8) pyodide: specifier: ^0.29.3 version: 0.29.4 react: - specifier: 19.2.6 - version: 19.2.6 + specifier: 19.2.8 + version: 19.2.8 react-dom: - specifier: 19.2.6 - version: 19.2.6(react@19.2.6) + specifier: 19.2.8 + version: 19.2.8(react@19.2.8) react-redux: specifier: ^9.3.0 - version: 9.3.0(@types/react@19.2.15)(react@19.2.6)(redux@5.0.1) + version: 9.3.0(@types/react@19.2.18)(react@19.2.8)(redux@5.0.1) react-resizable-panels: - specifier: ^4.11.1 - version: 4.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + specifier: ^4.12.2 + version: 4.12.2(react-dom@19.2.8(react@19.2.8))(react@19.2.8) react-virtuoso: - specifier: ^4.18.7 - version: 4.18.7(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + specifier: ^4.18.11 + version: 4.18.11(react-dom@19.2.8(react@19.2.8))(react@19.2.8) redux: specifier: ^5.0.1 version: 5.0.1 @@ -174,11 +177,11 @@ importers: specifier: ^3.0.6 version: 3.0.6 sanitize-html: - specifier: ^2.17.3 - version: 2.17.4 + specifier: ^2.17.6 + version: 2.17.6 sharp: - specifier: ^0.34.5 - version: 0.34.5 + specifier: ^0.35.3 + version: 0.35.3(@types/node@22.20.1) short-uuid: specifier: ^6.0.3 version: 6.0.3 @@ -192,11 +195,11 @@ importers: specifier: ^4.0.0 version: 4.0.0 three: - specifier: ^0.183.2 - version: 0.183.2 + specifier: ^0.185.1 + version: 0.185.1 three-stdlib: specifier: ^2.36.1 - version: 2.36.1(three@0.183.2) + version: 2.36.1(three@0.185.1) typesafe-i18n: specifier: ^5.27.1 version: 5.27.1(typescript@6.0.3) @@ -209,13 +212,13 @@ importers: devDependencies: '@babel/core': specifier: ^7.29.0 - version: 7.29.0 + version: 7.29.7 '@graphql-codegen/add': specifier: ^3.2.3 version: 3.2.3(graphql@16.14.0) '@graphql-codegen/cli': specifier: ^5.0.7 - version: 5.0.7(@parcel/watcher@2.5.6)(@types/node@22.19.19)(graphql@16.14.0)(typescript@6.0.3) + version: 5.0.7(@parcel/watcher@2.6.0)(@types/node@22.20.1)(graphql@16.14.0)(typescript@6.0.3) '@graphql-codegen/typescript': specifier: ^4.1.6 version: 4.1.6(graphql@16.14.0) @@ -226,29 +229,29 @@ importers: specifier: ^4.4.1 version: 4.4.2(graphql@16.14.0) '@next/eslint-plugin-next': - specifier: ^16.2.6 - version: 16.2.6 + specifier: 16.2.12 + version: 16.2.12 '@semantic-release/changelog': specifier: ^6.0.3 - version: 6.0.3(semantic-release@25.0.3(typescript@6.0.3)) + version: 6.0.3(semantic-release@25.0.8(typescript@6.0.3)) '@semantic-release/git': specifier: ^10.0.1 - version: 10.0.1(semantic-release@25.0.3(typescript@6.0.3)) + version: 10.0.1(semantic-release@25.0.8(typescript@6.0.3)) '@testing-library/dom': specifier: ^10.4.1 version: 10.4.1 '@testing-library/jest-dom': specifier: ^6.9.1 - version: 6.9.1 + version: 6.10.0(@testing-library/dom@10.4.1) '@testing-library/react': specifier: ^16.3.2 - version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@testing-library/user-event': specifier: ^14.6.1 version: 14.6.1(@testing-library/dom@10.4.1) '@trivago/prettier-plugin-sort-imports': specifier: ^6.0.2 - version: 6.0.2(prettier@3.8.3) + version: 6.0.2(prettier@3.9.6) '@types/babel__generator': specifier: ^7.27.0 version: 7.27.0 @@ -260,13 +263,13 @@ importers: version: 1.2.5 '@types/node': specifier: ^22.19.17 - version: 22.19.19 + version: 22.20.1 '@types/react': - specifier: ^19.2.15 - version: 19.2.15 + specifier: ^19.2.18 + version: 19.2.18 '@types/react-dom': - specifier: ^19.2.3 - version: 19.2.3(@types/react@19.2.15) + specifier: ^19.2.4 + version: 19.2.4(@types/react@19.2.18) '@types/redux-logger': specifier: ^3.0.13 version: 3.0.13 @@ -274,14 +277,14 @@ importers: specifier: ^2.16.1 version: 2.16.1 '@types/three': - specifier: ^0.173.0 - version: 0.173.0 + specifier: ^0.185.3 + version: 0.185.3 '@types/uuid': specifier: ^10.0.0 version: 10.0.0 '@vitejs/plugin-react': specifier: ^5.2.0 - version: 5.2.0(vite@6.4.2(@types/node@22.19.19)(jiti@2.7.0)(sass@1.90.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0)) + version: 5.2.0(vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(sass@1.102.0)(terser@5.49.0)(tsx@4.23.5)(yaml@2.9.0)) '@vitest/coverage-v8': specifier: 5.0.0-beta.3 version: 5.0.0-beta.3(vitest@5.0.0-beta.3) @@ -299,25 +302,25 @@ importers: version: 17.4.2 es-guard: specifier: ^1.20.0 - version: 1.20.0(jiti@2.7.0)(prettier@3.8.3) + version: 1.20.0(jiti@2.7.0)(prettier@3.9.6) esbuild: specifier: ^0.28.1 version: 0.28.1 eslint: - specifier: ^10.4.0 - version: 10.4.0(jiti@2.7.0) + specifier: ^10.8.0 + version: 10.8.0(jiti@2.7.0) eslint-config-prettier: specifier: ^10.1.8 - version: 10.1.8(eslint@10.4.0(jiti@2.7.0)) + version: 10.1.8(eslint@10.8.0(jiti@2.7.0)) eslint-plugin-prettier: - specifier: ^5.5.5 - version: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.4.0(jiti@2.7.0)))(eslint@10.4.0(jiti@2.7.0))(prettier@3.8.3) + specifier: ^5.5.6 + version: 5.5.6(eslint-config-prettier@10.1.8(eslint@10.8.0(jiti@2.7.0)))(eslint@10.8.0(jiti@2.7.0))(prettier@3.9.6) eslint-plugin-react-hooks: specifier: ^7.1.1 - version: 7.1.1(eslint@10.4.0(jiti@2.7.0)) + version: 7.1.1(eslint@10.8.0(jiti@2.7.0)) eslint-plugin-testing-library: specifier: ^7.16.2 - version: 7.16.2(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3) + version: 7.16.2(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) gltfjsx: specifier: ^6.5.3 version: 6.5.3 @@ -335,40 +338,40 @@ importers: version: 1.2.8 next-router-mock: specifier: ^1.0.5 - version: 1.0.5(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0))(react@19.2.6) + version: 1.0.5(next@16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0))(react@19.2.8) prettier: - specifier: 3.8.3 - version: 3.8.3 + specifier: 3.9.6 + version: 3.9.6 prisma: - specifier: 7.8.0 - version: 7.8.0(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(magicast@0.5.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@6.0.3) + specifier: 7.9.1 + version: 7.9.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) raw-loader: specifier: ^4.0.2 - version: 4.0.2(webpack@5.106.2(esbuild@0.28.1)) + version: 4.0.2(webpack@5.109.2(esbuild@0.28.1)) resize-observer-polyfill: specifier: ^1.5.1 version: 1.5.1 sass: - specifier: 1.90.0 - version: 1.90.0 + specifier: 1.102.0 + version: 1.102.0 semantic-release: - specifier: ^25.0.3 - version: 25.0.3(typescript@6.0.3) + specifier: ^25.0.8 + version: 25.0.8(typescript@6.0.3) tsx: - specifier: ^4.21.0 - version: 4.22.3 + specifier: ^4.23.5 + version: 4.23.5 typescript: specifier: 6.0.3 version: 6.0.3 typescript-eslint: - specifier: ^8.59.4 - version: 8.59.4(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3) + specifier: ^8.66.0 + version: 8.66.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) vite: specifier: ^6.4.2 - version: 6.4.2(@types/node@22.19.19)(jiti@2.7.0)(sass@1.90.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0) + version: 6.4.3(@types/node@22.20.1)(jiti@2.7.0)(sass@1.102.0)(terser@5.49.0)(tsx@4.23.5)(yaml@2.9.0) vitest: specifier: 5.0.0-beta.3 - version: 5.0.0-beta.3(@types/node@22.19.19)(@vitest/coverage-v8@5.0.0-beta.3)(jsdom@26.1.0)(vite@6.4.2(@types/node@22.19.19)(jiti@2.7.0)(sass@1.90.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0)) + version: 5.0.0-beta.3(@types/node@22.20.1)(@vitest/coverage-v8@5.0.0-beta.3)(jsdom@26.1.0)(vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(sass@1.102.0)(terser@5.49.0)(tsx@4.23.5)(yaml@2.9.0)) vitest-canvas-mock: specifier: ^1.1.4 version: 1.1.4(vitest@5.0.0-beta.3) @@ -387,8 +390,8 @@ packages: '@actions/io@3.0.2': resolution: {integrity: sha512-nRBchcMM+QK1pdjO7/idu86rbJI5YHUKCvKs0KxnSYbVe3F51UfGxuZX4Qy/fWlp6l7gWFwIkrOzN+oUK03kfw==} - '@adobe/css-tools@4.4.4': - resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==} + '@adobe/css-tools@4.5.0': + resolution: {integrity: sha512-6OzddxPio9UiWTCemp4N8cYLV2ZN1ncRnV1cVGtve7dhPOtRkleRyx32GQCYSwDYgaHU3USMm84tNsvKzRCa1Q==} '@apollo/client@3.14.1': resolution: {integrity: sha512-SgGX6E23JsZhUdG2anxiyHvEvvN6CUaI4ZfMsndZFeuHPXL3H0IsaiNAhLITSISbeyeYd+CBd9oERXQDdjXWZw==} @@ -408,107 +411,120 @@ packages: subscriptions-transport-ws: optional: true - '@ardatan/relay-compiler@13.0.1': - resolution: {integrity: sha512-afG3YPwuSA0E5foouZusz5GlXKs74dObv4cuWyLyfKsYFj2r7oGRNB28v18HvwuLSQtQFCi+DpIe0TZkgQDYyg==} + '@ardatan/relay-compiler@13.0.2': + resolution: {integrity: sha512-VFpv9UP820SiwDUPYtq7PmD3jifzZlevkQ26bhbSzFeruSTys0eHzQCZyKg+IhgmZzwPI9AFjPe26ABNjGeIKg==} peerDependencies: graphql: '*' '@asamuzakjp/css-color@3.2.0': resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==} - '@babel/code-frame@7.29.0': - resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} + '@babel/code-frame@7.29.7': + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.29.3': - resolution: {integrity: sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==} + '@babel/compat-data@7.29.7': + resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} engines: {node: '>=6.9.0'} - '@babel/core@7.29.0': - resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==} + '@babel/core@7.29.7': + resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} engines: {node: '>=6.9.0'} - '@babel/generator@7.29.1': - resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==} + '@babel/generator@7.29.8': + resolution: {integrity: sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.28.6': - resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==} + '@babel/helper-compilation-targets@7.29.7': + resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} engines: {node: '>=6.9.0'} - '@babel/helper-globals@7.28.0': - resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + '@babel/helper-globals@7.29.7': + resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.28.6': - resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==} + '@babel/helper-module-imports@7.29.7': + resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.28.6': - resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==} + '@babel/helper-module-transforms@7.29.7': + resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-plugin-utils@7.28.6': - resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==} + '@babel/helper-plugin-utils@7.29.7': + resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.27.1': - resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + '@babel/helper-string-parser@7.29.7': + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.28.5': - resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.27.1': - resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} + '@babel/helper-validator-option@7.29.7': + resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.29.2': - resolution: {integrity: sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==} + '@babel/helpers@7.29.7': + resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} engines: {node: '>=6.9.0'} - '@babel/parser@7.29.3': - resolution: {integrity: sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==} + '@babel/parser@7.29.8': + resolution: {integrity: sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/plugin-syntax-import-assertions@7.28.6': - resolution: {integrity: sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==} + '@babel/plugin-syntax-import-assertions@7.29.7': + resolution: {integrity: sha512-/An1OCBN93thpBAGyfsK2pcf0jvju1SAtKkL2Ny++B5Sy6sqgzXDQH1cZxWbF96Wuk+bn41MDA9bLd4VVAw6rw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx-self@7.27.1': - resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==} + '@babel/plugin-transform-react-jsx-self@7.29.7': + resolution: {integrity: sha512-TL0hMc9xzy86VD31nUiwzd5otRAcyEPcsegCxolO0PvcXuH1v0kECe/UIznYFihpkvU5wg/jk4v0TTEFfm53fw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx-source@7.27.1': - resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==} + '@babel/plugin-transform-react-jsx-source@7.29.7': + resolution: {integrity: sha512-06IyK09H3wi4cGbhDBwp5gUGo0IKtnYa8tyTiephirPCK6fbobVGiXMMI5zLQ4aKEYP3wZ3ArU44o+8KMrSG/Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/runtime@7.29.2': - resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==} + '@babel/runtime@7.29.7': + resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} engines: {node: '>=6.9.0'} - '@babel/template@7.28.6': - resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} + '@babel/runtime@8.0.0': + resolution: {integrity: sha512-sL6cvO2IfkSu/iU+zs2S/w01B7A8V7suXSIKEN4hPFFdZoiPGxrj5pAG0lCaqLWiEIrjKzdznIWuaLcxPR53qw==} + + '@babel/template@7.29.7': + resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.29.0': - resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} + '@babel/traverse@7.29.8': + resolution: {integrity: sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==} engines: {node: '>=6.9.0'} - '@babel/types@7.29.0': - resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} + '@babel/types@7.29.8': + resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==} engines: {node: '>=6.9.0'} + '@base-ui/utils@0.3.1': + resolution: {integrity: sha512-gFFiltORVmW/N6IILTGxizP3PBpVpysqML1ALY5Vk0mH+7faVkCknOU31goYHN5Aoek2dkjxva1XOD2Ce9WuIg==} + peerDependencies: + '@types/react': ^17 || ^18 || ^19 + react: ^17 || ^18 || ^19 + react-dom: ^17 || ^18 || ^19 + peerDependenciesMeta: + '@types/react': + optional: true + '@bcoe/v8-coverage@1.0.2': resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} @@ -551,25 +567,28 @@ packages: '@datastructures-js/priority-queue@5.3.0': resolution: {integrity: sha512-0Dl0UooE9Uzz85qBP46HTjQHS5GN7NMNluN5/nMfxQAndG/1eNBJpBntLGT5QJarvMO3poLNBJzA3S4GPajp+w==} - '@datastructures-js/queue@4.2.1': - resolution: {integrity: sha512-j23SNg1EyUzPhKeW37inqil/+YHwL/IIuaDftrrpqv0OKLJ6N5hhuYtGe33WCm5QppmIvbk5/dMwJ4UW+MzJPw==} + '@datastructures-js/queue@4.3.0': + resolution: {integrity: sha512-2RYt1+N4dtdcilwmB+A6j9HT/5MImHSK2UUjBA8WQAHoA2AEJC4YxJSSGhGTOBMyLMKpMiowwTrnB315YgtTrA==} + + '@dimforge/rapier3d-compat@0.12.0': + resolution: {integrity: sha512-uekIGetywIgopfD97oDL5PfeezkFpNhwlzlaEYNOA0N6ghdsOvh/HYjSMek5Q2O1PYvRSDFcqFVJl4r4ZBwOow==} - '@electric-sql/pglite-socket@0.1.1': - resolution: {integrity: sha512-p2hoXw3Z3LQHwTeikdZNsFBOvXGqKY2hk51BBw+8NKND8eoH+8LFOtW9Z8CQKmTJ2qqGYu82ipqiyFZOTTXNfw==} + '@electric-sql/pglite-socket@0.1.3': + resolution: {integrity: sha512-LAciWM0M1dCL8hlsxu2venbVZcdxema0BtDfpWYVqr+Y468UADw0pFWidhKw1M8sfJ8rdLT71tjMmnirf/IZRQ==} hasBin: true peerDependencies: - '@electric-sql/pglite': 0.4.1 + '@electric-sql/pglite': 0.4.3 - '@electric-sql/pglite-tools@0.3.1': - resolution: {integrity: sha512-C+T3oivmy9bpQvSxVqXA1UDY8cB9Eb9vZHL9zxWwEUfDixbXv4G3r2LjoTdR33LD8aomR3O9ZXEO3XEwr/cUCA==} + '@electric-sql/pglite-tools@0.3.3': + resolution: {integrity: sha512-AlzLJTRJ8+UFgK8CmxIpyIpJ0+YaFw02IiOSdYrqxwPXdSyeIShz8aa9Tq+tYFXdPwcaMp/Fc80mQZ1dkOQ/wg==} peerDependencies: - '@electric-sql/pglite': 0.4.1 + '@electric-sql/pglite': 0.4.3 - '@electric-sql/pglite@0.4.1': - resolution: {integrity: sha512-mZ9NzzUSYPOCnxHH1oAHPRzoMFJHY472raDKwXl/+6oPbpdJ7g8LsCN4FSaIIfkiCKHhb3iF/Zqo3NYxaIhU7Q==} + '@electric-sql/pglite@0.4.3': + resolution: {integrity: sha512-ichuWTgtd4mOM1G4SpyGJa5trT03lWbMypDV0fUXUCXg5hiHqVAz/bZyV68NqmkLB7WcYmj1RMJVSp8HV/v/ZQ==} - '@emnapi/runtime@1.10.0': - resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} + '@emnapi/runtime@1.11.3': + resolution: {integrity: sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==} '@emotion/babel-plugin@11.13.5': resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==} @@ -960,8 +979,8 @@ packages: cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.9.1': - resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + '@eslint-community/eslint-utils@4.10.1': + resolution: {integrity: sha512-cuadcxVFE8sDK6iWJbs8Sn0av2Nrh2QSGQhVlBW9AaAHqHwjWsZHT8LJ4hFGPh7ASBV2deFdM7H/DPjulmh8rg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 @@ -974,8 +993,8 @@ packages: resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/config-helpers@0.6.0': - resolution: {integrity: sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==} + '@eslint/config-helpers@0.7.0': + resolution: {integrity: sha512-DObd/KKUsU+FaFv4PLxSRenpXfQWmPXXP3pPZ6/K1PCrMu2vQpMDMuQe/BqYeoLcz8ro0bVDF1RxOJgfVEdhUw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@eslint/core@1.2.1': @@ -986,13 +1005,16 @@ packages: resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/plugin-kit@0.7.1': - resolution: {integrity: sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ==} + '@eslint/plugin-kit@0.7.2': + resolution: {integrity: sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@fastify/busboy@3.2.0': resolution: {integrity: sha512-m9FVDXU3GT2ITSe0UaMA5rU3QkfC/UXtCU8y0gSN/GugTqtVldOBWIB5V6V3sbmenVZUIpU6f+mPEO2+m5iTaA==} + '@floating-ui/utils@0.2.12': + resolution: {integrity: sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==} + '@gltf-transform/core@4.1.0': resolution: {integrity: sha512-2eWQY+dObdyqm+KuNriLpttbYq5etM8nRmpxIYwZo/5Hmm6l5CuMj0AczTRq7DfhUsLQFZlPT22CjQRCvkc+aA==} @@ -1114,14 +1136,14 @@ packages: resolution: {integrity: sha512-Pz8wB3K0iU6ae9S1fWfsmJX24CcGeTo6hE7T44ucmV/ALKRj+bxClmqrYcDT7v3f0d12Rh4FAXBb6gon+WkDpQ==} engines: {node: '>=20.0.0'} - '@graphql-tools/apollo-engine-loader@8.0.30': - resolution: {integrity: sha512-hUydKGGECrWloERMmfoMzHZi12X99AM9geCGF5XVsv4iMRl/Iyuet24th4kC9bZ8MlAdCwAwtUsCyv9uRfYwSA==} + '@graphql-tools/apollo-engine-loader@8.0.34': + resolution: {integrity: sha512-pxmrIbUtpiH2/Dx0093EQ0x7dXWdlfAZ97uSY280CkUxIB8EYZeNeV2pvk6HksZzBtHrprLRysrjnegLOmQBRA==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/batch-execute@10.0.8': - resolution: {integrity: sha512-Kobt37qrVTFhX4HUK5/vPgMXFw/5f97AzmAlfmDBSRh/GnoAmLKCb48FrEI3gdeIwZB2fEhVHJyDqsojldnLQA==} + '@graphql-tools/batch-execute@10.0.9': + resolution: {integrity: sha512-khIgAPlyaWJ3dVX6SsqOkABZCH1Gii32WHn3xMzavupsxPCfb/9G3zjdswptzTFrOcZ92dWo7MXvwNFkRfNN4w==} engines: {node: '>=20.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -1132,8 +1154,8 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/code-file-loader@8.1.32': - resolution: {integrity: sha512-gR5mNQjn0BugDL8a4A+ovS2KEvU52RNOGnbwiq9oWAEHiSv7iqJu77bpWARTzlE1ZFPK5MSQe9218+1t5PbXmQ==} + '@graphql-tools/code-file-loader@8.1.36': + resolution: {integrity: sha512-EAIogV/vUmcrNa4icqnx5Xr5z3uLNSZ6867DEJyizuUfOCnD5JzCBQNsBjOBl3R5rzUiV3+GGSzzo15/jLN4oQ==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -1144,8 +1166,8 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/delegate@12.0.16': - resolution: {integrity: sha512-WEJaFwWG82a0VzhfE4sRsaOPjxgCVfn4fOe3ho+r3uIbPYpc7qHpFdu1PLg6meikq6fuW9NJ1J88fEgnWuXDVg==} + '@graphql-tools/delegate@12.1.1': + resolution: {integrity: sha512-BiePOU2Nev9KDpAEOw25isTm6y/Ea6Sb3c/aH0P9s25c/6mzluvpEo66nnA9vWeirIRScS7rUtN0Jv3P02h3VA==} engines: {node: '>=20.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -1198,20 +1220,20 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/executor-legacy-ws@1.1.28': - resolution: {integrity: sha512-O4uj93GG9iUb3s32eyhUohvyfA8mLhN8FvGzEdK628hFQPhZN75yurtVFrR08DHex71mQ3wYCCFkErpwdJbDDQ==} + '@graphql-tools/executor-legacy-ws@1.1.32': + resolution: {integrity: sha512-rmSp846dAgEGtwdQ7ntdgpLJzzRvw5rE8sR7ASPci2QoIn3McxVYwjq52SMNntoH4VaBeI/BrpyQIN5L68zAfA==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/executor@1.5.3': - resolution: {integrity: sha512-mgBFC0bsrZPZLu9EnydpMnAuQ8Iiq0CEbUcsmvXsm2/iYektGHDN/+bmb7hicA6dWZtdPfklYJmr21WD0GnOfA==} + '@graphql-tools/executor@1.5.7': + resolution: {integrity: sha512-UcXVClkBml+qyGEsQxfEaAkboqySVGFUd9ivn7pDc9jZSckgF6zL21cNxuRH5ZA2exneV3PTtcc0I0rDOdE0Tg==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/git-loader@8.0.36': - resolution: {integrity: sha512-PDDakesRu8FJYHJLf9/gkTweh8M19Bymz9i+vOlk9OTs9XmNcCqKM+1S610KX2AodvuBFz/xbesjTtTJIppLPg==} + '@graphql-tools/git-loader@8.0.40': + resolution: {integrity: sha512-aQkcTTymjeQBREoH8/x5JZWt/banq9D7fs8Gqqd2HGirh8JBYGoEbKm45bSdUqCLnqsOJ2oal5A73rsC7ASASw==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -1222,38 +1244,38 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/graphql-file-loader@8.1.14': - resolution: {integrity: sha512-CfAcsSEVkkHfEXLFzrd5rUYpcQEGWNV8lfc1Tb1p5m9HnYICzDDH08I5V33iMrEDza3GuujjjRBYqplBkqwIow==} + '@graphql-tools/graphql-file-loader@8.1.18': + resolution: {integrity: sha512-MBbAPFfGZN+jaRQQkqfY1Ztj4ftFgk9m7zh0h1jQC83xsVJ8zvMk2TGwg7g3lEGqa0cLOOEp/a1/78MSdhj2Zg==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/graphql-tag-pluck@8.3.31': - resolution: {integrity: sha512-ema2RRPZGj8TKruNElyDBHVCNFMxioGIVfLBuiA+GdfmRGt95b/i7Uksnj4EwItA6MCmhxokxZoa/fl6mJt3tw==} + '@graphql-tools/graphql-tag-pluck@8.3.35': + resolution: {integrity: sha512-k6udGhRFzf/FnfV/pl+2dxVURHtqdOj8evG3xFJahMS9bSMLkmTRCqTaR8e+ErYZEUODE2zCSPth3JLQEfAEqQ==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/import@7.1.14': - resolution: {integrity: sha512-aqLcu04aEidszbXM6M0PWWL8bP17eX9sxXwjYWpglLvIRd4NFqb3C9QzBY8pleqXNMtWqXktlm9BQjevgSrirQ==} + '@graphql-tools/import@7.1.18': + resolution: {integrity: sha512-/lCEk28rbUiypbX8jl5x0RBiHDsXk3YJ5jAU1nlqXEdxNiNI6p5ts+vt0N7UximIuolwV7BeRxLn5RUejyKZYQ==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/json-file-loader@8.0.28': - resolution: {integrity: sha512-qgCsSkPArnjlNkcYpgGKiXxCTNkrAT9E+l1LhR+Por2jTlKBBeZ8stortkQ/PNDDjuL0WPrLQmHKhNPHabnB3A==} + '@graphql-tools/json-file-loader@8.0.32': + resolution: {integrity: sha512-PJ06nGC836vWWLCAPignLKAnIF+CKNkXlCIe9zkkb02jFPNdG5nA0PUxa1rqt/lqZd/x/ravZQ4yM47pxtLajg==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/load@8.1.10': - resolution: {integrity: sha512-hjcvfEFtwtc8vGi46wtpmGWadNzfEhzbjqinyFIZuIZPlR4aYdWQtqWtY/RMM4Ew4t1USkMNm6xrqC2TH1vCSA==} + '@graphql-tools/load@8.1.15': + resolution: {integrity: sha512-QpCve0kf1IxNOWAk99VjS4CEZinQjKAfsgDDRWGUg9+9TqBbvCdsLAQshykHcfueEUPetVRVqqqOIRKo9eJ2xQ==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/merge@9.1.9': - resolution: {integrity: sha512-iHUWNjRHeQRYdgIMIuChThOwoKzA9vrzYeslgfBo5eUYEyHGZCoDPjAavssoYXLwstYt1dZj2J22jSzc2DrN0Q==} + '@graphql-tools/merge@9.2.2': + resolution: {integrity: sha512-DSLLAztOIQId7QE3m8Ehk5lV+0pjxNSSRDHPzlYQ9E4KJ9AoUMBprC4C+eX3v4srh05S2ujm5/veqAr5yEWFSQ==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -1271,14 +1293,14 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/relay-operation-optimizer@7.1.4': - resolution: {integrity: sha512-cwOD/GEo/R//1uGCP0/urIxsMFoUgzkJVyMt9BDM2HhQhU6rSgH5l6lFukAFTJyPJVdyeOdYm2i0Jj5vYWbHTw==} + '@graphql-tools/relay-operation-optimizer@7.1.8': + resolution: {integrity: sha512-s16NYT+66VSLCITBURoGNTwh+YvZRSlW3MtFJC2gsvrHZHf6KpCvIR3Qju4yh0FtCoN7Wg7yOI/JT/UzaMEOwQ==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/schema@10.0.33': - resolution: {integrity: sha512-O6P3RIftO0jafnSsFAqpjurUuUxJ43s/AdPVLQsBkI6y4Ic/tKm4C1Qm1KKQsCDTOxXPJClh/v3g7k7yLKCFBQ==} + '@graphql-tools/schema@10.0.38': + resolution: {integrity: sha512-Kckk2/vm+rELJ7ijvFaAn9ouWSVUTD0D4SJIvYF4rKeuQHAfCzE/jzMFonZVpTXleqJjPXLZjVbuaMorw7A5Og==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -1289,8 +1311,8 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/url-loader@9.1.2': - resolution: {integrity: sha512-pVSiPrfWQKb3jq23Pl7EjbB2uv3tgZLnWo/axkmg4itAEZ5s/vV/jKa8P1HZzUnSVUTR+8tcEZVeNsUbzFCbkg==} + '@graphql-tools/url-loader@9.1.6': + resolution: {integrity: sha512-BUFafQJv1OVZ/pZvzqXx4oLi2SKeqiWUAIDgz9HGRF/UpJuLY98tYMFzxhYurXg7lAuJMrDjUfl2nFSCX743Nw==} engines: {node: '>=20.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -1301,8 +1323,8 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/utils@11.1.0': - resolution: {integrity: sha512-PtFVG4r8Z2LEBSaPYQMusBiB3o6kjLVJyjCLbnWem/SpSuM21v6LTmgpkXfYU1qpBV2UGsFyuEnSJInl8fR1Ag==} + '@graphql-tools/utils@11.2.2': + resolution: {integrity: sha512-Do2A/t6ayqOma8m7PvpYMsCBswL+NB35BQSng4GWSBqafL2/BnfAZy/NSENPwV721Rm2fG0BHETFC0+FJJZmLw==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -1318,8 +1340,8 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/wrap@11.1.15': - resolution: {integrity: sha512-GCMx6l0MPwHVaBMHf29oG8eIrsJ8PBXq9y5DNX9/r9oCpCBfqxfWzcejx4CpO4chA3+yylGOKcAyEbOUgxfI1Q==} + '@graphql-tools/wrap@11.1.21': + resolution: {integrity: sha512-28a+cTtDONeO+Bg+241biALEHdZuIyFk7libduztuh+Ecwk5hCZgLVFn1S5yJXgvMvkm9+MRVSRQaWILsyougA==} engines: {node: '>=20.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -1342,8 +1364,8 @@ packages: '@hapi/pinpoint@2.0.1': resolution: {integrity: sha512-EKQmr16tM8s16vTT3cA5L0kZZcTMU5DUOZTuvpnY738m+jyP3JIUj+Mm1xc1rsLkGBQ/gVnfKYPwOmPg1tUR4Q==} - '@hapi/tlds@1.1.6': - resolution: {integrity: sha512-xdi7A/4NZokvV0ewovme3aUO5kQhW9pQ2YD1hRqZGhhSi5rBv4usHYidVocXSi9eihYsznZxLtAiEYYUL6VBGw==} + '@hapi/tlds@1.1.7': + resolution: {integrity: sha512-MgNjRwy9Ti92yVAixLmDc8dd1bJIKwO9qlWCfFQRwRmUEDPQHYn4G6hwPFvFGUTzAa0FsS+inMjLin7GnyBRhA==} engines: {node: '>=14.0.0'} '@hapi/topo@6.0.2': @@ -1355,12 +1377,6 @@ packages: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 - '@hono/node-server@1.19.11': - resolution: {integrity: sha512-dr8/3zEaB+p0D2n/IUrlPF1HZm586qgJNXK1a9fhg/PzdtkK7Ksd5l312tJX2yBuALqDYBlG20QEbayqPyxn+g==} - engines: {node: '>=18.14.1'} - peerDependencies: - hono: ^4 - '@humanfs/core@0.19.2': resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} engines: {node: '>=18.18.0'} @@ -1397,6 +1413,12 @@ packages: cpu: [arm64] os: [darwin] + '@img/sharp-darwin-arm64@0.35.3': + resolution: {integrity: sha512-RMnFX7YQsMoh7lWfcM4NEHHymBX/rLuKNPVM84XE9ONPcaSCDgE7CHIHpSgPcO2xcRthgBy1HfNO319mwhIAkg==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [darwin] + '@img/sharp-darwin-x64@0.33.5': resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -1409,6 +1431,17 @@ packages: cpu: [x64] os: [darwin] + '@img/sharp-darwin-x64@0.35.3': + resolution: {integrity: sha512-Xo+5uFBtLN0BKqieTxiFzFPQAUlBbbH5iBKyRX/z1JrbnYsHTfKJnUfL8+p2TPXr1pXqao4eeL4Rl144uDpK9w==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [darwin] + + '@img/sharp-freebsd-wasm32@0.35.3': + resolution: {integrity: sha512-lUxcqWIj2wMQ9BrwNjngcr1gWUr5xgaGThBRqPPalIC2n67Cqj1uPh8NnA/ZhAg8hUbKl+kVHKwgUIwe6ZYPrg==} + engines: {node: '>=20.9.0'} + os: [freebsd] + '@img/sharp-libvips-darwin-arm64@1.0.4': resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} cpu: [arm64] @@ -1419,6 +1452,11 @@ packages: cpu: [arm64] os: [darwin] + '@img/sharp-libvips-darwin-arm64@1.3.2': + resolution: {integrity: sha512-9J6ypZFpQBj4YnePGoq/S38w6nz+vqg5WZLrLGY4YuSemdMq47GMLBPO42MzwdGwpg/agZ7xzZcFHa48xlywfg==} + cpu: [arm64] + os: [darwin] + '@img/sharp-libvips-darwin-x64@1.0.4': resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} cpu: [x64] @@ -1429,6 +1467,11 @@ packages: cpu: [x64] os: [darwin] + '@img/sharp-libvips-darwin-x64@1.3.2': + resolution: {integrity: sha512-m2pW1n6cns9VaubNwsZ+c3CRYjxNQWgJ5gPlnL1nbBcpkBvFm6SCFN5o0psFHI8w9n11NKhFkeEDns98tiqbEw==} + cpu: [x64] + os: [darwin] + '@img/sharp-libvips-linux-arm64@1.0.4': resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} cpu: [arm64] @@ -1441,6 +1484,12 @@ packages: os: [linux] libc: [glibc] + '@img/sharp-libvips-linux-arm64@1.3.2': + resolution: {integrity: sha512-dqVSFynCox4C/J8kT16V7SIFAns0IjgLwkvYT7p8LQVmJ5OS5b6tI9IGflxTeuBS//zXeFIUbwt5dwxyZ17cnA==} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@img/sharp-libvips-linux-arm@1.0.5': resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} cpu: [arm] @@ -1453,18 +1502,36 @@ packages: os: [linux] libc: [glibc] + '@img/sharp-libvips-linux-arm@1.3.2': + resolution: {integrity: sha512-1eMLzy92I4J6rmi4mAT8yC3HxOtniyGELlzGbNMLLeqe052ahFQ0h6LFq+lh5DsDIdYViIDst08abvSbcEdLXQ==} + cpu: [arm] + os: [linux] + libc: [glibc] + '@img/sharp-libvips-linux-ppc64@1.2.4': resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==} cpu: [ppc64] os: [linux] libc: [glibc] + '@img/sharp-libvips-linux-ppc64@1.3.2': + resolution: {integrity: sha512-3z0NHDxD6n5I9gc05U1eW1AyRm+Gznzq3naMrthPNqE6oYykcogW0l/jfpJdjYnuNl8R7yI9pNbE1XiUeyq0Aw==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + '@img/sharp-libvips-linux-riscv64@1.2.4': resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==} cpu: [riscv64] os: [linux] libc: [glibc] + '@img/sharp-libvips-linux-riscv64@1.3.2': + resolution: {integrity: sha512-bsb4rI+NldGOsXuej2r8OdSS8+zXDVaCWxyWrcv6kneTOlgAHtZABRzBBCwdsPiD90J4myNJuHpg6kA20ImW/w==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + '@img/sharp-libvips-linux-s390x@1.0.4': resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} cpu: [s390x] @@ -1477,6 +1544,12 @@ packages: os: [linux] libc: [glibc] + '@img/sharp-libvips-linux-s390x@1.3.2': + resolution: {integrity: sha512-/ABshyj8gCpyIrNXnHn4LorDJ0HHm1VhXPBlxZ8zAtfVPAaSafXPGn+sUSIRiwaSBy0mmFjSjiXI5mkcwdChKQ==} + cpu: [s390x] + os: [linux] + libc: [glibc] + '@img/sharp-libvips-linux-x64@1.0.4': resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} cpu: [x64] @@ -1489,6 +1562,12 @@ packages: os: [linux] libc: [glibc] + '@img/sharp-libvips-linux-x64@1.3.2': + resolution: {integrity: sha512-ITPEtgffGJ0S6G9dRyw/366tJQqFRcHWPHhC+Stpg3Z8AEMrDrTr2lhdz4f/Y/HMbRh//7Z5mBzEpVdi62Oc3w==} + cpu: [x64] + os: [linux] + libc: [glibc] + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} cpu: [arm64] @@ -1501,6 +1580,12 @@ packages: os: [linux] libc: [musl] + '@img/sharp-libvips-linuxmusl-arm64@1.3.2': + resolution: {integrity: sha512-zE9EdiUzUmg5mDT5a1rk5fYJ6GWPloTwWBYDS14naqHsL+EaMpDj1AWnpLgh3u0YCORv2Tt50wrcrpYqkP97Kw==} + cpu: [arm64] + os: [linux] + libc: [musl] + '@img/sharp-libvips-linuxmusl-x64@1.0.4': resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} cpu: [x64] @@ -1513,6 +1598,12 @@ packages: os: [linux] libc: [musl] + '@img/sharp-libvips-linuxmusl-x64@1.3.2': + resolution: {integrity: sha512-m0lrLiUt+lBYnCFr8qV/65yMR4E/c7/wf78I5eKTdkEakFAlZ9QlzEM3QIhhAwVeUhLAHLcCq7a7Vszq/oFNZQ==} + cpu: [x64] + os: [linux] + libc: [musl] + '@img/sharp-linux-arm64@0.33.5': resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -1527,6 +1618,13 @@ packages: os: [linux] libc: [glibc] + '@img/sharp-linux-arm64@0.35.3': + resolution: {integrity: sha512-QgKDspHPnrU+GQ55XPhGwyhC8acLVOOSyAvo1oVfFmrIXLkDNmGWzAfDZ4xK8oSA1qBQrALcHX0G5UZni/SuFQ==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@img/sharp-linux-arm@0.33.5': resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -1541,6 +1639,13 @@ packages: os: [linux] libc: [glibc] + '@img/sharp-linux-arm@0.35.3': + resolution: {integrity: sha512-affVWCTLooy8TSxbDx2qkzuDeaWLNVBA+P//FNBirHsXpP2fuBhk5AuboYUnrDnzoXes8GFjpTx0SBFOCRg+FA==} + engines: {node: '>=20.9.0'} + cpu: [arm] + os: [linux] + libc: [glibc] + '@img/sharp-linux-ppc64@0.34.5': resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -1548,6 +1653,13 @@ packages: os: [linux] libc: [glibc] + '@img/sharp-linux-ppc64@0.35.3': + resolution: {integrity: sha512-sMd8rDxmpLOwv/7N44klFjOD5DUO7FLdjiXDI0hoxYaf7Ar262dQIEkosE98bps+5HPLtp/EvNqeqQtOycP/IA==} + engines: {node: '>=20.9.0'} + cpu: [ppc64] + os: [linux] + libc: [glibc] + '@img/sharp-linux-riscv64@0.34.5': resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -1555,6 +1667,13 @@ packages: os: [linux] libc: [glibc] + '@img/sharp-linux-riscv64@0.35.3': + resolution: {integrity: sha512-0Eob78yjlYPfL5vMNWAW55l3R9Y6BQS/gOfe0ZcP9mEz9ohhKSt4im1hayiknXgf8AWrFqMvJcKIdmLmEe7yeQ==} + engines: {node: '>=20.9.0'} + cpu: [riscv64] + os: [linux] + libc: [glibc] + '@img/sharp-linux-s390x@0.33.5': resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -1569,6 +1688,13 @@ packages: os: [linux] libc: [glibc] + '@img/sharp-linux-s390x@0.35.3': + resolution: {integrity: sha512-KgAxQ0DxpNOq1rG2t5cgTgShJFGSuU7XO45cqC+1NVOuZnP6tlgZRuSYOfNupGkHID0o3cJOsw4DVeJpMovcGw==} + engines: {node: '>=20.9.0'} + cpu: [s390x] + os: [linux] + libc: [glibc] + '@img/sharp-linux-x64@0.33.5': resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -1583,6 +1709,13 @@ packages: os: [linux] libc: [glibc] + '@img/sharp-linux-x64@0.35.3': + resolution: {integrity: sha512-8pqvxubL2PGdhlPy6GLqzDYMUjyRmKAwKHYKixpdJYBUK7PJ0C029XdsnpFIdgRZG68fZiGdHVWcKPvtiPB4cA==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + '@img/sharp-linuxmusl-arm64@0.33.5': resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -1597,6 +1730,13 @@ packages: os: [linux] libc: [musl] + '@img/sharp-linuxmusl-arm64@0.35.3': + resolution: {integrity: sha512-Vz0iQjzzcSX3HCbfwFfCSG/9SCIqyO0mH2sXyiHaAYfBk0cRsCWXRyQYX0ovCK/PAQBbTzQ0dsPQHh5MAFL59w==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + '@img/sharp-linuxmusl-x64@0.33.5': resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -1611,6 +1751,13 @@ packages: os: [linux] libc: [musl] + '@img/sharp-linuxmusl-x64@0.35.3': + resolution: {integrity: sha512-6O1NPKcDVj9QEdg7Hx549EX8U0rp6yXQERqru6yRN7fGBn32UvIRJUlWnk+8xDCiG76hXVBbX82NZ/ZKr0euIg==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [linux] + libc: [musl] + '@img/sharp-wasm32@0.33.5': resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -1621,12 +1768,27 @@ packages: engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [wasm32] + '@img/sharp-wasm32@0.35.3': + resolution: {integrity: sha512-cZ0XkcYGpHZkqW6iCkqTcmUC0CD9DhD5d/qeZlZkfRBn6GnHniZXLUo5+9xw8Iv76YE6LQFN9YNBlKREcCG76w==} + engines: {node: '>=20.9.0'} + + '@img/sharp-webcontainers-wasm32@0.35.3': + resolution: {integrity: sha512-2rnq7bX3NzeR2T4YWgz8qiG4h3TSdMe+vN1iQXpJleSJ3SM5zQ8Fy2SyyXAWlbxpEZ2Y+Z4u1BePgJEYbSy80Q==} + engines: {node: '>=20.9.0'} + cpu: [wasm32] + '@img/sharp-win32-arm64@0.34.5': resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [win32] + '@img/sharp-win32-arm64@0.35.3': + resolution: {integrity: sha512-4bPwFdMbeC4JQ8L8LOyWp6nsHcboP5fxkp6iPOXz2Vg49R42TuMs2whkJ5OAP4/Ul035qOzy0AecOF9VOscn4w==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [win32] + '@img/sharp-win32-ia32@0.33.5': resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -1639,6 +1801,12 @@ packages: cpu: [ia32] os: [win32] + '@img/sharp-win32-ia32@0.35.3': + resolution: {integrity: sha512-r53mXsBN6lFUDiST764SvgwUdHAqM4rPAiDzAmf4fLoB6X/rkfyTrLCg6+g17wJJiCmB3JYgHuUldCWUIRFSXw==} + engines: {node: ^20.9.0} + cpu: [ia32] + os: [win32] + '@img/sharp-win32-x64@0.33.5': resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -1651,6 +1819,12 @@ packages: cpu: [x64] os: [win32] + '@img/sharp-win32-x64@0.35.3': + resolution: {integrity: sha512-D4y1vNeZrIIJCN+uHaWVtH86B+aCrdMYYjicy9pXHvbGZeGYLLSd3wdVuC37FxVXlU1ARsk84eKWfWMXGYEqvA==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [win32] + '@inquirer/external-editor@1.0.3': resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==} engines: {node: '>=18'} @@ -1679,9 +1853,6 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - '@kurkle/color@0.3.4': - resolution: {integrity: sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==} - '@mdn/browser-compat-data@5.7.6': resolution: {integrity: sha512-7xdrMX0Wk7grrTZQwAoy1GkvPMFoizStUoL+VmtUkAxegbCCec+3FKwOM6yc/uGU5+BEczQHXAlWiqvM8JeENg==} @@ -1706,28 +1877,28 @@ packages: peerDependencies: three: '>= 0.159.0' - '@mui/core-downloads-tracker@9.0.1': - resolution: {integrity: sha512-GzamIIhZ1bH77dq7eKaeyRgJdkypsxin4jBFq2EMs4lBWRR0LFO1CSVMsoebn/VvjcNrnrOrjy48MkrkQUK2iw==} + '@mui/core-downloads-tracker@9.2.0': + resolution: {integrity: sha512-+XMav+ZaXkZKUFUgzjrfMEedfyJKxxviAske2q8N8CWDMeqZdDU2lWMkiUPiB388hGaDqhwvOAwkrsc/pUyp8g==} - '@mui/icons-material@9.0.1': - resolution: {integrity: sha512-5PRpQjVLTNLyV/2J9J53Yz4R0tVbodG0BQDN2zQI1QBG1OPYM25ar+4N20eyFOfJT6zKglLzsnU70+zdVLaTkw==} + '@mui/icons-material@9.2.0': + resolution: {integrity: sha512-VgBd3z7Qc3vd/thcNSMC03nHRh/U4DzMUd+1dRyJTbm/hGo7+N6N4GDuJZDNHa6LZhhwG6Cu1X3DNvrVv8sNag==} engines: {node: '>=14.0.0'} peerDependencies: - '@mui/material': ^9.0.1 + '@mui/material': ^9.2.0 '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': optional: true - '@mui/lab@9.0.0-beta.3': - resolution: {integrity: sha512-V824ch6JKO14QWcsbzqzyrxQpNKfnbq84NchzEH1e5ry5B4l0n+i8TmJwJWwxjMH0yxyE4tKorywGHu4oKRBlA==} + '@mui/lab@9.0.0-beta.6': + resolution: {integrity: sha512-y92D7zcvX2OCzFFu4IbYKAVj3cayuFHX6OZm0LdsLDPlUi55zjUhjR9pjI23nCGAQXRPmWE/3BZjCyFiYYpNqQ==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.5.0 '@emotion/styled': ^11.3.0 - '@mui/material': ^9.0.1 - '@mui/material-pigment-css': ^9.0.1 + '@mui/material': ^9.2.0 + '@mui/material-pigment-css': ^9.2.0 '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -1741,13 +1912,31 @@ packages: '@types/react': optional: true - '@mui/material@9.0.1': - resolution: {integrity: sha512-voyCpeUxcSWLN7KPZuq0pGCIt726T9K6kiVM3XUcywZDAlZSarLHaUxJVQpospbjjOzN53hwyjo8s6KoWl6utw==} + '@mui/material-nextjs@9.1.1': + resolution: {integrity: sha512-OUM0a2GvzKXkkFxKBjs6O36pXv5/vhmgET+k6XNaKR+gG2B4wU1rlGuUkynddbvuVqgdF5ZjElIZAf2W7TRMZA==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@emotion/cache': ^11.11.0 + '@emotion/react': ^11.11.4 + '@emotion/server': ^11.11.0 + '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 + next: ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@emotion/cache': + optional: true + '@emotion/server': + optional: true + '@types/react': + optional: true + + '@mui/material@9.2.0': + resolution: {integrity: sha512-+YTRSgGKGrrRo2XJZXs7JRA6qHoHWvNtxyqxnrRJTBmIuLOUpxxh7m4G9lF4tWberxGFY+EqkkRPgJCl+fSMJg==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.5.0 '@emotion/styled': ^11.3.0 - '@mui/material-pigment-css': ^9.0.1 + '@mui/material-pigment-css': ^9.2.0 '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -1761,8 +1950,8 @@ packages: '@types/react': optional: true - '@mui/private-theming@9.0.1': - resolution: {integrity: sha512-pSIGq4Yw749KHEwlkYZWVERgHgwJELP6ODtBNUfV8V4oIb5H+h7IQDFXuk/b2oQccODK1enJAtiEzlgLZmq+8g==} + '@mui/private-theming@9.2.0': + resolution: {integrity: sha512-w9wpyDxGPGnAACPB2hKhCDmILJIAvQxrfjUbIAEa0AznX1rOjaz5N+yB1uuw8ixnJcpEh/tPbD9oEe19wcWPHw==} engines: {node: '>=14.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -1771,8 +1960,8 @@ packages: '@types/react': optional: true - '@mui/styled-engine@9.0.0': - resolution: {integrity: sha512-9RLGdX4Jg0aQPRuvqh/OLzYSPlgd5zyEw5/1HIRfdavSiOd03WtUaGZH9/w1RoTYuRKwpgy0hpIFaMHIqPVIWg==} + '@mui/styled-engine@9.1.1': + resolution: {integrity: sha512-neaYKdJfvEG54q8efHLJR7swpHG/gfSv9xGqW5iTSMsubD7yPCPFrhVBt284j1DOF3uZaaDJSHQL7gz6jGF21Q==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.4.1 @@ -1784,8 +1973,8 @@ packages: '@emotion/styled': optional: true - '@mui/system@9.0.1': - resolution: {integrity: sha512-WvlioaLxk6ewUIOfh0StxUvOPDS1mCfzaulcudsL1brZNXuh0N9FMk7RpH7ImJKjEz412SEy/V/yvqmtxbqxCQ==} + '@mui/system@9.2.0': + resolution: {integrity: sha512-YvUJwKoGVtbnOm2PyPi5TvX2d1rOA6sqSpEWVs4WmXNIaFTuYmNUaVdU2o1NKUEe31URnD3E8ZVUMcsLQXwcYg==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.5.0 @@ -1800,16 +1989,16 @@ packages: '@types/react': optional: true - '@mui/types@9.0.0': - resolution: {integrity: sha512-i1cuFCAWN44b3AJWO7mh7tuh1sqbQSeVr/94oG0TX5uXivac8XalgE4/6fQZcmGZigzbQ35IXxj/4jLpRIBYZg==} + '@mui/types@9.1.1': + resolution: {integrity: sha512-Zjt7u8wNvDg40rPTGoL+TnfkpuSKjwubsNSFRH1KAVZLcaV4I3AFNHIFbvH7p4F3alEibSbdd90xAgn5Rnfndg==} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': optional: true - '@mui/utils@9.0.0': - resolution: {integrity: sha512-bQcqyg/gjULUqTuyUjSAFr6LQGLvtkNtDbJerAtoUn9kGZ0hg5QJiN1PLHMLbeFpe3te1831uq7GFl2ITokGdg==} + '@mui/utils@9.2.0': + resolution: {integrity: sha512-OsUH5zhlSOM4xmLl53+agug1M1UyWb4zxFxWQCqwKTKUeQPvTENtg3JhrroBD2qpCLKsX5W/DYGERJ4mBUbc8g==} engines: {node: '>=14.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -1818,21 +2007,11 @@ packages: '@types/react': optional: true - '@mui/utils@9.0.1': - resolution: {integrity: sha512-f3UO3jNN1pYg5zxqXC81Bvv8hx5ACcYc0387382ZI7M5ono1heIwHYLrKsz85myguWdeVKPRZGmDdynWUBjK2g==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - - '@mui/x-charts-vendor@9.0.0': - resolution: {integrity: sha512-Do91i+fZiNj/4LN5oaGpJoutolzDBDwdfw6tHrx2LKXDMCRlaImCfreLbdbkk7dFsi9fuIP7hWiMV4vDJKPJTA==} + '@mui/x-charts-vendor@9.4.0': + resolution: {integrity: sha512-1/p3RmRPGlzCtvpWwjwBCRoxJW1eDoQdml8MWq71Q1Oq0n36mTkFjzPTbcaJ52jigIIIQrMloqTUkhmEXwwBMg==} - '@mui/x-charts@9.3.0': - resolution: {integrity: sha512-KyMdNYJvHBmmF4jaBQZMI6gyi6hhOt66Zx4cIOtN/w1JVvCKuvHUruZwHPONVlMKcKwn0AJTo/QV19EGGItGcQ==} + '@mui/x-charts@9.10.1': + resolution: {integrity: sha512-GVVyuCllFkega4yJEIxDLcJCoFuvU9rkjt4PMcWrAWEQxKsaN2TNTY5CmcJ3NJBRSoe0oN3/dBeWBS2ul4t7FA==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.9.0 @@ -1847,75 +2026,82 @@ packages: '@emotion/styled': optional: true - '@mui/x-internal-gestures@9.3.0': - resolution: {integrity: sha512-OXgda1tnUKaDF4+6uxERdlyz8uFkhVrqchRbTiT/vWmUtZ3PcicSwp4rqZyaKcoDMgPwCoEEXVBlwZaiLo8Whw==} + '@mui/x-internal-gestures@9.10.0': + resolution: {integrity: sha512-Fgmh+vJlOjLst238/J5SlEOZLdnSe0yWjrYctYVWJr3pKbtmYSbDkjYvWjG97PeDvq5Wa1+W1qagiBoJgkUIng==} - '@mui/x-internals@9.1.0': - resolution: {integrity: sha512-fVezTa1lU+Hb3y9UMI8D/iWXADhs0I8PaZqoh2LOUXjGEUJmKqwsRD19ZXInZsH2yu+YS0dqYMPDvzjYTTyo+Q==} + '@mui/x-internals@9.10.1': + resolution: {integrity: sha512-pKFVzFQHB34TuMG3gOVx+LfIR8VBsi/ZhX/erRX2WOXu+ewEYGvdeK1mW9hLe7e2v3uyUbgT8RNeN0cy10cDjg==} engines: {node: '>=14.0.0'} peerDependencies: react: ^17.0.0 || ^18.0.0 || ^19.0.0 + '@napi-rs/lzma-linux-x64-gnu@1.5.1': + resolution: {integrity: sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==} + engines: {node: ^22.20 || ^24.12 || >=25} + cpu: [x64] + os: [linux] + libc: [glibc] + '@next-auth/prisma-adapter@1.0.7': resolution: {integrity: sha512-Cdko4KfcmKjsyHFrWwZ//lfLUbcLqlyFqjd/nYE2m3aZ7tjMNUjpks47iw7NTCnXf+5UWz5Ypyt1dSs1EP5QJw==} peerDependencies: '@prisma/client': '>=2.26.0 || >=3' next-auth: ^4 - '@next/env@16.2.6': - resolution: {integrity: sha512-gd8HoHN4ufj73WmR3JmVolrpJR47ILK6LouP5xElPglaVxir6e1a7VzvTvDWkOoPXT9rkkTzyCxBu4yeZfZwcw==} + '@next/env@16.2.12': + resolution: {integrity: sha512-d0Z5Bc13Fa4nR8pFAKx2jay2yhJM16vlfHbTzYnUQAxlNb6B6lmn4hjt69lYNt4kRtyYP6gEM49lPRHNbIyneg==} - '@next/eslint-plugin-next@16.2.6': - resolution: {integrity: sha512-Z8l6o4JWKUl755x4R+wogD86KPeU+Ckw4K+SYG4kHeOJtRenDeK+OSbGcqZpDtbwn9DsJVdir2UxmwXuinUbUw==} + '@next/eslint-plugin-next@16.2.12': + resolution: {integrity: sha512-uF2z/qAK2q7B5/6CpnFcBRX6jOq5iCO+Uqh1UkJhXljX1JwLarLYhhoJadO6dPb6moTprOKewMXheBcbIoSbug==} - '@next/swc-darwin-arm64@16.2.6': - resolution: {integrity: sha512-ZJGkkcNfYgrrMkqOdZ7zoLa1TOy0qpcMfk/z4Mh/FKUz40gVO+HNQWqmLxf67Z5WB64DRp0dhEbyHfel+6sJUg==} + '@next/swc-darwin-arm64@16.2.12': + resolution: {integrity: sha512-0W1R0teHWJrqKX0FH20IzzIWAOuGtBxPGuObrxy1lE8hQvCFj49KE8a3WUg0D7sq6rn6zkM4c7YGUnhudBS6oA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@16.2.6': - resolution: {integrity: sha512-v/YLBHIY132Ced3puBJ7YJKw1lqsCrgcNo2aRJlCEyQrrCeRJlvGlnmxhPxNQI3KE3N1DN5r9TPNPvka3nq5RQ==} + '@next/swc-darwin-x64@16.2.12': + resolution: {integrity: sha512-Hy5Ls099+aFUmOLmIgPfLqNi6iCwhL3uQCssz5rWk+5Nkc6TUKCE83DY5BbNylfm3+mfwcSFnLRfrZDJhVxdtw==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@16.2.6': - resolution: {integrity: sha512-RPOvqlYBbcQjkz9VQQDZ2T2bARIjXZV1KFlt+V2Mr6SW/e4I9fcKsaA0hdyf2FHoTlsV2xnBd5Y912rP/1Ce6w==} + '@next/swc-linux-arm64-gnu@16.2.12': + resolution: {integrity: sha512-+YqU2h1cQkHsGfvjAsrSmst8UIFBibBGm5x3Xgel8NLMiDQtNOM4sM2GOEMvG5YiOBNeN/Ykk8cQC2S0Xrqljg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [glibc] - '@next/swc-linux-arm64-musl@16.2.6': - resolution: {integrity: sha512-URUTu1+dMkxJsPFgm+OeEvq9wf5sujw0EvgYy80TDGHTSLTnIHeqb0Eu8A3sC95IRgjejQL+kC4mw+4yPxiAXA==} + '@next/swc-linux-arm64-musl@16.2.12': + resolution: {integrity: sha512-0qjhiYBaKAqF63LA1ZWAAnKTzFUguAaZiRa5etMLGGPj/B6uEVjtIZldIzFEp3wHlB0koK6aTzqPtSdplTCjoA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [musl] - '@next/swc-linux-x64-gnu@16.2.6': - resolution: {integrity: sha512-DOj182mPV8G3UkrayLoREM5YEYI+Dk5wv7Ox9xl1fFibAELEsFD0lDPfHIeILlutMMfdyhlzYPELG3peuKaurw==} + '@next/swc-linux-x64-gnu@16.2.12': + resolution: {integrity: sha512-7A3q26W+h7gnA15uqBToNuDqBEFZZcqh0mW2mn4AJh/G5pdg2RVE3n4slzLEliASZFG3NmsbEzng/x2Sh09mBg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - '@next/swc-linux-x64-musl@16.2.6': - resolution: {integrity: sha512-HKQ5SP/V/ub73UvF7n/zeJlxk2kLmtL7Wzrg4WfmkjmNos5onJ2tKu7yZOPdL18A6Svfn3max29ym+ry7NkK4g==} + '@next/swc-linux-x64-musl@16.2.12': + resolution: {integrity: sha512-qSjL/uppm+cbh21s72Ss8gkiOhQ4dExWHNGOWy6eZV7STj5WsKehgxT61beSsOj+YYQuTplL376lOCdMQU5T8w==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [musl] - '@next/swc-win32-arm64-msvc@16.2.6': - resolution: {integrity: sha512-LZXpTlPyS5v7HhSmnvsLGP3iIYgYOBnc8r8ArlT55sGHV89bR2HlDdBjWQ+PY6SJMmk8TuVGFuxalnP3k/0Dwg==} + '@next/swc-win32-arm64-msvc@16.2.12': + resolution: {integrity: sha512-X6hzsOUJac/e7AWSbn9gQ9nzHld1xWP5iyjHpYWvud8pufB679O1xg4JDyKr8Xd69Jvd+kM2Der6uftiZCmjYA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-x64-msvc@16.2.6': - resolution: {integrity: sha512-F0+4i0h9J6C4eE3EAPWsoCk7UW/dbzOjyzxY0qnDUOYFu6FFmdZ6l97/XdV3/Nz3VYyO7UWjyEJUXkGqcoXfMA==} + '@next/swc-win32-x64-msvc@16.2.12': + resolution: {integrity: sha512-F6fakeHuFTLOPt0bslQJdf+xtT+WIP9DVn/m4y1w1mRnVPyh3D/cNvzlRkxM444xfm+IvvYNSOrKiA2CDJ0Uxw==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -1939,144 +2125,144 @@ packages: resolution: {integrity: sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==} engines: {node: '>= 20'} - '@octokit/core@7.0.6': - resolution: {integrity: sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==} + '@octokit/core@7.0.7': + resolution: {integrity: sha512-DcB0M3KFgr9ECI328lhBMVsyFT2DnmNucSBTqEN3exyNKUzkkpUSCHmTRcunF41Eou2TIQKW4seewri8ON9bSA==} engines: {node: '>= 20'} - '@octokit/endpoint@11.0.3': - resolution: {integrity: sha512-FWFlNxghg4HrXkD3ifYbS/IdL/mDHjh9QcsNyhQjN8dplUoZbejsdpmuqdA76nxj2xoWPs7p8uX2SNr9rYu0Ag==} + '@octokit/endpoint@11.0.4': + resolution: {integrity: sha512-f1cOWoHPmxryJFknxbtDdjODWfV8A9tc8Aae6ermXPNgHFZ/x91AtHIz4gicEjL8hkJiip+u21QHJORfBv/qiA==} engines: {node: '>= 20'} - '@octokit/graphql@9.0.3': - resolution: {integrity: sha512-grAEuupr/C1rALFnXTv6ZQhFuL1D8G5y8CN04RgrO4FIPMrtm+mcZzFG7dcBm+nq+1ppNixu+Jd78aeJOYxlGA==} + '@octokit/graphql@9.0.4': + resolution: {integrity: sha512-5s15CCiY8XXQ+FG+b1YQcl6Z2FA++nwAz/tg2VUrTmnMncP+2nnGUEYANImdnxsA2Fnq+Mbl7hDjUTw7cFAwcg==} engines: {node: '>= 20'} '@octokit/openapi-types@27.0.0': resolution: {integrity: sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==} + '@octokit/openapi-types@28.0.0': + resolution: {integrity: sha512-0rFyLuyHvIj6uuZWuDslxkowFYdPXoNIkeAv4b27dzm2Tf4vGWXnPsMcxs7d65kLdMERgP3wc1AEPlqMz8e1cQ==} + '@octokit/plugin-paginate-rest@14.0.0': resolution: {integrity: sha512-fNVRE7ufJiAA3XUrha2omTA39M6IXIc6GIZLvlbsm8QOQCYvpq/LkMNGyFlB1d8hTDzsAXa3OKtybdMAYsV/fw==} engines: {node: '>= 20'} peerDependencies: '@octokit/core': '>=6' - '@octokit/plugin-retry@8.1.0': - resolution: {integrity: sha512-O1FZgXeiGb2sowEr/hYTr6YunGdSAFWnr2fyW39Ah85H8O33ELASQxcvOFF5LE6Tjekcyu2ms4qAzJVhSaJxTw==} + '@octokit/plugin-retry@8.1.1': + resolution: {integrity: sha512-VCVvZ/R1+u3WuiBWpNavZ0mY4aaJNAsENrpBP9aLSR2QyOpQgd7DhM5j4AW7z4MQpnJYgwBPf0XqPQoNBRdQwg==} engines: {node: '>= 20'} peerDependencies: '@octokit/core': '>=7' - '@octokit/plugin-throttling@11.0.3': - resolution: {integrity: sha512-34eE0RkFCKycLl2D2kq7W+LovheM/ex3AwZCYN8udpi6bxsyjZidb2McXs69hZhLmJlDqTSP8cH+jSRpiaijBg==} + '@octokit/plugin-throttling@11.0.5': + resolution: {integrity: sha512-LIdrkrUv+DWbKeg/49rGuFJ3SU0d3hUS+B4MhNZLepBoNUFXms8Ic9edJjrlx+zycqJHjrMRudVpVb/bAXM2Lw==} engines: {node: '>= 20'} peerDependencies: '@octokit/core': ^7.0.0 - '@octokit/request-error@7.1.0': - resolution: {integrity: sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw==} + '@octokit/request-error@7.1.1': + resolution: {integrity: sha512-+eaY7G2VVpSf2pc5Gn1+mph837V/d/TYTJAgWL9Tb0ogGYcpN3IlAVFgjL+Vv93F/sevrxkvsYCedtpLdcFLzA==} engines: {node: '>= 20'} - '@octokit/request@10.0.9': - resolution: {integrity: sha512-o8Bi3f608eyM+7BmBiUWxFsdjLb3/ym1cQek5LZOv9KkZcxRrHCPhhRzm6xjO6HVZ85ItD6+sTsjxo821SVa/A==} + '@octokit/request@10.0.13': + resolution: {integrity: sha512-v2269YxL9Yf+x3d+gRI63FP0vFQEiWgLyBzxe/Y+0yFDg2B/Tzf5dhh9VNfccVAQnfcfwQWyk/y6Bn7rUXXs7A==} engines: {node: '>= 20'} '@octokit/types@16.0.0': resolution: {integrity: sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==} + '@octokit/types@17.0.0': + resolution: {integrity: sha512-ByP1v7YL5SMveFPP7+sj0/ZuWCOOg/Chs4NafOMpq6WNIM/hdGY0S7C0TCGDBWu1aGmOxmUIhMx3cO+IdwYZ1Q==} + '@panva/hkdf@1.2.1': resolution: {integrity: sha512-6oclG6Y3PiDFcoyk8srjLfVKyMfVCKJ27JwNPViuXziFpmdz+MZnZN/aKY0JGXgYuO/VghU0jcOAZgWXZ1Dmrw==} - '@parcel/watcher-android-arm64@2.5.6': - resolution: {integrity: sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==} + '@parcel/watcher-android-arm64@2.6.0': + resolution: {integrity: sha512-trgpLSCKRC/huFjXX/Smh+0sWe4+YtKfktIToiMl59ghz7z+qkH6kMvNnUbLyRs9N11t8l4svSCs1+5B3rOAhA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [android] - '@parcel/watcher-darwin-arm64@2.5.6': - resolution: {integrity: sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==} + '@parcel/watcher-darwin-arm64@2.6.0': + resolution: {integrity: sha512-Y3QV0gl7Q1zbfueunkWIERICbEojQFCgpyG7YqOGNFLsckXyI1xu9mAIUpKY9QBYzBtSkN8dBPwd3yiAO9ovMw==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [darwin] - '@parcel/watcher-darwin-x64@2.5.6': - resolution: {integrity: sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==} + '@parcel/watcher-darwin-x64@2.6.0': + resolution: {integrity: sha512-Ohv6OpzhUfKYD7Beb8kDvG0jbIxORCYY1JRdZnaBtnjjkJxgD7ZVL0nw2sCYd0yTMKTvz3nnTnOF3cDifK+kvw==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [darwin] - '@parcel/watcher-freebsd-x64@2.5.6': - resolution: {integrity: sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==} + '@parcel/watcher-freebsd-x64@2.6.0': + resolution: {integrity: sha512-5HmXvDgs8VK+74jF9y9/2FE3/OnlcKmc56tjmSrEuZjpSZOGL+fvAu+HKJBdPs9uwoP2hE6TlSUpXZ/C5jUFmQ==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [freebsd] - '@parcel/watcher-linux-arm-glibc@2.5.6': - resolution: {integrity: sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==} + '@parcel/watcher-linux-arm-glibc@2.6.0': + resolution: {integrity: sha512-Ps/hui3A+vMbjdqlqAowK2ZL8+BO8dBjxeWXj6npTBs3jx4wWmbPpaLuqwrQrSqIVMCnpWo238bJ1U37GhQOYg==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] libc: [glibc] - '@parcel/watcher-linux-arm-musl@2.5.6': - resolution: {integrity: sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==} + '@parcel/watcher-linux-arm-musl@2.6.0': + resolution: {integrity: sha512-9c6AUHgHoG+IY88MRIHupztQiQnrbqHYQjkM2btA+Bf/wQnQMuiD0Wfk1EVv3TlNT3x41uU71rn6E4xh/+zvkw==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] libc: [musl] - '@parcel/watcher-linux-arm64-glibc@2.5.6': - resolution: {integrity: sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==} + '@parcel/watcher-linux-arm64-glibc@2.6.0': + resolution: {integrity: sha512-yHRqS2owEXe6Hic9z6Mh1ECsCd+ODVOGvZDyciqRd21+v+o+DnXMOrw50DSpIG2sb8GPEaPPmfeCAWKPJdq46g==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] libc: [glibc] - '@parcel/watcher-linux-arm64-musl@2.5.6': - resolution: {integrity: sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==} + '@parcel/watcher-linux-arm64-musl@2.6.0': + resolution: {integrity: sha512-WhB2e/V7rqdHHWZusBSPuy5Ei8S6lSz6FE5TKKQz5h3a0O+C+mhY7vxU9b/stqvMb8beLnPY82ZrFTLKs+SrKA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] libc: [musl] - '@parcel/watcher-linux-x64-glibc@2.5.6': - resolution: {integrity: sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==} + '@parcel/watcher-linux-x64-glibc@2.6.0': + resolution: {integrity: sha512-ulGE6x6Oz6iAwg75T8YQSoguBWasniIbX+QWpaYPcCnDOpdWX3k+4xbEYPZVLxOuoJI+svJJPD3sEj8G7lrQ3A==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] libc: [glibc] - '@parcel/watcher-linux-x64-musl@2.5.6': - resolution: {integrity: sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==} + '@parcel/watcher-linux-x64-musl@2.6.0': + resolution: {integrity: sha512-tkBYKt7YQrjIJWYDnto2YgO8MRkjlMTSNoRHzsXinBqbLdeOM3L32wPZJvIZxqaLMfSlS/4sUjH/6STVP/XDLw==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] libc: [musl] - '@parcel/watcher-win32-arm64@2.5.6': - resolution: {integrity: sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==} + '@parcel/watcher-win32-arm64@2.6.0': + resolution: {integrity: sha512-gIZAP23jaHjGWasY/TY6yL7NHFClf0Ga7FN+iINvk+KN94rhm94lYZhFsbYFNcA04/onvGD9kKmiJLJB2HbNwQ==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [win32] - '@parcel/watcher-win32-ia32@2.5.6': - resolution: {integrity: sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==} - engines: {node: '>= 10.0.0'} - cpu: [ia32] - os: [win32] - - '@parcel/watcher-win32-x64@2.5.6': - resolution: {integrity: sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==} + '@parcel/watcher-win32-x64@2.6.0': + resolution: {integrity: sha512-cA+/pXV2YkfxlIcXOQ5fSWqAzzPyD78/x5qbK/I0vUkrlYHA8TIz+MXjAbGouguKVSI4bOmkTSJ1/poVSsgt+A==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [win32] - '@parcel/watcher@2.5.6': - resolution: {integrity: sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==} + '@parcel/watcher@2.6.0': + resolution: {integrity: sha512-7FNeNl8NCE7aINx7WXiKQrPYZWC/hvrTsmk6zmxbI7LTXE7hVek/n8AfVgpe2y82zl3w0HvCHN0bVKMBoJcC0w==} engines: {node: '>= 10.0.0'} - '@pkgr/core@0.2.9': - resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@pkgr/core@0.3.6': + resolution: {integrity: sha512-SEeaJLb3qBNF/OaXnaR1NmmBbFYk1zC0ZH/52fATcRPLFg/p791YrcyFFy44Bo9sLaGuSuLp5Q6axbb/O+v/RA==} + engines: {node: ^14.18.0 || >=16.0.0} '@pnpm/config.env-replace@1.1.0': resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} @@ -2086,21 +2272,21 @@ packages: resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} engines: {node: '>=12.22.0'} - '@pnpm/npm-conf@3.0.2': - resolution: {integrity: sha512-h104Kh26rR8tm+a3Qkc5S4VLYint3FE48as7+/5oCEcKR2idC/pF1G6AhIXKI+eHPJa/3J9i5z0Al47IeGHPkA==} + '@pnpm/npm-conf@3.0.3': + resolution: {integrity: sha512-//0sR/cow/s4ICQaYoAobOl4aU8cjU6x/V24V7XkKotb9+O+3zySIYp146vpaobYHnxa4pZX8NkV54Z5AwbDKA==} engines: {node: '>=12'} '@popperjs/core@2.11.8': resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} - '@prisma/adapter-pg@7.8.0': - resolution: {integrity: sha512-ygb3UkerK3v8MDpXVgCISdRNDozpxh6+JVJgiIGbSr5KBgz10LLf5ejUskPGoXlsIjxsOu6nuy1JVQr2EKGSlg==} + '@prisma/adapter-pg@7.9.1': + resolution: {integrity: sha512-Ho2RK1KanQxLNSC0sR5bpiiVep10sWPLXCcxK+KXfI/Q69TMRbiafSvLPv3V9snimX72rMCqGlyJ4sBO4lKTAw==} - '@prisma/client-runtime-utils@7.8.0': - resolution: {integrity: sha512-5NQZztQ0oY/ADFkmd9gPuweH5A1/CCY8YQPorLLO0Mu6a87mY5gsnDkzmFmIHs9NFaLnZojzgddFVN4RpKYrdw==} + '@prisma/client-runtime-utils@7.9.1': + resolution: {integrity: sha512-mVIBGYdO5CFmK0HvjxrtfIyQQcPdb88pSCeVQriVQPVZyDovIWblpHfOgcS8QO187j3QF0ePArH8qPhp0AU2vg==} - '@prisma/client@7.8.0': - resolution: {integrity: sha512-HFp3Dawv/3sU3JtlPha90IB+48lS7zHiH4LKZPjmcE8YH5P9DOXGPvo8dqOtO7MqLDd1p2hOWMcFlRT1DMblHw==} + '@prisma/client@7.9.1': + resolution: {integrity: sha512-+xgrh2EhJVF79wC0yX5G4PI1Rdcm7Qn/nekNQ+t/O153wtNggruHal+fXHSa0QE+Tp/Cw5wvxeCEhZZ59xGm8Q==} engines: {node: ^20.19 || ^22.12 || >=24.0} peerDependencies: prisma: '*' @@ -2111,45 +2297,45 @@ packages: typescript: optional: true - '@prisma/config@7.8.0': - resolution: {integrity: sha512-HFESzd9rx2ZQxlK+TL7tu1HPvCqrHiL6LCxYykI2c34mvaUuIVVl3lYuicJD/MNnzgPnyeBEMlK4WTomJCV5jw==} + '@prisma/config@7.9.1': + resolution: {integrity: sha512-4znKhxTmXmuPye9Z6pbIyYb5VZlkZ05qG1L6Dr4g+7oTwc6V50Bs9XirFBDdjWt+H/AabMn9aUnxBcvj8z05aA==} '@prisma/debug@7.2.0': resolution: {integrity: sha512-YSGTiSlBAVJPzX4ONZmMotL+ozJwQjRmZweQNIq/ER0tQJKJynNkRB3kyvt37eOfsbMCXk3gnLF6J9OJ4QWftw==} - '@prisma/debug@7.8.0': - resolution: {integrity: sha512-p+QZReysDUqXC+mk17q9a+Y/qzh4c2KYliDK30buYUyfrGeTGSyfmc0AIrJRhZJrLHhRiJa9Au/J72h3C+szvA==} + '@prisma/debug@7.9.1': + resolution: {integrity: sha512-/cpVZ4itxtcgB8GHBvZtcmuEjq+lWsLrRJxFMbwZrT1RIdtuKmUm7PPGo/wzfbYpBrk+9WmmBE8CHJw2rybKDQ==} - '@prisma/dev@0.24.3': - resolution: {integrity: sha512-ffHlQuKXZiaDt9Go0OnCTdJZrHxK0k7omJKNV86/VjpsXu5EIHZLK0T7JSWgvNlJwh56kW9JFu9v0qJciFzepg==} + '@prisma/dev@0.24.17': + resolution: {integrity: sha512-UvdZzmpFwknnfreh6Jije84ekkYGPYEJhXG1tFzCsCfQyzJifrOo38eZc0qajzvaC6OLUOrN9ML5XfCnEZL9DA==} - '@prisma/driver-adapter-utils@7.8.0': - resolution: {integrity: sha512-/Q13o0ZT0rjc1Xk0Q9KhZYwuq2EW/vSbWUBKfgEKkaCuB/Sg6bqnjmTZqC5cD4d6y1vfFAEwBRzfzoSMIVJ55A==} + '@prisma/driver-adapter-utils@7.9.1': + resolution: {integrity: sha512-vmHehG7nn/heW32DXXpp13DxxAxVVe6n250oEt3dOL2E/4bt3olktKZN0mzSuxMMronyMSkbeW2uCOn3F4g8RQ==} - '@prisma/engines-version@7.8.0-6.3c6e192761c0362d496ed980de936e2f3cebcd3a': - resolution: {integrity: sha512-fJPQxCkLgA5EayWaW8eArgCvjJ+N+Kz3VyeNKMEeYiQC4alNkxRKFVAGxv/ZUzuJISKqdw+zGeDbS6mn6RCPOA==} + '@prisma/engines-version@7.9.0-1.e922089b7d7502aff4249d5da3420f6fa55fc6ad': + resolution: {integrity: sha512-2BsPPFksz3CQUXG6af3rVCtJKg6+JJGJTtfgu2fU8DdXhOfkBjulCq8mwybCd6ge0/jhZq2kOtLAbmUDMyI1nA==} - '@prisma/engines@7.8.0': - resolution: {integrity: sha512-jx3rCnNNrt5uzbkKlegtQ2GZHxSlihMCzutgT/BP6UIDF1r9tDI39hV/0T/cHZgzJ3ELbuQPXlVZy+Y1n0pcgw==} + '@prisma/engines@7.9.1': + resolution: {integrity: sha512-UprXSMNXx2NF5ow4pqaQtE8OuBz6K78B0wc0tn2L28G5r933iWp1DR9Do2qWrsNvvFIP3x6mpEWnQtckMO0Uhg==} - '@prisma/fetch-engine@7.8.0': - resolution: {integrity: sha512-gwB0Euiz/DDRyxFRpLXYlK3RfaZUj1c5dAYMuhZYfApg7arknJlcb9bIsOHDppJmbqYaVA+yBIiFMDBfprsNPQ==} + '@prisma/fetch-engine@7.9.1': + resolution: {integrity: sha512-9DwxrNTeT25Orbu9CWh0CZvVlyY1lmscpbaeLZcOnuR7zcuFrt91YSmmOfIm7zJ08YOZ6mVzURKwLoMwEBcK8w==} '@prisma/get-platform@7.2.0': resolution: {integrity: sha512-k1V0l0Td1732EHpAfi2eySTezyllok9dXb6UQanajkJQzPUGi3vO2z7jdkz67SypFTdmbnyGYxvEvYZdZsMAVA==} - '@prisma/get-platform@7.8.0': - resolution: {integrity: sha512-WlxgRGnolL8VH2EmkH1R/DkKNr/mVdS3G2h42IZFFZ3eUrH9OT6t73kIOSlkkrv50wG123Iq8d96ufv5LlZktw==} + '@prisma/get-platform@7.9.1': + resolution: {integrity: sha512-PK8R60YZRQvYxBrGG9i7l2/rFyzy+2MuI1dKtmtrCqPH8YpiJx/MfiC7LRzX5786rZDEv7BngcjfIJW4/9ADuw==} '@prisma/query-plan-executor@7.2.0': resolution: {integrity: sha512-EOZmNzcV8uJ0mae3DhTsiHgoNCuu1J9mULQpGCh62zN3PxPTd+qI9tJvk5jOst8WHKQNwJWR3b39t0XvfBB0WQ==} - '@prisma/streams-local@0.1.2': - resolution: {integrity: sha512-l49yTxKKF2odFxaAXTmwmkBKL3+bVQ1tFOooGifu4xkdb9NMNLxHj27XAhTylWZod8I+ISGM5erU1xcl/oBCtg==} - engines: {bun: '>=1.3.6', node: '>=22.0.0'} + '@prisma/streams-local@0.1.11': + resolution: {integrity: sha512-0TcebL559MByKqTJ+SsrFIEg228iw8UCVRFckzgfRSiJqczhs+MuAgWOF9lnOIV/IVqvu+KMnFTH0eDeTQMpUg==} + engines: {bun: '>=1.2.0', node: '>=22.0.0'} - '@prisma/studio-core@0.27.3': - resolution: {integrity: sha512-AADjNFPdsrglxHQVTmHFqv6DuKQZ5WY4p5/gVFY017twvNrSwpLJ9lqUbYYxEu2W7nbvVxTZA8deJ8LseNALsw==} + '@prisma/studio-core@0.33.0': + resolution: {integrity: sha512-V2fX/nKEymNTrHXwfP26PGjoLStO35Ogu+ex7CFJbLrMYEcZxxZpiSNOs7px23Hk5mzLWvM5RsqG6Ka+rha+wg==} engines: {node: ^20.19 || ^22.12 || >=24.0, pnpm: '8'} peerDependencies: '@types/react': ^18.0.0 || ^19.0.0 @@ -2241,8 +2427,8 @@ packages: react-dom: optional: true - '@react-three/fiber@9.6.1': - resolution: {integrity: sha512-zF0rsKcVYpcJwbFEnv2HkHX9cvOEgsfQo/X8lwmR2dn13S4qEQJXir9fxf5js2LQFoXqxOY7MDkOkYx2uZ4gSg==} + '@react-three/fiber@9.7.0': + resolution: {integrity: sha512-EWm9FwcaOZQu/ExFW5rggoCMM1NJet5YbxVxKaOE+KSncrjU0Wx7017qSyGFvupviK89nMYGCWU3BIK4dI1clw==} peerDependencies: expo: '>=43.0' expo-asset: '>=8.4' @@ -2277,147 +2463,147 @@ packages: react-redux: optional: true - '@repeaterjs/repeater@3.0.6': - resolution: {integrity: sha512-Javneu5lsuhwNCryN+pXH93VPQ8g0dBX7wItHFgYiwQmzE1sVdg5tWHiOgHywzL2W21XQopa7IwIEnNbmeUJYA==} + '@repeaterjs/repeater@3.1.0': + resolution: {integrity: sha512-TaoVksZRSx2KWYYpyLQtMQXXeS98VsgZImzW65xmiVgbYhXLk+aEsmzPLirqVuE4/XuUapH2iMtxUzaBNDzdSQ==} '@rolldown/pluginutils@1.0.0-rc.3': resolution: {integrity: sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==} - '@rollup/rollup-android-arm-eabi@4.60.4': - resolution: {integrity: sha512-F5QXMSiFebS9hKZj02XhWLLnRpJ3B3AROP0tWbFBSj+6kCbg5m9j5JoHKd4mmSVy5mS/IMQloYgYxCuJC0fxEQ==} + '@rollup/rollup-android-arm-eabi@4.62.4': + resolution: {integrity: sha512-RrPokAb7dmbxFoeO3TloqHyOjgye8RkBhSqmp4aJMIex4c9r46ZstPnleDQOq1t46VOVjwIuwNogIqbodV1Vvg==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.60.4': - resolution: {integrity: sha512-GxxTKApUpzRhof7poWvCJHRF51C67u1R7D6DiluBE8wKU1u5GWE8t+v81JvJYtbawoBFX1hLv5Ei4eVjkWokaw==} + '@rollup/rollup-android-arm64@4.62.4': + resolution: {integrity: sha512-JKuJc+pnpks2pjy7L/N3v/cAkZxYlnmuZoD840ldbMI5KDbC4iO9NKwPKYdjYFCMAIIlBzYSFHxIJVYzRo2/8A==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.60.4': - resolution: {integrity: sha512-tua0TaJxMOB1R0V0RS1jFZ/RpURFDJIOR2A6jWwQeawuFyS4gBW+rntLRaQd0EQ4bd6Vp44Z2rXW+YYDBsj6IA==} + '@rollup/rollup-darwin-arm64@4.62.4': + resolution: {integrity: sha512-krw5uS2STmvJ02x0uTXHbqQNuz+9eZ1iw+qXk9dmW2gvV4jV7O2hEoOnuhFrpOPiel1mBFtqbxYZZtC46hXLOw==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.60.4': - resolution: {integrity: sha512-CSKq7MsP+5PFIcydhAiR1K0UhEI1A2jWXVKHPCBZ151yOutENwvnPocgVHkivu2kviURtCEB6zUQw0vs8RrhMg==} + '@rollup/rollup-darwin-x64@4.62.4': + resolution: {integrity: sha512-wsTxtgApb4PrOsNJIm0FZ1h3WvCC+k9uxLJ4ad75hgoS4NiRes2SoJFlDAyMwiUY8IssDqGcHbXuN0sx1tfF1A==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.60.4': - resolution: {integrity: sha512-+O8OkVdyvXMtJEciu2wS/pzm1IxntEEQx3z5TAVy4l32G0etZn+RsA48ARRrFm6Ri8fvqPQfgrvNxSjKAbnd3g==} + '@rollup/rollup-freebsd-arm64@4.62.4': + resolution: {integrity: sha512-GUOnQlyZe3yAXhWOtOMsn5Qkrv5E5mZXa0thbARWi5Ei2szlVXJFQhddZ4HbAzh8q92w5twp+CQvs/eFanz9YQ==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.4': - resolution: {integrity: sha512-Iw3oMskH3AfNuhU0MSN7vNbdi4me/NiYo2azqPz/Le16zHSa+3RRmliCMWWQmh4lcndccU40xcJuTYJZxNo/lw==} + '@rollup/rollup-freebsd-x64@4.62.4': + resolution: {integrity: sha512-/Y7f3QuxjzPKsjA/rfEDa3+0vXqyjmJ50Ln8dPpCmWkKTrUoWHG1cWhTqaAMLob2m2nESWuC7yGrREz019Ztqg==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.60.4': - resolution: {integrity: sha512-EIPRXTVQpHyF8WOo219AD2yEltPehLTcTMz2fn6JsatLYSzQf00hj3rulF+yauOlF9/FtM2WpkT/hJh/KJFGhA==} + '@rollup/rollup-linux-arm-gnueabihf@4.62.4': + resolution: {integrity: sha512-81wiiX3v7aqy+T+bT61TJ78yJjRquqFFTTbAPt08imfQQzkPIW8t6aJbkTagtCCrXMNc9D66+geqlK7ydLPNqA==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.60.4': - resolution: {integrity: sha512-J3Yh9PzzF1Ovah2At+lHiGQdsYgArxBbXv/zHfSyaiFQEqvNv7DcW98pCrmdjCZBrqBiKrKKe2V+aaSGWuBe/w==} + '@rollup/rollup-linux-arm-musleabihf@4.62.4': + resolution: {integrity: sha512-9kmDIvNZqdoHOBZgNtpTBeLWYO/LVipM3H/j62P8848/l/VPEQL6N3uxU9pvP1oZAsXyC2MEnFP3ovRjo7WYNQ==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.60.4': - resolution: {integrity: sha512-BFDEZMYfUvLn37ONE1yMBojPxnMlTFsdyNoqncT0qFq1mAfllL+ATMMJd8TeuVMiX84s1KbcxcZbXInmcO2mRg==} + '@rollup/rollup-linux-arm64-gnu@4.62.4': + resolution: {integrity: sha512-CcnXHWnXg69g+DX5VWL3FHts3qMRN2uVEHX+BZvGLdd07/gXkn3ePjYtO1LDJvxkGKVHMclKBRa1QUTH+6toYQ==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.60.4': - resolution: {integrity: sha512-pc9EYOSlOgdQ2uPl1o9PF6/kLSgaUosia7gOuS8mB69IxJvlclko1MECXysjs5ryez1/5zjYqx3+xYU0TU6R1A==} + '@rollup/rollup-linux-arm64-musl@4.62.4': + resolution: {integrity: sha512-iFOibiHnTRuhrWLlRsOQFdZJJIa7S8OwkneJr4ocALP16u5yk6lWLINFwhHaEqBFMsKDUZofLkGos7+CPzGB3g==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.60.4': - resolution: {integrity: sha512-NxnomyxYerDh5n4iLrNa+sH+Z+U4BMEE46V2PgQ/hoB909i8gV1M5wPojWg9fk1jWpO3IQnOs20K4wyZuFLEFQ==} + '@rollup/rollup-linux-loong64-gnu@4.62.4': + resolution: {integrity: sha512-XnWYMI7euHlb5a871xPja+Gm7DRCFU+FGRrtS2sMq9N8FvqtpagUy6gD4YOemC5MRk9xbh8+jYMEJbigFQwsgA==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.60.4': - resolution: {integrity: sha512-nbJnQ8a3z1mtmrwImCYhc6BGpThAyYVRQxw9uKSKG4wR6aAYno9sVjJ0zaZcW9BPJX1GbrDPf+SvdWjgTuDmnw==} + '@rollup/rollup-linux-loong64-musl@4.62.4': + resolution: {integrity: sha512-qGDAlO0U8xedCcsdRm9oaoQY8DAx/QT7uIxJWhCdx0ceIWX783UC9QSYkdpzAe29wNiVfp24+bZdQmn49o45SQ==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.60.4': - resolution: {integrity: sha512-2EU6acNrQLd8tYvo/LXW535wupT3m6fo7HKo6lr7ktQoItxTyOL1ZCR/GfGCuXl2vR+zmfI6eRXkSemafv+iVg==} + '@rollup/rollup-linux-ppc64-gnu@4.62.4': + resolution: {integrity: sha512-ru4H6ezD7ysA5EiEK6qkkaEb4modH8CTej6kUy/gQi20u3kB3G7Zn8snXXkeJSCOFKG/rbPPtM/+9Wgas1961w==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.60.4': - resolution: {integrity: sha512-WeBtoMuaMxiiIrO2IYP3xs6GMWkJP2C0EoT8beTLkUPmzV1i/UcOSVw1d5r9KBODtHKilG5yFxsGRnBbK3wJ4A==} + '@rollup/rollup-linux-ppc64-musl@4.62.4': + resolution: {integrity: sha512-2W4MO5WQVJnbJaZdvDb9rhBDuFU1nKIepPFpJUBsTh2k1YY2g+ODViaWuyOAjQ5cOP7NvrvLzt3wvHOoiAvc7w==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.60.4': - resolution: {integrity: sha512-FJHFfqpKUI3A10WrWKiFbBZ7yVbGT4q4B5o1qKFFojqpaYoh9LrQgqWCmmcxQzVSXYtyB5bzkXrYzlHTs21MYA==} + '@rollup/rollup-linux-riscv64-gnu@4.62.4': + resolution: {integrity: sha512-+fxjfuoAmVMCYV5QyjoIpu0cp5DOiOTeqYFk1AVaxGr+/ravWLX89XfQmptsoWcaVy/TGf2hexzbUOrCQIL1CQ==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.60.4': - resolution: {integrity: sha512-mcEl6CUT5IAUmQf1m9FYSmVqCJlpQ8r8eyftFUHG8i9OhY7BkBXSUdnLH5DOf0wCOjcP9v/QO93zpmF1SptCCw==} + '@rollup/rollup-linux-riscv64-musl@4.62.4': + resolution: {integrity: sha512-jTn8JfHGL4djjFxPuM06LmNUJDsst2jeVlsd9OmIH6zc5sC9K6rIuO4YajXatLUpBmBKl6b35ro1QZocLi+tcA==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.60.4': - resolution: {integrity: sha512-ynt3JxVd2w2buzoKDWIyiV1pJW93xlQic1THVLXilz429oijRpSHivZAgp65KBu+cMcgf1eVVjdnTLvPxgCuoQ==} + '@rollup/rollup-linux-s390x-gnu@4.62.4': + resolution: {integrity: sha512-oCJCJL4pXsoDcP2QZ+JVlPTIRc6266zsIaeJJsWImmF7HO0W8nb6HuSgZlMWxJwaPf8ehbSw8yo0EUw925hKsA==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.4': - resolution: {integrity: sha512-Boiz5+MsaROEWDf+GGEwF8VMHGhlUoQMtIPjOgA5fv4osupqTVnJteQNKJwUcnUog2G55jYXH7KZFFiJe0TEzQ==} + '@rollup/rollup-linux-x64-gnu@4.62.4': + resolution: {integrity: sha512-W69hukhZ3KKNRCaMIEzKvcFye42hh0FE1+YoYaf5+Ikacuftoco6yO/xouz0hc5d5W/s3yBro5jRiuEE/Q5vUw==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.60.4': - resolution: {integrity: sha512-+qfSY27qIrFfI/Hom04KYFw3GKZSGU4lXus51wsb5EuySfFlWRwjkKWoE9emgRw/ukoT4Udsj4W/+xxG8VbPKg==} + '@rollup/rollup-linux-x64-musl@4.62.4': + resolution: {integrity: sha512-qiXbGG2jkjXhzXpsFZSR2Xpb8DN/UaxYsbb/STbuR/6fpaDgRmmaq1B/LmtF2wQFOFOSsK2jdE0RZ3a0zHn4QA==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-openbsd-x64@4.60.4': - resolution: {integrity: sha512-VpTfOPHgVXEBeeR8hZ2O0F3aSso+JDWqTWmTmzcQKted54IAdUVbxE+j/MVxUsKa8L20HJhv3vUezVPoquqWjA==} + '@rollup/rollup-openbsd-x64@4.62.4': + resolution: {integrity: sha512-nWeM//hxv8mIo6jD7Hu4o48DVmV9pbV6gsKaWU+4NFyqHoPKwrkRiZGLKUhOBk8qNmDmpwFtPKg80Bo/Tn4xiQ==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.60.4': - resolution: {integrity: sha512-IPOsh5aRYuLv/nkU51X10Bf75Bsf6+gZdx1X+QP5QM6lIJFHHqbHLG0uJn/hWthzo13UAc2umiUorqZy3axoZg==} + '@rollup/rollup-openharmony-arm64@4.62.4': + resolution: {integrity: sha512-s62SQ/vgsRSvMwDkOEfTqfgASF0f26ZNaQuTA6Aok5lrikf89yI2W0gFHvZb2Jpgc6N8JnOKZgCK2iciO3CsxQ==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.60.4': - resolution: {integrity: sha512-4QzE9E81OohJ/HKzHhsqU+zcYYojVOXlFMs1DdyMT6qXl/niOH7AVElmmEdUNHHS/oRkc++d5k6Vy85zFs0DEw==} + '@rollup/rollup-win32-arm64-msvc@4.62.4': + resolution: {integrity: sha512-J6wGf8TVGbXJq+HH+ttTvrcfNKPbuZecV6KT1B8I18BC5IURUh5kl4Yl5OEP5eFIUoI5BWxCsyYMhFsDx8kekw==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.4': - resolution: {integrity: sha512-zTPgT1YuHHcd+Tmx7h8aml0FWFVelV5N54oHow9SLj+GfoDy/huQ+UV396N/C7KpMDMiPspRktzM1/0r1usYEA==} + '@rollup/rollup-win32-ia32-msvc@4.62.4': + resolution: {integrity: sha512-zmfrQd/0wu6oJs8Vq8KwY/YtsKSsLtKe/HwAP4Wqy8LhWjeT55fHRAkOhYQ12wI3ayS4Tt12d5CDRD7N96SAYQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.4': - resolution: {integrity: sha512-DRS4G7mi9lJxqEDezIkKCaUIKCrLUUDCUaCsTPCi/rtqaC6D/jjwslMQyiDU50Ka0JKpeXeRBFBAXwArY52vBw==} + '@rollup/rollup-win32-x64-gnu@4.62.4': + resolution: {integrity: sha512-qPzHqdj9rfUD+w79dtE07zi/kFwKyCJqplp5K5ygeLTp7jLpAoc16OAH39HSmRC9UpozaecsleI8uAdEj6v2yw==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.4': - resolution: {integrity: sha512-QVTUovf40zgTqlFVrKA1uXMVvU2QWEFWfAH8Wdc48IxLvrJMQVMBRjuQyUpzZCDkakImib9eVazbWlC6ksWtJw==} + '@rollup/rollup-win32-x64-msvc@4.62.4': + resolution: {integrity: sha512-zD6NdeWEByGE9QF9vCrlJ5YQB4oq9q91kPZS37Jwj5hOkvR1lTBSpsKhKDw4IJtbQ35LsTS1HD9DZYGKIshU1Q==} cpu: [x64] os: [win32] @@ -2450,8 +2636,8 @@ packages: peerDependencies: semantic-release: '>=18.0.0' - '@semantic-release/github@12.0.8': - resolution: {integrity: sha512-tej5AAgK5X9wHRoDmYhecMXEHEkFeGOY1XsEblKxu8pIQwahzf1STYyr7iPU6Lpbg6C5I3N2w/ocXrBo+L7jhw==} + '@semantic-release/github@12.0.9': + resolution: {integrity: sha512-ODIqb0V3QqndipryEEiaBxUQCFjvv7Oese5Dt4omMGa60YRNEW0Sx3K+zri0uac2Y6S9nOlMehciWIzvvRCTGQ==} engines: {node: ^22.14.0 || >= 24.10.0} peerDependencies: semantic-release: '>=24.1.0' @@ -2489,11 +2675,11 @@ packages: '@swc/helpers@0.5.15': resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} - '@tanstack/query-core@5.100.11': - resolution: {integrity: sha512-lmE0994apShXPj8CUxgx4ch5yUJhE9k/+tVwihBvPOyerACWdBocfFg24t8+0RhtlTd7tEgchDkhlCxNssvDxw==} + '@tanstack/query-core@5.101.4': + resolution: {integrity: sha512-gNwcvOJcRbLWPOLG/2OBm+zM+Yv+MKsXKEOWC57USuZDEsI71hEErQsiEGx5wX9rzWWkfwM0fVSPoiIFSsxfiw==} - '@tanstack/react-query@5.100.11': - resolution: {integrity: sha512-J0f9s5x3LE1450nNNfYx+e/n0DMa0uOBdFJUy5r0RvmsXd4nB/n0rbHtHI1vYXhikNFan+wf51p6Tmp4c8ucrg==} + '@tanstack/react-query@5.101.4': + resolution: {integrity: sha512-yRg2pfOCxIs4ZJW3XYYHU/WgtD04FHSnfHlpRT7h7pR77hwkdRG4wxbKe4aq6P0RvXUTBSQpQeadS1SUYUe+KA==} peerDependencies: react: ^18 || ^19 @@ -2501,9 +2687,12 @@ packages: resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==} engines: {node: '>=18'} - '@testing-library/jest-dom@6.9.1': - resolution: {integrity: sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==} - engines: {node: '>=14', npm: '>=6', yarn: '>=1'} + '@testing-library/jest-dom@6.10.0': + resolution: {integrity: sha512-HQwu0KaB2zyT0iLzBL+8CLyZDL3KlZlZJ+2iyc9uCUnlJVskJU/UlPuVCyIPhtukjPQdT2QNoR5nCP5FqTmmDQ==} + engines: {node: '>=22', npm: '>=6', yarn: '>=1'} + deprecated: Incorrect minor release with breaking changes (Node >=22 and required @testing-library/dom peer). Use 6.9.1 for the 6.x line, or upgrade to 7.0.0. + peerDependencies: + '@testing-library/dom': '>=10 <11' '@testing-library/react@16.3.2': resolution: {integrity: sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==} @@ -2545,21 +2734,21 @@ packages: svelte: optional: true - '@trpc/client@11.17.0': - resolution: {integrity: sha512-KpJBFrbKTDeVCFv/3ckL1XBBH5Yssn8hethI/rUy7GIpTj+VzjtPjykDqJpzobuVOz+d26cXCSu1t4I6MYI5Zg==} + '@trpc/client@11.18.0': + resolution: {integrity: sha512-wOqeg3Fvl25V1ZisQhUD3K8G60ZJDlSGJNSyeXrLH24xAo5w6GSR2Kzb1cSNY9Y+IQ2YZvYGZstBU+V/ulo/ow==} hasBin: true peerDependencies: - '@trpc/server': 11.17.0 + '@trpc/server': 11.18.0 typescript: '>=5.7.2' - '@trpc/next@11.17.0': - resolution: {integrity: sha512-EjwMkyamGjf5aslgfYB70hMKs4cgmsjSJbMinmuXktkGvbmdW54VbV04Sk4o4QTY5b//Rns9dz+ku8DN6lVhvw==} + '@trpc/next@11.18.0': + resolution: {integrity: sha512-ocwbruAWMGX9hY3HFg86X4jAcoF2v+xx+A2jDn72SbttRRG2hXR+XKPjrLc1dDJC0oi+/2DJEbL14+k1pyY5og==} hasBin: true peerDependencies: '@tanstack/react-query': ^5.59.15 - '@trpc/client': 11.17.0 - '@trpc/react-query': 11.17.0 - '@trpc/server': 11.17.0 + '@trpc/client': 11.18.0 + '@trpc/react-query': 11.18.0 + '@trpc/server': 11.18.0 next: '*' react: '>=16.8.0' react-dom: '>=16.8.0' @@ -2570,17 +2759,17 @@ packages: '@trpc/react-query': optional: true - '@trpc/react-query@11.17.0': - resolution: {integrity: sha512-AGcl5YAF8NnhBmyJ6PqJqKb1M5VTGSoNRNqJ3orct4o4epdcg0GWhW+qT9q6gPzs/2ImIwYCdfFpgNGdZ9yLHA==} + '@trpc/react-query@11.18.0': + resolution: {integrity: sha512-C1+Wwm2pCeUJucI+bnFpxGYjNuvV+ko1BC1T9tUxBVdrhHRCdn9ubxdevdLSAa49XRJRJiZnSuzl3Ys/yvs1vg==} peerDependencies: '@tanstack/react-query': ^5.80.3 - '@trpc/client': 11.17.0 - '@trpc/server': 11.17.0 + '@trpc/client': 11.18.0 + '@trpc/server': 11.18.0 react: '>=18.2.0' typescript: '>=5.7.2' - '@trpc/server@11.17.0': - resolution: {integrity: sha512-jbAOUe0PpUTCYqziyu+8vYXZdDXPudZgnEhWCQ2NjKnVEjfE93RqHTt1oycZJv/HNf51YlRXfEEwSIAbb161rw==} + '@trpc/server@11.18.0': + resolution: {integrity: sha512-JAvXOuNTxgXjIDfQaOvDq1j66LMNfDJUH1IU7Slfn8EvRv2EkH6ehu3A7zpYhjO0syHHiYg77v2lG2JFJgvw7Q==} hasBin: true peerDependencies: typescript: '>=5.7.2' @@ -2606,30 +2795,63 @@ packages: '@types/chai@5.2.3': resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} + '@types/d3-array@3.0.3': + resolution: {integrity: sha512-Reoy+pKnvsksN0lQUlcH6dOGjRZ/3WRwXR//m+/8lt1BXeI4xyaUZoqULNjyXXRuh0Mj4LNpkCvhUpQlY3X5xQ==} + '@types/d3-array@3.2.2': resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==} + '@types/d3-color@3.1.0': + resolution: {integrity: sha512-HKuicPHJuvPgCD+np6Se9MQvS6OCbJmOjGvylzMJRlDwUXjKTTXs6Pwgk79O09Vj/ho3u1ofXnhFOaEWWPrlwA==} + '@types/d3-color@3.1.3': resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} + '@types/d3-delaunay@6.0.1': + resolution: {integrity: sha512-tLxQ2sfT0p6sxdG75c6f/ekqxjyYR0+LwPrsO1mbC9YDBzPJhs2HbJJRrn8Ez1DBoHRo2yx7YEATI+8V1nGMnQ==} + + '@types/d3-format@3.0.1': + resolution: {integrity: sha512-5KY70ifCCzorkLuIkDe0Z9YTf9RR2CjBX1iaJG+rgM/cPP+sO+q9YdQ9WdhQcgPj1EQiJ2/0+yUkkziTG6Lubg==} + '@types/d3-format@3.0.4': resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} + '@types/d3-geo@3.1.0': + resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} + + '@types/d3-geo@3.1.1': + resolution: {integrity: sha512-65Emv9fQiQQqphLlRkuQ5ypPsOmWPhtBGCMv61JDPEPMvsx+gzhGf74yw1a78xFKPj6zw4AgQICJoQv0vK9M2w==} + + '@types/d3-interpolate@3.0.1': + resolution: {integrity: sha512-jx5leotSeac3jr0RePOH1KdR9rISG91QIE4Q2PYTu4OymLTZfA3SrnURSLzKH48HmXVUru50b8nje4E79oQSQw==} + '@types/d3-interpolate@3.0.4': resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} '@types/d3-path@3.1.1': resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} + '@types/d3-scale@4.0.2': + resolution: {integrity: sha512-Yk4htunhPAwN0XGlIwArRomOjdoBFXC3+kCxK2Ubg7I9shQlVSJy/pG/Ht5ASN+gdMIalpk8TJ5xV74jFsetLA==} + '@types/d3-scale@4.0.9': resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} + '@types/d3-shape@3.1.7': + resolution: {integrity: sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==} + '@types/d3-shape@3.1.8': resolution: {integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==} + '@types/d3-time-format@2.1.0': + resolution: {integrity: sha512-/myT3I7EwlukNOX2xVdMzb8FRgNzRMpsZddwst9Ld/VFe6LyJyRp0s32l/V9XoUzk+Gqu56F/oGk6507+8BxrA==} + '@types/d3-time-format@4.0.3': resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} + '@types/d3-time@3.0.0': + resolution: {integrity: sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==} + '@types/d3-time@3.0.4': resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} @@ -2645,21 +2867,15 @@ packages: '@types/emscripten@1.41.5': resolution: {integrity: sha512-cMQm7pxu6BxtHyqJ7mQZ2kXWV5SLmugybFdHCBbJ5eHzOo6VhBckEgAT3//rP5FwPHNPeEiq4SmQ5ucBwsOo4Q==} - '@types/eslint-scope@3.7.7': - resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} - - '@types/eslint@9.6.1': - resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} - '@types/esrecurse@4.3.1': resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} - '@types/estree@1.0.8': - resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - '@types/estree@1.0.9': resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + '@types/geojson@7946.0.16': + resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} + '@types/hoist-non-react-statics@3.3.7': resolution: {integrity: sha512-PQTyIulDkIDro8P+IHbKCsw7U2xxBYflVzW/FgWdCAePD9xGSidgA76/GeJ6lBKoblyhf9pBY763gbrN+1dI8g==} peerDependencies: @@ -2671,17 +2887,17 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/lodash@4.17.25': + resolution: {integrity: sha512-+K1NIO8I+F9/wNulfVvu23QYd0Pe9/OCqRrim4NoYIf1VoEDL90Ve4ClzpyqBLc7NpGGWRvYNCKZ1BE/Jpf8dQ==} + '@types/minimist@1.2.5': resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} '@types/ndarray@1.0.14': resolution: {integrity: sha512-oANmFZMnFQvb219SSBIhI1Ih/r4CvHDOzkWyJS/XRqkMrGH5/kaPSA1hQhdIBzouaE+5KpE/f5ylI9cujmckQg==} - '@types/node@22.19.19': - resolution: {integrity: sha512-dyh/xO2Fh5bYrfWaaqGrRQQGkNdmYw6AmaAUvYeUMNTWQtvb796ikLdmTchRmOlOiIJ1TDXfWgVx1QkUlQ6Hew==} - - '@types/node@22.19.21': - resolution: {integrity: sha512-VMeFBSCKQKmm2swI2kW51SFusDqekC6q9trBCvJ/JliDchFSuoYYKN7yVNjPthP1HKZcx3U1gI/wTcEBjEFKTA==} + '@types/node@22.20.1': + resolution: {integrity: sha512-EANqOCF9QFyra+4pfxUcX9STKJpCLjMbObVzljIJomAWSnuSIEAvyzEU53GaajbXJEgdh0iEcPL+DGvpUd4k1Q==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -2692,14 +2908,14 @@ packages: '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} - '@types/pg@8.20.0': - resolution: {integrity: sha512-bEPFOaMAHTEP1EzpvHTbmwR8UsFyHSKsRisLIHVMXnpNefSbGA1bD6CVy+qKjGSqmZqNqBDV2azOBo8TgkcVow==} + '@types/pg@8.20.3': + resolution: {integrity: sha512-4Tvg+HO6+oQaAkpT8GTYoSExzpGGZz532GXgbbCElWJQeQdMozBWxEKNBhJJpHFjWXsMxqPbyypvj/89FWNoSQ==} '@types/prop-types@15.7.15': resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} - '@types/react-dom@19.2.3': - resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} + '@types/react-dom@19.2.4': + resolution: {integrity: sha512-Bsc+QHgp+P/F02XDzNCY9jnZNCUuLki36KT7VKrTXXLdHf+vHMNZnW1rVu5DNW/rCK+fya3DATySbLM4yhtKUw==} peerDependencies: '@types/react': ^19.2.0 @@ -2713,8 +2929,8 @@ packages: peerDependencies: '@types/react': '*' - '@types/react@19.2.15': - resolution: {integrity: sha512-eRwcGNHve+E8qtEQSSRl6urh+rFop4v8gm6O8rGv25CodbvFdLjA1vVQ1KkiFE0w0UPOnb8tDiFKL5lp0rtY5Q==} + '@types/react@19.2.18': + resolution: {integrity: sha512-AnzbBERsrLKtk2XSfTbYRLjQPdy116Sty4q+T+Bp3IC4l6jNBvreVPAHmpq9qhXQM7CXZPjLVmGMw9sy+hxQ3w==} '@types/redux-logger@3.0.13': resolution: {integrity: sha512-jylqZXQfMxahkuPcO8J12AKSSCQngdEWQrw7UiLUJzMBcv1r4Qg77P6mjGLjM27e5gFQDPD8vwUMJ9AyVxFSsg==} @@ -2725,8 +2941,8 @@ packages: '@types/stats.js@0.17.4': resolution: {integrity: sha512-jIBvWWShCvlBqBNIZt0KAshWpvSjhkwkEu4ZUcASoAvhmrgAUI2t1dXrjSL4xXVLB4FznPrIsX3nKXFl/Dt4vA==} - '@types/three@0.173.0': - resolution: {integrity: sha512-KtNjfI/CRB6JVKIVeZM1R3GYDX2wkoV2itNcQu2j4d7qkhjGOuB+s2oF6jl9mztycDLGMtrAnJQYxInC8Bb20A==} + '@types/three@0.185.3': + resolution: {integrity: sha512-8TqTn1+fjPWuJ4mR6Igtg56DCf9b5EeAlwhb5xaa6WlBrsg7SvG0NQbyctGRkHCKwg0uftfCspOEsTXelgktMA==} '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} @@ -2743,67 +2959,67 @@ packages: '@types/ws@8.18.1': resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} - '@typescript-eslint/eslint-plugin@8.59.4': - resolution: {integrity: sha512-PegsU+XfyJJNjd4+u/k6f9yTyp0lEXXiPopUNobZcIAUJFGICFLN+sP0Rb3JehVmiij1Ph0dFGYqODoRo/2+6A==} + '@typescript-eslint/eslint-plugin@8.66.0': + resolution: {integrity: sha512-p088eaGrzYz1s+7cov0aMOCkNGTJlVxF4jgubf28c8L0Cv9Rloj8YBHnv4hXLq6IIEE1AsjNWavO+k+8kP2Y0A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.59.4 + '@typescript-eslint/parser': ^8.66.0 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.59.4': - resolution: {integrity: sha512-zORHqO/tuhxY1zWuTvMUqddRxpiFJ72xVfcNoWpqdLjs6lfPbuQBJuW4pk+49/uBMy7Ssr4bzgjiKmmDB1UbZQ==} + '@typescript-eslint/parser@8.66.0': + resolution: {integrity: sha512-X6ypGChaWYk6PBtUg2BwuTZEFFcHJAtGTVJ9/lCTOufhZ4i9fNolQNnktq+kkMCwMj7V8Svsq7+TxSDslmhE0g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/project-service@8.59.4': - resolution: {integrity: sha512-Ly00Vu4oAacfDeHp2Zg85ioNG6l8HG+tN1D7J+xTHSxu9y0awYKJ2zH1rFBn8ZSfuGK+7FxK3Cgl3uAz0aZZLg==} + '@typescript-eslint/project-service@8.66.0': + resolution: {integrity: sha512-7MthGPTt4BP69lSryqpqq8HQqxuzynssckL/jyDyk3+TNMQ3y2jFWkptCrktWvBrP+EH787Nl5N5Qpw7WZg+5g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/scope-manager@8.59.4': - resolution: {integrity: sha512-mUeR/3H1WrTAddJrwut8OoPjfauaztMQmRwV5fQTUyNVJCLiUXXe4lGEyYIL2oFDpP7UtgbGJXCt72wT0z2S3Q==} + '@typescript-eslint/scope-manager@8.66.0': + resolution: {integrity: sha512-8TGcH25j9zqJ/IULB/ppyhRvxA8QYfFEZ7nfbg6/BN9spDgb8fPWQXlE5l8TWBL50EtUx007uZ1o9VOwrq2/9g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.59.4': - resolution: {integrity: sha512-DLCpnKgD4alVxTBSKulK+gU1KCqOgUXfDRDXh2mZgzokQKa/70ax93I2uVO3m/LLvIAtWZIFoiifudmIqAxpMA==} + '@typescript-eslint/tsconfig-utils@8.66.0': + resolution: {integrity: sha512-9D5gLYZG4rOjcoag8MQ/fWI8WqA9wcPDyOGyWtWFhvM1lHRbliqUSPIY5J3zqCU1tvSwzXxnnjhQhz5Ne7mJ4g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.59.4': - resolution: {integrity: sha512-uonTuPAAKr9XaBGqJ3LjYTh72zy5DyGesljO9gtmk/eFW0W1fRHjnwVYKB35Lm8d5Q5CluEW3gPHjTvZTmgrfA==} + '@typescript-eslint/type-utils@8.66.0': + resolution: {integrity: sha512-LG2dWfjZQQp0ADtAu/EWJVayefGL2UEZ3CDeI44D9v3rXB/WYUqE/jpO28KrEKul5AySrmI+Zh1v6v+xW2U9+g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/types@8.59.4': - resolution: {integrity: sha512-F1o7WJcCq+bc8dwcO/YsSEOudAH8RDtaOhM6wcAQhcUsFhnWQl81JKy48q1hoxAU0qrzM89+31GYh1515Zde3Q==} + '@typescript-eslint/types@8.66.0': + resolution: {integrity: sha512-H6gcYaSDOyvL3AD/jHUtUFo2jqGgn/F6nuyuZSu0QTesxL+cP4dQoIMrODRofuJC09g64+WgZ6tE19Y1N2YIFQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.59.4': - resolution: {integrity: sha512-F+RuOmcDXo4+TPdfd/TCLS3m2nw8gE9XXyZLrA3JBfaA5tz9TtdkyD3YJFmPxulyc2cKbEok/CvFE3MgSLWnag==} + '@typescript-eslint/typescript-estree@8.66.0': + resolution: {integrity: sha512-8/x4INiiQb10jGgXYD7116/zQ+OL84ZIFn0za68wwFHCanT/VLbBEroWht8RV8fn0/ZCAoazHLQgwUC0UQcDfg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.59.4': - resolution: {integrity: sha512-cYXeNAUsG4lJo5dbc1FcKm+JwIWrj1/UpTORsC6tGMjEZ81DYcvIr9/ueikhMa/Y/gDQYGp+YX9/xQrXje5BJw==} + '@typescript-eslint/utils@8.66.0': + resolution: {integrity: sha512-jasearZPolBw5NJNYGMwxzHMF83niVWmMU1VdHzG1CyfI2VS7f7nZltnKtHcg20hW+7Uo5GfK4MeDPoU3qI8EA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/visitor-keys@8.59.4': - resolution: {integrity: sha512-U3gxVaDVnuZKhSspW/MzMxE1kq7zOdc072FcSNoqA1I9p8HyKbBFfEHoWckBAMgNMph4MamwS5iTVzFmrnt8TQ==} + '@typescript-eslint/visitor-keys@8.66.0': + resolution: {integrity: sha512-dkKR8q+lKciskj1Y3vthHktl+3cMLWGyVUP23bRiPZ5O9BRT++4EqDDV+TVeIKBL1VXVEqrJlz8MYbcnvJcAlg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@upstash/redis@1.38.0': - resolution: {integrity: sha512-wu+dZBptlLy0+MCUEoHmzrY/TnmgDey3+c7EbIGwrLqAvkP8yi5MWZHYGIFtAygmL4Bkz2TdFu+eU0vFPncIcg==} + '@upstash/redis@1.38.1': + resolution: {integrity: sha512-hVqkWmhqobH7hpdzSCSrOwK7gWNASOAdf85l6/yxdB+giCYNYfl8FkSKxnqW2sqCdLDP7HzRTvy/ILC1AjBMUA==} '@use-gesture/core@10.3.1': resolution: {integrity: sha512-WcINiDt8WjqBdUXye25anHiNxPc0VOrlT8F6LLkU6cycrOGUDyY/yyFmsg3k8i5OLvv25llc0QC45GhR/C8llw==} @@ -2842,8 +3058,8 @@ packages: '@vercel/edge-config-fs@0.1.0': resolution: {integrity: sha512-NRIBwfcS0bUoUbRWlNGetqjvLSwgYH/BqKqDN7vK1g32p7dN96k0712COgaz6VFizAm9b0g6IG6hR6+hc0KCPg==} - '@vercel/edge-config@1.4.3': - resolution: {integrity: sha512-8vTDATodRrH49wMzKEjZ8/5H2qs1aPkD0uRK585f/Fx4YN2wfHfY/3td9OFrh+gdnCq07z8A5f0hoY6xhBcPkg==} + '@vercel/edge-config@1.5.0': + resolution: {integrity: sha512-d3DohCm+DwWNuigOGCxE7+4NfuL3DT+yuOvW0jGe2wqA5vJ6q7OwB7G2UHbDPrk5ePmY1Qxc5urXHHWLCNzY7w==} engines: {node: '>=14.6'} peerDependencies: '@opentelemetry/api': ^1.7.0 @@ -2877,6 +3093,41 @@ packages: vue-router: optional: true + '@visx/curve@4.0.1-alpha.0': + resolution: {integrity: sha512-jRu61Uz274pV1zyioXmboyrLutYbnKsgjj4njSGCnhdXj5GkZvZbg+ThDb6oOzoAnJOBRLz4rzPlWvNJOzuVMg==} + + '@visx/event@4.0.1-alpha.0': + resolution: {integrity: sha512-EQqCMSv/s8NbFjo+hz3FKsvvYfP+2QslsFJ/24/O5l/W+7UC6J6aAvO0ujVwrTwdYbuQ+vhxKi1xdPdKR/qj1g==} + + '@visx/grid@4.0.1-alpha.0': + resolution: {integrity: sha512-rycutGmTHO+znNdPumheWMglm7YfpffvRwUkVy5zy4WoORIuKTMkDxwnOzHG2xMxU3EE/YCd37xFV5AxA30yeg==} + peerDependencies: + react: ^16.14.0 || ^17.0.0-0 || ^18.0.0-0 || ^19.0.0-0 + + '@visx/group@4.0.1-alpha.0': + resolution: {integrity: sha512-V19l7iQ7jccBv8kao/EByuI6o4xtxzzLV9nqVI1hRvmdzTVsuLpqlwzYCZUXJaTVvUWf8s4D2SQFjGkj/Nw+0w==} + peerDependencies: + react: ^16.14.0 || ^17.0.0-0 || ^18.0.0-0 || ^19.0.0-0 + + '@visx/point@4.0.1-alpha.0': + resolution: {integrity: sha512-ijTfr/Nx09f03vIj9nyTr3z4Xth4Y75427UaogJh6dnIRLMEFHQOwNu791sbfiNj0a+ZXuaE32h0vKrFe4/8Qg==} + + '@visx/responsive@4.0.1-alpha.0': + resolution: {integrity: sha512-o+1zGywQZY0+yOx3Iw87wc4bbPJRr/HnIukTwfOz4UVyj9pB1OQNVHB7OORO1+LBHJceWpB31co/ZV9KHncKrA==} + peerDependencies: + react: ^16.14.0 || ^17.0.0-0 || ^18.0.0-0 || ^19.0.0-0 + + '@visx/scale@4.0.1-alpha.0': + resolution: {integrity: sha512-nzjeE87vFSAXGWFiiNfBpNLAf0Q8Qmf6syvKLjqNi4kGZkdhbUll3E/59YsgWXmjM8+llPLWzGsP+JPvo5eq1A==} + + '@visx/shape@4.0.1-alpha.0': + resolution: {integrity: sha512-62QeiVNmPlterQGwhkEDcbq7M0MqY0lBsK5QKXtM9ZoPZWkuGV3aykA3+Xu20B2FAvyJq4LqJzBc7Sxr+EAdbA==} + peerDependencies: + react: ^16.14.0 || ^17.0.0-0 || ^18.0.0-0 || ^19.0.0-0 + + '@visx/vendor@4.0.0-alpha.0': + resolution: {integrity: sha512-6I+MuqXBcv9jnlcVowHoHKSdk9gXTWkHLKyqBwRWg7LY6A3Ei8SHfubpqGV5rBUSppxMq2RszPJUS6w+H0YgmQ==} + '@vitejs/plugin-react@5.2.0': resolution: {integrity: sha512-YmKkfhOAi3wsB1PhJq5Scj3GXMn3WvtQ/JC0xoopuHoXSdmtdStOpFrYaT1kie2YgFBcIe64ROzMYRjCrYOdYw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2965,9 +3216,6 @@ packages: '@webassemblyjs/wast-printer@1.14.1': resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} - '@webgpu/types@0.1.70': - resolution: {integrity: sha512-LFiNHHKMvmAEvwVew3JLJmTdShhbdwRFSImUshGhE2mGE8ybQzIo63l5uRp+YKnNx+8Qno8Kf6gN+DKMreIJCA==} - '@whatwg-node/disposablestack@0.0.6': resolution: {integrity: sha512-LOtTn+JgJvX8WfBVJtF08TGrdjuFzGJc4mkP8EdDI8ADbvO7kiexYep1o8dwnt0okb0jYclCDXF13xU7Ge4zSw==} engines: {node: '>=18.0.0'} @@ -2976,8 +3224,8 @@ packages: resolution: {integrity: sha512-b4PhJ+zYj4357zwk4TTuF2nEe0vVtOrwdsrNo5hL+u1ojXNhh1FgJ6pg1jzDlwlT4oBdzfSwaBwMCtFCsIWg8Q==} engines: {node: '>=18.0.0'} - '@whatwg-node/node-fetch@0.8.5': - resolution: {integrity: sha512-4xzCl/zphPqlp9tASLVeUhB5+WJHbuWGYpfoC2q1qh5dw0AqZBW7L27V5roxYWijPxj4sspRAAoOH3d2ztaHUQ==} + '@whatwg-node/node-fetch@0.8.6': + resolution: {integrity: sha512-BDMdYFcerLQkwA2RTldxOqRCs6ZQD1S7UgP3pUdGUkcbgTrP/V5ko77ZkCww9DHmC4lpoYuwigGfQYj285gMvA==} engines: {node: '>=18.0.0'} '@whatwg-node/promise-helpers@1.3.2': @@ -3009,24 +3257,13 @@ packages: '@zumer/snapdom@2.23.1': resolution: {integrity: sha512-r+6LRFXIpzTxlvGBjTr7mhvVW05TozgyE1QFmvO1hbchdbl4Km5/7DIkeyl2+nEVbz8Sp6/K2g4b86pXhCrFIQ==} - acorn-import-phases@1.0.4: - resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} - engines: {node: '>=10.13.0'} - peerDependencies: - acorn: ^8.14.0 - acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn@8.16.0: - resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} - engines: {node: '>=0.4.0'} - hasBin: true - - acorn@8.17.0: - resolution: {integrity: sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==} + acorn@8.18.0: + resolution: {integrity: sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==} engines: {node: '>=0.4.0'} hasBin: true @@ -3139,8 +3376,8 @@ packages: ast-metadata-inferer@0.8.1: resolution: {integrity: sha512-ht3Dm6Zr7SXv6t1Ra6gFo0+kLDglHGrEbYihTkcycrbHw7WCcuhBzPlJYHEsIpycaUwzsJHje+vUcxXUX4ztTA==} - ast-v8-to-istanbul@1.0.0: - resolution: {integrity: sha512-1fSfIwuDICFA4LKkCzRPO7F0hzFf0B7+Xqrl27ynQaa+Rh0e1Es0v6kWHPott3lU10AyAr7oKHa65OppjLn3Rg==} + ast-v8-to-istanbul@1.0.5: + resolution: {integrity: sha512-UPAgKJFSEGMWSDr3LX4tqnAb4f7KGT8O40Tyx8wbYmmZ/yn58lNCm8h3svs3eXgiGd5AXxz8NDOvXWvicq+rJA==} astral-regex@2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} @@ -3166,8 +3403,8 @@ packages: resolution: {integrity: sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g==} engines: {node: '>= 6.0.0'} - axios@1.16.1: - resolution: {integrity: sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==} + axios@1.19.0: + resolution: {integrity: sha512-ht/iuYZXEjFxLH/Hkezgd7m6JKlHHXEUSneaDz8uZe1Gj5QZtCnpyDsckvAiEnT89OEbCLmnte4R4sn7P0EKFw==} babel-plugin-macros@3.1.0: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} @@ -3186,19 +3423,19 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.10.31: - resolution: {integrity: sha512-MujYO3eP72uvmSE0i4wltsodRfIpZATP3jvzRNRGGxgzId7aVocVJJV3nf01qnzzKFGxQVC9bpWxl5cjxTr/7Q==} + baseline-browser-mapping@2.11.12: + resolution: {integrity: sha512-r7WnVImvVCeFpf2DOXfy41aPWzeNg3H/A2X4dKmy1QL0MSyyk/e7z8ihJ3N6Nn2PsdhkVlqnEfnUE4a05P2aTA==} engines: {node: '>=6.0.0'} hasBin: true before-after-hook@4.0.0: resolution: {integrity: sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==} - better-result@2.9.2: - resolution: {integrity: sha512-WIFoBPCdnTOdk9inkE1ZRvCZ4P0CpSkAiLlchC65N7n9DcjZ3NhqkBOlafzpOVnO8ixyi37kicmSJ3ENhPZl7Q==} + better-result@2.10.0: + resolution: {integrity: sha512-oQhh0y1qo2/ZKdAAEvHZAqKKiHOFU5k/bW96fE2ScgQOVkJRiHwB+nOS1SgFsYqRlxMDWvefXi9Q3px7QvgNDw==} - bezier-easing@2.1.0: - resolution: {integrity: sha512-gbIqZ/eslnUFC1tjEvtz0sgx+xTK20wDnYMIA27VA04R7w6xxXQPZDbibjA9DTWZRA2CXtwHykkVzlCaAJAZig==} + bezier-easing@3.0.1: + resolution: {integrity: sha512-vvvg10Anq7py0+KkIqlwJpUVdde9Z8kSzeUzAkQNYAJdA3mZnLG9r9ExdwtjcASCYER6UkNHdBNHHMnVimnU7A==} bidi-js@1.0.3: resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==} @@ -3212,19 +3449,19 @@ packages: bottleneck@2.19.5: resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} - brace-expansion@2.1.0: - resolution: {integrity: sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==} + brace-expansion@2.1.4: + resolution: {integrity: sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==} - brace-expansion@5.0.6: - resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==} - engines: {node: 18 || 20 || >=22} + brace-expansion@5.0.9: + resolution: {integrity: sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==} + engines: {node: 20 || >=22} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.28.2: - resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==} + browserslist@4.28.7: + resolution: {integrity: sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -3276,8 +3513,8 @@ packages: peerDependencies: three: '>=0.126.1' - caniuse-lite@1.0.30001793: - resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} + caniuse-lite@1.0.30001806: + resolution: {integrity: sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==} capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} @@ -3308,16 +3545,8 @@ packages: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} - chardet@2.1.1: - resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} - - chart.js@4.5.1: - resolution: {integrity: sha512-GIjfiT9dbmHRiYi6Nl2yFCq7kkwdkp1W/lp2J99rX0yo9tgJGn3lKQATztIjb5tVtevcBtIdICNWqlq5+E8/Pw==} - engines: {pnpm: '>=8'} - - chokidar@4.0.3: - resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} - engines: {node: '>= 14.16.0'} + chardet@2.2.0: + resolution: {integrity: sha512-rddelWYNPRrXq6PtNEN2S3f6t9ILzvqaN5pVgi4kqt9jHQaXIial9PznB5iSPVlQSLNaaH22ItWz3EJtQ10+OA==} chokidar@5.0.0: resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} @@ -3327,6 +3556,9 @@ packages: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} + classnames@2.5.1: + resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} + clean-stack@2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} @@ -3514,8 +3746,8 @@ packages: typescript: optional: true - cosmiconfig@9.0.1: - resolution: {integrity: sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==} + cosmiconfig@9.0.2: + resolution: {integrity: sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==} engines: {node: '>=14'} peerDependencies: typescript: '>=4.9.5' @@ -3567,6 +3799,10 @@ packages: cwise-compiler@1.1.3: resolution: {integrity: sha512-WXlK/m+Di8DMMcCjcWr4i+XzcQra9eCdXIJrgh4TUgh0pIS/yJduLxS9JgefsHJ/YVLdgPtXm9r62W92MvanEQ==} + d3-array@3.2.1: + resolution: {integrity: sha512-gUY/qeHq/yNqqoCKNq4vtpFLdoCdvyNpWoC/KNjhGbhDuQpAM9sIQQKkXSNpXa9h5KySs/gzm7R88WkUutgwWQ==} + engines: {node: '>=12'} + d3-array@3.2.4: resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} engines: {node: '>=12'} @@ -3575,10 +3811,26 @@ packages: resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} engines: {node: '>=12'} + d3-delaunay@6.0.2: + resolution: {integrity: sha512-IMLNldruDQScrcfT+MWnazhHbDJhcRJyOEBAJfwQnHle1RPh6WDuLvxNArUju2VSMSUuKlY5BGHRJ2cYyoFLQQ==} + engines: {node: '>=12'} + + d3-format@3.1.0: + resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} + engines: {node: '>=12'} + d3-format@3.1.2: resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==} engines: {node: '>=12'} + d3-geo@3.1.0: + resolution: {integrity: sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==} + engines: {node: '>=12'} + + d3-geo@3.1.1: + resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} + engines: {node: '>=12'} + d3-interpolate@3.0.1: resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} engines: {node: '>=12'} @@ -3618,8 +3870,8 @@ packages: dataloader@2.2.3: resolution: {integrity: sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA==} - dayjs@1.11.20: - resolution: {integrity: sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==} + dayjs@1.11.21: + resolution: {integrity: sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==} debounce@1.2.1: resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} @@ -3669,6 +3921,9 @@ packages: defu@6.1.7: resolution: {integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==} + delaunator@5.1.0: + resolution: {integrity: sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==} + delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -3719,19 +3974,35 @@ packages: dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dom-serializer@3.1.1: + resolution: {integrity: sha512-4MEa38/QexBob6gFNwu+EGdWvhJ1OKuNwdYY3Y3NyeWDQfnGeDYQUDfIRzWu5B5gsv03so2Uxd28YC6zrsx3Lw==} + engines: {node: '>=20.19.0'} + domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + domelementtype@3.0.0: + resolution: {integrity: sha512-umCQid3jKbDmVjx8jGaW7uUykm4DEUeyV21hPxNMo2nV955DhUThwqyOIDtreepP31hl84X7G5U9ZfsWvIB3Pg==} + engines: {node: '>=20.19.0'} + domhandler@5.0.3: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} - dompurify@3.2.7: - resolution: {integrity: sha512-WhL/YuveyGXJaerVlMYGWhvQswa7myDG17P7Vu65EWC05o8vfeNbvNf4d/BOvH99+ZW+LlQsc1GDKMa1vNK6dw==} + domhandler@6.0.1: + resolution: {integrity: sha512-gYzvtM72ZtxQO0T048kd6HWSbbGCNOUwcnfQ01cqIJ4X2IYKFFHZ5mKvrQETcFXxsRObZulDaKmy//R7TPtsBg==} + engines: {node: '>=20.19.0'} + + dompurify@3.4.8: + resolution: {integrity: sha512-yb1cEmaOum7wFvOCSQxyfgVlv5D47Rc30iZWoMpbDIWTnJ6grDDQyu2KFJzB2k7u0pMuJcQ1zphH//fFnw2tjQ==} domutils@3.2.2: resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + domutils@4.0.2: + resolution: {integrity: sha512-qI4JLRKnSzqFqr7hAlS5xQDusBCjKSEG4t4+7aNrIQMHBcsC2TGEhuyABJdYkgSewL57PNLYEiibY2iPKhKpaA==} + engines: {node: '>=20.19.0'} + dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} @@ -3767,8 +4038,11 @@ packages: effect@3.20.0: resolution: {integrity: sha512-qMLfDJscrNG8p/aw+IkT9W7fgj50Z4wG5bLBy0Txsxz8iUHjDIkOgO3SV0WZfnQbNG2VJYb0b+rDLMrhM4+Krw==} - electron-to-chromium@1.5.359: - resolution: {integrity: sha512-8lPELWuYZIWk7NDvCNthtmMw/7Q5Wu25NpM4djFMHBmk8DubPAtL4YTOp7ou0e7HyJtwkVlWv8XMLURnrtgJQw==} + electron-to-chromium@1.5.399: + resolution: {integrity: sha512-lEcqhErbHjXRvd41rnWLpzbyU/IXfIYo7QwaFWmxGeLiLyY2TBCdHnWY88vB+p3ubnihRypDm66panXl7TylLA==} + + elkjs@0.11.1: + resolution: {integrity: sha512-zxxR9k+rx5ktMwT/FwyLdPCrq7xN6e4VGGHH8hA01vVYKjTFik7nHOxBnAYtrgYUB1RpAiLvA1/U2YraWxyKKg==} emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -3787,8 +4061,8 @@ packages: resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==} engines: {node: '>=14'} - enhanced-resolve@5.24.0: - resolution: {integrity: sha512-SkE2t82KlkkxQRVMVLAGKxLfORGQfrkx5dkj+vlgXRVNEdPc4eZcR+J/Fvj8C+yKSFH5L0q3NFlyufOVQnCcYQ==} + enhanced-resolve@5.24.5: + resolution: {integrity: sha512-L1l8TNvomm6UVW5B253AGxQagSQr+vGwhMlrrfRS2qmhx46AMpMVJKQYLvWYbysTMY8VoicOvzHzoHMbyzB+4A==} engines: {node: '>=10.13.0'} entities@4.5.0: @@ -3803,6 +4077,10 @@ packages: resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} engines: {node: '>=0.12'} + entities@8.0.0: + resolution: {integrity: sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==} + engines: {node: '>=20.19.0'} + env-ci@11.2.0: resolution: {integrity: sha512-D5kWfzkmaOQDioPmiviWAVtKmpPT4/iJmMVQxWxMPJTFyTkdc5JQUfc5iXEeWxcOdsYTKSAiA/Age4NUOqKsRA==} engines: {node: ^18.17 || >=20.6.1} @@ -3835,11 +4113,11 @@ packages: engines: {node: '>=14.0.0'} hasBin: true - es-module-lexer@2.1.0: - resolution: {integrity: sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==} + es-module-lexer@2.3.1: + resolution: {integrity: sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==} - es-object-atoms@1.1.1: - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + es-object-atoms@1.1.2: + resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} engines: {node: '>= 0.4'} es-set-tostringtag@2.1.0: @@ -3884,8 +4162,8 @@ packages: peerDependencies: eslint: ^9.0.0 || ^10.0.0 - eslint-plugin-prettier@5.5.5: - resolution: {integrity: sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==} + eslint-plugin-prettier@5.5.6: + resolution: {integrity: sha512-ifetmTcxWfz+4qRW3pH/ujdTq2jQIj59AxJMIN26K5avYgU8dxycUETQonWiW+wPrYXA0j3Try0l1CnwVQtDqQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: '@types/eslint': '>=8.0.0' @@ -3926,8 +4204,8 @@ packages: resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint@10.4.0: - resolution: {integrity: sha512-loXy6bWOoP3EP6JA7jo6p5jMpBJmHmsNZM5SFRHLdh1MGOPurMnNBj4ZlAbaqUAaQWbCr7jHV4P7gzAyryZWkQ==} + eslint@10.8.0: + resolution: {integrity: sha512-nuKKvN+oIBO0koN7Tm7dlkmnkc21mtt0QJLwAKzjLq14y6lRTdVG36MZHJ8eQHwdJMwZbQNMlPOYedMq/oVJvQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true peerDependencies: @@ -3986,19 +4264,19 @@ packages: resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==} engines: {node: ^18.19.0 || >=20.5.0} - expect-type@1.3.0: - resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} + expect-type@1.4.0: + resolution: {integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==} engines: {node: '>=12.0.0'} - exsolve@1.0.8: - resolution: {integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==} + exsolve@1.1.1: + resolution: {integrity: sha512-9U/jZUgjnSGyntRr6y5Muu1MJcwFl6kPu7k8qLF0IMNfLqvw0NZ4nnVDq0RVoZ0RvCyumib4Ez3KYrVfilrw+g==} fast-check@3.23.2: resolution: {integrity: sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A==} engines: {node: '>=8.0.0'} - fast-content-type-parse@3.0.0: - resolution: {integrity: sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==} + fast-decode-uri-component@1.0.1: + resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -4020,8 +4298,11 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fast-uri@3.1.2: - resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==} + fast-querystring@1.1.2: + resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} + + fast-uri@3.1.5: + resolution: {integrity: sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw==} fastq@1.20.1: resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} @@ -4039,8 +4320,8 @@ packages: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} - fflate@0.6.10: - resolution: {integrity: sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==} + fflate@0.6.11: + resolution: {integrity: sha512-3JyEFWGjFn7zHmoa9+zG1BmW7X2okcmAB+0Cnu9UFbVs/jCBnl2A8o065ZlXiw145K3eBM3uLuzrYXC0RK7eDg==} fflate@0.8.3: resolution: {integrity: sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==} @@ -4065,6 +4346,10 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} + find-my-way@9.7.0: + resolution: {integrity: sha512-f2JHn75x2JlwUwLenZypgczR7YWMb/uO9BvUXtus+JMgkbIkLADd38cI4EiV+OQqrGo1Zlq6V8wnqMJ8e62wUQ==} + engines: {node: '>=20'} + find-root@1.1.0: resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} @@ -4092,11 +4377,11 @@ packages: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} - flatqueue@3.0.0: - resolution: {integrity: sha512-y1deYaVt+lIc/d2uIcWDNd0CrdQTO5xoCjeFdhX0kSXvm2Acm0o+3bAOiYklTEoRyzwio3sv3/IiBZdusbAe2Q==} + flatqueue@3.1.0: + resolution: {integrity: sha512-Ia4qIYrrsEqIRx3c3XhkT+QDLQuUV5ovsr6ah1rIgKT5wclhoGK3lAMS1bWRAWxlx7wtlTBpV7QXB5d9fOSRxA==} - flatted@3.4.2: - resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==} + flatted@3.4.4: + resolution: {integrity: sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==} follow-redirects@1.16.0: resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==} @@ -4115,8 +4400,8 @@ packages: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} - form-data@4.0.5: - resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} + form-data@4.0.6: + resolution: {integrity: sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==} engines: {node: '>= 6'} formdata-polyfill@4.0.10: @@ -4128,8 +4413,8 @@ packages: peerDependencies: react: '>=16.8.0' - fs-extra@11.3.5: - resolution: {integrity: sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg==} + fs-extra@11.4.0: + resolution: {integrity: sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==} engines: {node: '>=14.14'} fsevents@2.3.3: @@ -4186,8 +4471,8 @@ packages: resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} engines: {node: '>=18'} - giget@3.2.0: - resolution: {integrity: sha512-GvHTWcykIR/fP8cj8dMpuMMkvaeJfPvYnhq0oW+chSeIr+ldX21ifU2Ms6KBoyKZQZmVaUAAhQ2EZ68KJF8a7A==} + giget@3.3.1: + resolution: {integrity: sha512-r+mvuDjrjMpsdw46Kmeydb8bdHm7wOKw8wNBtTndkjbPjgAp5oUJUxRE76wZFknxIPokfWvep2qSXK37aXE6zg==} hasBin: true git-log-parser@1.2.1: @@ -4201,9 +4486,6 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - globals@15.15.0: resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} engines: {node: '>=18'} @@ -4235,8 +4517,8 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - grammex@3.1.12: - resolution: {integrity: sha512-6ufJOsSA7LcQehIJNCO7HIBykfM7DXQual0Ny780/DEcJIpBlHRvcqEBWGPYd7hrXL2GJ3oJI1MIhaXjWmLQOQ==} + grammex@3.1.13: + resolution: {integrity: sha512-LnPnhOBLEJEVKS8WFDVaA397L9Kq55Q9oSITJiVLHVdhAclfUkWzQv74KhvZHKL2Q09Pb1XdsrOsZ4LfTFFTEg==} graphmatch@1.1.1: resolution: {integrity: sha512-5ykVn/EXM1hF0XCaWh05VbYvEiOL2lY1kBxZtaYsyvjp7cmWOU1XsAdfQBwClraEofXDT197lFbXOEVMHpvQOg==} @@ -4256,19 +4538,19 @@ packages: peerDependencies: graphql: 14 - 16 - graphql-tag@2.12.6: - resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} + graphql-tag@2.12.7: + resolution: {integrity: sha512-xnE/NFzy+0eIesvAsREJZ284zTl/wYuBAvpsFSDhRGRdRHdnE90M21Q3xAWyYInb0J756c6x0pIQ62+vtvOs1Q==} engines: {node: '>=10'} peerDependencies: - graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - graphql-ws@6.0.8: - resolution: {integrity: sha512-m3EOaNsUBXwAnkBWbzPfe0Nq8pXUfxsWnolC54sru3FzHvhTZL0Ouf/BoQsaGAXqM+YPerXOJ47BUnmgmoupCw==} + graphql-ws@6.2.0: + resolution: {integrity: sha512-A0kH9R7JZNh4AKKHykmJdOb5IgRya07uCrhYOXm1UDyxCwc/6jEi5+UMUhoBVj/hsowJHRK7Y3LllMdlNJR+HA==} engines: {node: '>=20'} peerDependencies: '@fastify/websocket': ^10 || ^11 crossws: ~0.3 - graphql: ^15.10.1 || ^16 + graphql: ^15.10.1 || ^16 || ^17 ws: ^8 peerDependenciesMeta: '@fastify/websocket': @@ -4306,8 +4588,8 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - hasown@2.0.3: - resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} + hasown@2.0.4: + resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} engines: {node: '>= 0.4'} header-case@2.0.4: @@ -4328,10 +4610,6 @@ packages: hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} - hono@4.12.21: - resolution: {integrity: sha512-uV63apnb0kyPtAUwoWgaGh9HyIFcv8lgmzPZSiTBQAFOFGIzka5EZ1dZocmGnn0XdX0+XTqJ6Tqv7selMuGLRQ==} - engines: {node: '>=16.9.0'} - hook-std@4.0.0: resolution: {integrity: sha512-IHI4bEVOt3vRUDJ+bFA9VUJlo7SzvFARPNLw75pqSmAOP2HmTWfFJtPvLBrDrlgjEYXY9zs7SFdHPQaJShkSCQ==} engines: {node: '>=20'} @@ -4358,17 +4636,18 @@ packages: htmlparser2@10.1.0: resolution: {integrity: sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==} + htmlparser2@12.0.0: + resolution: {integrity: sha512-Tz7u1i95/g2x2jz81+x0FBVhBhY5aRTvD3tXXdFaljuNdzDLJ8UGNRrTcj2cgQvAg3iW/h77Fz15nLW0L0CrZw==} + engines: {node: '>=20.19.0'} + http-proxy-agent@7.0.2: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} - http-proxy-agent@9.0.0: - resolution: {integrity: sha512-FcF8VhXYLQcxWCnt/cCpT2apKsRDUGeVEeMqGu4HSTu29U8Yw0TLOjdYIlDsYk3IkUh+taX4IDWpPcCqKDhCjA==} + http-proxy-agent@9.1.0: + resolution: {integrity: sha512-2NxoveTT58mjYT4n3RPTEfCZGLMbidoO8XEieXfpSYxu+PQJ1qpx4ypwH6N+uF9twBPIvRRgvkvW5HUTYWENig==} engines: {node: '>= 20'} - http-status-codes@2.3.0: - resolution: {integrity: sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA==} - https-proxy-agent@5.0.1: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} @@ -4377,8 +4656,8 @@ packages: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} - https-proxy-agent@9.0.0: - resolution: {integrity: sha512-/MVmHp58WkOypgFhCLk4fzpPcFQvTJ/e6LBI7irpIO2HfxUbpmYoHF+KzipzJpxxzJu7aJNWQ0xojJ/dzV2G5g==} + https-proxy-agent@9.1.0: + resolution: {integrity: sha512-ag87y7cJJ9/3+GxFr8Oy4O5faDsGRGnBGsJj/YjOSsSx/5eadKLYTMPlzuR6obgoCDDm0abAAZitXXQkMOPSpA==} engines: {node: '>= 20'} human-signals@2.1.0: @@ -4402,8 +4681,8 @@ packages: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} - iconv-lite@0.7.2: - resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} + iconv-lite@0.7.3: + resolution: {integrity: sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==} engines: {node: '>=0.10.0'} ieee754@1.1.13: @@ -4416,18 +4695,18 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - ignore@7.0.5: - resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + ignore@7.0.6: + resolution: {integrity: sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==} engines: {node: '>= 4'} immediate@3.0.6: resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} - immer@11.1.8: - resolution: {integrity: sha512-/tbkHMW7y10Lx6i1crLjD4/OhNkRG+Fo7byZHtah0547nIeXYcpIXaUh0IAQY6gO5459qpGGYapcEOHtFXkIuA==} + immer@11.1.15: + resolution: {integrity: sha512-VrNANlmnWQnh5COXIIOQXM9oOJw7naGKlBT74ZOOR6lpVXc3gFEu9FJLDFcpCJ2j+NWr8TIwtWD//T6ZX6TKiQ==} - immutable@5.1.5: - resolution: {integrity: sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==} + immutable@5.1.9: + resolution: {integrity: sha512-m8nVez3rwrgmWxtLMt1ZYXB2Lv7OKYn/disyxAlSDYAlKSlFoPPfIAmAM/M5xqL4m4C/wAPw7S2/CNaUii1Hxg==} import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} @@ -4674,8 +4953,8 @@ packages: resolution: {integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==} engines: {node: '>= 0.6.0'} - joi@18.2.1: - resolution: {integrity: sha512-2/OKlogiESf2Nh3TFCrRjrr9z1DRHeW0I+KReF67+4J0Ns+8hBtHRmoWAZ2OFU6I5+TWLEe6sVlSdXPjHm5UbQ==} + joi@18.2.3: + resolution: {integrity: sha512-N5A3KTWQpPWT4ExxxPlUx7WmykGXRzhNidWhV41d6Abu9YfI2NyWCJuxdPnslJCPWtbRpSVOWSnSS6GakLM/Rg==} engines: {node: '>= 20'} jose@4.15.9: @@ -4690,8 +4969,8 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-yaml@4.1.1: - resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + js-yaml@4.3.1: + resolution: {integrity: sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==} hasBin: true jsdom-global@3.0.2: @@ -4748,8 +5027,8 @@ packages: resolution: {integrity: sha512-rvm6hunfCcqegwYaG5T4yKJWxc9FXFgBVrcTZ4XfSVRwa5HA/Xs+vB/Eo9treYYHCeNM0nrSUr82V/M31Urc7A==} engines: {node: '>= 0.2.0'} - json-with-bigint@3.5.8: - resolution: {integrity: sha512-eq/4KP6K34kwa7TcFdtvnftvHCD9KvHOGGICWwMFc4dOOKF5t4iYqnfLK8otCRCRv06FXOzGGyqE8h8ElMvvdw==} + json-with-bigint@3.5.10: + resolution: {integrity: sha512-Vcx+JVNEBts/xfcoCS69sKrOhOk/3TVlvlT+XzUOefVKnnrbYSCKpDCm10pohsJFtsJVYnwa/cXRZ4eElzaM6w==} json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} @@ -4814,10 +5093,6 @@ packages: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} engines: {node: '>=4'} - loader-runner@4.3.2: - resolution: {integrity: sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==} - engines: {node: '>=6.11.5'} - loader-utils@2.0.4: resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} engines: {node: '>=8.9.0'} @@ -4892,8 +5167,8 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.4.0: - resolution: {integrity: sha512-W+R+kFL4HgVxONq2bhXPi3bGpzGe/yEhVOp233qw9wCRtgncJ15P3bC+e4zZMu4Cq7d+WAJjXGW0uUkifhcatA==} + lru-cache@11.5.2: + resolution: {integrity: sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==} engines: {node: 20 || >=22} lru-cache@5.1.1: @@ -4920,8 +5195,8 @@ packages: magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} - magicast@0.5.3: - resolution: {integrity: sha512-pVKE4UdSQ7DvHzivsCIFx2BJn1mHG6KsyrFcaxFx6tONdneEuThrDx0Cj3AMg58KyN4pzYT+LHOotxDQDjNvkw==} + magicast@0.5.4: + resolution: {integrity: sha512-llBEhWm1SacoRwgHUoQJYtwp4PBLF4faQi5TCpIGyGs9n4y5+juI0tDgyKIfpqxckRHaHzouUEph3THklWh03w==} make-asynchronous@1.1.0: resolution: {integrity: sha512-ayF7iT+44LXdxJLTrTd3TLQpFDDvPCBxXxbv+pMUSuHA5Q8zyAfwkRP6aHHwNVFBUFWtxAHqwNJxF8vMZLAbVg==} @@ -4984,12 +5259,12 @@ packages: peerDependencies: three: '>=0.137' - meshoptimizer@0.18.1: - resolution: {integrity: sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==} - meshoptimizer@0.22.0: resolution: {integrity: sha512-IebiK79sqIy+E4EgOr+CAw+Ke8hAspXKzBd0JdgEmPHiAwmvEj2S4h1rfvo+o/BnfEYd/jAOg5IeeIjzlzSnDg==} + meshoptimizer@1.1.1: + resolution: {integrity: sha512-oRFNWJRDA/WTrVj7NWvqa5HqE1t9MYDj2VaWirQCzCCrAd2GHrqR/sQezCxiWATPNlKTcRaPRHPJwIRoPBAp5g==} + micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} @@ -5027,8 +5302,8 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} - minimatch@10.2.5: - resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} + minimatch@10.2.6: + resolution: {integrity: sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==} engines: {node: 18 || 20 || >=22} minimatch@9.0.9: @@ -5038,8 +5313,51 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - monaco-editor@0.55.1: - resolution: {integrity: sha512-jz4x+TJNFHwHtwuV9vA9rMujcZRb0CEilTEwG2rRSpe/A7Jdkuj8xPKttCgOh+v/lkHy7HsZ64oj+q3xoAFl9A==} + minimizer-webpack-plugin@5.6.1: + resolution: {integrity: sha512-DoeAZz8Q1C1znwsUzej1fdoi4jCf7/+Em27ouLqfK/+3m8G+D7yDhUwrc3CNhjSzGUN1kn7Iv4sWmjflQHenpw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@minify-html/node': '*' + '@swc/core': '*' + '@swc/css': '*' + '@swc/html': '*' + clean-css: '*' + cssnano: '*' + csso: '*' + esbuild: '*' + html-minifier-terser: '*' + lightningcss: '*' + postcss: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@minify-html/node': + optional: true + '@swc/core': + optional: true + '@swc/css': + optional: true + '@swc/html': + optional: true + clean-css: + optional: true + cssnano: + optional: true + csso: + optional: true + esbuild: + optional: true + html-minifier-terser: + optional: true + lightningcss: + optional: true + postcss: + optional: true + uglify-js: + optional: true + + monaco-editor@0.56.0: + resolution: {integrity: sha512-sXboRm3BeBeLm938eaiyLMe0OxzfXIlZvbv4ir/jVgQy1zDhWjgmny0WoN45fuDKhCCQsYMbBJrv/A6jd8aCUg==} moo-color@1.0.3: resolution: {integrity: sha512-i/+ZKXMDf6aqYtBhuOcej71YSlbjT3wCO/4H1j8rPvxDJEifdwgg5MaFyu6iYAT8GBZJg2z0dkgK4YMzvURALQ==} @@ -5064,8 +5382,8 @@ packages: resolution: {integrity: sha512-Tz09sEL2EEuv5fFowm419c1+a/jSMiBjI9gHxVLrVdbUkkNUUfjsVYs9pVZu5oCon/kmRh9TfLEObFtkVxmY0w==} engines: {node: '>=8.0.0'} - nanoid@3.3.12: - resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==} + nanoid@3.3.17: + resolution: {integrity: sha512-xQLf0A3HOMlgHq0n247/LRuAOYmB7dXJ/DvAxGvsSBij45XtBSmQycu+F8ODbHwns/XyFZagyL1+J0Offw1E0g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -5090,8 +5408,8 @@ packages: nerf-dart@1.0.0: resolution: {integrity: sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==} - next-auth@4.24.14: - resolution: {integrity: sha512-YRz6xFDXKUwiXSMMChbrBEWyFktZ1qZXEgeSHQQ3nsy08B4c/xLk6REeutRsIFwkjY/1+ShHnu07DN3JeJguig==} + next-auth@4.24.15: + resolution: {integrity: sha512-NnjYtjrSOAx/TIVFGTX4IfI/9yHnNpi4B7FuLUwuV20v2Zxgr2OGP/YN0ynJuI7y8QOnTBPitfOdEXZrVvhIuA==} peerDependencies: '@auth/core': 0.34.3 next: ^12.2.5 || ^13 || ^14 || ^15 || ^16 @@ -5110,8 +5428,8 @@ packages: next: '>=10.0.0' react: '>=17.0.0' - next@16.2.6: - resolution: {integrity: sha512-qOVgKJg1+At15NpeUP+eJgCHvTCgXsogweq87Ri/Ix7PkqQHg4sdaXmSFqKlgaIXE4kW0g25LE68W87UANlHtw==} + next@16.2.12: + resolution: {integrity: sha512-iD59eYQWmbFcEbX7v/acG5DRym9iw1DdaPoD0WTA920naWsE25wShzJW4+UvAs8MK9EC2kBfIH6vtto1H1PHGw==} engines: {node: '>=20.9.0'} hasBin: true peerDependencies: @@ -5159,8 +5477,9 @@ packages: resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - node-releases@2.0.44: - resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==} + node-releases@2.0.51: + resolution: {integrity: sha512-wRNIrw4DmVLKQlbgOMdkMx27Wrpzes2hh5Jtbi2bjPd+4wJstWIqP5A+lscnqbm0xxmT5Bpg8Lec5ItEBwx6BQ==} + engines: {node: '>=18'} normalize-package-data@6.0.2: resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} @@ -5174,8 +5493,8 @@ packages: resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} engines: {node: '>=0.10.0'} - normalize-url@9.0.0: - resolution: {integrity: sha512-z9nC87iaZXXySbWWtTHfCFJyFvKaUAW6lODhikG7ILSbVgmwuFjUqkgnheHvAUcGedO29e2QGBRXMUD64aurqQ==} + normalize-url@9.0.1: + resolution: {integrity: sha512-ARftfC5HdUNu9jJeL8pHj8debUIHA2b91FizCoMzY4lG6dDX13jdvTK0TBe24IBDRf2HvJSzzwEPvmbkQWHRSg==} engines: {node: '>=20'} notistack@3.0.2: @@ -5197,8 +5516,8 @@ packages: resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} engines: {node: '>=18'} - npm@11.14.1: - resolution: {integrity: sha512-aopNZ0eEl6LbxoFcrXLmTEPzNBNxfiQnVgR9RmJBqzm+5h5pFoOmRljpRJbsXxocBeSl7GLcx3MoDf2UlEOjZw==} + npm@11.19.0: + resolution: {integrity: sha512-SDd/hHg3KqHE5Ht2NHWxNYNtqCQ2pXAPLl6OtQhPyED5PHsRfrOtO199MZTIG2cQoQ1ZRI9t28shrD+2cr3AAw==} engines: {node: ^20.17.0 || >=22.9.0} hasBin: true bundledDependencies: @@ -5268,8 +5587,8 @@ packages: - validate-npm-package-name - which - nwsapi@2.2.23: - resolution: {integrity: sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==} + nwsapi@2.2.24: + resolution: {integrity: sha512-7YRhZ3jS45LwmSCT4b2sVFHt/WuovaktDU07QrtOBY2PXskss5a9jfmR9jptyumwXST+rFjrmppMY1KT/yn35A==} oauth@0.9.15: resolution: {integrity: sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA==} @@ -5285,8 +5604,9 @@ packages: object-keys@0.4.0: resolution: {integrity: sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==} - obug@2.1.1: - resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} + obug@2.1.4: + resolution: {integrity: sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==} + engines: {node: '>=12.20.0'} ohash@2.0.11: resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} @@ -5370,8 +5690,8 @@ packages: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} - p-map@7.0.4: - resolution: {integrity: sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==} + p-map@7.0.6: + resolution: {integrity: sha512-I4Prw6ivkd6p8PiYR1tXASOAOBzIJwu0TB7fqaX0c/8c3QAehNYmX57EijyGGGBt3c/BIowGwV03RVBtXvHEVg==} engines: {node: '>=18'} p-reduce@2.1.0: @@ -5492,8 +5812,8 @@ packages: pg-cloudflare@1.4.0: resolution: {integrity: sha512-Vo7z/6rrQYxpNRylp4Tlob2elzbh+N/MOQbxFVWCxS7oEx6jF53GTJFxK2WWpKuBRkmiin4Mt+xofFDjx09R0A==} - pg-connection-string@2.13.0: - resolution: {integrity: sha512-EMnU9E2fSULdsbErBbMaXJvFeD9B4+nPcM3f+4lsiCR0BHLPrLVjv3DbyM2hgQQviKJaTWIRRTjKjWlHg3p2ig==} + pg-connection-string@2.14.0: + resolution: {integrity: sha512-XwWDGcLRGCXAR8F/AM5bG7Q+A3Wm2s6QeEjlOKZLlH3UYcguiqCWKyWXVag5TLTIjR7oOJUY8kcADaZgWPyLeg==} pg-int8@1.0.1: resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} @@ -5504,15 +5824,15 @@ packages: peerDependencies: pg: '>=8.0' - pg-protocol@1.14.0: - resolution: {integrity: sha512-n5taZ1kO3s9ngDTVxsEznOqCyToTgz0FLuPq0B33COy5pPpuWJpY3/2oRBVETuOgzdqRXfWpM9HIhp2LBBT1BA==} + pg-protocol@1.15.0: + resolution: {integrity: sha512-cq9sECI5s0+uPUXjbz8ioyPJni6RzsRib0US67i5IoTZKw8fNeYlVE7u8F4dG7vEJJtc5wdD1K189lCCUwqWTQ==} pg-types@2.2.0: resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} engines: {node: '>=4'} - pg@8.21.0: - resolution: {integrity: sha512-AUP1EYJuHraQGsVoCQVIcM7TEJVGtDzxWtGFZd8rds9d+CCXlU5Js1rYgfLNvxy9iJrpHjGrRjoi/3BT9fRyiA==} + pg@8.22.0: + resolution: {integrity: sha512-8wih1vVIBMxoUM2oB4soJsD9tDnDpLv4OXBJ+EJzFsvycD+lfyIreC2gGHq78f8jbLLt+bvlPTFdFZfJkOuzAA==} engines: {node: '>= 16.0.0'} peerDependencies: pg-native: '>=3.0.1' @@ -5530,12 +5850,12 @@ packages: resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} engines: {node: '>=8.6'} - picomatch@4.0.4: - resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} + picomatch@4.0.5: + resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==} engines: {node: '>=12'} - pidtree@0.6.0: - resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + pidtree@0.6.1: + resolution: {integrity: sha512-e0F9AOF1JMrCfBsyJOwU9lNvQ0WtXTq0j/4jk0BQ5JSI9VAybPXmDpPRw/2FQ3e5d3ZFN1mLh7jW99m/jjaptw==} engines: {node: '>=0.10'} hasBin: true @@ -5558,8 +5878,8 @@ packages: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} - postcss@8.5.15: - resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==} + postcss@8.5.25: + resolution: {integrity: sha512-DTPx3RWSSnWyzLxQnlH0rJP+EW5ekl16ZU4/psbIhA0e53kJfdgaN5vKM+xP7yJtXVu+nfdVFmlgFDEKAe4Pyw==} engines: {node: ^10 || ^12 || >=14} postgres-array@2.0.0: @@ -5594,8 +5914,13 @@ packages: peerDependencies: preact: '>=10' - preact@10.29.2: - resolution: {integrity: sha512-7tNmwg/7mzzAoB/8kSg6Hl37JraAZw3Z3A0JSY7VXlZwo82Xn0G7wKbNNs2qoF4ZEEsQGTwDAroNdqKs1ofJxQ==} + preact@10.29.8: + resolution: {integrity: sha512-ej2aVZ+vZ8WO7tvlQWRM9N63A0KzF9q4mWJfDUHgYaIofWY9hu74QdnQrjoPMmZi2/nZ5gN0bJCQF49xQqx09Q==} + peerDependencies: + preact-render-to-string: '>=5' + peerDependenciesMeta: + preact-render-to-string: + optional: true prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} @@ -5610,8 +5935,8 @@ packages: engines: {node: '>=14'} hasBin: true - prettier@3.8.3: - resolution: {integrity: sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==} + prettier@3.9.6: + resolution: {integrity: sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==} engines: {node: '>=14'} hasBin: true @@ -5626,8 +5951,8 @@ packages: resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} engines: {node: '>=18'} - prisma@7.8.0: - resolution: {integrity: sha512-yfN4yrw7HV9kEJhoy1+jgah0jafEIQsf7uWouSsM8MvJtlubsk+kM7AIBWZ8+GJl74Yj3c+nbYqBkMOxtsZ3Lw==} + prisma@7.9.1: + resolution: {integrity: sha512-aPqePoZIqwlAchbgbFDO/wHqGB+7H1nj9gaM+OsL9h77S5S3TnLd9BgD3LnoeDikULo7cl2HSUrEyQ55Z7DYbg==} engines: {node: ^20.19 || ^22.12 || >=24.0} hasBin: true peerDependencies: @@ -5660,6 +5985,15 @@ packages: proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + proxy-agent-negotiate@1.1.0: + resolution: {integrity: sha512-N8IBcM3UgCVzz2L2Lqv8DVntDnnC8/hiV4nEDUPkqq72TPUgYWjQc+bdZlBPZK9LzPAvOY//gAt0S0DApoOXWQ==} + engines: {node: '>= 20'} + peerDependencies: + kerberos: ^2.0.0 + peerDependenciesMeta: + kerberos: + optional: true + proxy-from-env@2.1.0: resolution: {integrity: sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==} engines: {node: '>=10'} @@ -5708,10 +6042,10 @@ packages: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true - react-dom@19.2.6: - resolution: {integrity: sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==} + react-dom@19.2.8: + resolution: {integrity: sha512-rVprimfGBG3DR+Tq0IQG2DT5PxKth1WIGDmj5yPmlzr4YBe7uyE+Du4oVqTDXZSHGGGXRtTJEGSSePyQCMBglQ==} peerDependencies: - react: ^19.2.6 + react: ^19.2.8 react-fast-compare@2.0.4: resolution: {integrity: sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==} @@ -5722,8 +6056,8 @@ packages: react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - react-is@19.2.6: - resolution: {integrity: sha512-XjBR15BhXuylgWGuslhDKqlSayuqvqBX91BP8pauG8kd1zY8kotkNWbXksTCNRarse4kuGbe2kIY05ARtwNIvw==} + react-is@19.2.8: + resolution: {integrity: sha512-s5un28nYxKJw5gvUHyW5PCC28CvBqLu9r3cWgzHT4Vo/5fqqkFcdRYsGcKf50WMPpjjFZS5d76fn3YCo2njKwQ==} react-redux@9.3.0: resolution: {integrity: sha512-KQopgqFo/p/fgmAs5qz6p5RWaNAzq40WAu7fJIXnQpYxFPbJYtsJPWvGeF2rOBaY/kEuV77AVsX8TsQzKm+A/g==} @@ -5741,8 +6075,8 @@ packages: resolution: {integrity: sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==} engines: {node: '>=0.10.0'} - react-resizable-panels@4.11.1: - resolution: {integrity: sha512-kA4w58V6wYdRLm2rg9pzroZwGlqBLul1FjMP0J8kqTo3zSHtjeH+LXmZaldCo6+HWqs1e5hOcPoajKXdOze37Q==} + react-resizable-panels@4.12.2: + resolution: {integrity: sha512-NwY5LCo4WrxVvDh0xoMML6EMLPONP/8ckKcIdpnojxexoatZdjLiRqLJQjQK5CPkd4SYiB/2M5BVrjZBQtOO7Q==} peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 @@ -5762,14 +6096,14 @@ packages: react-dom: optional: true - react-virtuoso@4.18.7: - resolution: {integrity: sha512-xNF5zDGEEIMB7cKwcen/pLig0YDf6OnfFrVgKFa7sHPf9fRem0CaLshyObbBcP88jzn0enavL39EgplgdyT21g==} + react-virtuoso@4.18.11: + resolution: {integrity: sha512-Qeeq9vqa5seCxACvzbQTUeq3s2/Bu+VlwOMF0jfy3E/ZKHLiXWwJpXBhv2rckqYkvm1XRVFLCBMCmqCU8JNEJg==} peerDependencies: react: '>=16 || >=17 || >= 18 || >= 19' react-dom: '>=16 || >=17 || >= 18 || >=19' - react@19.2.6: - resolution: {integrity: sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==} + react@19.2.8: + resolution: {integrity: sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==} engines: {node: '>=0.10.0'} read-package-up@11.0.0: @@ -5806,10 +6140,6 @@ packages: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} - readdirp@4.1.2: - resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} - engines: {node: '>= 14.18.0'} - readdirp@5.0.0: resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==} engines: {node: '>= 20.19.0'} @@ -5894,6 +6224,10 @@ packages: resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} engines: {node: '>=18'} + ret@0.5.0: + resolution: {integrity: sha512-I1XxrZSQ+oErkRR4jYbAyEEu2I0avBvvMM5JN+6EBprOGRCs63ENqZ3vjavq8fBw2+62G5LF5XelKwuJpcvcxw==} + engines: {node: '>=10'} + retry@0.12.0: resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} @@ -5905,8 +6239,11 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rollup@4.60.4: - resolution: {integrity: sha512-WHeFSbZYsPu3+bLoNRUuAO+wavNlocOPf3wSHTP7hcFKVnJeWsYlCDbr3mTS14FCizf9ccIxXA8sGL8zKeQN3g==} + robust-predicates@3.0.3: + resolution: {integrity: sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==} + + rollup@4.62.4: + resolution: {integrity: sha512-RXOqwaPsBGjMNMa4sQjDjHieHEZDFoj/Rdr46l2MU5DfEs16wHJPC2RPTPHWhNl+M3aI472LLqFkFKut4SblOg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -5936,15 +6273,20 @@ packages: resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} engines: {node: '>= 0.4'} + safe-regex2@5.1.1: + resolution: {integrity: sha512-mOSBvHGDZMuIEZMdOz/aCEYDCv0E7nfcNsIhUF+/P+xC7Hyf3FkvymqgPbg9D1EdSGu+uKbJgy09K/RKKc7kJA==} + hasBin: true + safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sanitize-html@2.17.4: - resolution: {integrity: sha512-2HW7v2ol/uAM7sX4hbD8Z59OGWmAPrvjL8E71UWlBcj6m+kcF6ilQBLny+cIgY214QJeJT5tQuxKKqX0SQqjGQ==} + sanitize-html@2.17.6: + resolution: {integrity: sha512-M4bo9tfv1yfhQZZKkc6dL07ALrGJtfvNOuhX3hU9AVPR/uPQ+nKOJBqTYc7LfMQblTW04mtSWDJWEyLvygJsLA==} + engines: {node: '>=22.12.0'} - sass@1.90.0: - resolution: {integrity: sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==} - engines: {node: '>=14.0.0'} + sass@1.102.0: + resolution: {integrity: sha512-NSOyTnaQF7rTAEOtI2fwb386vL+akyiQLBZu8Na7hXCb+umJy0GAqlcMIaqACZ6Z1VgTBS4K9PG6B3IdjHGJsw==} + engines: {node: '>=20.19.0'} hasBin: true sax@1.2.1: @@ -5968,8 +6310,8 @@ packages: scuid@1.1.0: resolution: {integrity: sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==} - semantic-release@25.0.3: - resolution: {integrity: sha512-WRgl5GcypwramYX4HV+eQGzUbD7UUbljVmS+5G1uMwX/wLgYuJAxGeerXJDMO2xshng4+FXqCgyB5QfClV6WjA==} + semantic-release@25.0.8: + resolution: {integrity: sha512-w/iZ0bur36rKffXZYmIUmy068eoBY3Ij1DCCddx2JwWEM5Tg+eU9ld/E9qSInVvPASyyR2Ln/XGfQ9OZrMlhtw==} engines: {node: ^22.14.0 || >= 24.10.0} hasBin: true @@ -5981,8 +6323,8 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.8.0: - resolution: {integrity: sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==} + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} engines: {node: '>=10'} hasBin: true @@ -6004,6 +6346,15 @@ packages: resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + sharp@0.35.3: + resolution: {integrity: sha512-ej0zVHuZGHCiABXcNxeYhpRnPNPAcvbG8RMdBAhDAxLKkCRVSpK3Iyu7qbqw3JMzoj0REeM6f3tJLtVwl0023Q==} + engines: {node: '>=20.9.0'} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -6012,8 +6363,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shell-quote@1.8.3: - resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} + shell-quote@1.10.0: + resolution: {integrity: sha512-w1aiOKwKuRgtwAReIIj89puqg+I7GvX4IbLrvmhXbzQsj1+Zwi4VO3+fa6ZF91TWSjIxoEkKnMeHcLEODK5ZXA==} engines: {node: '>= 0.4'} short-uuid@6.0.3: @@ -6134,8 +6485,8 @@ packages: std-env@3.10.0: resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} - std-env@4.1.0: - resolution: {integrity: sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==} + std-env@4.2.0: + resolution: {integrity: sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw==} stream-combiner2@1.1.1: resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==} @@ -6155,6 +6506,10 @@ packages: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} + string-width@8.2.2: + resolution: {integrity: sha512-GaPUh5gfdrYzqeVNZvUfT23vYYxXzKYidUcnMtJg/3rxRV63EFZy3k6xfKlmfeJD0176lnUV/Usr3XcwSvFzpg==} + engines: {node: '>=20'} + string_decoder@0.10.31: resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} @@ -6267,8 +6622,8 @@ packages: resolution: {integrity: sha512-c7AfkZ9udatCuAy9RSfiGPpeOKKUAUK5e1cXadLOGUjasdxqYqAK0jTNkM/FSEyJ3a5Ra27j/tw/PS0qLmaF/A==} engines: {node: '>=18'} - synckit@0.11.12: - resolution: {integrity: sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==} + synckit@0.11.13: + resolution: {integrity: sha512-eNRKgb3z66Yp3D2CixVujOUvXLFUTij/zVnV8KRyvFdQwpz7I5DS8UfRkTeLzb64u+dkzDSdelE24izu+zSSUg==} engines: {node: ^14.18.0 || >=16.0.0} tagged-tag@1.0.0: @@ -6283,55 +6638,12 @@ packages: resolution: {integrity: sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==} engines: {node: '>=14.16'} - tempy@3.2.0: - resolution: {integrity: sha512-d79HhZya5Djd7am0q+W4RTsSU+D/aJzM+4Y4AGJGuGlgM2L6sx5ZvOYTmZjqPhrDrV6xJTtRSm1JCLj6V6LHLQ==} - engines: {node: '>=14.16'} - - terser-webpack-plugin@5.6.1: - resolution: {integrity: sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@minify-html/node': '*' - '@swc/core': '*' - '@swc/css': '*' - '@swc/html': '*' - clean-css: '*' - cssnano: '*' - csso: '*' - esbuild: '*' - html-minifier-terser: '*' - lightningcss: '*' - postcss: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@minify-html/node': - optional: true - '@swc/core': - optional: true - '@swc/css': - optional: true - '@swc/html': - optional: true - clean-css: - optional: true - cssnano: - optional: true - csso: - optional: true - esbuild: - optional: true - html-minifier-terser: - optional: true - lightningcss: - optional: true - postcss: - optional: true - uglify-js: - optional: true + tempy@3.2.0: + resolution: {integrity: sha512-d79HhZya5Djd7am0q+W4RTsSU+D/aJzM+4Y4AGJGuGlgM2L6sx5ZvOYTmZjqPhrDrV6xJTtRSm1JCLj6V6LHLQ==} + engines: {node: '>=14.16'} - terser@5.48.0: - resolution: {integrity: sha512-J/9An6vs9Us6wKRriSFXBWdRZapREHqFzdNUKk0pmu804EMR6dr6winwo7e5JDxN4xahxQsuysyYFwlwj4XN/Q==} + terser@5.49.0: + resolution: {integrity: sha512-SNiDnXyHSrxVcIOtVbULzcTmniUiwcV7Nwdyj1twVubeTmbjoa8p69KKDpfkdoOavuM4/GRm1+ykI8qqnavHoA==} engines: {node: '>=10'} hasBin: true @@ -6355,8 +6667,8 @@ packages: three@0.159.0: resolution: {integrity: sha512-eCmhlLGbBgucuo4VEA9IO3Qpc7dh8Bd4VKzr7WfW4+8hMcIfoAVi1ev0pJYN9PTTsCslbcKgBwr2wNZ1EvLInA==} - three@0.183.2: - resolution: {integrity: sha512-di3BsL2FEQ1PA7Hcvn4fyJOlxRRgFYBpMTcyOgkwJIaDOdJMebEFPA+t98EvjuljDx4hNulAGwF6KIjtwI5jgQ==} + three@0.185.1: + resolution: {integrity: sha512-5aojFCXKwnjBRZvUnt3WFfEcvUJgkN5LlijRFN95hMy8WVkG4I0QNcJE+OuWvuJ0bOdStrbfXn0pkd6/QyiAlg==} through2@0.4.2: resolution: {integrity: sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==} @@ -6387,16 +6699,16 @@ packages: tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - tinyexec@1.1.2: - resolution: {integrity: sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==} + tinyexec@1.3.0: + resolution: {integrity: sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==} engines: {node: '>=18'} - tinyglobby@0.2.16: - resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==} + tinyglobby@0.2.17: + resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} engines: {node: '>=12.0.0'} - tinyrainbow@3.1.0: - resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==} + tinyrainbow@3.1.1: + resolution: {integrity: sha512-yau8yJdTt989Mm0Bd/236QnzEiPf2xLLTqUZRUJOo/3CB078LSwzei343DgtJVmfJKJE3TMINY1u42SQsP6mXw==} engines: {node: '>=14.0.0'} title-case@3.0.3: @@ -6435,13 +6747,13 @@ packages: resolution: {integrity: sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==} engines: {node: '>= 0.4'} - troika-three-text@0.52.4: - resolution: {integrity: sha512-V50EwcYGruV5rUZ9F4aNsrytGdKcXKALjEtQXIOBfhVoZU9VAqZNIoGQ3TMiooVqFAbR1w15T+f+8gkzoFzawg==} + troika-three-text@0.52.5: + resolution: {integrity: sha512-Ry3jRhic9pzcY4JduSvRRyDmVOSqEW19gT4vtK+aCiPNVcDlmkxvGG0YbFd36RTDq1wExOupXnvNF/j1oiHHDA==} peerDependencies: three: '>=0.125.0' - troika-three-utils@0.52.4: - resolution: {integrity: sha512-NORAStSVa/BDiG52Mfudk4j1FG4jC4ILutB3foPnfGbOeIs9+G5vZLa0pnmnaftZUGm4UwSoqEpWdqvC7zms3A==} + troika-three-utils@0.52.5: + resolution: {integrity: sha512-WsePbcX8RtfidRfsxK1eCZCjF81ZDzAKHH/evLs0hdV2wpoCb0vArGZHdzdOJrSS3k4zfdtbKDaBh8+phkrYnw==} peerDependencies: three: '>=0.125.0' @@ -6470,8 +6782,8 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tsx@4.22.3: - resolution: {integrity: sha512-mdoNxBC/cSQObGGVQ5Bpn5i+yv7j68gk3Nfm3wFjcJg3Z0Mix9jzAFfP12prmm5eVGmDKtp0yyArrs0Q+8gZHg==} + tsx@4.23.5: + resolution: {integrity: sha512-rw55FUaqOoI7RvlQwLbhO4nSDApnQ4/CykPuiQ/EPvtrX3WA9Ig55jIt9VvbBJbzJuj12ueRu4PMZ2SxPVbihg==} engines: {node: '>=18.0.0'} hasBin: true @@ -6506,8 +6818,8 @@ packages: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} - type-fest@5.6.0: - resolution: {integrity: sha512-8ZiHFm91orbSAe2PSAiSVBVko18pbhbiB3U9GglSzF/zCGkR+rxpHx6sEMCUm4kxY4LjDIUGgCfUMtwfZfjfUA==} + type-fest@5.8.0: + resolution: {integrity: sha512-YGYEVz3Fm5iy/AybuA0oyNFq7H4CgQNfRp/qfe8nurE1kuCeNm3/vfm9X4Mtl+qLyaKJUh5xrFZwogr41SMjYA==} engines: {node: '>=20'} typesafe-i18n@5.27.1: @@ -6516,8 +6828,8 @@ packages: peerDependencies: typescript: '>=3.5.1' - typescript-eslint@8.59.4: - resolution: {integrity: sha512-Rw6+44QNFaXtgHSjPy+Kw8hrJniMYzR85E9yLmOLcfZ91/rz+JXQbDTCmc6ccxMPY6K6PgAq26f0JCBfR7LIPQ==} + typescript-eslint@8.66.0: + resolution: {integrity: sha512-QlEbBPz/RuJ1XUHj29nm3t0F/O/cSlEnntozqPOYHnnTGAXFamnMBu5i9Vn6vhUPHGAjR+Vl+5J8vPN/BMUrJw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 @@ -6543,12 +6855,12 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici@6.25.0: - resolution: {integrity: sha512-ZgpWDC5gmNiuY9CnLVXEH8rl50xhRCuLNA97fAUnKi8RRuV4E6KG31pDTsLVUKnohJE0I3XDrTeEydAXRw47xg==} + undici@6.28.0: + resolution: {integrity: sha512-LIY910g9TI13YS95lrMFrs8Rm/u/irgHeTWoKCoteeJ04CUJ92eEfj0rVn+7VKMPBpUPiUoBKfhNyLI23EE/KA==} engines: {node: '>=18.17'} - undici@7.25.0: - resolution: {integrity: sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==} + undici@7.29.0: + resolution: {integrity: sha512-IDxfleLmmbSskfWSUATiN1nfn2rDuvnMOqb5CWR92iIfojA0Ud+ulOAAEQ57LPr9rWmsreUyf5lwyao+7GNNVw==} engines: {node: '>=20.18.1'} unicode-emoji-modifier-base@1.0.0: @@ -6632,18 +6944,17 @@ packages: resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} engines: {node: '>= 4'} - uuid@8.0.0: - resolution: {integrity: sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==} - deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). + uuid@11.1.1: + resolution: {integrity: sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ==} hasBin: true - uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + uuid@8.0.0: + resolution: {integrity: sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==} deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). hasBin: true - valibot@1.2.0: - resolution: {integrity: sha512-mm1rxUsmOxzrwnX5arGS+U4T25RdvpPjPN4yR0u9pUBov9+zGVtO84tif1eY4r6zWxVxu3KzIyknJy3rxfRZZg==} + valibot@1.4.2: + resolution: {integrity: sha512-gjdCvJ6d3RyHAneqxMYMW9QMCwYMb3jpOO0IyHZV1bnRHFBHrX3VkIILt5XYR0WhwHiH7Mty8ovuPZ/O3gamrg==} peerDependencies: typescript: '>=5' peerDependenciesMeta: @@ -6653,8 +6964,8 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - vite@6.4.2: - resolution: {integrity: sha512-2N/55r4JDJ4gdrCvGgINMy+HH3iRpNIz8K6SFwVsA+JbQScLiC+clmAxBgwiSPgcG9U15QmvqCGWzMbqda5zGQ==} + vite@6.4.3: + resolution: {integrity: sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: @@ -6770,12 +7081,12 @@ packages: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} - webpack-sources@3.5.0: - resolution: {integrity: sha512-HPuy+uuoTCaaoEoI1LQ3JN9+vrPBvEesnnX1jADHy728cHSMlq4wUc4afYqahq2B1mhQVZxCXOkNTnXltr+2vQ==} + webpack-sources@3.5.1: + resolution: {integrity: sha512-jyuiGJdtvY434z5bUZrjz67v76/ePNvFZTp9Mdz29IlH4+GPsgyGjiv0fKI+M7BdkU6ADjulUcKAd3tUK3WlEw==} engines: {node: '>=10.13.0'} - webpack@5.106.2: - resolution: {integrity: sha512-wGN3qcrBQIFmQ/c0AiOAQBvrZ5lmY8vbbMv4Mxfgzqd/B6+9pXtLo73WuS1dSGXM5QYY3hZnIbvx+K1xxe6FyA==} + webpack@5.109.2: + resolution: {integrity: sha512-U9/cvLzxObKNEZ9+TtdqrHM5/9z3lgl2c+c4BzbqGxFQvQvBAq87yql5A8pQ+rrMbS496MZJeF5enVBndIy2hw==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -6800,8 +7111,8 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - which-typed-array@1.1.20: - resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==} + which-typed-array@1.1.22: + resolution: {integrity: sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==} engines: {node: '>= 0.4'} which@2.0.2: @@ -6833,8 +7144,8 @@ packages: resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} engines: {node: '>=18'} - ws@8.20.1: - resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} + ws@8.21.1: + resolution: {integrity: sha512-+0NTnW77fFN/DjQi6k/Sq/Yvk4Sgajw7urW8V+asjXnRgDs9gyGkdb7EzgfhA4goXsRIZKE28fzIXBHEzhuiWw==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -6902,16 +7213,16 @@ packages: resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==} engines: {node: ^20.19.0 || ^22.12.0 || >=23} - yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + yargs@16.2.2: + resolution: {integrity: sha512-Nt9ZJjXTv5R8MHbqby/wXQ6Gi0Bb3TcYZkR1bzuL4yB2OxWPkXknz513gEF0GoA6tn00UpbPvERW8rzCuWCA6w==} engines: {node: '>=10'} - yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + yargs@17.7.3: + resolution: {integrity: sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==} engines: {node: '>=12'} - yargs@18.0.0: - resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==} + yargs@18.1.0: + resolution: {integrity: sha512-2rAgRKu54VsHkqI0/tYkmluGXHD4KW7yZoycuqDQ15QOTnc2VVfy0nN/1eMhnQLO00A+dwtK20xuCnc1YGeUyg==} engines: {node: ^20.19.0 || ^22.12.0 || >=23} yocto-queue@0.1.0: @@ -6922,8 +7233,8 @@ packages: resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} engines: {node: '>=12.20'} - yoctocolors@2.1.2: - resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} + yoctocolors@2.2.0: + resolution: {integrity: sha512-xYqdZFUK/VYazNl/oCDYN+3WloWQwMfZxBoiNt6qNyk+xfOdi598muWE42rNZFp1kNOiqW936q5RhUdnpqElSg==} engines: {node: '>=18'} yup@1.7.1: @@ -6962,8 +7273,8 @@ packages: react: optional: true - zustand@5.0.13: - resolution: {integrity: sha512-efI2tVaVQPqtOh114loML/Z80Y4NP3yc+Ff0fYiZJPauNeWZeIp/bRFD7I9bfmCOYBh/PHxlglQ9+wvlwnPikQ==} + zustand@5.0.14: + resolution: {integrity: sha512-/8tAspM5LMPr28b3fwLYrtdj77ECpfZviaP75CMTnwO8ISyaE4GDIG/9rDDYq/cH9D2Xw2A2RXglLInmVBQB/g==} engines: {node: '>=12.20.0'} peerDependencies: '@types/react': '>=18.0.0' @@ -6994,40 +7305,40 @@ snapshots: '@actions/http-client@4.0.1': dependencies: tunnel: 0.0.6 - undici: 6.25.0 + undici: 6.28.0 '@actions/io@3.0.2': {} - '@adobe/css-tools@4.4.4': {} + '@adobe/css-tools@4.5.0': {} - '@apollo/client@3.14.1(@types/react@19.2.15)(graphql-ws@6.0.8(graphql@16.14.0)(ws@8.20.1))(graphql@16.14.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@apollo/client@3.14.1(@types/react@19.2.18)(graphql-ws@6.2.0(graphql@16.14.0)(ws@8.21.1))(graphql@16.14.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@graphql-typed-document-node/core': 3.2.0(graphql@16.14.0) '@wry/caches': 1.0.1 '@wry/equality': 0.5.7 '@wry/trie': 0.5.0 graphql: 16.14.0 - graphql-tag: 2.12.6(graphql@16.14.0) + graphql-tag: 2.12.7(graphql@16.14.0) hoist-non-react-statics: 3.3.2 optimism: 0.18.1 prop-types: 15.8.1 - rehackt: 0.1.0(@types/react@19.2.15)(react@19.2.6) + rehackt: 0.1.0(@types/react@19.2.18)(react@19.2.8) symbol-observable: 4.0.0 ts-invariant: 0.10.3 tslib: 2.8.1 zen-observable-ts: 1.2.5 optionalDependencies: - graphql-ws: 6.0.8(graphql@16.14.0)(ws@8.20.1) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + graphql-ws: 6.2.0(graphql@16.14.0)(ws@8.21.1) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) transitivePeerDependencies: - '@types/react' - '@ardatan/relay-compiler@13.0.1(graphql@16.14.0)': + '@ardatan/relay-compiler@13.0.2(graphql@16.14.0)': dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 8.0.0 graphql: 16.14.0 - immutable: 5.1.5 + immutable: 5.1.9 invariant: 2.2.4 '@asamuzakjp/css-color@3.2.0': @@ -7038,25 +7349,25 @@ snapshots: '@csstools/css-tokenizer': 3.0.4 lru-cache: 10.4.3 - '@babel/code-frame@7.29.0': + '@babel/code-frame@7.29.7': dependencies: - '@babel/helper-validator-identifier': 7.28.5 + '@babel/helper-validator-identifier': 7.29.7 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.29.3': {} + '@babel/compat-data@7.29.7': {} - '@babel/core@7.29.0': + '@babel/core@7.29.7': dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) - '@babel/helpers': 7.29.2 - '@babel/parser': 7.29.3 - '@babel/template': 7.28.6 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.8 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 debug: 4.4.3 @@ -7066,96 +7377,109 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/generator@7.29.1': + '@babel/generator@7.29.8': dependencies: - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 - '@babel/helper-compilation-targets@7.28.6': + '@babel/helper-compilation-targets@7.29.7': dependencies: - '@babel/compat-data': 7.29.3 - '@babel/helper-validator-option': 7.27.1 - browserslist: 4.28.2 + '@babel/compat-data': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + browserslist: 4.28.7 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-globals@7.28.0': {} + '@babel/helper-globals@7.29.7': {} - '@babel/helper-module-imports@7.28.6': + '@babel/helper-module-imports@7.29.7': dependencies: - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)': + '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-module-imports': 7.28.6 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.29.0 + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.8 transitivePeerDependencies: - supports-color - '@babel/helper-plugin-utils@7.28.6': {} + '@babel/helper-plugin-utils@7.29.7': {} - '@babel/helper-string-parser@7.27.1': {} + '@babel/helper-string-parser@7.29.7': {} - '@babel/helper-validator-identifier@7.28.5': {} + '@babel/helper-validator-identifier@7.29.7': {} - '@babel/helper-validator-option@7.27.1': {} + '@babel/helper-validator-option@7.29.7': {} - '@babel/helpers@7.29.2': + '@babel/helpers@7.29.7': dependencies: - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 - '@babel/parser@7.29.3': + '@babel/parser@7.29.8': dependencies: - '@babel/types': 7.29.0 + '@babel/types': 7.29.8 - '@babel/plugin-syntax-import-assertions@7.28.6(@babel/core@7.29.0)': + '@babel/plugin-syntax-import-assertions@7.29.7(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.29.0)': + '@babel/plugin-transform-react-jsx-self@7.29.7(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.29.0)': + '@babel/plugin-transform-react-jsx-source@7.29.7(@babel/core@7.29.7)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 - '@babel/runtime@7.29.2': {} + '@babel/runtime@7.29.7': {} - '@babel/template@7.28.6': + '@babel/runtime@8.0.0': {} + + '@babel/template@7.29.7': dependencies: - '@babel/code-frame': 7.29.0 - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 + '@babel/code-frame': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 - '@babel/traverse@7.29.0': + '@babel/traverse@7.29.8': dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.29.3 - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.8 + '@babel/helper-globals': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 debug: 4.4.3 transitivePeerDependencies: - supports-color - '@babel/types@7.29.0': + '@babel/types@7.29.8': + dependencies: + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + + '@base-ui/utils@0.3.1(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 + '@babel/runtime': 7.29.7 + '@floating-ui/utils': 0.2.12 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + reselect: 5.2.0 + use-sync-external-store: 1.6.0(react@19.2.8) + optionalDependencies: + '@types/react': 19.2.18 '@bcoe/v8-coverage@1.0.2': {} @@ -7188,27 +7512,29 @@ snapshots: dependencies: '@datastructures-js/heap': 3.2.0 - '@datastructures-js/queue@4.2.1': {} + '@datastructures-js/queue@4.3.0': {} + + '@dimforge/rapier3d-compat@0.12.0': {} - '@electric-sql/pglite-socket@0.1.1(@electric-sql/pglite@0.4.1)': + '@electric-sql/pglite-socket@0.1.3(@electric-sql/pglite@0.4.3)': dependencies: - '@electric-sql/pglite': 0.4.1 + '@electric-sql/pglite': 0.4.3 - '@electric-sql/pglite-tools@0.3.1(@electric-sql/pglite@0.4.1)': + '@electric-sql/pglite-tools@0.3.3(@electric-sql/pglite@0.4.3)': dependencies: - '@electric-sql/pglite': 0.4.1 + '@electric-sql/pglite': 0.4.3 - '@electric-sql/pglite@0.4.1': {} + '@electric-sql/pglite@0.4.3': {} - '@emnapi/runtime@1.10.0': + '@emnapi/runtime@1.11.3': dependencies: tslib: 2.8.1 optional: true '@emotion/babel-plugin@11.13.5': dependencies: - '@babel/helper-module-imports': 7.28.6 - '@babel/runtime': 7.29.2 + '@babel/helper-module-imports': 7.29.7 + '@babel/runtime': 7.29.7 '@emotion/hash': 0.9.2 '@emotion/memoize': 0.9.0 '@emotion/serialize': 1.3.3 @@ -7237,19 +7563,19 @@ snapshots: '@emotion/memoize@0.9.0': {} - '@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6)': + '@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8)': dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 '@emotion/babel-plugin': 11.13.5 '@emotion/cache': 11.14.0 '@emotion/serialize': 1.3.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.6) + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.8) '@emotion/utils': 1.4.2 '@emotion/weak-memoize': 0.4.0 hoist-non-react-statics: 3.3.2 - react: 19.2.6 + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.18 transitivePeerDependencies: - supports-color @@ -7270,26 +7596,26 @@ snapshots: '@emotion/sheet@1.4.0': {} - '@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6)': + '@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8)': dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 '@emotion/babel-plugin': 11.13.5 '@emotion/is-prop-valid': 1.4.0 - '@emotion/react': 11.14.0(@types/react@19.2.15)(react@19.2.6) + '@emotion/react': 11.14.0(@types/react@19.2.18)(react@19.2.8) '@emotion/serialize': 1.3.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.6) + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.8) '@emotion/utils': 1.4.2 - react: 19.2.6 + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.18 transitivePeerDependencies: - supports-color '@emotion/unitless@0.10.0': {} - '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.2.6)': + '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.2.8)': dependencies: - react: 19.2.6 + react: 19.2.8 '@emotion/utils@1.4.2': {} @@ -7470,9 +7796,9 @@ snapshots: '@esbuild/win32-x64@0.28.1': optional: true - '@eslint-community/eslint-utils@4.9.1(eslint@10.4.0(jiti@2.7.0))': + '@eslint-community/eslint-utils@4.10.1(eslint@10.8.0(jiti@2.7.0))': dependencies: - eslint: 10.4.0(jiti@2.7.0) + eslint: 10.8.0(jiti@2.7.0) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} @@ -7481,11 +7807,11 @@ snapshots: dependencies: '@eslint/object-schema': 3.0.5 debug: 4.4.3 - minimatch: 10.2.5 + minimatch: 10.2.6 transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.6.0': + '@eslint/config-helpers@0.7.0': dependencies: '@eslint/core': 1.2.1 @@ -7495,13 +7821,15 @@ snapshots: '@eslint/object-schema@3.0.5': {} - '@eslint/plugin-kit@0.7.1': + '@eslint/plugin-kit@0.7.2': dependencies: '@eslint/core': 1.2.1 levn: 0.4.1 '@fastify/busboy@3.2.0': {} + '@floating-ui/utils@0.2.12': {} + '@gltf-transform/core@4.1.0': dependencies: property-graph: 3.0.0 @@ -7532,23 +7860,23 @@ snapshots: graphql: 16.14.0 tslib: 2.6.3 - '@graphql-codegen/cli@5.0.7(@parcel/watcher@2.5.6)(@types/node@22.19.19)(graphql@16.14.0)(typescript@6.0.3)': + '@graphql-codegen/cli@5.0.7(@parcel/watcher@2.6.0)(@types/node@22.20.1)(graphql@16.14.0)(typescript@6.0.3)': dependencies: - '@babel/generator': 7.29.1 - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 + '@babel/generator': 7.29.8 + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 '@graphql-codegen/client-preset': 4.8.3(graphql@16.14.0) '@graphql-codegen/core': 4.0.2(graphql@16.14.0) '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.14.0) - '@graphql-tools/apollo-engine-loader': 8.0.30(graphql@16.14.0) - '@graphql-tools/code-file-loader': 8.1.32(graphql@16.14.0) - '@graphql-tools/git-loader': 8.0.36(graphql@16.14.0) - '@graphql-tools/github-loader': 8.0.22(@types/node@22.19.19)(graphql@16.14.0) - '@graphql-tools/graphql-file-loader': 8.1.14(graphql@16.14.0) - '@graphql-tools/json-file-loader': 8.0.28(graphql@16.14.0) - '@graphql-tools/load': 8.1.10(graphql@16.14.0) - '@graphql-tools/prisma-loader': 8.0.17(@types/node@22.19.19)(graphql@16.14.0) - '@graphql-tools/url-loader': 8.0.33(@types/node@22.19.19)(graphql@16.14.0) + '@graphql-tools/apollo-engine-loader': 8.0.34(graphql@16.14.0) + '@graphql-tools/code-file-loader': 8.1.36(graphql@16.14.0) + '@graphql-tools/git-loader': 8.0.40(graphql@16.14.0) + '@graphql-tools/github-loader': 8.0.22(@types/node@22.20.1)(graphql@16.14.0) + '@graphql-tools/graphql-file-loader': 8.1.18(graphql@16.14.0) + '@graphql-tools/json-file-loader': 8.0.32(graphql@16.14.0) + '@graphql-tools/load': 8.1.15(graphql@16.14.0) + '@graphql-tools/prisma-loader': 8.0.17(@types/node@22.20.1)(graphql@16.14.0) + '@graphql-tools/url-loader': 8.0.33(@types/node@22.20.1)(graphql@16.14.0) '@graphql-tools/utils': 10.11.0(graphql@16.14.0) '@whatwg-node/fetch': 0.10.13 chalk: 4.1.2 @@ -7556,22 +7884,22 @@ snapshots: debounce: 1.2.1 detect-indent: 6.1.0 graphql: 16.14.0 - graphql-config: 5.1.6(@types/node@22.19.19)(graphql@16.14.0)(typescript@6.0.3) - inquirer: 8.2.7(@types/node@22.19.19) + graphql-config: 5.1.6(@types/node@22.20.1)(graphql@16.14.0)(typescript@6.0.3) + inquirer: 8.2.7(@types/node@22.20.1) is-glob: 4.0.3 jiti: 1.21.7 json-to-pretty-yaml: 1.2.2 listr2: 4.0.5 log-symbols: 4.1.0 micromatch: 4.0.8 - shell-quote: 1.8.3 + shell-quote: 1.10.0 string-env-interpolation: 1.0.1 ts-log: 2.2.7 tslib: 2.8.1 yaml: 2.9.0 - yargs: 17.7.2 + yargs: 17.7.3 optionalDependencies: - '@parcel/watcher': 2.5.6 + '@parcel/watcher': 2.6.0 transitivePeerDependencies: - '@fastify/websocket' - '@types/node' @@ -7587,8 +7915,8 @@ snapshots: '@graphql-codegen/client-preset@4.8.3(graphql@16.14.0)': dependencies: - '@babel/helper-plugin-utils': 7.28.6 - '@babel/template': 7.28.6 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/template': 7.29.7 '@graphql-codegen/add': 5.0.3(graphql@16.14.0) '@graphql-codegen/gql-tag-operations': 4.0.17(graphql@16.14.0) '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.14.0) @@ -7605,7 +7933,7 @@ snapshots: '@graphql-codegen/core@4.0.2(graphql@16.14.0)': dependencies: '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.14.0) - '@graphql-tools/schema': 10.0.33(graphql@16.14.0) + '@graphql-tools/schema': 10.0.38(graphql@16.14.0) '@graphql-tools/utils': 10.11.0(graphql@16.14.0) graphql: 16.14.0 tslib: 2.6.3 @@ -7641,7 +7969,7 @@ snapshots: '@graphql-codegen/plugin-helpers@6.3.0(graphql@16.14.0)': dependencies: - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) change-case-all: 1.0.15 common-tags: 1.8.2 graphql: 16.14.0 @@ -7695,13 +8023,13 @@ snapshots: dependencies: '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.14.0) '@graphql-tools/optimize': 2.0.0(graphql@16.14.0) - '@graphql-tools/relay-operation-optimizer': 7.1.4(graphql@16.14.0) + '@graphql-tools/relay-operation-optimizer': 7.1.8(graphql@16.14.0) '@graphql-tools/utils': 10.11.0(graphql@16.14.0) auto-bind: 4.0.0 change-case-all: 1.0.15 dependency-graph: 0.11.0 graphql: 16.14.0 - graphql-tag: 2.12.6(graphql@16.14.0) + graphql-tag: 2.12.7(graphql@16.14.0) parse-filepath: 1.0.2 tslib: 2.6.3 @@ -7709,13 +8037,13 @@ snapshots: dependencies: '@graphql-codegen/plugin-helpers': 6.3.0(graphql@16.14.0) '@graphql-tools/optimize': 2.0.0(graphql@16.14.0) - '@graphql-tools/relay-operation-optimizer': 7.1.4(graphql@16.14.0) - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) + '@graphql-tools/relay-operation-optimizer': 7.1.8(graphql@16.14.0) + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) auto-bind: 4.0.0 change-case-all: 1.0.15 dependency-graph: 1.0.0 graphql: 16.14.0 - graphql-tag: 2.12.6(graphql@16.14.0) + graphql-tag: 2.12.7(graphql@16.14.0) parse-filepath: 1.0.2 tslib: 2.8.1 @@ -7723,17 +8051,17 @@ snapshots: '@graphql-hive/signal@2.0.0': {} - '@graphql-tools/apollo-engine-loader@8.0.30(graphql@16.14.0)': + '@graphql-tools/apollo-engine-loader@8.0.34(graphql@16.14.0)': dependencies: - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) '@whatwg-node/fetch': 0.10.13 graphql: 16.14.0 sync-fetch: 0.6.0 tslib: 2.8.1 - '@graphql-tools/batch-execute@10.0.8(graphql@16.14.0)': + '@graphql-tools/batch-execute@10.0.9(graphql@16.14.0)': dependencies: - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) '@whatwg-node/promise-helpers': 1.3.2 dataloader: 2.2.3 graphql: 16.14.0 @@ -7747,10 +8075,10 @@ snapshots: graphql: 16.14.0 tslib: 2.8.1 - '@graphql-tools/code-file-loader@8.1.32(graphql@16.14.0)': + '@graphql-tools/code-file-loader@8.1.36(graphql@16.14.0)': dependencies: - '@graphql-tools/graphql-tag-pluck': 8.3.31(graphql@16.14.0) - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) + '@graphql-tools/graphql-tag-pluck': 8.3.35(graphql@16.14.0) + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) globby: 11.1.0 graphql: 16.14.0 tslib: 2.8.1 @@ -7761,23 +8089,23 @@ snapshots: '@graphql-tools/delegate@10.2.23(graphql@16.14.0)': dependencies: '@graphql-tools/batch-execute': 9.0.19(graphql@16.14.0) - '@graphql-tools/executor': 1.5.3(graphql@16.14.0) - '@graphql-tools/schema': 10.0.33(graphql@16.14.0) + '@graphql-tools/executor': 1.5.7(graphql@16.14.0) + '@graphql-tools/schema': 10.0.38(graphql@16.14.0) '@graphql-tools/utils': 10.11.0(graphql@16.14.0) - '@repeaterjs/repeater': 3.0.6 + '@repeaterjs/repeater': 3.1.0 '@whatwg-node/promise-helpers': 1.3.2 dataloader: 2.2.3 dset: 3.1.4 graphql: 16.14.0 tslib: 2.8.1 - '@graphql-tools/delegate@12.0.16(graphql@16.14.0)': + '@graphql-tools/delegate@12.1.1(graphql@16.14.0)': dependencies: - '@graphql-tools/batch-execute': 10.0.8(graphql@16.14.0) - '@graphql-tools/executor': 1.5.3(graphql@16.14.0) - '@graphql-tools/schema': 10.0.33(graphql@16.14.0) - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) - '@repeaterjs/repeater': 3.0.6 + '@graphql-tools/batch-execute': 10.0.9(graphql@16.14.0) + '@graphql-tools/executor': 1.5.7(graphql@16.14.0) + '@graphql-tools/schema': 10.0.38(graphql@16.14.0) + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) + '@repeaterjs/repeater': 3.1.0 '@whatwg-node/promise-helpers': 1.3.2 dataloader: 2.2.3 graphql: 16.14.0 @@ -7804,7 +8132,7 @@ snapshots: '@graphql-tools/executor-common@1.0.6(graphql@16.14.0)': dependencies: '@envelop/core': 5.5.1 - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) graphql: 16.14.0 '@graphql-tools/executor-graphql-ws@2.0.7(graphql@16.14.0)': @@ -7813,10 +8141,10 @@ snapshots: '@graphql-tools/utils': 10.11.0(graphql@16.14.0) '@whatwg-node/disposablestack': 0.0.6 graphql: 16.14.0 - graphql-ws: 6.0.8(graphql@16.14.0)(ws@8.20.1) - isomorphic-ws: 5.0.0(ws@8.20.1) + graphql-ws: 6.2.0(graphql@16.14.0)(ws@8.21.1) + isomorphic-ws: 5.0.0(ws@8.21.1) tslib: 2.8.1 - ws: 8.20.1 + ws: 8.21.1 transitivePeerDependencies: - '@fastify/websocket' - bufferutil @@ -7826,75 +8154,75 @@ snapshots: '@graphql-tools/executor-graphql-ws@3.1.5(graphql@16.14.0)': dependencies: '@graphql-tools/executor-common': 1.0.6(graphql@16.14.0) - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) '@whatwg-node/disposablestack': 0.0.6 graphql: 16.14.0 - graphql-ws: 6.0.8(graphql@16.14.0)(ws@8.20.1) - isows: 1.0.7(ws@8.20.1) + graphql-ws: 6.2.0(graphql@16.14.0)(ws@8.21.1) + isows: 1.0.7(ws@8.21.1) tslib: 2.8.1 - ws: 8.20.1 + ws: 8.21.1 transitivePeerDependencies: - '@fastify/websocket' - bufferutil - crossws - utf-8-validate - '@graphql-tools/executor-http@1.3.3(@types/node@22.19.19)(graphql@16.14.0)': + '@graphql-tools/executor-http@1.3.3(@types/node@22.20.1)(graphql@16.14.0)': dependencies: '@graphql-hive/signal': 1.0.0 '@graphql-tools/executor-common': 0.0.4(graphql@16.14.0) '@graphql-tools/utils': 10.11.0(graphql@16.14.0) - '@repeaterjs/repeater': 3.0.6 + '@repeaterjs/repeater': 3.1.0 '@whatwg-node/disposablestack': 0.0.6 '@whatwg-node/fetch': 0.10.13 '@whatwg-node/promise-helpers': 1.3.2 graphql: 16.14.0 - meros: 1.3.2(@types/node@22.19.19) + meros: 1.3.2(@types/node@22.20.1) tslib: 2.8.1 transitivePeerDependencies: - '@types/node' - '@graphql-tools/executor-http@3.3.0(@types/node@22.19.19)(graphql@16.14.0)': + '@graphql-tools/executor-http@3.3.0(@types/node@22.20.1)(graphql@16.14.0)': dependencies: '@graphql-hive/signal': 2.0.0 '@graphql-tools/executor-common': 1.0.6(graphql@16.14.0) - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) - '@repeaterjs/repeater': 3.0.6 + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) + '@repeaterjs/repeater': 3.1.0 '@whatwg-node/disposablestack': 0.0.6 '@whatwg-node/fetch': 0.10.13 '@whatwg-node/promise-helpers': 1.3.2 graphql: 16.14.0 - meros: 1.3.2(@types/node@22.19.19) + meros: 1.3.2(@types/node@22.20.1) tslib: 2.8.1 transitivePeerDependencies: - '@types/node' - '@graphql-tools/executor-legacy-ws@1.1.28(graphql@16.14.0)': + '@graphql-tools/executor-legacy-ws@1.1.32(graphql@16.14.0)': dependencies: - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) '@types/ws': 8.18.1 graphql: 16.14.0 - isomorphic-ws: 5.0.0(ws@8.20.1) + isomorphic-ws: 5.0.0(ws@8.21.1) tslib: 2.8.1 - ws: 8.20.1 + ws: 8.21.1 transitivePeerDependencies: - bufferutil - utf-8-validate - '@graphql-tools/executor@1.5.3(graphql@16.14.0)': + '@graphql-tools/executor@1.5.7(graphql@16.14.0)': dependencies: - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) '@graphql-typed-document-node/core': 3.2.0(graphql@16.14.0) - '@repeaterjs/repeater': 3.0.6 + '@repeaterjs/repeater': 3.1.0 '@whatwg-node/disposablestack': 0.0.6 '@whatwg-node/promise-helpers': 1.3.2 graphql: 16.14.0 tslib: 2.8.1 - '@graphql-tools/git-loader@8.0.36(graphql@16.14.0)': + '@graphql-tools/git-loader@8.0.40(graphql@16.14.0)': dependencies: - '@graphql-tools/graphql-tag-pluck': 8.3.31(graphql@16.14.0) - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) + '@graphql-tools/graphql-tag-pluck': 8.3.35(graphql@16.14.0) + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) graphql: 16.14.0 is-glob: 4.0.3 micromatch: 4.0.8 @@ -7903,10 +8231,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@graphql-tools/github-loader@8.0.22(@types/node@22.19.19)(graphql@16.14.0)': + '@graphql-tools/github-loader@8.0.22(@types/node@22.20.1)(graphql@16.14.0)': dependencies: - '@graphql-tools/executor-http': 1.3.3(@types/node@22.19.19)(graphql@16.14.0) - '@graphql-tools/graphql-tag-pluck': 8.3.31(graphql@16.14.0) + '@graphql-tools/executor-http': 1.3.3(@types/node@22.20.1)(graphql@16.14.0) + '@graphql-tools/graphql-tag-pluck': 8.3.35(graphql@16.14.0) '@graphql-tools/utils': 10.11.0(graphql@16.14.0) '@whatwg-node/fetch': 0.10.13 '@whatwg-node/promise-helpers': 1.3.2 @@ -7917,54 +8245,54 @@ snapshots: - '@types/node' - supports-color - '@graphql-tools/graphql-file-loader@8.1.14(graphql@16.14.0)': + '@graphql-tools/graphql-file-loader@8.1.18(graphql@16.14.0)': dependencies: - '@graphql-tools/import': 7.1.14(graphql@16.14.0) - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) + '@graphql-tools/import': 7.1.18(graphql@16.14.0) + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) globby: 11.1.0 graphql: 16.14.0 tslib: 2.8.1 unixify: 1.0.0 - '@graphql-tools/graphql-tag-pluck@8.3.31(graphql@16.14.0)': + '@graphql-tools/graphql-tag-pluck@8.3.35(graphql@16.14.0)': dependencies: - '@babel/core': 7.29.0 - '@babel/parser': 7.29.3 - '@babel/plugin-syntax-import-assertions': 7.28.6(@babel/core@7.29.0) - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) + '@babel/core': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/plugin-syntax-import-assertions': 7.29.7(@babel/core@7.29.7) + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) graphql: 16.14.0 tslib: 2.8.1 transitivePeerDependencies: - supports-color - '@graphql-tools/import@7.1.14(graphql@16.14.0)': + '@graphql-tools/import@7.1.18(graphql@16.14.0)': dependencies: - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) graphql: 16.14.0 resolve-from: 5.0.0 tslib: 2.8.1 - '@graphql-tools/json-file-loader@8.0.28(graphql@16.14.0)': + '@graphql-tools/json-file-loader@8.0.32(graphql@16.14.0)': dependencies: - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) globby: 11.1.0 graphql: 16.14.0 tslib: 2.8.1 unixify: 1.0.0 - '@graphql-tools/load@8.1.10(graphql@16.14.0)': + '@graphql-tools/load@8.1.15(graphql@16.14.0)': dependencies: - '@graphql-tools/schema': 10.0.33(graphql@16.14.0) - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) + '@graphql-tools/schema': 10.0.38(graphql@16.14.0) + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) graphql: 16.14.0 p-limit: 3.1.0 tslib: 2.8.1 - '@graphql-tools/merge@9.1.9(graphql@16.14.0)': + '@graphql-tools/merge@9.2.2(graphql@16.14.0)': dependencies: - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) graphql: 16.14.0 tslib: 2.8.1 @@ -7973,9 +8301,9 @@ snapshots: graphql: 16.14.0 tslib: 2.6.3 - '@graphql-tools/prisma-loader@8.0.17(@types/node@22.19.19)(graphql@16.14.0)': + '@graphql-tools/prisma-loader@8.0.17(@types/node@22.20.1)(graphql@16.14.0)': dependencies: - '@graphql-tools/url-loader': 8.0.33(@types/node@22.19.19)(graphql@16.14.0) + '@graphql-tools/url-loader': 8.0.33(@types/node@22.20.1)(graphql@16.14.0) '@graphql-tools/utils': 10.11.0(graphql@16.14.0) '@types/js-yaml': 4.0.9 '@whatwg-node/fetch': 0.10.13 @@ -7987,7 +8315,7 @@ snapshots: http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 jose: 5.10.0 - js-yaml: 4.1.1 + js-yaml: 4.3.1 lodash: 4.18.1 scuid: 1.1.0 tslib: 2.8.1 @@ -8001,35 +8329,35 @@ snapshots: - supports-color - utf-8-validate - '@graphql-tools/relay-operation-optimizer@7.1.4(graphql@16.14.0)': + '@graphql-tools/relay-operation-optimizer@7.1.8(graphql@16.14.0)': dependencies: - '@ardatan/relay-compiler': 13.0.1(graphql@16.14.0) - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) + '@ardatan/relay-compiler': 13.0.2(graphql@16.14.0) + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) graphql: 16.14.0 tslib: 2.6.3 - '@graphql-tools/schema@10.0.33(graphql@16.14.0)': + '@graphql-tools/schema@10.0.38(graphql@16.14.0)': dependencies: - '@graphql-tools/merge': 9.1.9(graphql@16.14.0) - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) + '@graphql-tools/merge': 9.2.2(graphql@16.14.0) + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) graphql: 16.14.0 tslib: 2.8.1 - '@graphql-tools/url-loader@8.0.33(@types/node@22.19.19)(graphql@16.14.0)': + '@graphql-tools/url-loader@8.0.33(@types/node@22.20.1)(graphql@16.14.0)': dependencies: '@graphql-tools/executor-graphql-ws': 2.0.7(graphql@16.14.0) - '@graphql-tools/executor-http': 1.3.3(@types/node@22.19.19)(graphql@16.14.0) - '@graphql-tools/executor-legacy-ws': 1.1.28(graphql@16.14.0) + '@graphql-tools/executor-http': 1.3.3(@types/node@22.20.1)(graphql@16.14.0) + '@graphql-tools/executor-legacy-ws': 1.1.32(graphql@16.14.0) '@graphql-tools/utils': 10.11.0(graphql@16.14.0) '@graphql-tools/wrap': 10.1.4(graphql@16.14.0) '@types/ws': 8.18.1 '@whatwg-node/fetch': 0.10.13 '@whatwg-node/promise-helpers': 1.3.2 graphql: 16.14.0 - isomorphic-ws: 5.0.0(ws@8.20.1) + isomorphic-ws: 5.0.0(ws@8.21.1) sync-fetch: 0.6.0-2 tslib: 2.8.1 - ws: 8.20.1 + ws: 8.21.1 transitivePeerDependencies: - '@fastify/websocket' - '@types/node' @@ -8037,21 +8365,21 @@ snapshots: - crossws - utf-8-validate - '@graphql-tools/url-loader@9.1.2(@types/node@22.19.19)(graphql@16.14.0)': + '@graphql-tools/url-loader@9.1.6(@types/node@22.20.1)(graphql@16.14.0)': dependencies: '@graphql-tools/executor-graphql-ws': 3.1.5(graphql@16.14.0) - '@graphql-tools/executor-http': 3.3.0(@types/node@22.19.19)(graphql@16.14.0) - '@graphql-tools/executor-legacy-ws': 1.1.28(graphql@16.14.0) - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) - '@graphql-tools/wrap': 11.1.15(graphql@16.14.0) + '@graphql-tools/executor-http': 3.3.0(@types/node@22.20.1)(graphql@16.14.0) + '@graphql-tools/executor-legacy-ws': 1.1.32(graphql@16.14.0) + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) + '@graphql-tools/wrap': 11.1.21(graphql@16.14.0) '@types/ws': 8.18.1 '@whatwg-node/fetch': 0.10.13 '@whatwg-node/promise-helpers': 1.3.2 graphql: 16.14.0 - isomorphic-ws: 5.0.0(ws@8.20.1) + isomorphic-ws: 5.0.0(ws@8.21.1) sync-fetch: 0.6.0 tslib: 2.8.1 - ws: 8.20.1 + ws: 8.21.1 transitivePeerDependencies: - '@fastify/websocket' - '@types/node' @@ -8067,7 +8395,7 @@ snapshots: graphql: 16.14.0 tslib: 2.8.1 - '@graphql-tools/utils@11.1.0(graphql@16.14.0)': + '@graphql-tools/utils@11.2.2(graphql@16.14.0)': dependencies: '@graphql-typed-document-node/core': 3.2.0(graphql@16.14.0) '@whatwg-node/promise-helpers': 1.3.2 @@ -8084,17 +8412,17 @@ snapshots: '@graphql-tools/wrap@10.1.4(graphql@16.14.0)': dependencies: '@graphql-tools/delegate': 10.2.23(graphql@16.14.0) - '@graphql-tools/schema': 10.0.33(graphql@16.14.0) + '@graphql-tools/schema': 10.0.38(graphql@16.14.0) '@graphql-tools/utils': 10.11.0(graphql@16.14.0) '@whatwg-node/promise-helpers': 1.3.2 graphql: 16.14.0 tslib: 2.8.1 - '@graphql-tools/wrap@11.1.15(graphql@16.14.0)': + '@graphql-tools/wrap@11.1.21(graphql@16.14.0)': dependencies: - '@graphql-tools/delegate': 12.0.16(graphql@16.14.0) - '@graphql-tools/schema': 10.0.33(graphql@16.14.0) - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) + '@graphql-tools/delegate': 12.1.1(graphql@16.14.0) + '@graphql-tools/schema': 10.0.38(graphql@16.14.0) + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) '@whatwg-node/promise-helpers': 1.3.2 graphql: 16.14.0 tslib: 2.8.1 @@ -8113,28 +8441,24 @@ snapshots: '@hapi/pinpoint@2.0.1': {} - '@hapi/tlds@1.1.6': {} + '@hapi/tlds@1.1.7': {} '@hapi/topo@6.0.2': dependencies: '@hapi/hoek': 11.0.7 - '@hello-pangea/dnd@18.0.1(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@hello-pangea/dnd@18.0.1(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 css-box-model: 1.2.1 raf-schd: 4.0.3 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - react-redux: 9.3.0(@types/react@19.2.15)(react@19.2.6)(redux@5.0.1) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + react-redux: 9.3.0(@types/react@19.2.18)(react@19.2.8)(redux@5.0.1) redux: 5.0.1 transitivePeerDependencies: - '@types/react' - '@hono/node-server@1.19.11(hono@4.12.21)': - dependencies: - hono: 4.12.21 - '@humanfs/core@0.19.2': dependencies: '@humanfs/types': 0.15.0 @@ -8163,6 +8487,11 @@ snapshots: '@img/sharp-libvips-darwin-arm64': 1.2.4 optional: true + '@img/sharp-darwin-arm64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.3.2 + optional: true + '@img/sharp-darwin-x64@0.33.5': optionalDependencies: '@img/sharp-libvips-darwin-x64': 1.0.4 @@ -8173,60 +8502,100 @@ snapshots: '@img/sharp-libvips-darwin-x64': 1.2.4 optional: true + '@img/sharp-darwin-x64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.3.2 + optional: true + + '@img/sharp-freebsd-wasm32@0.35.3': + dependencies: + '@img/sharp-wasm32': 0.35.3 + optional: true + '@img/sharp-libvips-darwin-arm64@1.0.4': optional: true '@img/sharp-libvips-darwin-arm64@1.2.4': optional: true + '@img/sharp-libvips-darwin-arm64@1.3.2': + optional: true + '@img/sharp-libvips-darwin-x64@1.0.4': optional: true '@img/sharp-libvips-darwin-x64@1.2.4': optional: true + '@img/sharp-libvips-darwin-x64@1.3.2': + optional: true + '@img/sharp-libvips-linux-arm64@1.0.4': optional: true '@img/sharp-libvips-linux-arm64@1.2.4': optional: true + '@img/sharp-libvips-linux-arm64@1.3.2': + optional: true + '@img/sharp-libvips-linux-arm@1.0.5': optional: true '@img/sharp-libvips-linux-arm@1.2.4': optional: true + '@img/sharp-libvips-linux-arm@1.3.2': + optional: true + '@img/sharp-libvips-linux-ppc64@1.2.4': optional: true + '@img/sharp-libvips-linux-ppc64@1.3.2': + optional: true + '@img/sharp-libvips-linux-riscv64@1.2.4': optional: true + '@img/sharp-libvips-linux-riscv64@1.3.2': + optional: true + '@img/sharp-libvips-linux-s390x@1.0.4': optional: true '@img/sharp-libvips-linux-s390x@1.2.4': optional: true + '@img/sharp-libvips-linux-s390x@1.3.2': + optional: true + '@img/sharp-libvips-linux-x64@1.0.4': optional: true '@img/sharp-libvips-linux-x64@1.2.4': optional: true + '@img/sharp-libvips-linux-x64@1.3.2': + optional: true + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': optional: true '@img/sharp-libvips-linuxmusl-arm64@1.2.4': optional: true + '@img/sharp-libvips-linuxmusl-arm64@1.3.2': + optional: true + '@img/sharp-libvips-linuxmusl-x64@1.0.4': optional: true '@img/sharp-libvips-linuxmusl-x64@1.2.4': optional: true + '@img/sharp-libvips-linuxmusl-x64@1.3.2': + optional: true + '@img/sharp-linux-arm64@0.33.5': optionalDependencies: '@img/sharp-libvips-linux-arm64': 1.0.4 @@ -8237,6 +8606,11 @@ snapshots: '@img/sharp-libvips-linux-arm64': 1.2.4 optional: true + '@img/sharp-linux-arm64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.3.2 + optional: true + '@img/sharp-linux-arm@0.33.5': optionalDependencies: '@img/sharp-libvips-linux-arm': 1.0.5 @@ -8247,16 +8621,31 @@ snapshots: '@img/sharp-libvips-linux-arm': 1.2.4 optional: true + '@img/sharp-linux-arm@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.3.2 + optional: true + '@img/sharp-linux-ppc64@0.34.5': optionalDependencies: '@img/sharp-libvips-linux-ppc64': 1.2.4 optional: true + '@img/sharp-linux-ppc64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linux-ppc64': 1.3.2 + optional: true + '@img/sharp-linux-riscv64@0.34.5': optionalDependencies: '@img/sharp-libvips-linux-riscv64': 1.2.4 optional: true + '@img/sharp-linux-riscv64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linux-riscv64': 1.3.2 + optional: true + '@img/sharp-linux-s390x@0.33.5': optionalDependencies: '@img/sharp-libvips-linux-s390x': 1.0.4 @@ -8267,6 +8656,11 @@ snapshots: '@img/sharp-libvips-linux-s390x': 1.2.4 optional: true + '@img/sharp-linux-s390x@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.3.2 + optional: true + '@img/sharp-linux-x64@0.33.5': optionalDependencies: '@img/sharp-libvips-linux-x64': 1.0.4 @@ -8277,6 +8671,11 @@ snapshots: '@img/sharp-libvips-linux-x64': 1.2.4 optional: true + '@img/sharp-linux-x64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.3.2 + optional: true + '@img/sharp-linuxmusl-arm64@0.33.5': optionalDependencies: '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 @@ -8287,6 +8686,11 @@ snapshots: '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 optional: true + '@img/sharp-linuxmusl-arm64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.3.2 + optional: true + '@img/sharp-linuxmusl-x64@0.33.5': optionalDependencies: '@img/sharp-libvips-linuxmusl-x64': 1.0.4 @@ -8297,37 +8701,61 @@ snapshots: '@img/sharp-libvips-linuxmusl-x64': 1.2.4 optional: true + '@img/sharp-linuxmusl-x64@0.35.3': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.3.2 + optional: true + '@img/sharp-wasm32@0.33.5': dependencies: - '@emnapi/runtime': 1.10.0 + '@emnapi/runtime': 1.11.3 optional: true '@img/sharp-wasm32@0.34.5': dependencies: - '@emnapi/runtime': 1.10.0 + '@emnapi/runtime': 1.11.3 + optional: true + + '@img/sharp-wasm32@0.35.3': + dependencies: + '@emnapi/runtime': 1.11.3 + optional: true + + '@img/sharp-webcontainers-wasm32@0.35.3': + dependencies: + '@img/sharp-wasm32': 0.35.3 optional: true '@img/sharp-win32-arm64@0.34.5': optional: true + '@img/sharp-win32-arm64@0.35.3': + optional: true + '@img/sharp-win32-ia32@0.33.5': optional: true '@img/sharp-win32-ia32@0.34.5': optional: true + '@img/sharp-win32-ia32@0.35.3': + optional: true + '@img/sharp-win32-x64@0.33.5': optional: true '@img/sharp-win32-x64@0.34.5': optional: true - '@inquirer/external-editor@1.0.3(@types/node@22.19.19)': + '@img/sharp-win32-x64@0.35.3': + optional: true + + '@inquirer/external-editor@1.0.3(@types/node@22.20.1)': dependencies: - chardet: 2.1.1 - iconv-lite: 0.7.2 + chardet: 2.2.0 + iconv-lite: 0.7.3 optionalDependencies: - '@types/node': 22.19.19 + '@types/node': 22.20.1 '@jridgewell/gen-mapping@0.3.13': dependencies: @@ -8353,8 +8781,6 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@kurkle/color@0.3.4': {} - '@mdn/browser-compat-data@5.7.6': {} '@mdn/browser-compat-data@6.1.5': {} @@ -8365,139 +8791,139 @@ snapshots: dependencies: state-local: 1.0.7 - '@monaco-editor/react@4.7.0(monaco-editor@0.55.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@monaco-editor/react@4.7.0(monaco-editor@0.56.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@monaco-editor/loader': 1.7.0 - monaco-editor: 0.55.1 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + monaco-editor: 0.56.0 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) - '@monogrid/gainmap-js@3.4.0(three@0.183.2)': + '@monogrid/gainmap-js@3.4.0(three@0.185.1)': dependencies: promise-worker-transferable: 1.0.4 - three: 0.183.2 + three: 0.185.1 - '@mui/core-downloads-tracker@9.0.1': {} + '@mui/core-downloads-tracker@9.2.0': {} - '@mui/icons-material@9.0.1(@mui/material@9.0.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@types/react@19.2.15)(react@19.2.6)': + '@mui/icons-material@9.2.0(@mui/material@9.2.0(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/react@19.2.18)(react@19.2.8)': dependencies: - '@babel/runtime': 7.29.2 - '@mui/material': 9.0.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 + '@babel/runtime': 7.29.7 + '@mui/material': 9.2.0(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.18 - '@mui/lab@9.0.0-beta.3(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@mui/material@9.0.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@mui/lab@9.0.0-beta.6(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@mui/material@9.2.0(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@babel/runtime': 7.29.2 - '@mui/material': 9.0.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@mui/system': 9.0.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6) - '@mui/types': 9.0.0(@types/react@19.2.15) - '@mui/utils': 9.0.1(@types/react@19.2.15)(react@19.2.6) + '@babel/runtime': 7.29.7 + '@mui/material': 9.2.0(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@mui/system': 9.2.0(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8) + '@mui/types': 9.1.1(@types/react@19.2.18) + '@mui/utils': 9.2.0(@types/react@19.2.18)(react@19.2.8) clsx: 2.1.1 prop-types: 15.8.1 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + optionalDependencies: + '@emotion/react': 11.14.0(@types/react@19.2.18)(react@19.2.8) + '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8) + '@types/react': 19.2.18 + + '@mui/material-nextjs@9.1.1(@emotion/cache@11.14.0)(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/server@11.11.0)(@types/react@19.2.18)(next@16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0))(react@19.2.8)': + dependencies: + '@babel/runtime': 7.29.7 + '@emotion/react': 11.14.0(@types/react@19.2.18)(react@19.2.8) + next: 16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0) + react: 19.2.8 optionalDependencies: - '@emotion/react': 11.14.0(@types/react@19.2.15)(react@19.2.6) - '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6) - '@types/react': 19.2.15 + '@emotion/cache': 11.14.0 + '@emotion/server': 11.11.0 + '@types/react': 19.2.18 - '@mui/material@9.0.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@mui/material@9.2.0(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@babel/runtime': 7.29.2 - '@mui/core-downloads-tracker': 9.0.1 - '@mui/system': 9.0.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6) - '@mui/types': 9.0.0(@types/react@19.2.15) - '@mui/utils': 9.0.1(@types/react@19.2.15)(react@19.2.6) + '@babel/runtime': 7.29.7 + '@mui/core-downloads-tracker': 9.2.0 + '@mui/system': 9.2.0(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8) + '@mui/types': 9.1.1(@types/react@19.2.18) + '@mui/utils': 9.2.0(@types/react@19.2.18)(react@19.2.8) '@popperjs/core': 2.11.8 - '@types/react-transition-group': 4.4.12(@types/react@19.2.15) + '@types/react-transition-group': 4.4.12(@types/react@19.2.18) clsx: 2.1.1 csstype: 3.2.3 prop-types: 15.8.1 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - react-is: 19.2.6 - react-transition-group: 4.4.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + react-is: 19.2.8 + react-transition-group: 4.4.5(react-dom@19.2.8(react@19.2.8))(react@19.2.8) optionalDependencies: - '@emotion/react': 11.14.0(@types/react@19.2.15)(react@19.2.6) - '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6) - '@types/react': 19.2.15 + '@emotion/react': 11.14.0(@types/react@19.2.18)(react@19.2.8) + '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8) + '@types/react': 19.2.18 - '@mui/private-theming@9.0.1(@types/react@19.2.15)(react@19.2.6)': + '@mui/private-theming@9.2.0(@types/react@19.2.18)(react@19.2.8)': dependencies: - '@babel/runtime': 7.29.2 - '@mui/utils': 9.0.1(@types/react@19.2.15)(react@19.2.6) + '@babel/runtime': 7.29.7 + '@mui/utils': 9.2.0(@types/react@19.2.18)(react@19.2.8) prop-types: 15.8.1 - react: 19.2.6 + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.18 - '@mui/styled-engine@9.0.0(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(react@19.2.6)': + '@mui/styled-engine@9.1.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(react@19.2.8)': dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 '@emotion/cache': 11.14.0 '@emotion/serialize': 1.3.3 '@emotion/sheet': 1.4.0 csstype: 3.2.3 prop-types: 15.8.1 - react: 19.2.6 + react: 19.2.8 optionalDependencies: - '@emotion/react': 11.14.0(@types/react@19.2.15)(react@19.2.6) - '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6) + '@emotion/react': 11.14.0(@types/react@19.2.18)(react@19.2.8) + '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8) - '@mui/system@9.0.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6)': + '@mui/system@9.2.0(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8)': dependencies: - '@babel/runtime': 7.29.2 - '@mui/private-theming': 9.0.1(@types/react@19.2.15)(react@19.2.6) - '@mui/styled-engine': 9.0.0(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(react@19.2.6) - '@mui/types': 9.0.0(@types/react@19.2.15) - '@mui/utils': 9.0.1(@types/react@19.2.15)(react@19.2.6) + '@babel/runtime': 7.29.7 + '@mui/private-theming': 9.2.0(@types/react@19.2.18)(react@19.2.8) + '@mui/styled-engine': 9.1.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(react@19.2.8) + '@mui/types': 9.1.1(@types/react@19.2.18) + '@mui/utils': 9.2.0(@types/react@19.2.18)(react@19.2.8) clsx: 2.1.1 csstype: 3.2.3 prop-types: 15.8.1 - react: 19.2.6 - optionalDependencies: - '@emotion/react': 11.14.0(@types/react@19.2.15)(react@19.2.6) - '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6) - '@types/react': 19.2.15 - - '@mui/types@9.0.0(@types/react@19.2.15)': - dependencies: - '@babel/runtime': 7.29.2 + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@emotion/react': 11.14.0(@types/react@19.2.18)(react@19.2.8) + '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8) + '@types/react': 19.2.18 - '@mui/utils@9.0.0(@types/react@19.2.15)(react@19.2.6)': + '@mui/types@9.1.1(@types/react@19.2.18)': dependencies: - '@babel/runtime': 7.29.2 - '@mui/types': 9.0.0(@types/react@19.2.15) - '@types/prop-types': 15.7.15 - clsx: 2.1.1 - prop-types: 15.8.1 - react: 19.2.6 - react-is: 19.2.6 + '@babel/runtime': 7.29.7 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.18 - '@mui/utils@9.0.1(@types/react@19.2.15)(react@19.2.6)': + '@mui/utils@9.2.0(@types/react@19.2.18)(react@19.2.8)': dependencies: - '@babel/runtime': 7.29.2 - '@mui/types': 9.0.0(@types/react@19.2.15) + '@babel/runtime': 7.29.7 + '@mui/types': 9.1.1(@types/react@19.2.18) '@types/prop-types': 15.7.15 clsx: 2.1.1 prop-types: 15.8.1 - react: 19.2.6 - react-is: 19.2.6 + react: 19.2.8 + react-is: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.18 - '@mui/x-charts-vendor@9.0.0': + '@mui/x-charts-vendor@9.4.0': dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 '@types/d3-array': 3.2.2 '@types/d3-color': 3.1.3 '@types/d3-format': 3.0.4 + '@types/d3-geo': 3.1.1 '@types/d3-interpolate': 3.0.4 '@types/d3-path': 3.1.1 '@types/d3-scale': 4.0.9 @@ -8508,6 +8934,7 @@ snapshots: d3-array: 3.2.4 d3-color: 3.1.0 d3-format: 3.1.2 + d3-geo: 3.1.1 d3-interpolate: 3.0.1 d3-path: 3.1.0 d3-scale: 4.0.2 @@ -8515,78 +8942,88 @@ snapshots: d3-time: 3.1.0 d3-time-format: 4.1.0 d3-timer: 3.0.1 - flatqueue: 3.0.0 + flatqueue: 3.1.0 internmap: 2.0.3 - '@mui/x-charts@9.3.0(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@mui/material@9.0.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mui/system@9.0.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@mui/x-charts@9.10.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@mui/material@9.2.0(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@mui/system@9.2.0(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@babel/runtime': 7.29.2 - '@mui/material': 9.0.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@mui/system': 9.0.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6) - '@mui/utils': 9.0.1(@types/react@19.2.15)(react@19.2.6) - '@mui/x-charts-vendor': 9.0.0 - '@mui/x-internal-gestures': 9.3.0 - '@mui/x-internals': 9.1.0(@types/react@19.2.15)(react@19.2.6) - bezier-easing: 2.1.0 + '@babel/runtime': 7.29.7 + '@mui/material': 9.2.0(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@mui/system': 9.2.0(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8) + '@mui/utils': 9.2.0(@types/react@19.2.18)(react@19.2.8) + '@mui/x-charts-vendor': 9.4.0 + '@mui/x-internal-gestures': 9.10.0(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@mui/x-internals': 9.10.1(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + bezier-easing: 3.0.1 clsx: 2.1.1 prop-types: 15.8.1 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) reselect: 5.2.0 - use-sync-external-store: 1.6.0(react@19.2.6) + use-sync-external-store: 1.6.0(react@19.2.8) optionalDependencies: - '@emotion/react': 11.14.0(@types/react@19.2.15)(react@19.2.6) - '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6) + '@emotion/react': 11.14.0(@types/react@19.2.18)(react@19.2.8) + '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8) transitivePeerDependencies: - '@types/react' - '@mui/x-internal-gestures@9.3.0': + '@mui/x-internal-gestures@9.10.0(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 + '@base-ui/utils': 0.3.1(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + transitivePeerDependencies: + - '@types/react' + - react + - react-dom - '@mui/x-internals@9.1.0(@types/react@19.2.15)(react@19.2.6)': + '@mui/x-internals@9.10.1(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@babel/runtime': 7.29.2 - '@mui/utils': 9.0.0(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 + '@babel/runtime': 7.29.7 + '@base-ui/utils': 0.3.1(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@mui/utils': 9.2.0(@types/react@19.2.18)(react@19.2.8) + react: 19.2.8 reselect: 5.2.0 - use-sync-external-store: 1.6.0(react@19.2.6) + use-sync-external-store: 1.6.0(react@19.2.8) transitivePeerDependencies: - '@types/react' + - react-dom + + '@napi-rs/lzma-linux-x64-gnu@1.5.1': + optional: true - '@next-auth/prisma-adapter@1.0.7(@prisma/client@7.8.0(prisma@7.8.0(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(magicast@0.5.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@6.0.3))(typescript@6.0.3))(next-auth@4.24.14(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0))(react-dom@19.2.6(react@19.2.6))(react@19.2.6))': + '@next-auth/prisma-adapter@1.0.7(@prisma/client@7.9.1(prisma@7.9.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(typescript@6.0.3))(next-auth@4.24.15(next@16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0))(react-dom@19.2.8(react@19.2.8))(react@19.2.8))': dependencies: - '@prisma/client': 7.8.0(prisma@7.8.0(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(magicast@0.5.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@6.0.3))(typescript@6.0.3) - next-auth: 4.24.14(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@prisma/client': 7.9.1(prisma@7.9.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(typescript@6.0.3) + next-auth: 4.24.15(next@16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0))(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - '@next/env@16.2.6': {} + '@next/env@16.2.12': {} - '@next/eslint-plugin-next@16.2.6': + '@next/eslint-plugin-next@16.2.12': dependencies: fast-glob: 3.3.1 - '@next/swc-darwin-arm64@16.2.6': + '@next/swc-darwin-arm64@16.2.12': optional: true - '@next/swc-darwin-x64@16.2.6': + '@next/swc-darwin-x64@16.2.12': optional: true - '@next/swc-linux-arm64-gnu@16.2.6': + '@next/swc-linux-arm64-gnu@16.2.12': optional: true - '@next/swc-linux-arm64-musl@16.2.6': + '@next/swc-linux-arm64-musl@16.2.12': optional: true - '@next/swc-linux-x64-gnu@16.2.6': + '@next/swc-linux-x64-gnu@16.2.12': optional: true - '@next/swc-linux-x64-musl@16.2.6': + '@next/swc-linux-x64-musl@16.2.12': optional: true - '@next/swc-win32-arm64-msvc@16.2.6': + '@next/swc-win32-arm64-msvc@16.2.12': optional: true - '@next/swc-win32-x64-msvc@16.2.6': + '@next/swc-win32-x64-msvc@16.2.12': optional: true '@node-loader/babel@2.1.0': {} @@ -8605,129 +9042,130 @@ snapshots: '@octokit/auth-token@6.0.0': {} - '@octokit/core@7.0.6': + '@octokit/core@7.0.7': dependencies: '@octokit/auth-token': 6.0.0 - '@octokit/graphql': 9.0.3 - '@octokit/request': 10.0.9 - '@octokit/request-error': 7.1.0 - '@octokit/types': 16.0.0 + '@octokit/graphql': 9.0.4 + '@octokit/request': 10.0.13 + '@octokit/request-error': 7.1.1 + '@octokit/types': 17.0.0 before-after-hook: 4.0.0 universal-user-agent: 7.0.3 - '@octokit/endpoint@11.0.3': + '@octokit/endpoint@11.0.4': dependencies: - '@octokit/types': 16.0.0 + '@octokit/types': 17.0.0 universal-user-agent: 7.0.3 - '@octokit/graphql@9.0.3': + '@octokit/graphql@9.0.4': dependencies: - '@octokit/request': 10.0.9 - '@octokit/types': 16.0.0 + '@octokit/request': 10.0.13 + '@octokit/types': 17.0.0 universal-user-agent: 7.0.3 '@octokit/openapi-types@27.0.0': {} - '@octokit/plugin-paginate-rest@14.0.0(@octokit/core@7.0.6)': + '@octokit/openapi-types@28.0.0': {} + + '@octokit/plugin-paginate-rest@14.0.0(@octokit/core@7.0.7)': dependencies: - '@octokit/core': 7.0.6 + '@octokit/core': 7.0.7 '@octokit/types': 16.0.0 - '@octokit/plugin-retry@8.1.0(@octokit/core@7.0.6)': + '@octokit/plugin-retry@8.1.1(@octokit/core@7.0.7)': dependencies: - '@octokit/core': 7.0.6 - '@octokit/request-error': 7.1.0 - '@octokit/types': 16.0.0 + '@octokit/core': 7.0.7 + '@octokit/request-error': 7.1.1 + '@octokit/types': 17.0.0 bottleneck: 2.19.5 - '@octokit/plugin-throttling@11.0.3(@octokit/core@7.0.6)': + '@octokit/plugin-throttling@11.0.5(@octokit/core@7.0.7)': dependencies: - '@octokit/core': 7.0.6 - '@octokit/types': 16.0.0 + '@octokit/core': 7.0.7 + '@octokit/types': 17.0.0 bottleneck: 2.19.5 - '@octokit/request-error@7.1.0': + '@octokit/request-error@7.1.1': dependencies: - '@octokit/types': 16.0.0 + '@octokit/types': 17.0.0 - '@octokit/request@10.0.9': + '@octokit/request@10.0.13': dependencies: - '@octokit/endpoint': 11.0.3 - '@octokit/request-error': 7.1.0 - '@octokit/types': 16.0.0 + '@octokit/endpoint': 11.0.4 + '@octokit/request-error': 7.1.1 + '@octokit/types': 17.0.0 content-type: 2.0.0 - fast-content-type-parse: 3.0.0 - json-with-bigint: 3.5.8 + json-with-bigint: 3.5.10 universal-user-agent: 7.0.3 '@octokit/types@16.0.0': dependencies: '@octokit/openapi-types': 27.0.0 - '@panva/hkdf@1.2.1': {} + '@octokit/types@17.0.0': + dependencies: + '@octokit/openapi-types': 28.0.0 - '@parcel/watcher-android-arm64@2.5.6': - optional: true + '@panva/hkdf@1.2.1': {} - '@parcel/watcher-darwin-arm64@2.5.6': + '@parcel/watcher-android-arm64@2.6.0': optional: true - '@parcel/watcher-darwin-x64@2.5.6': + '@parcel/watcher-darwin-arm64@2.6.0': optional: true - '@parcel/watcher-freebsd-x64@2.5.6': + '@parcel/watcher-darwin-x64@2.6.0': optional: true - '@parcel/watcher-linux-arm-glibc@2.5.6': + '@parcel/watcher-freebsd-x64@2.6.0': optional: true - '@parcel/watcher-linux-arm-musl@2.5.6': + '@parcel/watcher-linux-arm-glibc@2.6.0': optional: true - '@parcel/watcher-linux-arm64-glibc@2.5.6': + '@parcel/watcher-linux-arm-musl@2.6.0': optional: true - '@parcel/watcher-linux-arm64-musl@2.5.6': + '@parcel/watcher-linux-arm64-glibc@2.6.0': optional: true - '@parcel/watcher-linux-x64-glibc@2.5.6': + '@parcel/watcher-linux-arm64-musl@2.6.0': optional: true - '@parcel/watcher-linux-x64-musl@2.5.6': + '@parcel/watcher-linux-x64-glibc@2.6.0': optional: true - '@parcel/watcher-win32-arm64@2.5.6': + '@parcel/watcher-linux-x64-musl@2.6.0': optional: true - '@parcel/watcher-win32-ia32@2.5.6': + '@parcel/watcher-win32-arm64@2.6.0': optional: true - '@parcel/watcher-win32-x64@2.5.6': + '@parcel/watcher-win32-x64@2.6.0': optional: true - '@parcel/watcher@2.5.6': + '@parcel/watcher@2.6.0': dependencies: detect-libc: 2.1.2 is-glob: 4.0.3 node-addon-api: 7.1.1 - picomatch: 4.0.4 + picomatch: 4.0.5 optionalDependencies: - '@parcel/watcher-android-arm64': 2.5.6 - '@parcel/watcher-darwin-arm64': 2.5.6 - '@parcel/watcher-darwin-x64': 2.5.6 - '@parcel/watcher-freebsd-x64': 2.5.6 - '@parcel/watcher-linux-arm-glibc': 2.5.6 - '@parcel/watcher-linux-arm-musl': 2.5.6 - '@parcel/watcher-linux-arm64-glibc': 2.5.6 - '@parcel/watcher-linux-arm64-musl': 2.5.6 - '@parcel/watcher-linux-x64-glibc': 2.5.6 - '@parcel/watcher-linux-x64-musl': 2.5.6 - '@parcel/watcher-win32-arm64': 2.5.6 - '@parcel/watcher-win32-ia32': 2.5.6 - '@parcel/watcher-win32-x64': 2.5.6 - optional: true - - '@pkgr/core@0.2.9': {} + '@parcel/watcher-android-arm64': 2.6.0 + '@parcel/watcher-darwin-arm64': 2.6.0 + '@parcel/watcher-darwin-x64': 2.6.0 + '@parcel/watcher-freebsd-x64': 2.6.0 + '@parcel/watcher-linux-arm-glibc': 2.6.0 + '@parcel/watcher-linux-arm-musl': 2.6.0 + '@parcel/watcher-linux-arm64-glibc': 2.6.0 + '@parcel/watcher-linux-arm64-musl': 2.6.0 + '@parcel/watcher-linux-x64-glibc': 2.6.0 + '@parcel/watcher-linux-x64-musl': 2.6.0 + '@parcel/watcher-win32-arm64': 2.6.0 + '@parcel/watcher-win32-x64': 2.6.0 + optional: true + + '@pkgr/core@0.3.6': {} '@pnpm/config.env-replace@1.1.0': {} @@ -8735,7 +9173,7 @@ snapshots: dependencies: graceful-fs: 4.2.10 - '@pnpm/npm-conf@3.0.2': + '@pnpm/npm-conf@3.0.3': dependencies: '@pnpm/config.env-replace': 1.1.0 '@pnpm/network.ca-file': 1.0.2 @@ -8743,27 +9181,27 @@ snapshots: '@popperjs/core@2.11.8': {} - '@prisma/adapter-pg@7.8.0': + '@prisma/adapter-pg@7.9.1': dependencies: - '@prisma/driver-adapter-utils': 7.8.0 - '@types/pg': 8.20.0 - pg: 8.21.0 + '@prisma/driver-adapter-utils': 7.9.1 + '@types/pg': 8.20.3 + pg: 8.22.0 postgres-array: 3.0.4 transitivePeerDependencies: - pg-native - '@prisma/client-runtime-utils@7.8.0': {} + '@prisma/client-runtime-utils@7.9.1': {} - '@prisma/client@7.8.0(prisma@7.8.0(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(magicast@0.5.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@6.0.3))(typescript@6.0.3)': + '@prisma/client@7.9.1(prisma@7.9.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(typescript@6.0.3)': dependencies: - '@prisma/client-runtime-utils': 7.8.0 + '@prisma/client-runtime-utils': 7.9.1 optionalDependencies: - prisma: 7.8.0(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(magicast@0.5.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@6.0.3) + prisma: 7.9.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) typescript: 6.0.3 - '@prisma/config@7.8.0(magicast@0.5.3)': + '@prisma/config@7.9.1(magicast@0.5.4)': dependencies: - c12: 3.3.4(magicast@0.5.3) + c12: 3.3.4(magicast@0.5.4) deepmerge-ts: 7.1.5 effect: 3.20.0 empathic: 2.0.0 @@ -8772,287 +9210,294 @@ snapshots: '@prisma/debug@7.2.0': {} - '@prisma/debug@7.8.0': {} + '@prisma/debug@7.9.1': {} - '@prisma/dev@0.24.3(typescript@6.0.3)': + '@prisma/dev@0.24.17(typescript@6.0.3)': dependencies: - '@electric-sql/pglite': 0.4.1 - '@electric-sql/pglite-socket': 0.1.1(@electric-sql/pglite@0.4.1) - '@electric-sql/pglite-tools': 0.3.1(@electric-sql/pglite@0.4.1) - '@hono/node-server': 1.19.11(hono@4.12.21) + '@electric-sql/pglite': 0.4.3 + '@electric-sql/pglite-socket': 0.1.3(@electric-sql/pglite@0.4.3) + '@electric-sql/pglite-tools': 0.3.3(@electric-sql/pglite@0.4.3) '@prisma/get-platform': 7.2.0 '@prisma/query-plan-executor': 7.2.0 - '@prisma/streams-local': 0.1.2 + '@prisma/streams-local': 0.1.11 + find-my-way: 9.7.0 foreground-child: 3.3.1 get-port-please: 3.2.0 - hono: 4.12.21 - http-status-codes: 2.3.0 pathe: 2.0.3 proper-lockfile: 4.1.2 remeda: 2.33.4 std-env: 3.10.0 - valibot: 1.2.0(typescript@6.0.3) + valibot: 1.4.2(typescript@6.0.3) zeptomatch: 2.1.0 transitivePeerDependencies: - typescript - '@prisma/driver-adapter-utils@7.8.0': + '@prisma/driver-adapter-utils@7.9.1': dependencies: - '@prisma/debug': 7.8.0 + '@prisma/debug': 7.9.1 - '@prisma/engines-version@7.8.0-6.3c6e192761c0362d496ed980de936e2f3cebcd3a': {} + '@prisma/engines-version@7.9.0-1.e922089b7d7502aff4249d5da3420f6fa55fc6ad': {} - '@prisma/engines@7.8.0': + '@prisma/engines@7.9.1': dependencies: - '@prisma/debug': 7.8.0 - '@prisma/engines-version': 7.8.0-6.3c6e192761c0362d496ed980de936e2f3cebcd3a - '@prisma/fetch-engine': 7.8.0 - '@prisma/get-platform': 7.8.0 + '@prisma/debug': 7.9.1 + '@prisma/engines-version': 7.9.0-1.e922089b7d7502aff4249d5da3420f6fa55fc6ad + '@prisma/fetch-engine': 7.9.1 + '@prisma/get-platform': 7.9.1 - '@prisma/fetch-engine@7.8.0': + '@prisma/fetch-engine@7.9.1': dependencies: - '@prisma/debug': 7.8.0 - '@prisma/engines-version': 7.8.0-6.3c6e192761c0362d496ed980de936e2f3cebcd3a - '@prisma/get-platform': 7.8.0 + '@prisma/debug': 7.9.1 + '@prisma/engines-version': 7.9.0-1.e922089b7d7502aff4249d5da3420f6fa55fc6ad + '@prisma/get-platform': 7.9.1 '@prisma/get-platform@7.2.0': dependencies: '@prisma/debug': 7.2.0 - '@prisma/get-platform@7.8.0': + '@prisma/get-platform@7.9.1': dependencies: - '@prisma/debug': 7.8.0 + '@prisma/debug': 7.9.1 '@prisma/query-plan-executor@7.2.0': {} - '@prisma/streams-local@0.1.2': + '@prisma/streams-local@0.1.11': dependencies: ajv: 8.20.0 - better-result: 2.9.2 + better-result: 2.10.0 env-paths: 3.0.0 proper-lockfile: 4.1.2 - '@prisma/studio-core@0.27.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@radix-ui/react-toggle': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@types/react': 19.2.15 - chart.js: 4.5.1 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@prisma/studio-core@0.33.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@radix-ui/react-toggle': 1.1.10(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@types/react': 19.2.18 + '@visx/curve': 4.0.1-alpha.0 + '@visx/event': 4.0.1-alpha.0 + '@visx/grid': 4.0.1-alpha.0(react@19.2.8) + '@visx/group': 4.0.1-alpha.0(react@19.2.8) + '@visx/responsive': 4.0.1-alpha.0(react@19.2.8) + '@visx/scale': 4.0.1-alpha.0 + '@visx/shape': 4.0.1-alpha.0(react@19.2.8) + d3-array: 3.2.4 + d3-shape: 3.2.0 + elkjs: 0.11.1 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) transitivePeerDependencies: - '@types/react-dom' '@radix-ui/primitive@1.1.3': {} - '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.15)(react@19.2.6)': + '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.18)(react@19.2.8)': dependencies: - react: 19.2.6 + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.18 - '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.18)(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) + '@types/react': 19.2.18 + '@types/react-dom': 19.2.4(@types/react@19.2.18) - '@radix-ui/react-slot@1.2.3(@types/react@19.2.15)(react@19.2.6)': + '@radix-ui/react-slot@1.2.3(@types/react@19.2.18)(react@19.2.8)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.18)(react@19.2.8) + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.18 - '@radix-ui/react-toggle@1.1.10(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@radix-ui/react-toggle@1.1.10(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.18)(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) + '@types/react': 19.2.18 + '@types/react-dom': 19.2.4(@types/react@19.2.18) - '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.15)(react@19.2.6)': + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.18)(react@19.2.8)': dependencies: - '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.18)(react@19.2.8) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.18)(react@19.2.8) + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.18 - '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.15)(react@19.2.6)': + '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.18)(react@19.2.8)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.18)(react@19.2.8) + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.18 - '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.15)(react@19.2.6)': + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.18)(react@19.2.8)': dependencies: - react: 19.2.6 + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.18 - '@react-three/drei@10.7.7(@react-three/fiber@9.6.1(@types/react@19.2.15)(immer@11.1.8)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(three@0.183.2))(@types/react@19.2.15)(@types/three@0.173.0)(immer@11.1.8)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(three@0.183.2)': + '@react-three/drei@10.7.7(@react-three/fiber@9.7.0(@types/react@19.2.18)(immer@11.1.15)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(three@0.185.1))(@types/react@19.2.18)(@types/three@0.185.3)(immer@11.1.15)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(three@0.185.1)': dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 '@mediapipe/tasks-vision': 0.10.17 - '@monogrid/gainmap-js': 3.4.0(three@0.183.2) - '@react-three/fiber': 9.6.1(@types/react@19.2.15)(immer@11.1.8)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(three@0.183.2) - '@use-gesture/react': 10.3.1(react@19.2.6) - camera-controls: 3.1.2(three@0.183.2) + '@monogrid/gainmap-js': 3.4.0(three@0.185.1) + '@react-three/fiber': 9.7.0(@types/react@19.2.18)(immer@11.1.15)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(three@0.185.1) + '@use-gesture/react': 10.3.1(react@19.2.8) + camera-controls: 3.1.2(three@0.185.1) cross-env: 7.0.3 detect-gpu: 5.0.70 glsl-noise: 0.0.0 hls.js: 1.6.16 - maath: 0.10.8(@types/three@0.173.0)(three@0.183.2) - meshline: 3.3.1(three@0.183.2) - react: 19.2.6 - stats-gl: 2.4.2(@types/three@0.173.0)(three@0.183.2) + maath: 0.10.8(@types/three@0.185.3)(three@0.185.1) + meshline: 3.3.1(three@0.185.1) + react: 19.2.8 + stats-gl: 2.4.2(@types/three@0.185.3)(three@0.185.1) stats.js: 0.17.0 - suspend-react: 0.1.3(react@19.2.6) - three: 0.183.2 - three-mesh-bvh: 0.8.3(three@0.183.2) - three-stdlib: 2.36.1(three@0.183.2) - troika-three-text: 0.52.4(three@0.183.2) - tunnel-rat: 0.1.2(@types/react@19.2.15)(immer@11.1.8)(react@19.2.6) - use-sync-external-store: 1.6.0(react@19.2.6) + suspend-react: 0.1.3(react@19.2.8) + three: 0.185.1 + three-mesh-bvh: 0.8.3(three@0.185.1) + three-stdlib: 2.36.1(three@0.185.1) + troika-three-text: 0.52.5(three@0.185.1) + tunnel-rat: 0.1.2(@types/react@19.2.18)(immer@11.1.15)(react@19.2.8) + use-sync-external-store: 1.6.0(react@19.2.8) utility-types: 3.11.0 - zustand: 5.0.13(@types/react@19.2.15)(immer@11.1.8)(react@19.2.6)(use-sync-external-store@1.6.0(react@19.2.6)) + zustand: 5.0.14(@types/react@19.2.18)(immer@11.1.15)(react@19.2.8)(use-sync-external-store@1.6.0(react@19.2.8)) optionalDependencies: - react-dom: 19.2.6(react@19.2.6) + react-dom: 19.2.8(react@19.2.8) transitivePeerDependencies: - '@types/react' - '@types/three' - immer - '@react-three/fiber@9.6.1(@types/react@19.2.15)(immer@11.1.8)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(three@0.183.2)': + '@react-three/fiber@9.7.0(@types/react@19.2.18)(immer@11.1.15)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(three@0.185.1)': dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 '@types/webxr': 0.5.24 base64-js: 1.5.1 buffer: 6.0.3 - its-fine: 2.0.0(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 - react-use-measure: 2.1.7(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + its-fine: 2.0.0(@types/react@19.2.18)(react@19.2.8) + react: 19.2.8 + react-use-measure: 2.1.7(react-dom@19.2.8(react@19.2.8))(react@19.2.8) scheduler: 0.27.0 - suspend-react: 0.1.3(react@19.2.6) - three: 0.183.2 - use-sync-external-store: 1.6.0(react@19.2.6) - zustand: 5.0.13(@types/react@19.2.15)(immer@11.1.8)(react@19.2.6)(use-sync-external-store@1.6.0(react@19.2.6)) + suspend-react: 0.1.3(react@19.2.8) + three: 0.185.1 + use-sync-external-store: 1.6.0(react@19.2.8) + zustand: 5.0.14(@types/react@19.2.18)(immer@11.1.15)(react@19.2.8)(use-sync-external-store@1.6.0(react@19.2.8)) optionalDependencies: - react-dom: 19.2.6(react@19.2.6) + react-dom: 19.2.8(react@19.2.8) transitivePeerDependencies: - '@types/react' - immer - '@reduxjs/toolkit@2.12.0(react-redux@9.3.0(@types/react@19.2.15)(react@19.2.6)(redux@5.0.1))(react@19.2.6)': + '@reduxjs/toolkit@2.12.0(react-redux@9.3.0(@types/react@19.2.18)(react@19.2.8)(redux@5.0.1))(react@19.2.8)': dependencies: '@standard-schema/spec': 1.1.0 '@standard-schema/utils': 0.3.0 - immer: 11.1.8 + immer: 11.1.15 redux: 5.0.1 redux-thunk: 3.1.0(redux@5.0.1) reselect: 5.2.0 optionalDependencies: - react: 19.2.6 - react-redux: 9.3.0(@types/react@19.2.15)(react@19.2.6)(redux@5.0.1) + react: 19.2.8 + react-redux: 9.3.0(@types/react@19.2.18)(react@19.2.8)(redux@5.0.1) - '@repeaterjs/repeater@3.0.6': {} + '@repeaterjs/repeater@3.1.0': {} '@rolldown/pluginutils@1.0.0-rc.3': {} - '@rollup/rollup-android-arm-eabi@4.60.4': + '@rollup/rollup-android-arm-eabi@4.62.4': optional: true - '@rollup/rollup-android-arm64@4.60.4': + '@rollup/rollup-android-arm64@4.62.4': optional: true - '@rollup/rollup-darwin-arm64@4.60.4': + '@rollup/rollup-darwin-arm64@4.62.4': optional: true - '@rollup/rollup-darwin-x64@4.60.4': + '@rollup/rollup-darwin-x64@4.62.4': optional: true - '@rollup/rollup-freebsd-arm64@4.60.4': + '@rollup/rollup-freebsd-arm64@4.62.4': optional: true - '@rollup/rollup-freebsd-x64@4.60.4': + '@rollup/rollup-freebsd-x64@4.62.4': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.4': + '@rollup/rollup-linux-arm-gnueabihf@4.62.4': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.4': + '@rollup/rollup-linux-arm-musleabihf@4.62.4': optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.4': + '@rollup/rollup-linux-arm64-gnu@4.62.4': optional: true - '@rollup/rollup-linux-arm64-musl@4.60.4': + '@rollup/rollup-linux-arm64-musl@4.62.4': optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.4': + '@rollup/rollup-linux-loong64-gnu@4.62.4': optional: true - '@rollup/rollup-linux-loong64-musl@4.60.4': + '@rollup/rollup-linux-loong64-musl@4.62.4': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.4': + '@rollup/rollup-linux-ppc64-gnu@4.62.4': optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.4': + '@rollup/rollup-linux-ppc64-musl@4.62.4': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.4': + '@rollup/rollup-linux-riscv64-gnu@4.62.4': optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.4': + '@rollup/rollup-linux-riscv64-musl@4.62.4': optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.4': + '@rollup/rollup-linux-s390x-gnu@4.62.4': optional: true - '@rollup/rollup-linux-x64-gnu@4.60.4': + '@rollup/rollup-linux-x64-gnu@4.62.4': optional: true - '@rollup/rollup-linux-x64-musl@4.60.4': + '@rollup/rollup-linux-x64-musl@4.62.4': optional: true - '@rollup/rollup-openbsd-x64@4.60.4': + '@rollup/rollup-openbsd-x64@4.62.4': optional: true - '@rollup/rollup-openharmony-arm64@4.60.4': + '@rollup/rollup-openharmony-arm64@4.62.4': optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.4': + '@rollup/rollup-win32-arm64-msvc@4.62.4': optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.4': + '@rollup/rollup-win32-ia32-msvc@4.62.4': optional: true - '@rollup/rollup-win32-x64-gnu@4.60.4': + '@rollup/rollup-win32-x64-gnu@4.62.4': optional: true - '@rollup/rollup-win32-x64-msvc@4.60.4': + '@rollup/rollup-win32-x64-msvc@4.62.4': optional: true '@sec-ant/readable-stream@0.4.1': {} - '@semantic-release/changelog@6.0.3(semantic-release@25.0.3(typescript@6.0.3))': + '@semantic-release/changelog@6.0.3(semantic-release@25.0.8(typescript@6.0.3))': dependencies: '@semantic-release/error': 3.0.0 aggregate-error: 3.1.0 - fs-extra: 11.3.5 + fs-extra: 11.4.0 lodash: 4.18.1 - semantic-release: 25.0.3(typescript@6.0.3) + semantic-release: 25.0.8(typescript@6.0.3) - '@semantic-release/commit-analyzer@13.0.1(semantic-release@25.0.3(typescript@6.0.3))': + '@semantic-release/commit-analyzer@13.0.1(semantic-release@25.0.8(typescript@6.0.3))': dependencies: conventional-changelog-angular: 8.3.1 conventional-changelog-writer: 8.4.0 @@ -9062,7 +9507,7 @@ snapshots: import-from-esm: 2.0.0 lodash-es: 4.18.1 micromatch: 4.0.8 - semantic-release: 25.0.3(typescript@6.0.3) + semantic-release: 25.0.8(typescript@6.0.3) transitivePeerDependencies: - supports-color @@ -9070,7 +9515,7 @@ snapshots: '@semantic-release/error@4.0.0': {} - '@semantic-release/git@10.0.1(semantic-release@25.0.3(typescript@6.0.3))': + '@semantic-release/git@10.0.1(semantic-release@25.0.8(typescript@6.0.3))': dependencies: '@semantic-release/error': 3.0.0 aggregate-error: 3.1.0 @@ -9080,53 +9525,54 @@ snapshots: lodash: 4.18.1 micromatch: 4.0.8 p-reduce: 2.1.0 - semantic-release: 25.0.3(typescript@6.0.3) + semantic-release: 25.0.8(typescript@6.0.3) transitivePeerDependencies: - supports-color - '@semantic-release/github@12.0.8(semantic-release@25.0.3(typescript@6.0.3))': + '@semantic-release/github@12.0.9(semantic-release@25.0.8(typescript@6.0.3))': dependencies: - '@octokit/core': 7.0.6 - '@octokit/plugin-paginate-rest': 14.0.0(@octokit/core@7.0.6) - '@octokit/plugin-retry': 8.1.0(@octokit/core@7.0.6) - '@octokit/plugin-throttling': 11.0.3(@octokit/core@7.0.6) + '@octokit/core': 7.0.7 + '@octokit/plugin-paginate-rest': 14.0.0(@octokit/core@7.0.7) + '@octokit/plugin-retry': 8.1.1(@octokit/core@7.0.7) + '@octokit/plugin-throttling': 11.0.5(@octokit/core@7.0.7) '@semantic-release/error': 4.0.0 aggregate-error: 5.0.0 debug: 4.4.3 dir-glob: 3.0.1 - http-proxy-agent: 9.0.0 - https-proxy-agent: 9.0.0 + http-proxy-agent: 9.1.0 + https-proxy-agent: 9.1.0 issue-parser: 7.0.2 lodash-es: 4.18.1 mime: 4.1.0 p-filter: 4.1.0 - semantic-release: 25.0.3(typescript@6.0.3) - tinyglobby: 0.2.16 - undici: 7.25.0 + semantic-release: 25.0.8(typescript@6.0.3) + tinyglobby: 0.2.17 + undici: 7.29.0 url-join: 5.0.0 transitivePeerDependencies: + - kerberos - supports-color - '@semantic-release/npm@13.1.5(semantic-release@25.0.3(typescript@6.0.3))': + '@semantic-release/npm@13.1.5(semantic-release@25.0.8(typescript@6.0.3))': dependencies: '@actions/core': 3.0.1 '@semantic-release/error': 4.0.0 aggregate-error: 5.0.0 env-ci: 11.2.0 execa: 9.6.1 - fs-extra: 11.3.5 + fs-extra: 11.4.0 lodash-es: 4.18.1 nerf-dart: 1.0.0 - normalize-url: 9.0.0 - npm: 11.14.1 + normalize-url: 9.0.1 + npm: 11.19.0 rc: 1.2.8 read-pkg: 10.1.0 registry-auth-token: 5.1.1 - semantic-release: 25.0.3(typescript@6.0.3) - semver: 7.8.0 + semantic-release: 25.0.8(typescript@6.0.3) + semver: 7.8.5 tempy: 3.2.0 - '@semantic-release/release-notes-generator@14.1.1(semantic-release@25.0.3(typescript@6.0.3))': + '@semantic-release/release-notes-generator@14.1.1(semantic-release@25.0.8(typescript@6.0.3))': dependencies: conventional-changelog-angular: 8.3.1 conventional-changelog-writer: 8.4.0 @@ -9136,7 +9582,7 @@ snapshots: import-from-esm: 2.0.0 lodash-es: 4.18.1 read-package-up: 11.0.0 - semantic-release: 25.0.3(typescript@6.0.3) + semantic-release: 25.0.8(typescript@6.0.3) transitivePeerDependencies: - supports-color @@ -9154,17 +9600,17 @@ snapshots: dependencies: tslib: 2.8.1 - '@tanstack/query-core@5.100.11': {} + '@tanstack/query-core@5.101.4': {} - '@tanstack/react-query@5.100.11(react@19.2.6)': + '@tanstack/react-query@5.101.4(react@19.2.8)': dependencies: - '@tanstack/query-core': 5.100.11 - react: 19.2.6 + '@tanstack/query-core': 5.101.4 + react: 19.2.8 '@testing-library/dom@10.4.1': dependencies: - '@babel/code-frame': 7.29.0 - '@babel/runtime': 7.29.2 + '@babel/code-frame': 7.29.7 + '@babel/runtime': 7.29.7 '@types/aria-query': 5.0.4 aria-query: 5.3.0 dom-accessibility-api: 0.5.16 @@ -9172,69 +9618,70 @@ snapshots: picocolors: 1.1.1 pretty-format: 27.5.1 - '@testing-library/jest-dom@6.9.1': + '@testing-library/jest-dom@6.10.0(@testing-library/dom@10.4.1)': dependencies: - '@adobe/css-tools': 4.4.4 + '@adobe/css-tools': 4.5.0 + '@testing-library/dom': 10.4.1 aria-query: 5.3.2 css.escape: 1.5.1 dom-accessibility-api: 0.6.3 picocolors: 1.1.1 redent: 3.0.0 - '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 '@testing-library/dom': 10.4.1 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) + '@types/react': 19.2.18 + '@types/react-dom': 19.2.4(@types/react@19.2.18) '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.1)': dependencies: '@testing-library/dom': 10.4.1 - '@trivago/prettier-plugin-sort-imports@6.0.2(prettier@3.8.3)': + '@trivago/prettier-plugin-sort-imports@6.0.2(prettier@3.9.6)': dependencies: - '@babel/generator': 7.29.1 - '@babel/parser': 7.29.3 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 + '@babel/generator': 7.29.8 + '@babel/parser': 7.29.8 + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 javascript-natural-sort: 0.7.1 lodash-es: 4.18.1 minimatch: 9.0.9 parse-imports-exports: 0.2.4 - prettier: 3.8.3 + prettier: 3.9.6 transitivePeerDependencies: - supports-color - '@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@6.0.3))(typescript@6.0.3)': + '@trpc/client@11.18.0(@trpc/server@11.18.0(typescript@6.0.3))(typescript@6.0.3)': dependencies: - '@trpc/server': 11.17.0(typescript@6.0.3) + '@trpc/server': 11.18.0(typescript@6.0.3) typescript: 6.0.3 - '@trpc/next@11.17.0(@tanstack/react-query@5.100.11(react@19.2.6))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@6.0.3))(typescript@6.0.3))(@trpc/react-query@11.17.0(@tanstack/react-query@5.100.11(react@19.2.6))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@6.0.3))(typescript@6.0.3))(@trpc/server@11.17.0(typescript@6.0.3))(react@19.2.6)(typescript@6.0.3))(@trpc/server@11.17.0(typescript@6.0.3))(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@6.0.3)': + '@trpc/next@11.18.0(@tanstack/react-query@5.101.4(react@19.2.8))(@trpc/client@11.18.0(@trpc/server@11.18.0(typescript@6.0.3))(typescript@6.0.3))(@trpc/react-query@11.18.0(@tanstack/react-query@5.101.4(react@19.2.8))(@trpc/client@11.18.0(@trpc/server@11.18.0(typescript@6.0.3))(typescript@6.0.3))(@trpc/server@11.18.0(typescript@6.0.3))(react@19.2.8)(typescript@6.0.3))(@trpc/server@11.18.0(typescript@6.0.3))(next@16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3)': dependencies: - '@trpc/client': 11.17.0(@trpc/server@11.17.0(typescript@6.0.3))(typescript@6.0.3) - '@trpc/server': 11.17.0(typescript@6.0.3) - next: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@trpc/client': 11.18.0(@trpc/server@11.18.0(typescript@6.0.3))(typescript@6.0.3) + '@trpc/server': 11.18.0(typescript@6.0.3) + next: 16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) typescript: 6.0.3 optionalDependencies: - '@tanstack/react-query': 5.100.11(react@19.2.6) - '@trpc/react-query': 11.17.0(@tanstack/react-query@5.100.11(react@19.2.6))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@6.0.3))(typescript@6.0.3))(@trpc/server@11.17.0(typescript@6.0.3))(react@19.2.6)(typescript@6.0.3) + '@tanstack/react-query': 5.101.4(react@19.2.8) + '@trpc/react-query': 11.18.0(@tanstack/react-query@5.101.4(react@19.2.8))(@trpc/client@11.18.0(@trpc/server@11.18.0(typescript@6.0.3))(typescript@6.0.3))(@trpc/server@11.18.0(typescript@6.0.3))(react@19.2.8)(typescript@6.0.3) - '@trpc/react-query@11.17.0(@tanstack/react-query@5.100.11(react@19.2.6))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@6.0.3))(typescript@6.0.3))(@trpc/server@11.17.0(typescript@6.0.3))(react@19.2.6)(typescript@6.0.3)': + '@trpc/react-query@11.18.0(@tanstack/react-query@5.101.4(react@19.2.8))(@trpc/client@11.18.0(@trpc/server@11.18.0(typescript@6.0.3))(typescript@6.0.3))(@trpc/server@11.18.0(typescript@6.0.3))(react@19.2.8)(typescript@6.0.3)': dependencies: - '@tanstack/react-query': 5.100.11(react@19.2.6) - '@trpc/client': 11.17.0(@trpc/server@11.17.0(typescript@6.0.3))(typescript@6.0.3) - '@trpc/server': 11.17.0(typescript@6.0.3) - react: 19.2.6 + '@tanstack/react-query': 5.101.4(react@19.2.8) + '@trpc/client': 11.18.0(@trpc/server@11.18.0(typescript@6.0.3))(typescript@6.0.3) + '@trpc/server': 11.18.0(typescript@6.0.3) + react: 19.2.8 typescript: 6.0.3 - '@trpc/server@11.17.0(typescript@6.0.3)': + '@trpc/server@11.18.0(typescript@6.0.3)': dependencies: typescript: 6.0.3 @@ -9244,52 +9691,84 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.28.0 '@types/babel__generator@7.27.0': dependencies: - '@babel/types': 7.29.0 + '@babel/types': 7.29.8 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 '@types/babel__traverse@7.28.0': dependencies: - '@babel/types': 7.29.0 + '@babel/types': 7.29.8 '@types/chai@5.2.3': dependencies: '@types/deep-eql': 4.0.2 assertion-error: 2.0.1 + '@types/d3-array@3.0.3': {} + '@types/d3-array@3.2.2': {} + '@types/d3-color@3.1.0': {} + '@types/d3-color@3.1.3': {} + '@types/d3-delaunay@6.0.1': {} + + '@types/d3-format@3.0.1': {} + '@types/d3-format@3.0.4': {} + '@types/d3-geo@3.1.0': + dependencies: + '@types/geojson': 7946.0.16 + + '@types/d3-geo@3.1.1': + dependencies: + '@types/geojson': 7946.0.16 + + '@types/d3-interpolate@3.0.1': + dependencies: + '@types/d3-color': 3.1.0 + '@types/d3-interpolate@3.0.4': dependencies: '@types/d3-color': 3.1.3 '@types/d3-path@3.1.1': {} + '@types/d3-scale@4.0.2': + dependencies: + '@types/d3-time': 3.0.0 + '@types/d3-scale@4.0.9': dependencies: '@types/d3-time': 3.0.4 + '@types/d3-shape@3.1.7': + dependencies: + '@types/d3-path': 3.1.1 + '@types/d3-shape@3.1.8': dependencies: '@types/d3-path': 3.1.1 + '@types/d3-time-format@2.1.0': {} + '@types/d3-time-format@4.0.3': {} + '@types/d3-time@3.0.0': {} + '@types/d3-time@3.0.4': {} '@types/d3-timer@3.0.2': {} @@ -9300,40 +9779,28 @@ snapshots: '@types/emscripten@1.41.5': {} - '@types/eslint-scope@3.7.7': - dependencies: - '@types/eslint': 9.6.1 - '@types/estree': 1.0.9 - - '@types/eslint@9.6.1': - dependencies: - '@types/estree': 1.0.9 - '@types/json-schema': 7.0.15 - '@types/esrecurse@4.3.1': {} - '@types/estree@1.0.8': {} - '@types/estree@1.0.9': {} - '@types/hoist-non-react-statics@3.3.7(@types/react@19.2.15)': + '@types/geojson@7946.0.16': {} + + '@types/hoist-non-react-statics@3.3.7(@types/react@19.2.18)': dependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.18 hoist-non-react-statics: 3.3.2 '@types/js-yaml@4.0.9': {} '@types/json-schema@7.0.15': {} + '@types/lodash@4.17.25': {} + '@types/minimist@1.2.5': {} '@types/ndarray@1.0.14': {} - '@types/node@22.19.19': - dependencies: - undici-types: 6.21.0 - - '@types/node@22.19.21': + '@types/node@22.20.1': dependencies: undici-types: 6.21.0 @@ -9343,27 +9810,27 @@ snapshots: '@types/parse-json@4.0.2': {} - '@types/pg@8.20.0': + '@types/pg@8.20.3': dependencies: - '@types/node': 22.19.19 - pg-protocol: 1.14.0 + '@types/node': 22.20.1 + pg-protocol: 1.15.0 pg-types: 2.2.0 '@types/prop-types@15.7.15': {} - '@types/react-dom@19.2.3(@types/react@19.2.15)': + '@types/react-dom@19.2.4(@types/react@19.2.18)': dependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.18 - '@types/react-reconciler@0.28.9(@types/react@19.2.15)': + '@types/react-reconciler@0.28.9(@types/react@19.2.18)': dependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.18 - '@types/react-transition-group@4.4.12(@types/react@19.2.15)': + '@types/react-transition-group@4.4.12(@types/react@19.2.18)': dependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.18 - '@types/react@19.2.15': + '@types/react@19.2.18': dependencies: csstype: 3.2.3 @@ -9377,14 +9844,14 @@ snapshots: '@types/stats.js@0.17.4': {} - '@types/three@0.173.0': + '@types/three@0.185.3': dependencies: + '@dimforge/rapier3d-compat': 0.12.0 '@tweenjs/tween.js': 23.1.3 '@types/stats.js': 0.17.4 '@types/webxr': 0.5.24 - '@webgpu/types': 0.1.70 fflate: 0.8.3 - meshoptimizer: 0.18.1 + meshoptimizer: 1.1.1 '@types/trusted-types@2.0.7': optional: true @@ -9397,137 +9864,214 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 22.19.19 + '@types/node': 22.20.1 - '@typescript-eslint/eslint-plugin@8.59.4(@typescript-eslint/parser@8.59.4(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3)': + '@typescript-eslint/eslint-plugin@8.66.0(@typescript-eslint/parser@8.66.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.59.4(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/scope-manager': 8.59.4 - '@typescript-eslint/type-utils': 8.59.4(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/utils': 8.59.4(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.59.4 - eslint: 10.4.0(jiti@2.7.0) - ignore: 7.0.5 + '@typescript-eslint/parser': 8.66.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/scope-manager': 8.66.0 + '@typescript-eslint/type-utils': 8.66.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/utils': 8.66.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.66.0 + eslint: 10.8.0(jiti@2.7.0) + ignore: 7.0.6 natural-compare: 1.4.0 ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.59.4(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3)': + '@typescript-eslint/parser@8.66.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@typescript-eslint/scope-manager': 8.59.4 - '@typescript-eslint/types': 8.59.4 - '@typescript-eslint/typescript-estree': 8.59.4(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.59.4 + '@typescript-eslint/scope-manager': 8.66.0 + '@typescript-eslint/types': 8.66.0 + '@typescript-eslint/typescript-estree': 8.66.0(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.66.0 debug: 4.4.3 - eslint: 10.4.0(jiti@2.7.0) + eslint: 10.8.0(jiti@2.7.0) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.59.4(typescript@6.0.3)': + '@typescript-eslint/project-service@8.66.0(typescript@6.0.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.59.4(typescript@6.0.3) - '@typescript-eslint/types': 8.59.4 + '@typescript-eslint/tsconfig-utils': 8.66.0(typescript@6.0.3) + '@typescript-eslint/types': 8.66.0 debug: 4.4.3 typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.59.4': + '@typescript-eslint/scope-manager@8.66.0': dependencies: - '@typescript-eslint/types': 8.59.4 - '@typescript-eslint/visitor-keys': 8.59.4 + '@typescript-eslint/types': 8.66.0 + '@typescript-eslint/visitor-keys': 8.66.0 - '@typescript-eslint/tsconfig-utils@8.59.4(typescript@6.0.3)': + '@typescript-eslint/tsconfig-utils@8.66.0(typescript@6.0.3)': dependencies: typescript: 6.0.3 - '@typescript-eslint/type-utils@8.59.4(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3)': + '@typescript-eslint/type-utils@8.66.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@typescript-eslint/types': 8.59.4 - '@typescript-eslint/typescript-estree': 8.59.4(typescript@6.0.3) - '@typescript-eslint/utils': 8.59.4(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/types': 8.66.0 + '@typescript-eslint/typescript-estree': 8.66.0(typescript@6.0.3) + '@typescript-eslint/utils': 8.66.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) debug: 4.4.3 - eslint: 10.4.0(jiti@2.7.0) + eslint: 10.8.0(jiti@2.7.0) ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.59.4': {} + '@typescript-eslint/types@8.66.0': {} - '@typescript-eslint/typescript-estree@8.59.4(typescript@6.0.3)': + '@typescript-eslint/typescript-estree@8.66.0(typescript@6.0.3)': dependencies: - '@typescript-eslint/project-service': 8.59.4(typescript@6.0.3) - '@typescript-eslint/tsconfig-utils': 8.59.4(typescript@6.0.3) - '@typescript-eslint/types': 8.59.4 - '@typescript-eslint/visitor-keys': 8.59.4 + '@typescript-eslint/project-service': 8.66.0(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.66.0(typescript@6.0.3) + '@typescript-eslint/types': 8.66.0 + '@typescript-eslint/visitor-keys': 8.66.0 debug: 4.4.3 - minimatch: 10.2.5 - semver: 7.8.0 - tinyglobby: 0.2.16 + minimatch: 10.2.6 + semver: 7.8.5 + tinyglobby: 0.2.17 ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.59.4(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3)': + '@typescript-eslint/utils@8.66.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.0(jiti@2.7.0)) - '@typescript-eslint/scope-manager': 8.59.4 - '@typescript-eslint/types': 8.59.4 - '@typescript-eslint/typescript-estree': 8.59.4(typescript@6.0.3) - eslint: 10.4.0(jiti@2.7.0) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.8.0(jiti@2.7.0)) + '@typescript-eslint/scope-manager': 8.66.0 + '@typescript-eslint/types': 8.66.0 + '@typescript-eslint/typescript-estree': 8.66.0(typescript@6.0.3) + eslint: 10.8.0(jiti@2.7.0) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.59.4': + '@typescript-eslint/visitor-keys@8.66.0': dependencies: - '@typescript-eslint/types': 8.59.4 + '@typescript-eslint/types': 8.66.0 eslint-visitor-keys: 5.0.1 - '@upstash/redis@1.38.0': + '@upstash/redis@1.38.1': dependencies: uncrypto: 0.1.3 '@use-gesture/core@10.3.1': {} - '@use-gesture/react@10.3.1(react@19.2.6)': + '@use-gesture/react@10.3.1(react@19.2.8)': dependencies: '@use-gesture/core': 10.3.1 - react: 19.2.6 + react: 19.2.8 - '@vercel/analytics@1.6.1(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0))(react@19.2.6)': + '@vercel/analytics@1.6.1(next@16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0))(react@19.2.8)': optionalDependencies: - next: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0) - react: 19.2.6 + next: 16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0) + react: 19.2.8 '@vercel/edge-config-fs@0.1.0': {} - '@vercel/edge-config@1.4.3(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0))': + '@vercel/edge-config@1.5.0(next@16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0))': dependencies: '@vercel/edge-config-fs': 0.1.0 optionalDependencies: - next: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0) + next: 16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0) - '@vercel/speed-insights@1.3.1(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0))(react@19.2.6)': + '@vercel/speed-insights@1.3.1(next@16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0))(react@19.2.8)': optionalDependencies: - next: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0) - react: 19.2.6 + next: 16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0) + react: 19.2.8 + + '@visx/curve@4.0.1-alpha.0': + dependencies: + '@visx/vendor': 4.0.0-alpha.0 + + '@visx/event@4.0.1-alpha.0': + dependencies: + '@types/react': 19.2.18 + '@visx/point': 4.0.1-alpha.0 + + '@visx/grid@4.0.1-alpha.0(react@19.2.8)': + dependencies: + '@types/react': 19.2.18 + '@visx/curve': 4.0.1-alpha.0 + '@visx/group': 4.0.1-alpha.0(react@19.2.8) + '@visx/point': 4.0.1-alpha.0 + '@visx/scale': 4.0.1-alpha.0 + '@visx/shape': 4.0.1-alpha.0(react@19.2.8) + classnames: 2.5.1 + react: 19.2.8 + + '@visx/group@4.0.1-alpha.0(react@19.2.8)': + dependencies: + '@types/react': 19.2.18 + classnames: 2.5.1 + react: 19.2.8 + + '@visx/point@4.0.1-alpha.0': {} + + '@visx/responsive@4.0.1-alpha.0(react@19.2.8)': + dependencies: + '@types/lodash': 4.17.25 + '@types/react': 19.2.18 + lodash: 4.18.1 + react: 19.2.8 + + '@visx/scale@4.0.1-alpha.0': + dependencies: + '@visx/vendor': 4.0.0-alpha.0 - '@vitejs/plugin-react@5.2.0(vite@6.4.2(@types/node@22.19.19)(jiti@2.7.0)(sass@1.90.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0))': + '@visx/shape@4.0.1-alpha.0(react@19.2.8)': dependencies: - '@babel/core': 7.29.0 - '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.29.0) + '@types/lodash': 4.17.25 + '@types/react': 19.2.18 + '@visx/curve': 4.0.1-alpha.0 + '@visx/group': 4.0.1-alpha.0(react@19.2.8) + '@visx/scale': 4.0.1-alpha.0 + '@visx/vendor': 4.0.0-alpha.0 + classnames: 2.5.1 + lodash: 4.18.1 + react: 19.2.8 + + '@visx/vendor@4.0.0-alpha.0': + dependencies: + '@types/d3-array': 3.0.3 + '@types/d3-color': 3.1.0 + '@types/d3-delaunay': 6.0.1 + '@types/d3-format': 3.0.1 + '@types/d3-geo': 3.1.0 + '@types/d3-interpolate': 3.0.1 + '@types/d3-path': 3.1.1 + '@types/d3-scale': 4.0.2 + '@types/d3-shape': 3.1.7 + '@types/d3-time': 3.0.0 + '@types/d3-time-format': 2.1.0 + d3-array: 3.2.1 + d3-color: 3.1.0 + d3-delaunay: 6.0.2 + d3-format: 3.1.0 + d3-geo: 3.1.0 + d3-interpolate: 3.0.1 + d3-path: 3.1.0 + d3-scale: 4.0.2 + d3-shape: 3.2.0 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + internmap: 2.0.3 + + '@vitejs/plugin-react@5.2.0(vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(sass@1.102.0)(terser@5.49.0)(tsx@4.23.5)(yaml@2.9.0))': + dependencies: + '@babel/core': 7.29.7 + '@babel/plugin-transform-react-jsx-self': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-jsx-source': 7.29.7(@babel/core@7.29.7) '@rolldown/pluginutils': 1.0.0-rc.3 '@types/babel__core': 7.20.5 react-refresh: 0.18.0 - vite: 6.4.2(@types/node@22.19.19)(jiti@2.7.0)(sass@1.90.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0) + vite: 6.4.3(@types/node@22.20.1)(jiti@2.7.0)(sass@1.102.0)(terser@5.49.0)(tsx@4.23.5)(yaml@2.9.0) transitivePeerDependencies: - supports-color @@ -9535,27 +10079,27 @@ snapshots: dependencies: '@bcoe/v8-coverage': 1.0.2 '@vitest/utils': 5.0.0-beta.3 - ast-v8-to-istanbul: 1.0.0 + ast-v8-to-istanbul: 1.0.5 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-reports: 3.2.0 - magicast: 0.5.3 - obug: 2.1.1 - std-env: 4.1.0 - tinyrainbow: 3.1.0 - vitest: 5.0.0-beta.3(@types/node@22.19.19)(@vitest/coverage-v8@5.0.0-beta.3)(jsdom@26.1.0)(vite@6.4.2(@types/node@22.19.19)(jiti@2.7.0)(sass@1.90.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0)) + magicast: 0.5.4 + obug: 2.1.4 + std-env: 4.2.0 + tinyrainbow: 3.1.1 + vitest: 5.0.0-beta.3(@types/node@22.20.1)(@vitest/coverage-v8@5.0.0-beta.3)(jsdom@26.1.0)(vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(sass@1.102.0)(terser@5.49.0)(tsx@4.23.5)(yaml@2.9.0)) - '@vitest/mocker@5.0.0-beta.3(vite@6.4.2(@types/node@22.19.19)(jiti@2.7.0)(sass@1.90.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0))': + '@vitest/mocker@5.0.0-beta.3(vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(sass@1.102.0)(terser@5.49.0)(tsx@4.23.5)(yaml@2.9.0))': dependencies: '@vitest/spy': 5.0.0-beta.3 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 6.4.2(@types/node@22.19.19)(jiti@2.7.0)(sass@1.90.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0) + vite: 6.4.3(@types/node@22.20.1)(jiti@2.7.0)(sass@1.102.0)(terser@5.49.0)(tsx@4.23.5)(yaml@2.9.0) '@vitest/pretty-format@5.0.0-beta.3': dependencies: - tinyrainbow: 3.1.0 + tinyrainbow: 3.1.1 '@vitest/runner@5.0.0-beta.3': dependencies: @@ -9568,12 +10112,12 @@ snapshots: dependencies: '@vitest/pretty-format': 5.0.0-beta.3 convert-source-map: 2.0.0 - tinyrainbow: 3.1.0 + tinyrainbow: 3.1.1 '@vitest/web-worker@5.0.0-beta.3(vitest@5.0.0-beta.3)': dependencies: - obug: 2.1.1 - vitest: 5.0.0-beta.3(@types/node@22.19.19)(@vitest/coverage-v8@5.0.0-beta.3)(jsdom@26.1.0)(vite@6.4.2(@types/node@22.19.19)(jiti@2.7.0)(sass@1.90.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0)) + obug: 2.1.4 + vitest: 5.0.0-beta.3(@types/node@22.20.1)(@vitest/coverage-v8@5.0.0-beta.3)(jsdom@26.1.0)(vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(sass@1.102.0)(terser@5.49.0)(tsx@4.23.5)(yaml@2.9.0)) '@webassemblyjs/ast@1.14.1': dependencies: @@ -9651,8 +10195,6 @@ snapshots: '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 - '@webgpu/types@0.1.70': {} - '@whatwg-node/disposablestack@0.0.6': dependencies: '@whatwg-node/promise-helpers': 1.3.2 @@ -9660,10 +10202,10 @@ snapshots: '@whatwg-node/fetch@0.10.13': dependencies: - '@whatwg-node/node-fetch': 0.8.5 + '@whatwg-node/node-fetch': 0.8.6 urlpattern-polyfill: 10.1.0 - '@whatwg-node/node-fetch@0.8.5': + '@whatwg-node/node-fetch@0.8.6': dependencies: '@fastify/busboy': 3.2.0 '@whatwg-node/disposablestack': 0.0.6 @@ -9696,17 +10238,11 @@ snapshots: '@zumer/snapdom@2.23.1': {} - acorn-import-phases@1.0.4(acorn@8.17.0): - dependencies: - acorn: 8.17.0 - - acorn-jsx@5.3.2(acorn@8.16.0): + acorn-jsx@5.3.2(acorn@8.18.0): dependencies: - acorn: 8.16.0 - - acorn@8.16.0: {} + acorn: 8.18.0 - acorn@8.17.0: {} + acorn@8.18.0: {} agent-base@6.0.2: dependencies: @@ -9751,7 +10287,7 @@ snapshots: ajv@8.20.0: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.1.2 + fast-uri: 3.1.5 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 @@ -9803,7 +10339,7 @@ snapshots: dependencies: '@mdn/browser-compat-data': 5.7.6 - ast-v8-to-istanbul@1.0.0: + ast-v8-to-istanbul@1.0.5: dependencies: '@jridgewell/trace-mapping': 0.3.31 estree-walker: 3.0.3 @@ -9834,10 +10370,10 @@ snapshots: aws-ssl-profiles@1.1.2: {} - axios@1.16.1: + axios@1.19.0: dependencies: follow-redirects: 1.16.0 - form-data: 4.0.5 + form-data: 4.0.6 https-proxy-agent: 5.0.1 proxy-from-env: 2.1.0 transitivePeerDependencies: @@ -9846,13 +10382,13 @@ snapshots: babel-plugin-macros@3.1.0: dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 cosmiconfig: 7.1.0 resolve: 1.22.12 babel-plugin-react-compiler@1.0.0: dependencies: - '@babel/types': 7.29.0 + '@babel/types': 7.29.8 balanced-match@1.0.2: {} @@ -9860,13 +10396,13 @@ snapshots: base64-js@1.5.1: {} - baseline-browser-mapping@2.10.31: {} + baseline-browser-mapping@2.11.12: {} before-after-hook@4.0.0: {} - better-result@2.9.2: {} + better-result@2.10.0: {} - bezier-easing@2.1.0: {} + bezier-easing@3.0.1: {} bidi-js@1.0.3: dependencies: @@ -9882,11 +10418,11 @@ snapshots: bottleneck@2.19.5: {} - brace-expansion@2.1.0: + brace-expansion@2.1.4: dependencies: balanced-match: 1.0.2 - brace-expansion@5.0.6: + brace-expansion@5.0.9: dependencies: balanced-match: 4.0.4 @@ -9894,13 +10430,13 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.28.2: + browserslist@4.28.7: dependencies: - baseline-browser-mapping: 2.10.31 - caniuse-lite: 1.0.30001793 - electron-to-chromium: 1.5.359 - node-releases: 2.0.44 - update-browserslist-db: 1.2.3(browserslist@4.28.2) + baseline-browser-mapping: 2.11.12 + caniuse-lite: 1.0.30001806 + electron-to-chromium: 1.5.399 + node-releases: 2.0.51 + update-browserslist-db: 1.2.3(browserslist@4.28.7) buffer-from@0.1.2: {} @@ -9922,14 +10458,14 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - c12@3.3.4(magicast@0.5.3): + c12@3.3.4(magicast@0.5.4): dependencies: chokidar: 5.0.0 confbox: 0.2.4 defu: 6.1.7 dotenv: 17.4.2 - exsolve: 1.0.8 - giget: 3.2.0 + exsolve: 1.1.1 + giget: 3.3.1 jiti: 2.7.0 ohash: 2.0.11 pathe: 2.0.3 @@ -9937,7 +10473,7 @@ snapshots: pkg-types: 2.3.1 rc9: 3.0.1 optionalDependencies: - magicast: 0.5.3 + magicast: 0.5.4 call-bind-apply-helpers@1.0.2: dependencies: @@ -9963,11 +10499,11 @@ snapshots: pascal-case: 3.1.2 tslib: 2.8.1 - camera-controls@3.1.2(three@0.183.2): + camera-controls@3.1.2(three@0.185.1): dependencies: - three: 0.183.2 + three: 0.185.1 - caniuse-lite@1.0.30001793: {} + caniuse-lite@1.0.30001806: {} capital-case@1.0.4: dependencies: @@ -10020,15 +10556,7 @@ snapshots: char-regex@1.0.2: {} - chardet@2.1.1: {} - - chart.js@4.5.1: - dependencies: - '@kurkle/color': 0.3.4 - - chokidar@4.0.3: - dependencies: - readdirp: 4.1.2 + chardet@2.2.0: {} chokidar@5.0.0: dependencies: @@ -10036,6 +10564,8 @@ snapshots: chrome-trace-event@1.0.4: {} + classnames@2.5.1: {} + clean-stack@2.2.0: {} clean-stack@5.3.0: @@ -10057,7 +10587,7 @@ snapshots: mz: 2.7.0 parse5: 5.1.1 parse5-htmlparser2-tree-adapter: 6.0.1 - yargs: 16.2.0 + yargs: 16.2.2 cli-spinners@2.9.2: {} @@ -10171,7 +10701,7 @@ snapshots: conventional-commits-filter: 5.0.0 handlebars: 4.7.9 meow: 13.2.0 - semver: 7.8.0 + semver: 7.8.5 conventional-commits-filter@5.0.0: {} @@ -10190,11 +10720,11 @@ snapshots: cookie@1.1.1: {} - cookies-next@6.1.1(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0))(react@19.2.6): + cookies-next@6.1.1(next@16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0))(react@19.2.8): dependencies: cookie: 1.1.1 - next: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0) - react: 19.2.6 + next: 16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0) + react: 19.2.8 copy-anything@4.0.5: dependencies: @@ -10213,17 +10743,17 @@ snapshots: cosmiconfig@8.3.6(typescript@6.0.3): dependencies: import-fresh: 3.3.1 - js-yaml: 4.1.1 + js-yaml: 4.3.1 parse-json: 5.2.0 path-type: 4.0.0 optionalDependencies: typescript: 6.0.3 - cosmiconfig@9.0.1(typescript@6.0.3): + cosmiconfig@9.0.2(typescript@6.0.3): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 - js-yaml: 4.1.1 + js-yaml: 4.3.1 parse-json: 5.2.0 optionalDependencies: typescript: 6.0.3 @@ -10276,14 +10806,32 @@ snapshots: dependencies: uniq: 1.0.1 + d3-array@3.2.1: + dependencies: + internmap: 2.0.3 + d3-array@3.2.4: dependencies: internmap: 2.0.3 d3-color@3.1.0: {} + d3-delaunay@6.0.2: + dependencies: + delaunator: 5.1.0 + + d3-format@3.1.0: {} + d3-format@3.1.2: {} + d3-geo@3.1.0: + dependencies: + d3-array: 3.2.4 + + d3-geo@3.1.1: + dependencies: + d3-array: 3.2.4 + d3-interpolate@3.0.1: dependencies: d3-color: 3.1.0 @@ -10321,7 +10869,7 @@ snapshots: dataloader@2.2.3: {} - dayjs@1.11.20: {} + dayjs@1.11.21: {} debounce@1.2.1: {} @@ -10355,6 +10903,10 @@ snapshots: defu@6.1.7: {} + delaunator@5.1.0: + dependencies: + robust-predicates: 3.0.3 + delayed-stream@1.0.0: {} denque@2.1.0: {} @@ -10385,7 +10937,7 @@ snapshots: dom-helpers@5.2.1: dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 csstype: 3.2.3 dom-serializer@2.0.0: @@ -10394,13 +10946,25 @@ snapshots: domhandler: 5.0.3 entities: 4.5.0 + dom-serializer@3.1.1: + dependencies: + domelementtype: 3.0.0 + domhandler: 6.0.1 + entities: 8.0.0 + domelementtype@2.3.0: {} + domelementtype@3.0.0: {} + domhandler@5.0.3: dependencies: domelementtype: 2.3.0 - dompurify@3.2.7: + domhandler@6.0.1: + dependencies: + domelementtype: 3.0.0 + + dompurify@3.4.8: optionalDependencies: '@types/trusted-types': 2.0.7 @@ -10410,6 +10974,12 @@ snapshots: domelementtype: 2.3.0 domhandler: 5.0.3 + domutils@4.0.2: + dependencies: + dom-serializer: 3.1.1 + domelementtype: 3.0.0 + domhandler: 6.0.1 + dot-case@3.0.4: dependencies: no-case: 3.0.4 @@ -10444,7 +11014,9 @@ snapshots: '@standard-schema/spec': 1.1.0 fast-check: 3.23.2 - electron-to-chromium@1.5.359: {} + electron-to-chromium@1.5.399: {} + + elkjs@0.11.1: {} emoji-regex@10.6.0: {} @@ -10456,7 +11028,7 @@ snapshots: empathic@2.0.0: {} - enhanced-resolve@5.24.0: + enhanced-resolve@5.24.5: dependencies: graceful-fs: 4.2.11 tapable: 2.3.3 @@ -10467,6 +11039,8 @@ snapshots: entities@7.0.1: {} + entities@8.0.0: {} + env-ci@11.2.0: dependencies: execa: 8.0.1 @@ -10486,15 +11060,15 @@ snapshots: es-errors@1.3.0: {} - es-guard@1.20.0(jiti@2.7.0)(prettier@3.8.3): + es-guard@1.20.0(jiti@2.7.0)(prettier@3.9.6): dependencies: - '@babel/code-frame': 7.29.0 - '@trivago/prettier-plugin-sort-imports': 6.0.2(prettier@3.8.3) - baseline-browser-mapping: 2.10.31 + '@babel/code-frame': 7.29.7 + '@trivago/prettier-plugin-sort-imports': 6.0.2(prettier@3.9.6) + baseline-browser-mapping: 2.11.12 chalk: 5.6.2 commander: 14.0.3 - eslint: 10.4.0(jiti@2.7.0) - eslint-plugin-compat: 7.0.2(eslint@10.4.0(jiti@2.7.0)) + eslint: 10.8.0(jiti@2.7.0) + eslint-plugin-compat: 7.0.2(eslint@10.8.0(jiti@2.7.0)) source-map: 0.7.6 strip-json-comments: 5.0.3 transitivePeerDependencies: @@ -10506,9 +11080,9 @@ snapshots: - supports-color - svelte - es-module-lexer@2.1.0: {} + es-module-lexer@2.3.1: {} - es-object-atoms@1.1.1: + es-object-atoms@1.1.2: dependencies: es-errors: 1.3.0 @@ -10517,7 +11091,7 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.3.0 has-tostringtag: 1.0.2 - hasown: 2.0.3 + hasown: 2.0.4 esbuild@0.25.12: optionalDependencies: @@ -10585,47 +11159,46 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-config-prettier@10.1.8(eslint@10.4.0(jiti@2.7.0)): + eslint-config-prettier@10.1.8(eslint@10.8.0(jiti@2.7.0)): dependencies: - eslint: 10.4.0(jiti@2.7.0) + eslint: 10.8.0(jiti@2.7.0) - eslint-plugin-compat@7.0.2(eslint@10.4.0(jiti@2.7.0)): + eslint-plugin-compat@7.0.2(eslint@10.8.0(jiti@2.7.0)): dependencies: '@mdn/browser-compat-data': 6.1.5 ast-metadata-inferer: 0.8.1 - browserslist: 4.28.2 - eslint: 10.4.0(jiti@2.7.0) + browserslist: 4.28.7 + eslint: 10.8.0(jiti@2.7.0) find-up: 5.0.0 globals: 15.15.0 lodash.memoize: 4.1.2 - semver: 7.8.0 + semver: 7.8.5 - eslint-plugin-prettier@5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.4.0(jiti@2.7.0)))(eslint@10.4.0(jiti@2.7.0))(prettier@3.8.3): + eslint-plugin-prettier@5.5.6(eslint-config-prettier@10.1.8(eslint@10.8.0(jiti@2.7.0)))(eslint@10.8.0(jiti@2.7.0))(prettier@3.9.6): dependencies: - eslint: 10.4.0(jiti@2.7.0) - prettier: 3.8.3 + eslint: 10.8.0(jiti@2.7.0) + prettier: 3.9.6 prettier-linter-helpers: 1.0.1 - synckit: 0.11.12 + synckit: 0.11.13 optionalDependencies: - '@types/eslint': 9.6.1 - eslint-config-prettier: 10.1.8(eslint@10.4.0(jiti@2.7.0)) + eslint-config-prettier: 10.1.8(eslint@10.8.0(jiti@2.7.0)) - eslint-plugin-react-hooks@7.1.1(eslint@10.4.0(jiti@2.7.0)): + eslint-plugin-react-hooks@7.1.1(eslint@10.8.0(jiti@2.7.0)): dependencies: - '@babel/core': 7.29.0 - '@babel/parser': 7.29.3 - eslint: 10.4.0(jiti@2.7.0) + '@babel/core': 7.29.7 + '@babel/parser': 7.29.8 + eslint: 10.8.0(jiti@2.7.0) hermes-parser: 0.25.1 zod: 4.4.3 zod-validation-error: 4.0.2(zod@4.4.3) transitivePeerDependencies: - supports-color - eslint-plugin-testing-library@7.16.2(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3): + eslint-plugin-testing-library@7.16.2(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3): dependencies: - '@typescript-eslint/scope-manager': 8.59.4 - '@typescript-eslint/utils': 8.59.4(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3) - eslint: 10.4.0(jiti@2.7.0) + '@typescript-eslint/scope-manager': 8.66.0 + '@typescript-eslint/utils': 8.66.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + eslint: 10.8.0(jiti@2.7.0) transitivePeerDependencies: - supports-color - typescript @@ -10646,14 +11219,14 @@ snapshots: eslint-visitor-keys@5.0.1: {} - eslint@10.4.0(jiti@2.7.0): + eslint@10.8.0(jiti@2.7.0): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.0(jiti@2.7.0)) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.8.0(jiti@2.7.0)) '@eslint-community/regexpp': 4.12.2 '@eslint/config-array': 0.23.5 - '@eslint/config-helpers': 0.6.0 + '@eslint/config-helpers': 0.7.0 '@eslint/core': 1.2.1 - '@eslint/plugin-kit': 0.7.1 + '@eslint/plugin-kit': 0.7.2 '@humanfs/node': 0.16.8 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 @@ -10675,7 +11248,7 @@ snapshots: imurmurhash: 0.1.4 is-glob: 4.0.3 json-stable-stringify-without-jsonify: 1.0.1 - minimatch: 10.2.5 + minimatch: 10.2.6 natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: @@ -10685,8 +11258,8 @@ snapshots: espree@11.2.0: dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) + acorn: 8.18.0 + acorn-jsx: 5.3.2(acorn@8.18.0) eslint-visitor-keys: 5.0.1 esquery@1.7.0: @@ -10750,17 +11323,17 @@ snapshots: pretty-ms: 9.3.0 signal-exit: 4.1.0 strip-final-newline: 4.0.0 - yoctocolors: 2.1.2 + yoctocolors: 2.2.0 - expect-type@1.3.0: {} + expect-type@1.4.0: {} - exsolve@1.0.8: {} + exsolve@1.1.1: {} fast-check@3.23.2: dependencies: pure-rand: 6.1.0 - fast-content-type-parse@3.0.0: {} + fast-decode-uri-component@1.0.1: {} fast-deep-equal@3.1.3: {} @@ -10786,22 +11359,26 @@ snapshots: fast-levenshtein@2.0.6: {} - fast-uri@3.1.2: {} + fast-querystring@1.1.2: + dependencies: + fast-decode-uri-component: 1.0.1 + + fast-uri@3.1.5: {} fastq@1.20.1: dependencies: reusify: 1.1.0 - fdir@6.5.0(picomatch@4.0.4): + fdir@6.5.0(picomatch@4.0.5): optionalDependencies: - picomatch: 4.0.4 + picomatch: 4.0.5 fetch-blob@3.2.0: dependencies: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 - fflate@0.6.10: {} + fflate@0.6.11: {} fflate@0.8.3: {} @@ -10825,6 +11402,12 @@ snapshots: dependencies: to-regex-range: 5.0.1 + find-my-way@9.7.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-querystring: 1.1.2 + safe-regex2: 5.1.1 + find-root@1.1.0: {} find-up-simple@1.0.1: {} @@ -10850,12 +11433,12 @@ snapshots: flat-cache@4.0.1: dependencies: - flatted: 3.4.2 + flatted: 3.4.4 keyv: 4.5.4 - flatqueue@3.0.0: {} + flatqueue@3.1.0: {} - flatted@3.4.2: {} + flatted@3.4.4: {} follow-redirects@1.16.0: {} @@ -10868,33 +11451,33 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - form-data@4.0.5: + form-data@4.0.6: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 es-set-tostringtag: 2.1.0 - hasown: 2.0.3 + hasown: 2.0.4 mime-types: 2.1.35 formdata-polyfill@4.0.10: dependencies: fetch-blob: 3.2.0 - formik@2.4.9(@types/react@19.2.15)(react@19.2.6): + formik@2.4.9(@types/react@19.2.18)(react@19.2.8): dependencies: - '@types/hoist-non-react-statics': 3.3.7(@types/react@19.2.15) + '@types/hoist-non-react-statics': 3.3.7(@types/react@19.2.18) deepmerge: 2.2.1 hoist-non-react-statics: 3.3.2 lodash: 4.18.1 lodash-es: 4.18.1 - react: 19.2.6 + react: 19.2.8 react-fast-compare: 2.0.4 tiny-warning: 1.0.3 tslib: 2.8.1 transitivePeerDependencies: - '@types/react' - fs-extra@11.3.5: + fs-extra@11.4.0: dependencies: graceful-fs: 4.2.11 jsonfile: 6.2.1 @@ -10924,12 +11507,12 @@ snapshots: call-bind-apply-helpers: 1.0.2 es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 function-bind: 1.1.2 get-proto: 1.0.1 gopd: 1.2.0 has-symbols: 1.1.0 - hasown: 2.0.3 + hasown: 2.0.4 math-intrinsics: 1.1.0 get-port-please@3.2.0: {} @@ -10937,7 +11520,7 @@ snapshots: get-proto@1.0.1: dependencies: dunder-proto: 1.0.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 get-stream@6.0.1: {} @@ -10948,7 +11531,7 @@ snapshots: '@sec-ant/readable-stream': 0.4.1 is-stream: 4.0.1 - giget@3.2.0: {} + giget@3.3.1: {} git-log-parser@1.2.1: dependencies: @@ -10967,8 +11550,6 @@ snapshots: dependencies: is-glob: 4.0.3 - glob-to-regexp@0.4.1: {} - globals@15.15.0: {} globby@11.1.0: @@ -11018,22 +11599,22 @@ snapshots: graceful-fs@4.2.11: {} - grammex@3.1.12: {} + grammex@3.1.13: {} graphmatch@1.1.1: {} - graphql-config@5.1.6(@types/node@22.19.19)(graphql@16.14.0)(typescript@6.0.3): + graphql-config@5.1.6(@types/node@22.20.1)(graphql@16.14.0)(typescript@6.0.3): dependencies: - '@graphql-tools/graphql-file-loader': 8.1.14(graphql@16.14.0) - '@graphql-tools/json-file-loader': 8.0.28(graphql@16.14.0) - '@graphql-tools/load': 8.1.10(graphql@16.14.0) - '@graphql-tools/merge': 9.1.9(graphql@16.14.0) - '@graphql-tools/url-loader': 9.1.2(@types/node@22.19.19)(graphql@16.14.0) - '@graphql-tools/utils': 11.1.0(graphql@16.14.0) + '@graphql-tools/graphql-file-loader': 8.1.18(graphql@16.14.0) + '@graphql-tools/json-file-loader': 8.0.32(graphql@16.14.0) + '@graphql-tools/load': 8.1.15(graphql@16.14.0) + '@graphql-tools/merge': 9.2.2(graphql@16.14.0) + '@graphql-tools/url-loader': 9.1.6(@types/node@22.20.1)(graphql@16.14.0) + '@graphql-tools/utils': 11.2.2(graphql@16.14.0) cosmiconfig: 8.3.6(typescript@6.0.3) graphql: 16.14.0 jiti: 2.7.0 - minimatch: 10.2.5 + minimatch: 10.2.6 string-env-interpolation: 1.0.1 tslib: 2.8.1 transitivePeerDependencies: @@ -11052,16 +11633,16 @@ snapshots: transitivePeerDependencies: - encoding - graphql-tag@2.12.6(graphql@16.14.0): + graphql-tag@2.12.7(graphql@16.14.0): dependencies: graphql: 16.14.0 tslib: 2.8.1 - graphql-ws@6.0.8(graphql@16.14.0)(ws@8.20.1): + graphql-ws@6.2.0(graphql@16.14.0)(ws@8.21.1): dependencies: graphql: 16.14.0 optionalDependencies: - ws: 8.20.1 + ws: 8.21.1 graphql@16.14.0: {} @@ -11088,7 +11669,7 @@ snapshots: dependencies: has-symbols: 1.1.0 - hasown@2.0.3: + hasown@2.0.4: dependencies: function-bind: 1.1.2 @@ -11111,8 +11692,6 @@ snapshots: dependencies: react-is: 16.13.1 - hono@4.12.21: {} - hook-std@4.0.0: {} hosted-git-info@7.0.2: @@ -11121,7 +11700,7 @@ snapshots: hosted-git-info@9.0.3: dependencies: - lru-cache: 11.4.0 + lru-cache: 11.5.2 html-encoding-sniffer@4.0.0: dependencies: @@ -11144,6 +11723,13 @@ snapshots: domutils: 3.2.2 entities: 7.0.1 + htmlparser2@12.0.0: + dependencies: + domelementtype: 3.0.0 + domhandler: 6.0.1 + domutils: 4.0.2 + entities: 8.0.0 + http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.4 @@ -11151,15 +11737,15 @@ snapshots: transitivePeerDependencies: - supports-color - http-proxy-agent@9.0.0: + http-proxy-agent@9.1.0: dependencies: agent-base: 9.0.0 debug: 4.4.3 + proxy-agent-negotiate: 1.1.0 transitivePeerDependencies: + - kerberos - supports-color - http-status-codes@2.3.0: {} - https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 @@ -11174,11 +11760,13 @@ snapshots: transitivePeerDependencies: - supports-color - https-proxy-agent@9.0.0: + https-proxy-agent@9.1.0: dependencies: agent-base: 9.0.0 debug: 4.4.3 + proxy-agent-negotiate: 1.1.0 transitivePeerDependencies: + - kerberos - supports-color human-signals@2.1.0: {} @@ -11193,7 +11781,7 @@ snapshots: dependencies: safer-buffer: 2.1.2 - iconv-lite@0.7.2: + iconv-lite@0.7.3: dependencies: safer-buffer: 2.1.2 @@ -11203,13 +11791,13 @@ snapshots: ignore@5.3.2: {} - ignore@7.0.5: {} + ignore@7.0.6: {} immediate@3.0.6: {} - immer@11.1.8: {} + immer@11.1.15: {} - immutable@5.1.5: {} + immutable@5.1.9: {} import-fresh@3.3.1: dependencies: @@ -11239,9 +11827,9 @@ snapshots: ini@1.3.8: {} - inquirer@8.2.7(@types/node@22.19.19): + inquirer@8.2.7(@types/node@22.20.1): dependencies: - '@inquirer/external-editor': 1.0.3(@types/node@22.19.19) + '@inquirer/external-editor': 1.0.3(@types/node@22.20.1) ansi-escapes: 4.3.2 chalk: 4.1.2 cli-cursor: 3.1.0 @@ -11287,7 +11875,7 @@ snapshots: is-core-module@2.16.2: dependencies: - hasown: 2.0.3 + hasown: 2.0.4 is-extglob@2.1.1: {} @@ -11336,7 +11924,7 @@ snapshots: call-bound: 1.0.4 gopd: 1.2.0 has-tostringtag: 1.0.2 - hasown: 2.0.3 + hasown: 2.0.4 is-relative@1.0.0: dependencies: @@ -11350,7 +11938,7 @@ snapshots: is-typed-array@1.1.15: dependencies: - which-typed-array: 1.1.20 + which-typed-array: 1.1.22 is-unc-path@1.0.0: dependencies: @@ -11376,13 +11964,13 @@ snapshots: isexe@2.0.0: {} - isomorphic-ws@5.0.0(ws@8.20.1): + isomorphic-ws@5.0.0(ws@8.21.1): dependencies: - ws: 8.20.1 + ws: 8.21.1 - isows@1.0.7(ws@8.20.1): + isows@1.0.7(ws@8.21.1): dependencies: - ws: 8.20.1 + ws: 8.21.1 issue-parser@7.0.2: dependencies: @@ -11405,10 +11993,10 @@ snapshots: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - its-fine@2.0.0(@types/react@19.2.15)(react@19.2.6): + its-fine@2.0.0(@types/react@19.2.18)(react@19.2.8): dependencies: - '@types/react-reconciler': 0.28.9(@types/react@19.2.15) - react: 19.2.6 + '@types/react-reconciler': 0.28.9(@types/react@19.2.18) + react: 19.2.8 transitivePeerDependencies: - '@types/react' @@ -11418,7 +12006,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 22.19.21 + '@types/node': 22.20.1 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -11428,13 +12016,13 @@ snapshots: jmespath@0.16.0: {} - joi@18.2.1: + joi@18.2.3: dependencies: '@hapi/address': 5.1.1 '@hapi/formula': 3.0.2 '@hapi/hoek': 11.0.7 '@hapi/pinpoint': 2.0.1 - '@hapi/tlds': 1.1.6 + '@hapi/tlds': 1.1.7 '@hapi/topo': 6.0.2 '@standard-schema/spec': 1.1.0 @@ -11446,7 +12034,7 @@ snapshots: js-tokens@4.0.0: {} - js-yaml@4.1.1: + js-yaml@4.3.1: dependencies: argparse: 2.0.1 @@ -11460,12 +12048,12 @@ snapshots: cssstyle: 4.6.0 data-urls: 5.0.0 decimal.js: 10.6.0 - form-data: 4.0.5 + form-data: 4.0.6 html-encoding-sniffer: 4.0.0 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.23 + nwsapi: 2.2.24 parse5: 7.3.0 rrweb-cssom: 0.7.1 saxes: 6.0.0 @@ -11476,7 +12064,7 @@ snapshots: whatwg-encoding: 3.1.1 whatwg-mimetype: 4.0.0 whatwg-url: 14.2.0 - ws: 8.20.1 + ws: 8.21.1 xml-name-validator: 5.0.0 transitivePeerDependencies: - bufferutil @@ -11493,7 +12081,7 @@ snapshots: http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.23 + nwsapi: 2.2.24 parse5: 7.3.0 rrweb-cssom: 0.8.0 saxes: 6.0.0 @@ -11504,7 +12092,7 @@ snapshots: whatwg-encoding: 3.1.1 whatwg-mimetype: 4.0.0 whatwg-url: 14.2.0 - ws: 8.20.1 + ws: 8.21.1 xml-name-validator: 5.0.0 transitivePeerDependencies: - bufferutil @@ -11532,7 +12120,7 @@ snapshots: remedial: 1.0.8 remove-trailing-spaces: 1.0.9 - json-with-bigint@3.5.8: {} + json-with-bigint@3.5.10: {} json5@2.2.3: {} @@ -11552,7 +12140,7 @@ snapshots: launder@1.7.1: dependencies: - dayjs: 1.11.20 + dayjs: 1.11.21 levn@0.4.1: dependencies: @@ -11581,7 +12169,7 @@ snapshots: lilconfig: 3.1.3 listr2: 8.3.3 micromatch: 4.0.8 - pidtree: 0.6.0 + pidtree: 0.6.1 string-argv: 0.3.2 yaml: 2.9.0 transitivePeerDependencies: @@ -11614,8 +12202,6 @@ snapshots: pify: 3.0.0 strip-bom: 3.0.0 - loader-runner@4.3.2: {} - loader-utils@2.0.4: dependencies: big.js: 5.2.2 @@ -11691,7 +12277,7 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@11.4.0: {} + lru-cache@11.5.2: {} lru-cache@5.1.1: dependencies: @@ -11705,19 +12291,19 @@ snapshots: lz-string@1.5.0: {} - maath@0.10.8(@types/three@0.173.0)(three@0.183.2): + maath@0.10.8(@types/three@0.185.3)(three@0.185.1): dependencies: - '@types/three': 0.173.0 - three: 0.183.2 + '@types/three': 0.185.3 + three: 0.185.1 magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - magicast@0.5.3: + magicast@0.5.4: dependencies: - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 source-map-js: 1.2.1 make-asynchronous@1.1.0: @@ -11728,7 +12314,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.8.0 + semver: 7.8.5 map-cache@0.2.2: {} @@ -11757,18 +12343,18 @@ snapshots: merge2@1.4.1: {} - meros@1.3.2(@types/node@22.19.19): + meros@1.3.2(@types/node@22.20.1): optionalDependencies: - '@types/node': 22.19.19 + '@types/node': 22.20.1 - meshline@3.3.1(three@0.183.2): + meshline@3.3.1(three@0.185.1): dependencies: - three: 0.183.2 - - meshoptimizer@0.18.1: {} + three: 0.185.1 meshoptimizer@0.22.0: {} + meshoptimizer@1.1.1: {} + micromatch@4.0.8: dependencies: braces: 3.0.3 @@ -11792,19 +12378,29 @@ snapshots: min-indent@1.0.1: {} - minimatch@10.2.5: + minimatch@10.2.6: dependencies: - brace-expansion: 5.0.6 + brace-expansion: 5.0.9 minimatch@9.0.9: dependencies: - brace-expansion: 2.1.0 + brace-expansion: 2.1.4 minimist@1.2.8: {} - monaco-editor@0.55.1: + minimizer-webpack-plugin@5.6.1(esbuild@0.28.1)(webpack@5.109.2(esbuild@0.28.1)): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + terser: 5.49.0 + webpack: 5.109.2(esbuild@0.28.1) + optionalDependencies: + esbuild: 0.28.1 + + monaco-editor@0.56.0: dependencies: - dompurify: 3.2.7 + dompurify: 3.4.8 marked: 14.0.0 moo-color@1.0.3: @@ -11825,7 +12421,7 @@ snapshots: aws-ssl-profiles: 1.1.2 denque: 2.1.0 generate-function: 2.3.1 - iconv-lite: 0.7.2 + iconv-lite: 0.7.3 long: 5.3.2 lru.min: 1.1.4 named-placeholders: 1.1.6 @@ -11842,7 +12438,7 @@ snapshots: dependencies: lru.min: 1.1.4 - nanoid@3.3.12: {} + nanoid@3.3.17: {} natural-compare@1.4.0: {} @@ -11871,47 +12467,47 @@ snapshots: nerf-dart@1.0.0: {} - next-auth@4.24.14(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0))(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + next-auth@4.24.15(next@16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0))(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 '@panva/hkdf': 1.2.1 cookie: 0.7.2 jose: 4.15.9 - next: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0) + next: 16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0) oauth: 0.9.15 openid-client: 5.7.1 - preact: 10.29.2 - preact-render-to-string: 5.2.6(preact@10.29.2) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - uuid: 8.3.2 + preact: 10.29.8(preact-render-to-string@5.2.6) + preact-render-to-string: 5.2.6(preact@10.29.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + uuid: 11.1.1 - next-router-mock@1.0.5(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0))(react@19.2.6): + next-router-mock@1.0.5(next@16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0))(react@19.2.8): dependencies: - next: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0) - react: 19.2.6 + next: 16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0) + react: 19.2.8 - next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.90.0): + next@16.2.12(@babel/core@7.29.7)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(sass@1.102.0): dependencies: - '@next/env': 16.2.6 + '@next/env': 16.2.12 '@swc/helpers': 0.5.15 - baseline-browser-mapping: 2.10.31 - caniuse-lite: 1.0.30001793 + baseline-browser-mapping: 2.11.12 + caniuse-lite: 1.0.30001806 postcss: 8.4.31 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - styled-jsx: 5.1.6(@babel/core@7.29.0)(react@19.2.6) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + styled-jsx: 5.1.6(@babel/core@7.29.7)(react@19.2.8) optionalDependencies: - '@next/swc-darwin-arm64': 16.2.6 - '@next/swc-darwin-x64': 16.2.6 - '@next/swc-linux-arm64-gnu': 16.2.6 - '@next/swc-linux-arm64-musl': 16.2.6 - '@next/swc-linux-x64-gnu': 16.2.6 - '@next/swc-linux-x64-musl': 16.2.6 - '@next/swc-win32-arm64-msvc': 16.2.6 - '@next/swc-win32-x64-msvc': 16.2.6 + '@next/swc-darwin-arm64': 16.2.12 + '@next/swc-darwin-x64': 16.2.12 + '@next/swc-linux-arm64-gnu': 16.2.12 + '@next/swc-linux-arm64-musl': 16.2.12 + '@next/swc-linux-x64-gnu': 16.2.12 + '@next/swc-linux-x64-musl': 16.2.12 + '@next/swc-win32-arm64-msvc': 16.2.12 + '@next/swc-win32-x64-msvc': 16.2.12 babel-plugin-react-compiler: 1.0.0 - sass: 1.90.0 + sass: 1.102.0 sharp: 0.34.5 transitivePeerDependencies: - '@babel/core' @@ -11944,33 +12540,33 @@ snapshots: fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 - node-releases@2.0.44: {} + node-releases@2.0.51: {} normalize-package-data@6.0.2: dependencies: hosted-git-info: 7.0.2 - semver: 7.8.0 + semver: 7.8.5 validate-npm-package-license: 3.0.4 normalize-package-data@8.0.0: dependencies: hosted-git-info: 9.0.3 - semver: 7.8.0 + semver: 7.8.5 validate-npm-package-license: 3.0.4 normalize-path@2.1.1: dependencies: remove-trailing-separator: 1.1.0 - normalize-url@9.0.0: {} + normalize-url@9.0.1: {} - notistack@3.0.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + notistack@3.0.2(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: clsx: 1.2.1 csstype: 3.2.3 goober: 2.1.19(csstype@3.2.3) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) npm-run-path@4.0.1: dependencies: @@ -11985,9 +12581,9 @@ snapshots: path-key: 4.0.0 unicorn-magic: 0.3.0 - npm@11.14.1: {} + npm@11.19.0: {} - nwsapi@2.2.23: {} + nwsapi@2.2.24: {} oauth@0.9.15: {} @@ -11997,7 +12593,7 @@ snapshots: object-keys@0.4.0: {} - obug@2.1.1: {} + obug@2.1.4: {} ohash@2.0.11: {} @@ -12050,10 +12646,10 @@ snapshots: strip-ansi: 6.0.1 wcwidth: 1.0.1 - overlayscrollbars-react@0.5.6(overlayscrollbars@2.16.0)(react@19.2.6): + overlayscrollbars-react@0.5.6(overlayscrollbars@2.16.0)(react@19.2.8): dependencies: overlayscrollbars: 2.16.0 - react: 19.2.6 + react: 19.2.8 overlayscrollbars@2.16.0: {} @@ -12065,7 +12661,7 @@ snapshots: p-filter@4.1.0: dependencies: - p-map: 7.0.4 + p-map: 7.0.6 p-limit@1.3.0: dependencies: @@ -12095,7 +12691,7 @@ snapshots: dependencies: aggregate-error: 3.1.0 - p-map@7.0.4: {} + p-map@7.0.6: {} p-reduce@2.1.0: {} @@ -12131,14 +12727,14 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.29.0 + '@babel/code-frame': 7.29.7 error-ex: 1.3.4 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 parse-json@7.1.1: dependencies: - '@babel/code-frame': 7.29.0 + '@babel/code-frame': 7.29.7 error-ex: 1.3.4 json-parse-even-better-errors: 3.0.2 lines-and-columns: 2.0.4 @@ -12146,7 +12742,7 @@ snapshots: parse-json@8.3.0: dependencies: - '@babel/code-frame': 7.29.0 + '@babel/code-frame': 7.29.7 index-to-position: 1.2.0 type-fest: 4.41.0 @@ -12205,15 +12801,15 @@ snapshots: pg-cloudflare@1.4.0: optional: true - pg-connection-string@2.13.0: {} + pg-connection-string@2.14.0: {} pg-int8@1.0.1: {} - pg-pool@3.14.0(pg@8.21.0): + pg-pool@3.14.0(pg@8.22.0): dependencies: - pg: 8.21.0 + pg: 8.22.0 - pg-protocol@1.14.0: {} + pg-protocol@1.15.0: {} pg-types@2.2.0: dependencies: @@ -12223,11 +12819,11 @@ snapshots: postgres-date: 1.0.7 postgres-interval: 1.2.0 - pg@8.21.0: + pg@8.22.0: dependencies: - pg-connection-string: 2.13.0 - pg-pool: 3.14.0(pg@8.21.0) - pg-protocol: 1.14.0 + pg-connection-string: 2.14.0 + pg-pool: 3.14.0(pg@8.22.0) + pg-protocol: 1.15.0 pg-types: 2.2.0 pgpass: 1.0.5 optionalDependencies: @@ -12241,9 +12837,9 @@ snapshots: picomatch@2.3.2: {} - picomatch@4.0.4: {} + picomatch@4.0.5: {} - pidtree@0.6.0: {} + pidtree@0.6.1: {} pify@3.0.0: {} @@ -12255,20 +12851,20 @@ snapshots: pkg-types@2.3.1: dependencies: confbox: 0.2.4 - exsolve: 1.0.8 + exsolve: 1.1.1 pathe: 2.0.3 possible-typed-array-names@1.1.0: {} postcss@8.4.31: dependencies: - nanoid: 3.3.12 + nanoid: 3.3.17 picocolors: 1.1.1 source-map-js: 1.2.1 - postcss@8.5.15: + postcss@8.5.25: dependencies: - nanoid: 3.3.12 + nanoid: 3.3.17 picocolors: 1.1.1 source-map-js: 1.2.1 @@ -12288,12 +12884,14 @@ snapshots: potpack@1.0.2: {} - preact-render-to-string@5.2.6(preact@10.29.2): + preact-render-to-string@5.2.6(preact@10.29.8): dependencies: - preact: 10.29.2 + preact: 10.29.8(preact-render-to-string@5.2.6) pretty-format: 3.8.0 - preact@10.29.2: {} + preact@10.29.8(preact-render-to-string@5.2.6): + optionalDependencies: + preact-render-to-string: 5.2.6(preact@10.29.8) prelude-ls@1.2.1: {} @@ -12303,7 +12901,7 @@ snapshots: prettier@3.1.1: {} - prettier@3.8.3: {} + prettier@3.9.6: {} pretty-format@27.5.1: dependencies: @@ -12317,12 +12915,12 @@ snapshots: dependencies: parse-ms: 4.0.0 - prisma@7.8.0(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(magicast@0.5.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@6.0.3): + prisma@7.9.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(magicast@0.5.4)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3): dependencies: - '@prisma/config': 7.8.0(magicast@0.5.3) - '@prisma/dev': 0.24.3(typescript@6.0.3) - '@prisma/engines': 7.8.0 - '@prisma/studio-core': 0.27.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@prisma/config': 7.9.1(magicast@0.5.4) + '@prisma/dev': 0.24.17(typescript@6.0.3) + '@prisma/engines': 7.9.1 + '@prisma/studio-core': 0.33.0(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) mysql2: 3.15.3 postgres: 3.4.7 optionalDependencies: @@ -12359,6 +12957,8 @@ snapshots: proto-list@1.2.4: {} + proxy-agent-negotiate@1.1.0: {} + proxy-from-env@2.1.0: {} psl@1.15.0: @@ -12375,7 +12975,7 @@ snapshots: pyodide@0.29.4: dependencies: '@types/emscripten': 1.41.5 - ws: 8.20.1 + ws: 8.21.1 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -12389,11 +12989,11 @@ snapshots: raf-schd@4.0.3: {} - raw-loader@4.0.2(webpack@5.106.2(esbuild@0.28.1)): + raw-loader@4.0.2(webpack@5.109.2(esbuild@0.28.1)): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.106.2(esbuild@0.28.1) + webpack: 5.109.2(esbuild@0.28.1) rc9@3.0.1: dependencies: @@ -12407,9 +13007,9 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-dom@19.2.6(react@19.2.6): + react-dom@19.2.8(react@19.2.8): dependencies: - react: 19.2.6 + react: 19.2.8 scheduler: 0.27.0 react-fast-compare@2.0.4: {} @@ -12418,45 +13018,45 @@ snapshots: react-is@17.0.2: {} - react-is@19.2.6: {} + react-is@19.2.8: {} - react-redux@9.3.0(@types/react@19.2.15)(react@19.2.6)(redux@5.0.1): + react-redux@9.3.0(@types/react@19.2.18)(react@19.2.8)(redux@5.0.1): dependencies: '@types/use-sync-external-store': 0.0.6 - react: 19.2.6 - use-sync-external-store: 1.6.0(react@19.2.6) + react: 19.2.8 + use-sync-external-store: 1.6.0(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.18 redux: 5.0.1 react-refresh@0.18.0: {} - react-resizable-panels@4.11.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + react-resizable-panels@4.12.2(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) - react-transition-group@4.4.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + react-transition-group@4.4.5(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) - react-use-measure@2.1.7(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + react-use-measure@2.1.7(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: - react: 19.2.6 + react: 19.2.8 optionalDependencies: - react-dom: 19.2.6(react@19.2.6) + react-dom: 19.2.8(react@19.2.8) - react-virtuoso@4.18.7(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + react-virtuoso@4.18.11(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) - react@19.2.6: {} + react@19.2.8: {} read-package-up@11.0.0: dependencies: @@ -12468,7 +13068,7 @@ snapshots: dependencies: find-up-simple: 1.0.1 read-pkg: 10.1.0 - type-fest: 5.6.0 + type-fest: 5.8.0 read-pkg-up@10.1.0: dependencies: @@ -12481,7 +13081,7 @@ snapshots: '@types/normalize-package-data': 2.4.4 normalize-package-data: 8.0.0 parse-json: 8.3.0 - type-fest: 5.6.0 + type-fest: 5.8.0 unicorn-magic: 0.4.0 read-pkg@8.1.0: @@ -12522,8 +13122,6 @@ snapshots: string_decoder: 1.3.0 util-deprecate: 1.0.2 - readdirp@4.1.2: {} - readdirp@5.0.0: {} redent@3.0.0: @@ -12543,12 +13141,12 @@ snapshots: registry-auth-token@5.1.1: dependencies: - '@pnpm/npm-conf': 3.0.2 + '@pnpm/npm-conf': 3.0.3 - rehackt@0.1.0(@types/react@19.2.15)(react@19.2.6): + rehackt@0.1.0(@types/react@19.2.18)(react@19.2.8): optionalDependencies: - '@types/react': 19.2.15 - react: 19.2.6 + '@types/react': 19.2.18 + react: 19.2.8 remeda@2.33.4: {} @@ -12590,41 +13188,46 @@ snapshots: onetime: 7.0.0 signal-exit: 4.1.0 + ret@0.5.0: {} + retry@0.12.0: {} reusify@1.1.0: {} rfdc@1.4.1: {} - rollup@4.60.4: + robust-predicates@3.0.3: {} + + rollup@4.62.4: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.60.4 - '@rollup/rollup-android-arm64': 4.60.4 - '@rollup/rollup-darwin-arm64': 4.60.4 - '@rollup/rollup-darwin-x64': 4.60.4 - '@rollup/rollup-freebsd-arm64': 4.60.4 - '@rollup/rollup-freebsd-x64': 4.60.4 - '@rollup/rollup-linux-arm-gnueabihf': 4.60.4 - '@rollup/rollup-linux-arm-musleabihf': 4.60.4 - '@rollup/rollup-linux-arm64-gnu': 4.60.4 - '@rollup/rollup-linux-arm64-musl': 4.60.4 - '@rollup/rollup-linux-loong64-gnu': 4.60.4 - '@rollup/rollup-linux-loong64-musl': 4.60.4 - '@rollup/rollup-linux-ppc64-gnu': 4.60.4 - '@rollup/rollup-linux-ppc64-musl': 4.60.4 - '@rollup/rollup-linux-riscv64-gnu': 4.60.4 - '@rollup/rollup-linux-riscv64-musl': 4.60.4 - '@rollup/rollup-linux-s390x-gnu': 4.60.4 - '@rollup/rollup-linux-x64-gnu': 4.60.4 - '@rollup/rollup-linux-x64-musl': 4.60.4 - '@rollup/rollup-openbsd-x64': 4.60.4 - '@rollup/rollup-openharmony-arm64': 4.60.4 - '@rollup/rollup-win32-arm64-msvc': 4.60.4 - '@rollup/rollup-win32-ia32-msvc': 4.60.4 - '@rollup/rollup-win32-x64-gnu': 4.60.4 - '@rollup/rollup-win32-x64-msvc': 4.60.4 + '@napi-rs/lzma-linux-x64-gnu': 1.5.1 + '@rollup/rollup-android-arm-eabi': 4.62.4 + '@rollup/rollup-android-arm64': 4.62.4 + '@rollup/rollup-darwin-arm64': 4.62.4 + '@rollup/rollup-darwin-x64': 4.62.4 + '@rollup/rollup-freebsd-arm64': 4.62.4 + '@rollup/rollup-freebsd-x64': 4.62.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.62.4 + '@rollup/rollup-linux-arm-musleabihf': 4.62.4 + '@rollup/rollup-linux-arm64-gnu': 4.62.4 + '@rollup/rollup-linux-arm64-musl': 4.62.4 + '@rollup/rollup-linux-loong64-gnu': 4.62.4 + '@rollup/rollup-linux-loong64-musl': 4.62.4 + '@rollup/rollup-linux-ppc64-gnu': 4.62.4 + '@rollup/rollup-linux-ppc64-musl': 4.62.4 + '@rollup/rollup-linux-riscv64-gnu': 4.62.4 + '@rollup/rollup-linux-riscv64-musl': 4.62.4 + '@rollup/rollup-linux-s390x-gnu': 4.62.4 + '@rollup/rollup-linux-x64-gnu': 4.62.4 + '@rollup/rollup-linux-x64-musl': 4.62.4 + '@rollup/rollup-openbsd-x64': 4.62.4 + '@rollup/rollup-openharmony-arm64': 4.62.4 + '@rollup/rollup-win32-arm64-msvc': 4.62.4 + '@rollup/rollup-win32-ia32-msvc': 4.62.4 + '@rollup/rollup-win32-x64-gnu': 4.62.4 + '@rollup/rollup-win32-x64-msvc': 4.62.4 fsevents: 2.3.3 rrweb-cssom@0.7.1: @@ -12652,25 +13255,29 @@ snapshots: es-errors: 1.3.0 is-regex: 1.2.1 + safe-regex2@5.1.1: + dependencies: + ret: 0.5.0 + safer-buffer@2.1.2: {} - sanitize-html@2.17.4: + sanitize-html@2.17.6: dependencies: deepmerge: 4.3.1 escape-string-regexp: 4.0.0 - htmlparser2: 10.1.0 + htmlparser2: 12.0.0 is-plain-object: 5.0.0 launder: 1.7.1 parse-srcset: 1.0.2 - postcss: 8.5.15 + postcss: 8.5.25 - sass@1.90.0: + sass@1.102.0: dependencies: - chokidar: 4.0.3 - immutable: 5.1.5 + chokidar: 5.0.0 + immutable: 5.1.9 source-map-js: 1.2.1 optionalDependencies: - '@parcel/watcher': 2.5.6 + '@parcel/watcher': 2.6.0 sax@1.2.1: {} @@ -12695,15 +13302,15 @@ snapshots: scuid@1.1.0: {} - semantic-release@25.0.3(typescript@6.0.3): + semantic-release@25.0.8(typescript@6.0.3): dependencies: - '@semantic-release/commit-analyzer': 13.0.1(semantic-release@25.0.3(typescript@6.0.3)) + '@semantic-release/commit-analyzer': 13.0.1(semantic-release@25.0.8(typescript@6.0.3)) '@semantic-release/error': 4.0.0 - '@semantic-release/github': 12.0.8(semantic-release@25.0.3(typescript@6.0.3)) - '@semantic-release/npm': 13.1.5(semantic-release@25.0.3(typescript@6.0.3)) - '@semantic-release/release-notes-generator': 14.1.1(semantic-release@25.0.3(typescript@6.0.3)) + '@semantic-release/github': 12.0.9(semantic-release@25.0.8(typescript@6.0.3)) + '@semantic-release/npm': 13.1.5(semantic-release@25.0.8(typescript@6.0.3)) + '@semantic-release/release-notes-generator': 14.1.1(semantic-release@25.0.8(typescript@6.0.3)) aggregate-error: 5.0.0 - cosmiconfig: 9.0.1(typescript@6.0.3) + cosmiconfig: 9.0.2(typescript@6.0.3) debug: 4.4.3 env-ci: 11.2.0 execa: 9.6.1 @@ -12722,10 +13329,11 @@ snapshots: p-reduce: 3.0.0 read-package-up: 12.0.0 resolve-from: 5.0.0 - semver: 7.8.0 + semver: 7.8.5 signale: 1.4.0 - yargs: 18.0.0 + yargs: 18.1.0 transitivePeerDependencies: + - kerberos - supports-color - typescript @@ -12733,7 +13341,7 @@ snapshots: semver@6.3.1: {} - semver@7.8.0: {} + semver@7.8.5: {} sentence-case@3.0.4: dependencies: @@ -12756,7 +13364,7 @@ snapshots: dependencies: color: 4.2.3 detect-libc: 2.1.2 - semver: 7.8.0 + semver: 7.8.5 optionalDependencies: '@img/sharp-darwin-arm64': 0.33.5 '@img/sharp-darwin-x64': 0.33.5 @@ -12782,7 +13390,7 @@ snapshots: dependencies: '@img/colour': 1.1.0 detect-libc: 2.1.2 - semver: 7.8.0 + semver: 7.8.5 optionalDependencies: '@img/sharp-darwin-arm64': 0.34.5 '@img/sharp-darwin-x64': 0.34.5 @@ -12808,6 +13416,40 @@ snapshots: '@img/sharp-win32-arm64': 0.34.5 '@img/sharp-win32-ia32': 0.34.5 '@img/sharp-win32-x64': 0.34.5 + optional: true + + sharp@0.35.3(@types/node@22.20.1): + dependencies: + '@img/colour': 1.1.0 + detect-libc: 2.1.2 + semver: 7.8.5 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.35.3 + '@img/sharp-darwin-x64': 0.35.3 + '@img/sharp-freebsd-wasm32': 0.35.3 + '@img/sharp-libvips-darwin-arm64': 1.3.2 + '@img/sharp-libvips-darwin-x64': 1.3.2 + '@img/sharp-libvips-linux-arm': 1.3.2 + '@img/sharp-libvips-linux-arm64': 1.3.2 + '@img/sharp-libvips-linux-ppc64': 1.3.2 + '@img/sharp-libvips-linux-riscv64': 1.3.2 + '@img/sharp-libvips-linux-s390x': 1.3.2 + '@img/sharp-libvips-linux-x64': 1.3.2 + '@img/sharp-libvips-linuxmusl-arm64': 1.3.2 + '@img/sharp-libvips-linuxmusl-x64': 1.3.2 + '@img/sharp-linux-arm': 0.35.3 + '@img/sharp-linux-arm64': 0.35.3 + '@img/sharp-linux-ppc64': 0.35.3 + '@img/sharp-linux-riscv64': 0.35.3 + '@img/sharp-linux-s390x': 0.35.3 + '@img/sharp-linux-x64': 0.35.3 + '@img/sharp-linuxmusl-arm64': 0.35.3 + '@img/sharp-linuxmusl-x64': 0.35.3 + '@img/sharp-webcontainers-wasm32': 0.35.3 + '@img/sharp-win32-arm64': 0.35.3 + '@img/sharp-win32-ia32': 0.35.3 + '@img/sharp-win32-x64': 0.35.3 + '@types/node': 22.20.1 shebang-command@2.0.0: dependencies: @@ -12815,7 +13457,7 @@ snapshots: shebang-regex@3.0.0: {} - shell-quote@1.8.3: {} + shell-quote@1.10.0: {} short-uuid@6.0.3: dependencies: @@ -12917,16 +13559,16 @@ snapshots: state-local@1.0.7: {} - stats-gl@2.4.2(@types/three@0.173.0)(three@0.183.2): + stats-gl@2.4.2(@types/three@0.185.3)(three@0.185.1): dependencies: - '@types/three': 0.173.0 - three: 0.183.2 + '@types/three': 0.185.3 + three: 0.185.1 stats.js@0.17.0: {} std-env@3.10.0: {} - std-env@4.1.0: {} + std-env@4.2.0: {} stream-combiner2@1.1.1: dependencies: @@ -12949,6 +13591,11 @@ snapshots: get-east-asian-width: 1.6.0 strip-ansi: 7.2.0 + string-width@8.2.2: + dependencies: + get-east-asian-width: 1.6.0 + strip-ansi: 7.2.0 + string_decoder@0.10.31: {} string_decoder@1.1.1: @@ -12983,12 +13630,12 @@ snapshots: strip-json-comments@5.0.3: {} - styled-jsx@5.1.6(@babel/core@7.29.0)(react@19.2.6): + styled-jsx@5.1.6(@babel/core@7.29.7)(react@19.2.8): dependencies: client-only: 0.0.1 - react: 19.2.6 + react: 19.2.8 optionalDependencies: - '@babel/core': 7.29.0 + '@babel/core': 7.29.7 stylis@4.2.0: {} @@ -13021,9 +13668,9 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - suspend-react@0.1.3(react@19.2.6): + suspend-react@0.1.3(react@19.2.8): dependencies: - react: 19.2.6 + react: 19.2.8 swap-case@2.0.2: dependencies: @@ -13045,9 +13692,9 @@ snapshots: timeout-signal: 2.0.0 whatwg-mimetype: 4.0.0 - synckit@0.11.12: + synckit@0.11.13: dependencies: - '@pkgr/core': 0.2.9 + '@pkgr/core': 0.3.6 tagged-tag@1.0.0: {} @@ -13062,20 +13709,10 @@ snapshots: type-fest: 2.19.0 unique-string: 3.0.0 - terser-webpack-plugin@5.6.1(esbuild@0.28.1)(webpack@5.106.2(esbuild@0.28.1)): - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - jest-worker: 27.5.1 - schema-utils: 4.3.3 - terser: 5.48.0 - webpack: 5.106.2(esbuild@0.28.1) - optionalDependencies: - esbuild: 0.28.1 - - terser@5.48.0: + terser@5.49.0: dependencies: '@jridgewell/source-map': 0.3.11 - acorn: 8.17.0 + acorn: 8.18.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -13087,9 +13724,9 @@ snapshots: dependencies: any-promise: 1.3.0 - three-mesh-bvh@0.8.3(three@0.183.2): + three-mesh-bvh@0.8.3(three@0.185.1): dependencies: - three: 0.183.2 + three: 0.185.1 three-stdlib@2.36.1(three@0.159.0): dependencies: @@ -13097,23 +13734,23 @@ snapshots: '@types/offscreencanvas': 2019.7.3 '@types/webxr': 0.5.24 draco3d: 1.5.7 - fflate: 0.6.10 + fflate: 0.6.11 potpack: 1.0.2 three: 0.159.0 - three-stdlib@2.36.1(three@0.183.2): + three-stdlib@2.36.1(three@0.185.1): dependencies: '@types/draco3d': 1.4.10 '@types/offscreencanvas': 2019.7.3 '@types/webxr': 0.5.24 draco3d: 1.5.7 - fflate: 0.6.10 + fflate: 0.6.11 potpack: 1.0.2 - three: 0.183.2 + three: 0.185.1 three@0.159.0: {} - three@0.183.2: {} + three@0.185.1: {} through2@0.4.2: dependencies: @@ -13141,14 +13778,14 @@ snapshots: tinybench@2.9.0: {} - tinyexec@1.1.2: {} + tinyexec@1.3.0: {} - tinyglobby@0.2.16: + tinyglobby@0.2.17: dependencies: - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 + fdir: 6.5.0(picomatch@4.0.5) + picomatch: 4.0.5 - tinyrainbow@3.1.0: {} + tinyrainbow@3.1.1: {} title-case@3.0.3: dependencies: @@ -13186,17 +13823,17 @@ snapshots: traverse@0.6.8: {} - troika-three-text@0.52.4(three@0.183.2): + troika-three-text@0.52.5(three@0.185.1): dependencies: bidi-js: 1.0.3 - three: 0.183.2 - troika-three-utils: 0.52.4(three@0.183.2) + three: 0.185.1 + troika-three-utils: 0.52.5(three@0.185.1) troika-worker-utils: 0.52.0 webgl-sdf-generator: 1.1.1 - troika-three-utils@0.52.4(three@0.183.2): + troika-three-utils@0.52.5(three@0.185.1): dependencies: - three: 0.183.2 + three: 0.185.1 troika-worker-utils@0.52.0: {} @@ -13216,15 +13853,15 @@ snapshots: tslib@2.8.1: {} - tsx@4.22.3: + tsx@4.23.5: dependencies: esbuild: 0.28.1 optionalDependencies: fsevents: 2.3.3 - tunnel-rat@0.1.2(@types/react@19.2.15)(immer@11.1.8)(react@19.2.6): + tunnel-rat@0.1.2(@types/react@19.2.18)(immer@11.1.15)(react@19.2.8): dependencies: - zustand: 4.5.7(@types/react@19.2.15)(immer@11.1.8)(react@19.2.6) + zustand: 4.5.7(@types/react@19.2.18)(immer@11.1.15)(react@19.2.8) transitivePeerDependencies: - '@types/react' - immer @@ -13246,7 +13883,7 @@ snapshots: type-fest@4.41.0: {} - type-fest@5.6.0: + type-fest@5.8.0: dependencies: tagged-tag: 1.0.0 @@ -13254,13 +13891,13 @@ snapshots: dependencies: typescript: 6.0.3 - typescript-eslint@8.59.4(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3): + typescript-eslint@8.66.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.59.4(@typescript-eslint/parser@8.59.4(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/parser': 8.59.4(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/typescript-estree': 8.59.4(typescript@6.0.3) - '@typescript-eslint/utils': 8.59.4(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3) - eslint: 10.4.0(jiti@2.7.0) + '@typescript-eslint/eslint-plugin': 8.66.0(@typescript-eslint/parser@8.66.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/parser': 8.66.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/typescript-estree': 8.66.0(typescript@6.0.3) + '@typescript-eslint/utils': 8.66.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + eslint: 10.8.0(jiti@2.7.0) typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -13276,9 +13913,9 @@ snapshots: undici-types@6.21.0: {} - undici@6.25.0: {} + undici@6.28.0: {} - undici@7.25.0: {} + undici@7.29.0: {} unicode-emoji-modifier-base@1.0.0: {} @@ -13305,9 +13942,9 @@ snapshots: dependencies: normalize-path: 2.1.1 - update-browserslist-db@1.2.3(browserslist@4.28.2): + update-browserslist-db@1.2.3(browserslist@4.28.7): dependencies: - browserslist: 4.28.2 + browserslist: 4.28.7 escalade: 3.2.0 picocolors: 1.1.1 @@ -13338,9 +13975,9 @@ snapshots: urlpattern-polyfill@10.1.0: {} - use-sync-external-store@1.6.0(react@19.2.6): + use-sync-external-store@1.6.0(react@19.2.8): dependencies: - react: 19.2.6 + react: 19.2.8 util-deprecate@1.0.2: {} @@ -13350,15 +13987,15 @@ snapshots: is-arguments: 1.2.0 is-generator-function: 1.1.2 is-typed-array: 1.1.15 - which-typed-array: 1.1.20 + which-typed-array: 1.1.22 utility-types@3.11.0: {} - uuid@8.0.0: {} + uuid@11.1.1: {} - uuid@8.3.2: {} + uuid@8.0.0: {} - valibot@1.2.0(typescript@6.0.3): + valibot@1.4.2(typescript@6.0.3): optionalDependencies: typescript: 6.0.3 @@ -13367,53 +14004,53 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vite@6.4.2(@types/node@22.19.19)(jiti@2.7.0)(sass@1.90.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0): + vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(sass@1.102.0)(terser@5.49.0)(tsx@4.23.5)(yaml@2.9.0): dependencies: esbuild: 0.25.12 - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 - postcss: 8.5.15 - rollup: 4.60.4 - tinyglobby: 0.2.16 + fdir: 6.5.0(picomatch@4.0.5) + picomatch: 4.0.5 + postcss: 8.5.25 + rollup: 4.62.4 + tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 22.19.19 + '@types/node': 22.20.1 fsevents: 2.3.3 jiti: 2.7.0 - sass: 1.90.0 - terser: 5.48.0 - tsx: 4.22.3 + sass: 1.102.0 + terser: 5.49.0 + tsx: 4.23.5 yaml: 2.9.0 vitest-canvas-mock@1.1.4(vitest@5.0.0-beta.3): dependencies: cssfontparser: 1.2.1 moo-color: 1.0.3 - vitest: 5.0.0-beta.3(@types/node@22.19.19)(@vitest/coverage-v8@5.0.0-beta.3)(jsdom@26.1.0)(vite@6.4.2(@types/node@22.19.19)(jiti@2.7.0)(sass@1.90.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0)) + vitest: 5.0.0-beta.3(@types/node@22.20.1)(@vitest/coverage-v8@5.0.0-beta.3)(jsdom@26.1.0)(vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(sass@1.102.0)(terser@5.49.0)(tsx@4.23.5)(yaml@2.9.0)) - vitest@5.0.0-beta.3(@types/node@22.19.19)(@vitest/coverage-v8@5.0.0-beta.3)(jsdom@26.1.0)(vite@6.4.2(@types/node@22.19.19)(jiti@2.7.0)(sass@1.90.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0)): + vitest@5.0.0-beta.3(@types/node@22.20.1)(@vitest/coverage-v8@5.0.0-beta.3)(jsdom@26.1.0)(vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(sass@1.102.0)(terser@5.49.0)(tsx@4.23.5)(yaml@2.9.0)): dependencies: '@types/chai': 5.2.3 - '@vitest/mocker': 5.0.0-beta.3(vite@6.4.2(@types/node@22.19.19)(jiti@2.7.0)(sass@1.90.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0)) + '@vitest/mocker': 5.0.0-beta.3(vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(sass@1.102.0)(terser@5.49.0)(tsx@4.23.5)(yaml@2.9.0)) '@vitest/pretty-format': 5.0.0-beta.3 '@vitest/runner': 5.0.0-beta.3 '@vitest/spy': 5.0.0-beta.3 '@vitest/utils': 5.0.0-beta.3 chai: 6.2.2 - es-module-lexer: 2.1.0 - expect-type: 1.3.0 + es-module-lexer: 2.3.1 + expect-type: 1.4.0 magic-string: 0.30.21 - obug: 2.1.1 + obug: 2.1.4 pathe: 2.0.3 - picomatch: 4.0.4 - std-env: 4.1.0 + picomatch: 4.0.5 + std-env: 4.2.0 tinybench: 2.9.0 - tinyexec: 1.1.2 - tinyglobby: 0.2.16 - tinyrainbow: 3.1.0 - vite: 6.4.2(@types/node@22.19.19)(jiti@2.7.0)(sass@1.90.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0) + tinyexec: 1.3.0 + tinyglobby: 0.2.17 + tinyrainbow: 3.1.1 + vite: 6.4.3(@types/node@22.20.1)(jiti@2.7.0)(sass@1.102.0)(terser@5.49.0)(tsx@4.23.5)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.19.19 + '@types/node': 22.20.1 '@vitest/coverage-v8': 5.0.0-beta.3(vitest@5.0.0-beta.3) jsdom: 26.1.0 transitivePeerDependencies: @@ -13443,34 +14080,30 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-sources@3.5.0: {} + webpack-sources@3.5.1: {} - webpack@5.106.2(esbuild@0.28.1): + webpack@5.109.2(esbuild@0.28.1): dependencies: - '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.9 '@types/json-schema': 7.0.15 '@webassemblyjs/ast': 1.14.1 '@webassemblyjs/wasm-edit': 1.14.1 '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.17.0 - acorn-import-phases: 1.0.4(acorn@8.17.0) - browserslist: 4.28.2 + acorn: 8.18.0 + browserslist: 4.28.7 chrome-trace-event: 1.0.4 - enhanced-resolve: 5.24.0 - es-module-lexer: 2.1.0 + enhanced-resolve: 5.24.5 + es-module-lexer: 2.3.1 eslint-scope: 5.1.1 events: 3.3.0 - glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 - loader-runner: 4.3.2 mime-db: 1.54.0 + minimizer-webpack-plugin: 5.6.1(esbuild@0.28.1)(webpack@5.109.2(esbuild@0.28.1)) neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.3 - terser-webpack-plugin: 5.6.1(esbuild@0.28.1)(webpack@5.106.2(esbuild@0.28.1)) watchpack: 2.5.2 - webpack-sources: 3.5.0 + webpack-sources: 3.5.1 transitivePeerDependencies: - '@minify-html/node' - '@swc/core' @@ -13501,7 +14134,7 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 - which-typed-array@1.1.20: + which-typed-array@1.1.22: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.9 @@ -13542,7 +14175,7 @@ snapshots: string-width: 7.2.0 strip-ansi: 7.2.0 - ws@8.20.1: {} + ws@8.21.1: {} xml-name-validator@5.0.0: {} @@ -13579,7 +14212,7 @@ snapshots: yargs-parser@22.0.0: {} - yargs@16.2.0: + yargs@16.2.2: dependencies: cliui: 7.0.4 escalade: 3.2.0 @@ -13589,7 +14222,7 @@ snapshots: y18n: 5.0.8 yargs-parser: 20.2.9 - yargs@17.7.2: + yargs@17.7.3: dependencies: cliui: 8.0.1 escalade: 3.2.0 @@ -13599,12 +14232,12 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 - yargs@18.0.0: + yargs@18.1.0: dependencies: cliui: 9.0.1 escalade: 3.2.0 get-caller-file: 2.0.5 - string-width: 7.2.0 + string-width: 8.2.2 y18n: 5.0.8 yargs-parser: 22.0.0 @@ -13612,7 +14245,7 @@ snapshots: yocto-queue@1.2.2: {} - yoctocolors@2.1.2: {} + yoctocolors@2.2.0: {} yup@1.7.1: dependencies: @@ -13629,7 +14262,7 @@ snapshots: zeptomatch@2.1.0: dependencies: - grammex: 3.1.12 + grammex: 3.1.13 graphmatch: 1.1.1 zod-validation-error@4.0.2(zod@4.4.3): @@ -13638,17 +14271,17 @@ snapshots: zod@4.4.3: {} - zustand@4.5.7(@types/react@19.2.15)(immer@11.1.8)(react@19.2.6): + zustand@4.5.7(@types/react@19.2.18)(immer@11.1.15)(react@19.2.8): dependencies: - use-sync-external-store: 1.6.0(react@19.2.6) + use-sync-external-store: 1.6.0(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 - immer: 11.1.8 - react: 19.2.6 + '@types/react': 19.2.18 + immer: 11.1.15 + react: 19.2.8 - zustand@5.0.13(@types/react@19.2.15)(immer@11.1.8)(react@19.2.6)(use-sync-external-store@1.6.0(react@19.2.6)): + zustand@5.0.14(@types/react@19.2.18)(immer@11.1.15)(react@19.2.8)(use-sync-external-store@1.6.0(react@19.2.8)): optionalDependencies: - '@types/react': 19.2.15 - immer: 11.1.8 - react: 19.2.6 - use-sync-external-store: 1.6.0(react@19.2.6) + '@types/react': 19.2.18 + immer: 11.1.15 + react: 19.2.8 + use-sync-external-store: 1.6.0(react@19.2.8) diff --git a/src/__tests__/index.test.tsx b/src/__tests__/index.test.tsx index ac02fb91..159f9ab9 100644 --- a/src/__tests__/index.test.tsx +++ b/src/__tests__/index.test.tsx @@ -4,13 +4,14 @@ import { Provider as ReduxProvider } from "react-redux"; import { vi } from "vitest"; import { LANDING_PRIMARY_PLAYGROUND_HREF } from "#/features/homePage/lib/landingPlaygroundDemos"; +import { MarketingHomeView } from "#/features/homePage/ui/MarketingHomeView"; import { mockUseSearchParam } from "#/features/project/ui/ProjectBrowser/__tests__/testUtils"; import { ProjectBrowserProvider } from "#/features/project/ui/ProjectBrowser/ProjectBrowserContext"; import { QuestionOfTodayDocument } from "#/graphql/generated"; import en from "#/i18n/en/index"; import type { Translation } from "#/i18n/i18n-types"; -import DashboardPage from "#/pages/index"; import { withNextTRPC } from "#/shared/lib/trpc-test-decorator"; +import { I18nProvider } from "#/shared/ui/providers/I18nProvider"; import { StateThemeProvider } from "#/shared/ui/providers/StateThemeProvider"; import { makeStore } from "#/store/makeStore"; @@ -28,12 +29,11 @@ vi.mock("next-auth/react", () => { __esModule: true, ...originalModule, useSession: vi.fn(() => { - return { data: mockSession, status: "authenticated" }; // return type is [] in v3 but changed to {} in v4 + return { data: mockSession, status: "authenticated" }; }), }; }); -// Setup mocks at top level (vi.mock() must be hoisted) vi.mock("#/shared/hooks", async (importOriginal) => { // eslint-disable-next-line @typescript-eslint/consistent-type-imports const actual = await importOriginal(); @@ -65,17 +65,17 @@ const i18n = { translations: { en: en as Translation }, } as const; -const canonicalUrl = "https://dstruct.pro/"; - -describe("DashboardPage", () => { +describe("MarketingHomeView", () => { it("renders a CTA button", () => { render( - - - + + + + + , diff --git a/src/app/AppRootLayoutClient.tsx b/src/app/AppRootLayoutClient.tsx new file mode 100644 index 00000000..d4d1724b --- /dev/null +++ b/src/app/AppRootLayoutClient.tsx @@ -0,0 +1,83 @@ +"use client"; + +import { ApolloProvider } from "@apollo/client"; +import { AppRouterCacheProvider } from "@mui/material-nextjs/v16-appRouter"; +import { Analytics } from "@vercel/analytics/react"; +import { SpeedInsights } from "@vercel/speed-insights/next"; +import type { Session } from "next-auth"; +import { SessionProvider } from "next-auth/react"; +import { SnackbarProvider } from "notistack"; +import React, { type ReactNode } from "react"; +import "symbol-observable"; + +import { CookieConsentRoot } from "#/features/cookieConsent/ui/CookieConsentRoot"; +import { ProjectBrowser } from "#/features/project/ui/ProjectBrowser/ProjectBrowser"; +import { ProjectBrowserProvider } from "#/features/project/ui/ProjectBrowser/ProjectBrowserContext"; +import { apolloClient } from "#/graphql/apolloClient"; +import { type I18nProps } from "#/i18n/getI18nProps"; +import type { Locales } from "#/i18n/i18n-types"; +import { TrpcProvider } from "#/shared/trpc/TrpcProvider"; +import { SnackbarCloseButton } from "#/shared/ui/atoms/SnackbarCloseButton"; +import { AppRouterI18nProvider } from "#/shared/ui/providers/I18nProvider"; +import { StateThemeProvider } from "#/shared/ui/providers/StateThemeProvider"; +import { isSnackbarClosable } from "#/shared/ui/snackbarClosability"; +import { ReduxProvider } from "#/store/provider"; + +type AppRootLayoutClientProps = { + children: ReactNode; + i18n: I18nProps; + session: Session | null; + locale: Locales; +}; + +/** + * Mirrors `pages/_app` providers for App Router routes (default locale home). + */ +export const AppRootLayoutClient: React.FC = ({ + children, + i18n, + session, + locale, +}) => { + return ( + + + + + + + + isSnackbarClosable(snackbarKey) ? ( + + ) : null + } + classes={{ + containerAnchorOriginBottomLeft: + "snackbar-mobile-bottom-margin", + containerAnchorOriginBottomCenter: + "snackbar-mobile-bottom-margin", + containerAnchorOriginBottomRight: + "snackbar-mobile-bottom-margin", + }} + > + + + + {children} + + + + + + + + + + + + + + ); +}; diff --git a/src/app/internal-marketing/[locale]/layout.tsx b/src/app/internal-marketing/[locale]/layout.tsx new file mode 100644 index 00000000..8dac0414 --- /dev/null +++ b/src/app/internal-marketing/[locale]/layout.tsx @@ -0,0 +1,91 @@ +import type { Metadata } from "next"; +import { getServerSession } from "next-auth"; +import { notFound } from "next/navigation"; + +import type { Locales } from "#/i18n/i18n-types"; +import { locales } from "#/i18n/i18n-util"; +import { loadI18nForLocale } from "#/i18n/loadI18nForLocale"; +import { localeBareHomePath } from "#/i18n/localeBareHomePath"; +import { authOptions } from "#/pages/api/auth/[...nextauth]"; +import { + absoluteUrlFromPathname, + DEFAULT_OG_IMAGE_URL, + DEFAULT_SITE_DESCRIPTION, + SITE_HOSTNAME, + truncateMetaDescription, +} from "#/shared/lib/seo"; + +import { AppRootLayoutClient } from "#/app/AppRootLayoutClient"; + +const homeTitle = "dStruct — visualize LeetCode solutions"; + +export function generateStaticParams(): { locale: Locales }[] { + return locales.map((locale) => ({ locale })); +} + +export async function generateMetadata({ + params, +}: { + params: Promise<{ locale: string }>; +}): Promise { + const { locale: localeParam } = await params; + if (!locales.includes(localeParam as Locales)) { + return { title: homeTitle }; + } + const locale = localeParam as Locales; + const canonicalUrl = absoluteUrlFromPathname(localeBareHomePath(locale)); + const metaDescription = truncateMetaDescription(DEFAULT_SITE_DESCRIPTION); + + return { + title: homeTitle, + description: metaDescription, + alternates: { canonical: canonicalUrl }, + openGraph: { + siteName: "dStruct", + title: homeTitle, + type: "website", + url: canonicalUrl, + description: metaDescription, + images: [ + { + url: DEFAULT_OG_IMAGE_URL, + width: 1200, + height: 630, + alt: "dStruct — LeetCode solution visualizer", + }, + ], + }, + twitter: { + card: "summary_large_image", + title: homeTitle, + description: metaDescription, + images: [DEFAULT_OG_IMAGE_URL], + }, + other: { + "twitter:domain": SITE_HOSTNAME, + "twitter:url": canonicalUrl, + }, + }; +} + +export default async function InternalMarketingLocaleLayout({ + children, + params, +}: { + children: React.ReactNode; + params: Promise<{ locale: string }>; +}) { + const { locale: localeParam } = await params; + if (!locales.includes(localeParam as Locales)) { + notFound(); + } + const locale = localeParam as Locales; + const session = await getServerSession(authOptions); + const i18n = await loadI18nForLocale(locale); + + return ( + + {children} + + ); +} diff --git a/src/app/internal-marketing/[locale]/page.tsx b/src/app/internal-marketing/[locale]/page.tsx new file mode 100644 index 00000000..67743bab --- /dev/null +++ b/src/app/internal-marketing/[locale]/page.tsx @@ -0,0 +1,9 @@ +import { MarketingHomeView } from "#/features/homePage/ui/MarketingHomeView"; + +/** + * Instant Nav pilot (App Router). Public home remains Pages `pages/index` + * until locale routing leaves `next.config` `i18n`. + */ +export default function InternalMarketingHomePage() { + return ; +} diff --git a/src/app/layout.tsx b/src/app/layout.tsx new file mode 100644 index 00000000..c6b6a2bd --- /dev/null +++ b/src/app/layout.tsx @@ -0,0 +1,31 @@ +import { headers } from "next/headers"; + +import type { Locales } from "#/i18n/i18n-types"; +import { getDocumentTextDirection } from "#/i18n/localeMeta"; +import "#/shared/fonts/appFonts"; +import { fontVariableClassNames } from "#/shared/fonts/appFonts"; +import { APP_ROUTER_LOCALE_HEADER } from "#/shared/lib/appRouterLocaleHeader"; + +import "#/styles/globals.css"; + +import "overlayscrollbars/overlayscrollbars.css"; + +/** + * Minimal root shell for App Router only. Locale comes from {@link APP_ROUTER_LOCALE_HEADER} + * (set in proxy for direct `/internal-marketing/[locale]` visits). + */ +export default async function RootLayout({ + children, +}: { + children: React.ReactNode; +}) { + const headerList = await headers(); + const locale = (headerList.get(APP_ROUTER_LOCALE_HEADER) ?? "en") as Locales; + const htmlDir = getDocumentTextDirection(locale); + + return ( + + {children} + + ); +} diff --git a/src/context/I18nContext.ts b/src/context/I18nContext.ts index b6cee1f3..373df44c 100644 --- a/src/context/I18nContext.ts +++ b/src/context/I18nContext.ts @@ -1,8 +1,9 @@ import { createContext } from "react"; -import type { TranslationFunctions } from "#/i18n/i18n-types"; +import type { Locales, TranslationFunctions } from "#/i18n/i18n-types"; export type I18nContextType = { + locale: Locales; LL: { [key in keyof TranslationFunctions]: TranslationFunctions[key]; }; @@ -20,5 +21,6 @@ export const fallbackProxy = new Proxy( ) as I18nContextType["LL"]; export const I18nContext = createContext({ + locale: "en", LL: fallbackProxy, }); diff --git a/src/entities/argument/model/argumentObject.ts b/src/entities/argument/model/argumentObject.ts index 9743e6ba..a02e38ac 100644 --- a/src/entities/argument/model/argumentObject.ts +++ b/src/entities/argument/model/argumentObject.ts @@ -1,15 +1,15 @@ export enum ArgumentType { - "BINARY_TREE" = "binaryTree", - "GRAPH" = "graph", - "LINKED_LIST" = "linkedList", - "ARRAY" = "array", - "SET" = "set", - "MAP" = "map", - "OBJECT" = "object", - "MATRIX" = "matrix", - "STRING" = "string", - "NUMBER" = "number", - "BOOLEAN" = "boolean", + BINARY_TREE = "binaryTree", + GRAPH = "graph", + LINKED_LIST = "linkedList", + ARRAY = "array", + SET = "set", + MAP = "map", + OBJECT = "object", + MATRIX = "matrix", + STRING = "string", + NUMBER = "number", + BOOLEAN = "boolean", } export const argumentTreeTypeValues = new Set([ diff --git a/src/entities/argument/model/types.ts b/src/entities/argument/model/types.ts index 39015df5..e5c329c3 100644 --- a/src/entities/argument/model/types.ts +++ b/src/entities/argument/model/types.ts @@ -1,9 +1,7 @@ import type { ArgumentType } from "./argumentObject"; export type ArgumentTreeType = - | ArgumentType.BINARY_TREE - | ArgumentType.GRAPH - | ArgumentType.LINKED_LIST; + ArgumentType.BINARY_TREE | ArgumentType.GRAPH | ArgumentType.LINKED_LIST; export type ArgumentArrayType = | ArgumentType.ARRAY diff --git a/src/features/appBar/ui/MainAppBar.tsx b/src/features/appBar/ui/MainAppBar.tsx index dfad9c0e..b6f8d01d 100644 --- a/src/features/appBar/ui/MainAppBar.tsx +++ b/src/features/appBar/ui/MainAppBar.tsx @@ -27,7 +27,6 @@ import { import { signIn, useSession } from "next-auth/react"; import Image from "next/image"; import Link from "next/link"; -import { useRouter } from "next/router"; import { useSnackbar } from "notistack"; import React, { type MouseEvent, useState } from "react"; @@ -37,8 +36,8 @@ import { SidePanel } from "#/features/menuSidePanel/ui/SidePanel"; import { useMobilePlaygroundView } from "#/features/playground/hooks/useMobilePlaygroundView"; import { useProjectBrowserContext } from "#/features/project/ui/ProjectBrowser/ProjectBrowserContext"; import { appFontStackDisplay } from "#/shared/fonts/fontVariables"; +import { useI18nContext, useRoutePathname } from "#/shared/hooks"; import { useProfileImageUploader } from "#/shared/hooks"; -import { useI18nContext } from "#/shared/hooks"; import { useHasMounted } from "#/shared/hooks/useHasMounted"; import { useMobileLayout } from "#/shared/hooks/useMobileLayout"; import { getImageUrl } from "#/shared/lib"; @@ -97,8 +96,7 @@ export const MainAppBar: React.FC = ({ toolbarVariant = "dense", position = "sticky", }) => { - const router = useRouter(); - const currentPath = router.pathname; + const currentPath = useRoutePathname(); const theme = useTheme(); const isMobileLayout = useMobileLayout(); const useCompactNav = useMediaQuery(theme.breakpoints.down("lg")); diff --git a/src/features/appBar/ui/__tests__/MainAppBar.test.tsx b/src/features/appBar/ui/__tests__/MainAppBar.test.tsx index d3a89c8b..5fc31efa 100644 --- a/src/features/appBar/ui/__tests__/MainAppBar.test.tsx +++ b/src/features/appBar/ui/__tests__/MainAppBar.test.tsx @@ -19,6 +19,15 @@ vi.mock("next-auth/react", () => ({ useSession: vi.fn(), })); +vi.mock("next/compat/router", () => ({ + useRouter: vi.fn(() => ({ pathname: "/playground" })), +})); + +vi.mock("next/navigation", () => ({ + usePathname: vi.fn(() => "/playground"), + useRouter: vi.fn(() => ({ push: vi.fn() })), +})); + vi.mock("next/router", () => ({ useRouter: vi.fn(() => ({ pathname: "/playground" })), })); diff --git a/src/features/codeRunner/hooks/useSolutionParameterNames.ts b/src/features/codeRunner/hooks/useSolutionParameterNames.ts index 36a5b186..0fd30b0a 100644 --- a/src/features/codeRunner/hooks/useSolutionParameterNames.ts +++ b/src/features/codeRunner/hooks/useSolutionParameterNames.ts @@ -33,8 +33,7 @@ export const getSolutionCodeForLanguage = ( * results before CodePanel mounts). */ export const useSolutionParameterNames = (): - | readonly (string | undefined)[] - | undefined => { + readonly (string | undefined)[] | undefined => { const { projectSlug = "", solutionSlug = "" } = usePlaygroundSlugs(); const [languageParam] = useSearchParam("language", { defaultValue: "javascript", diff --git a/src/features/codeRunner/lib/executionSourceContext.ts b/src/features/codeRunner/lib/executionSourceContext.ts index 51ad74ae..767732da 100644 --- a/src/features/codeRunner/lib/executionSourceContext.ts +++ b/src/features/codeRunner/lib/executionSourceContext.ts @@ -19,8 +19,7 @@ export const setExecutionSource = ( }; export const peekExecutionSourceForFrame = (): - | SourceLocationSnapshot - | undefined => { + SourceLocationSnapshot | undefined => { if (state.line == null) return undefined; const snap: SourceLocationSnapshot = { line: state.line }; if (state.column != null) snap.column = state.column; diff --git a/src/features/codeRunner/lib/transformJsArrayLiterals.ts b/src/features/codeRunner/lib/transformJsArrayLiterals.ts index dda71a5a..09a48720 100644 --- a/src/features/codeRunner/lib/transformJsArrayLiterals.ts +++ b/src/features/codeRunner/lib/transformJsArrayLiterals.ts @@ -6,8 +6,7 @@ const ARRAY_LITERAL_HELPER = "__dstructArrayLiteral"; const ARRAY_LITERAL_NAMED_HELPER = "__dstructArrayLiteralWithName"; type InferableRhsPath = - | NodePath - | NodePath; + NodePath | NodePath; /** * Single string literal as the only element is ambiguous with `__dstructArrayLiteralWithName("label", "x")`. diff --git a/src/features/cookieConsent/ui/CookieConsentBanner.tsx b/src/features/cookieConsent/ui/CookieConsentBanner.tsx index 68cd5d02..79966010 100644 --- a/src/features/cookieConsent/ui/CookieConsentBanner.tsx +++ b/src/features/cookieConsent/ui/CookieConsentBanner.tsx @@ -12,11 +12,10 @@ import { useTheme, } from "@mui/material"; import Link from "next/link"; -import { useRouter } from "next/router"; import React from "react"; import { MOBILE_PHASE_NAV_HEIGHT } from "#/features/playground/ui/MobilePhaseNavBar"; -import { useI18nContext } from "#/shared/hooks"; +import { useI18nContext, useRoutePathname } from "#/shared/hooks"; import { useMobileLayout } from "#/shared/hooks/useMobileLayout"; import { glassOverlaySx } from "#/shared/ui/styles/glassOverlayStyles"; @@ -38,9 +37,9 @@ export const CookieConsentBanner: React.FC = ({ }) => { const { LL } = useI18nContext(); const theme = useTheme(); - const router = useRouter(); + const currentPath = useRoutePathname(); const isMobileLayout = useMobileLayout(); - const isPlaygroundRoute = router.pathname.startsWith("/playground"); + const isPlaygroundRoute = currentPath.startsWith("/playground"); const reserveMobileNavSpace = isMobileLayout && isPlaygroundRoute; return ( diff --git a/src/features/homePage/ui/MarketingHomeView.tsx b/src/features/homePage/ui/MarketingHomeView.tsx new file mode 100644 index 00000000..7de951bc --- /dev/null +++ b/src/features/homePage/ui/MarketingHomeView.tsx @@ -0,0 +1,30 @@ +"use client"; + +/** + * Marketing home UI. Public `/` uses Pages `pages/index`; App Router + * `internal-marketing/[locale]` reuses this for the Instant Nav pilot. + */ +import { useState } from "react"; + +import { HomeLandingFaq } from "#/features/homePage/ui/landing/HomeLandingFaq"; +import { HomeLandingHero } from "#/features/homePage/ui/landing/HomeLandingHero"; +import { HomeLandingSections } from "#/features/homePage/ui/landing/HomeLandingSections"; +import { useI18nContext } from "#/shared/hooks"; +import { MainLayout } from "#/shared/ui/templates/MainLayout"; + +export const MarketingHomeView: React.FC = () => { + const { LL } = useI18nContext(); + const [pageScrollViewport, setPageScrollViewport] = + useState(null); + + return ( + + + + + + ); +}; diff --git a/src/features/menuSidePanel/ui/SidePanel.tsx b/src/features/menuSidePanel/ui/SidePanel.tsx index 6a5b553e..416e88e5 100644 --- a/src/features/menuSidePanel/ui/SidePanel.tsx +++ b/src/features/menuSidePanel/ui/SidePanel.tsx @@ -13,25 +13,37 @@ import { ListSubheader, MenuItem, Select, - type SelectChangeEvent, SwipeableDrawer, Typography, useTheme, } from "@mui/material"; import { signOut, useSession } from "next-auth/react"; import Link from "next/link"; -import { useRouter } from "next/router"; -import React from "react"; +import { useRouter as useAppRouter } from "next/navigation"; +import React, { useEffect, useState } from "react"; import { useOptionalCookieConsentContext } from "#/features/cookieConsent/context/CookieConsentContext"; import type { Locales } from "#/i18n/i18n-types"; import { loadLocaleAsync } from "#/i18n/i18n-util.async"; import { localeLabels, localesForLanguagePicker } from "#/i18n/labels"; +import { localeBareHomePath } from "#/i18n/localeBareHomePath"; +import { parseSelectLocaleValue } from "#/i18n/parseSelectLocaleValue"; import { setStoredLocale } from "#/shared/browser-storage/localeStorage"; -import { useI18nContext } from "#/shared/hooks"; +import { useI18nContext, usePagesRouterCompat } from "#/shared/hooks"; import { GITHUB_URL } from "#/constants"; +/** App Router only — mounted when Pages compat router is absent. */ +const AppLocaleHomeRedirect: React.FC<{ locale: Locales }> = ({ locale }) => { + const appRouter = useAppRouter(); + + useEffect(() => { + appRouter.push(localeBareHomePath(locale)); + }, [appRouter, locale]); + + return null; +}; + type NavItemProps = { title: string; onClick?: () => void; @@ -55,8 +67,11 @@ type SidePanelProps = { }; export const SidePanel: React.FC = ({ isOpen, setIsOpen }) => { - const router = useRouter(); - const { LL } = useI18nContext(); + const pagesRouter = usePagesRouterCompat(); + const [appLocaleRedirect, setAppLocaleRedirect] = useState( + null, + ); + const { LL, locale: activeLocale } = useI18nContext(); const theme = useTheme(); const session = useSession(); const cookieConsent = useOptionalCookieConsentContext(); @@ -66,88 +81,110 @@ export const SidePanel: React.FC = ({ isOpen, setIsOpen }) => { setIsOpen(false); }; - const handleChangeLocale = async (event: SelectChangeEvent) => { - const newLocale = event.target.value as Locales; - if (newLocale !== router.locale) { - setStoredLocale(newLocale); - await loadLocaleAsync(newLocale); - void router.push(router.asPath, undefined, { locale: newLocale }); + const handleChangeLocale = async (newLocale: Locales) => { + const currentLocale = pagesRouter?.locale ?? activeLocale; + if (newLocale === currentLocale) { + return; + } + setStoredLocale(newLocale); + await loadLocaleAsync(newLocale); + if (pagesRouter) { + void pagesRouter.push(pagesRouter.asPath, undefined, { + locale: newLocale, + }); + return; } + // App Router marketing pilot: defer navigation to child (no Pages `useRouter`). + setAppLocaleRedirect(newLocale); }; return ( - setIsOpen(true)} - onClose={() => setIsOpen(false)} - slotProps={{ - paper: { - sx: { - background: alpha(theme.appDesign.surfaceHigh, 0.88), - backdropFilter: "blur(20px)", - borderLeft: `1px solid ${alpha(theme.appDesign.outline, 0.16)}`, + <> + {!pagesRouter && appLocaleRedirect ? ( + + ) : null} + setIsOpen(true)} + onClose={() => setIsOpen(false)} + slotProps={{ + paper: { + sx: { + background: alpha(theme.appDesign.surfaceHigh, 0.88), + backdropFilter: "blur(20px)", + borderLeft: `1px solid ${alpha(theme.appDesign.outline, 0.16)}`, + }, }, - }, - }} - > - - {LL.MAIN_MENU()} - } + - - - - - - signOut()} /> - + {LL.MAIN_MENU()} + } + > + + + + + + signOut()} /> + - + - {LL.SETTINGS()} - } - > - - - - - - - {LL.LANGUAGE()} - - - - - - {cookieConsent ? ( - - ) : null} - - - + {LL.SETTINGS()} + } + > + + + + + + + {LL.LANGUAGE()} + + + + + + {cookieConsent ? ( + + ) : null} + + + + ); }; diff --git a/src/features/playground/hooks/__tests__/useMobilePlaygroundView.test.tsx b/src/features/playground/hooks/__tests__/useMobilePlaygroundView.test.tsx index 8a6bff6f..0674aa27 100644 --- a/src/features/playground/hooks/__tests__/useMobilePlaygroundView.test.tsx +++ b/src/features/playground/hooks/__tests__/useMobilePlaygroundView.test.tsx @@ -1,5 +1,6 @@ import { act, renderHook, waitFor } from "@testing-library/react"; -import { type NextRouter, useRouter } from "next/router"; +import { useRouter } from "next/compat/router"; +import type { NextRouter } from "next/router"; import React from "react"; import { Provider } from "react-redux"; import { beforeEach, describe, expect, it, vi } from "vitest"; @@ -8,7 +9,7 @@ import { makeStore } from "#/store/makeStore"; import { useMobilePlaygroundView } from "../useMobilePlaygroundView"; -vi.mock("next/router", () => ({ +vi.mock("next/compat/router", () => ({ useRouter: vi.fn(), })); diff --git a/src/features/playground/hooks/useMobilePlaygroundView.ts b/src/features/playground/hooks/useMobilePlaygroundView.ts index 5b32f5e8..af8529b6 100644 --- a/src/features/playground/hooks/useMobilePlaygroundView.ts +++ b/src/features/playground/hooks/useMobilePlaygroundView.ts @@ -1,11 +1,11 @@ "use client"; -import { useRouter } from "next/router"; import { useCallback, useEffect, useMemo } from "react"; import { callstackSlice } from "#/features/callstack/model/callstackSlice"; import { projectSlice } from "#/features/project/model/projectSlice"; import { useHasMounted, usePrevious } from "#/shared/hooks"; +import { usePagesRouterCompat } from "#/shared/hooks/usePagesRouterCompat"; import { getLastPlaygroundPath, isValidLastPlaygroundPath, @@ -25,18 +25,22 @@ export type { PlaygroundView } from "./usePlaygroundViewParam"; * * - **Implicit code with a slug**: if `view` is absent, shallow `replace` adds `?view=code`. * - **Tab changes**: shallow `router.replace` (no extra history entries per tab tap). + * - Under App Router (no Pages router): returns browse defaults; no URL sync. */ export const useMobilePlaygroundView = () => { - const router = useRouter(); + const router = usePagesRouterCompat(); const dispatch = useAppDispatch(); const hasMounted = useHasMounted(); const { view, setView } = usePlaygroundViewParam(); const hasProjectSlug = useMemo(() => { + if (!router) { + return false; + } const slugs = router.query.slug; return Array.isArray(slugs) && slugs.length > 0; - }, [router.query.slug]); + }, [router]); const currentView: PlaygroundView = useMemo(() => { if (view && isPlaygroundView(view)) { @@ -62,12 +66,12 @@ export const useMobilePlaygroundView = () => { // With a project slug, default UI is Code; mirror that in the URL when `view` is omitted // (e.g. "Try it out", shared links, or `/playground/foo` without query). useEffect(() => { - if (!router.isReady) return; + if (!router?.isReady) return; if (!hasProjectSlug) return; if (view !== "") return; setView("code", { replace: true }); - }, [router.isReady, hasProjectSlug, view, setView, router]); + }, [router?.isReady, hasProjectSlug, view, setView, router]); const navigateTo = useCallback( (targetView: PlaygroundView, pathName?: string) => { diff --git a/src/features/project/ui/ProjectBrowser/__tests__/ProjectBrowserFilters.test.tsx b/src/features/project/ui/ProjectBrowser/__tests__/ProjectBrowserFilters.test.tsx index 2f3fd04e..28c9d0a6 100644 --- a/src/features/project/ui/ProjectBrowser/__tests__/ProjectBrowserFilters.test.tsx +++ b/src/features/project/ui/ProjectBrowser/__tests__/ProjectBrowserFilters.test.tsx @@ -51,6 +51,7 @@ const createMockI18n = () => { }); return { + locale: "en" as const, LL: LL as any, }; }; diff --git a/src/features/treeViewer/lib/playbackBatching.ts b/src/features/treeViewer/lib/playbackBatching.ts index 40b86f3f..fb217110 100644 --- a/src/features/treeViewer/lib/playbackBatching.ts +++ b/src/features/treeViewer/lib/playbackBatching.ts @@ -197,7 +197,7 @@ export const getPlaybackStepGroups = ( const groups: PlaybackStepGroup[] = []; const stopAtForeignSwapChild = Boolean(options?.forCallstackDisplay); - for (let i = 0; i < frames.length; ) { + for (let i = 0; i < frames.length;) { const startIndex = getNextRenderableFrameIndex(frames, i - 1); if (startIndex === -1) { break; diff --git a/src/i18n/loadI18nForLocale.ts b/src/i18n/loadI18nForLocale.ts new file mode 100644 index 00000000..67d2f6b8 --- /dev/null +++ b/src/i18n/loadI18nForLocale.ts @@ -0,0 +1,13 @@ +import { type I18nProps } from "#/i18n/getI18nProps"; +import type { Locales } from "#/i18n/i18n-types"; +import { importLocaleAsync } from "#/i18n/i18n-util.async"; + +/** + * Server-only: load one locale bundle for App Router RSC props (e.g. root layout). + */ +export async function loadI18nForLocale( + locale: Locales, +): Promise { + const translations = { [locale]: await importLocaleAsync(locale) }; + return { translations }; +} diff --git a/src/i18n/localeBareHomePath.ts b/src/i18n/localeBareHomePath.ts new file mode 100644 index 00000000..0b7a7744 --- /dev/null +++ b/src/i18n/localeBareHomePath.ts @@ -0,0 +1,32 @@ +import type { Locales } from "#/i18n/i18n-types"; + +/** + * Public marketing home path for a locale (no trailing slash except `/` for `en`). + * Static literals only — safe for navigation after {@link isLocale} validation. + */ +const LOCALE_BARE_HOME_PATH = { + ar: "/ar", + be: "/be", + de: "/de", + en: "/", + es: "/es", + fr: "/fr", + hi: "/hi", + id: "/id", + it: "/it", + ja: "/ja", + ko: "/ko", + nl: "/nl", + pl: "/pl", + pt: "/pt", + ru: "/ru", + sr: "/sr", + tr: "/tr", + uk: "/uk", + vi: "/vi", + zh: "/zh", +} as const satisfies Record; + +export function localeBareHomePath(locale: Locales): string { + return LOCALE_BARE_HOME_PATH[locale]; +} diff --git a/src/i18n/parseSelectLocaleValue.ts b/src/i18n/parseSelectLocaleValue.ts new file mode 100644 index 00000000..efc55678 --- /dev/null +++ b/src/i18n/parseSelectLocaleValue.ts @@ -0,0 +1,52 @@ +import type { Locales } from "#/i18n/i18n-types"; + +/** + * Map a language-select DOM value to a configured locale. + * Literal switch only (no path building) so navigation sinks stay CodeQL-safe. + */ +export function parseSelectLocaleValue(value: string): Locales | null { + switch (value) { + case "ar": + return "ar"; + case "be": + return "be"; + case "de": + return "de"; + case "en": + return "en"; + case "es": + return "es"; + case "fr": + return "fr"; + case "hi": + return "hi"; + case "id": + return "id"; + case "it": + return "it"; + case "ja": + return "ja"; + case "ko": + return "ko"; + case "nl": + return "nl"; + case "pl": + return "pl"; + case "pt": + return "pt"; + case "ru": + return "ru"; + case "sr": + return "sr"; + case "tr": + return "tr"; + case "uk": + return "uk"; + case "vi": + return "vi"; + case "zh": + return "zh"; + default: + return null; + } +} diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index 81313c33..101bc439 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -11,10 +11,10 @@ import { ProjectBrowser } from "#/features/project/ui/ProjectBrowser/ProjectBrow import { ProjectBrowserProvider } from "#/features/project/ui/ProjectBrowser/ProjectBrowserContext"; import { apolloClient } from "#/graphql/apolloClient"; import { type I18nProps } from "#/i18n/getI18nProps"; -import { api } from "#/shared/api"; import { EmotionCacheProvider } from "#/shared/emotion/EmotionCacheContext"; // `_document` is server-only; importing fonts here registers @font-face + CSS vars in the client bundle. import "#/shared/fonts/appFonts"; +import { TrpcProvider } from "#/shared/trpc/TrpcProvider"; import { SnackbarCloseButton } from "#/shared/ui/atoms/SnackbarCloseButton"; import { I18nProvider } from "#/shared/ui/providers/I18nProvider"; import { StateThemeProvider } from "#/shared/ui/providers/StateThemeProvider"; @@ -35,41 +35,43 @@ type MyAppProps = { const MyApp: React.FC> = ({ Component, pageProps }) => { return ( - - - - - - isSnackbarClosable(snackbarKey) ? ( - - ) : null - } - classes={{ - containerAnchorOriginBottomLeft: - "snackbar-mobile-bottom-margin", - containerAnchorOriginBottomCenter: - "snackbar-mobile-bottom-margin", - containerAnchorOriginBottomRight: - "snackbar-mobile-bottom-margin", - }} - > - - - - - - - - - - - - - + + + + + + + isSnackbarClosable(snackbarKey) ? ( + + ) : null + } + classes={{ + containerAnchorOriginBottomLeft: + "snackbar-mobile-bottom-margin", + containerAnchorOriginBottomCenter: + "snackbar-mobile-bottom-margin", + containerAnchorOriginBottomRight: + "snackbar-mobile-bottom-margin", + }} + > + + + + + + + + + + + + + + ); }; -export default api.withTRPC(MyApp); +export default MyApp; diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 9a9f2881..bdc14455 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,39 +1,29 @@ import type { InferGetStaticPropsType, NextPage } from "next"; -import { useState } from "react"; -import { HomeLandingFaq } from "#/features/homePage/ui/landing/HomeLandingFaq"; -import { HomeLandingHero } from "#/features/homePage/ui/landing/HomeLandingHero"; -import { HomeLandingSections } from "#/features/homePage/ui/landing/HomeLandingSections"; +import { MarketingHomeView } from "#/features/homePage/ui/MarketingHomeView"; import { getI18nPropsWithCanonical } from "#/i18n/getI18nProps"; -import { useI18nContext } from "#/shared/hooks"; import { SiteSeoHead } from "#/shared/ui/seo/SiteSeoHead"; -import { MainLayout } from "#/shared/ui/templates/MainLayout"; export const getStaticProps = getI18nPropsWithCanonical("/"); type DashboardProps = InferGetStaticPropsType; -const DashboardPage: NextPage = ({ canonicalUrl }) => { - const { LL } = useI18nContext(); - const [pageScrollViewport, setPageScrollViewport] = - useState(null); - - return ( - - - - - - - - - ); -}; +/** + * Public marketing home (Pages Router + `i18n`). + * + * App Router `internal-marketing/[locale]` keeps the Instant Nav pilot, but + * Pages `i18n` cannot rewrite bare `/{locale}` into App routes (invoke path + * becomes `/{locale}/internal-marketing/...` → 404). Public cutover waits on + * migrating locale routing off `next.config` `i18n`. + */ +const DashboardPage: NextPage = ({ canonicalUrl }) => ( + <> + + + +); export default DashboardPage; diff --git a/src/proxy.ts b/src/proxy.ts index 39dd399f..55db6fd9 100644 --- a/src/proxy.ts +++ b/src/proxy.ts @@ -1,10 +1,56 @@ import { getAll } from "@vercel/edge-config"; -import { NextResponse } from "next/server"; +import { type NextRequest, NextResponse } from "next/server"; -export const config = { matcher: "/api/config" }; +import { locales } from "#/i18n/i18n-util"; +import { APP_ROUTER_LOCALE_HEADER } from "#/shared/lib/appRouterLocaleHeader"; -export async function proxy() { - const config = await getAll(); +const localeSet = new Set(locales); - return NextResponse.json(config ?? {}); +const INTERNAL_MARKETING_PREFIX = "/internal-marketing"; + +function withLocaleHeader(request: NextRequest, locale: string): Headers { + const requestHeaders = new Headers(request.headers); + requestHeaders.set(APP_ROUTER_LOCALE_HEADER, locale); + return requestHeaders; } + +/** + * Next.js 16+ request proxy (replaces `middleware.ts`). + * + * - Serves `/api/config` from Edge Config. + * - Sets {@link APP_ROUTER_LOCALE_HEADER} for direct App marketing visits + * (`/internal-marketing/[locale]` Instant Nav pilot). + * + * Public `/` and bare `/{locale}` stay on Pages `pages/index` until locale + * routing leaves `next.config` `i18n` (middleware rewrites into App routes + * 404 for non-default locales under Pages i18n). + */ +export async function proxy(request: NextRequest) { + const { pathname } = request.nextUrl; + + if (pathname === "/api/config") { + const config = await getAll(); + return NextResponse.json(config ?? {}); + } + + if (pathname.startsWith(`${INTERNAL_MARKETING_PREFIX}/`)) { + const segment = pathname.split("/").filter(Boolean)[1]; + if (segment && localeSet.has(segment)) { + return NextResponse.next({ + request: { headers: withLocaleHeader(request, segment) }, + }); + } + } + + return NextResponse.next(); +} + +export const config = { + matcher: [ + "/api/config", + { + source: "/internal-marketing/:path*", + locale: false, + }, + ], +}; diff --git a/src/shared/api.ts b/src/shared/api.ts index 45f76ed3..f7a1f324 100644 --- a/src/shared/api.ts +++ b/src/shared/api.ts @@ -1,68 +1,41 @@ /** - * This is the client-side entrypoint for your tRPC API. It is used to create the `api` object which - * contains the Next.js App-wrapper, as well as your type-safe React Query hooks. - * - * We also create a few inference helpers for input and output types. + * tRPC React client: hooks (`api.*`) and {@link trpc.Provider} for App + Pages layouts. */ import { httpBatchLink, loggerLink } from "@trpc/client"; -import { createTRPCNext } from "@trpc/next"; +import { createTRPCReact } from "@trpc/react-query"; import { type inferRouterInputs, type inferRouterOutputs } from "@trpc/server"; import superjson from "superjson"; import { type AppRouter } from "#/server/api/root"; export const getBaseUrl = () => { - if (typeof window !== "undefined") return ""; // browser should use relative url - if (process.env.VERCEL_URL) return `https://${process.env.VERCEL_URL}`; // SSR should use vercel url - return `http://localhost:${process.env.PORT ?? 3000}`; // dev SSR should use localhost + if (typeof window !== "undefined") return ""; + if (process.env.VERCEL_URL) return `https://${process.env.VERCEL_URL}`; + return `http://localhost:${process.env.PORT ?? 3000}`; }; -/** A set of type-safe react-query hooks for your tRPC API. */ -export const api = createTRPCNext({ - config() { - return { - /** - * Links used to determine request flow from client to server. - * - * @see https://trpc.io/docs/links - */ - links: [ - loggerLink({ - enabled: (opts) => - process.env.NODE_ENV === "development" || - (opts.direction === "down" && opts.result instanceof Error), - }), - httpBatchLink({ - /** - * Transformer used for data de-serialization from the server. - * - * @see https://trpc.io/docs/data-transformers - */ - transformer: superjson, - url: `${getBaseUrl()}/api/trpc`, - }), - ], - }; - }, - /** - * Whether tRPC should await queries when server rendering pages. - * - * @see https://trpc.io/docs/nextjs#ssr-boolean-default-false - */ - ssr: false, - transformer: superjson, +export const trpc = createTRPCReact(); + +export const trpcClientConfig = () => ({ + links: [ + loggerLink({ + enabled: (opts) => { + return ( + process.env.NODE_ENV === "development" || + (opts.direction === "down" && opts.result instanceof Error) + ); + }, + }), + httpBatchLink({ + transformer: superjson, + url: `${getBaseUrl()}/api/trpc`, + }), + ], }); -/** - * Inference helper for inputs. - * - * @example type HelloInput = RouterInputs['example']['hello'] - */ +/** Procedure hooks and `useUtils` — requires {@link trpc.Provider} + QueryClientProvider. */ +export const api = trpc; + export type RouterInputs = inferRouterInputs; -/** - * Inference helper for outputs. - * - * @example type HelloOutput = RouterOutputs['example']['hello'] - */ export type RouterOutputs = inferRouterOutputs; diff --git a/src/shared/hooks/__tests__/useSearchParam.test.tsx b/src/shared/hooks/__tests__/useSearchParam.test.tsx index 148d3776..dea6f9ca 100644 --- a/src/shared/hooks/__tests__/useSearchParam.test.tsx +++ b/src/shared/hooks/__tests__/useSearchParam.test.tsx @@ -8,6 +8,15 @@ const mockReplace = vi.fn(); let mockQuery: Record = {}; +vi.mock("next/compat/router", () => ({ + useRouter: () => ({ + asPath: "/playground", + query: mockQuery, + push: mockPush, + replace: mockReplace, + }), +})); + vi.mock("next/router", () => ({ useRouter: () => ({ asPath: "/playground", diff --git a/src/shared/hooks/index.ts b/src/shared/hooks/index.ts index c0e6b20d..6ca0a626 100644 --- a/src/shared/hooks/index.ts +++ b/src/shared/hooks/index.ts @@ -5,7 +5,9 @@ export { useI18nContext } from "./useI18nContext"; export { useMobileLayout } from "./useMobileLayout"; export { useNodeAnimations } from "./useNodeAnimations"; export { useNodeColors } from "./useNodeColors"; +export { usePagesRouterCompat } from "./usePagesRouterCompat"; export { usePlaygroundSlugs } from "./usePlaygroundSlugs"; export { usePrevious } from "./usePrevious"; export { useProfileImageUploader } from "./useProfileImageUploader"; +export { useRoutePathname } from "./useRoutePathname"; export { useSearchParam } from "./useSearchParam"; diff --git a/src/shared/hooks/usePagesRouterCompat.ts b/src/shared/hooks/usePagesRouterCompat.ts new file mode 100644 index 00000000..ab538d75 --- /dev/null +++ b/src/shared/hooks/usePagesRouterCompat.ts @@ -0,0 +1,9 @@ +"use client"; + +/** + * Pages Router instance when mounted; `null` under the App Router. + * Prefer this over `next/router` in shared UI used by both routers. + * + * @see https://nextjs.org/docs/pages/api-reference/functions/use-router#the-nextcompatrouter-export + */ +export { useRouter as usePagesRouterCompat } from "next/compat/router"; diff --git a/src/shared/hooks/usePlaygroundSlugs.ts b/src/shared/hooks/usePlaygroundSlugs.ts index c45e2b96..ea61ee40 100644 --- a/src/shared/hooks/usePlaygroundSlugs.ts +++ b/src/shared/hooks/usePlaygroundSlugs.ts @@ -1,9 +1,9 @@ "use client"; -import { useRouter } from "next/router"; import { useCallback, useEffect, useMemo } from "react"; import { projectSlice } from "#/features/project/model/projectSlice"; +import { usePagesRouterCompat } from "#/shared/hooks/usePagesRouterCompat"; import { getLastPlaygroundPath, getRestorablePlaygroundPath, @@ -26,10 +26,13 @@ type PlaygroundSlugNavigateOptions = { export const usePlaygroundSlugs = () => { const dispatch = useAppDispatch(); - const router = useRouter(); + const router = usePagesRouterCompat(); const getCurrentQuery = useCallback( (omitView?: boolean) => { + if (!router) { + return {}; + } const query = { ...router.query }; delete query.slug; if (omitView) { @@ -43,6 +46,9 @@ export const usePlaygroundSlugs = () => { const navigateTo = useCallback( (pathname: string, options?: PlaygroundSlugNavigateOptions) => { + if (!router) { + return; + } const replace = options?.replace ?? false; router[replace ? "replace" : "push"]( { @@ -57,6 +63,9 @@ export const usePlaygroundSlugs = () => { ); useEffect(() => { + if (!router) { + return; + } const currentPath = router.asPath.split("?")[0]; if (!currentPath?.startsWith(PLAYGROUND_BASE_PATH)) return; @@ -64,11 +73,11 @@ export const usePlaygroundSlugs = () => { if (!projectSlug) return; setLastPlaygroundPath(currentPath); - }, [router.asPath]); + }, [router, router?.asPath]); return useMemo(() => { const [projectSlug, caseSlug, solutionSlug] = Array.isArray( - router.query.slug, + router?.query.slug, ) ? router.query.slug : []; @@ -140,5 +149,5 @@ export const usePlaygroundSlugs = () => { clearSlugs, } as const; // eslint-disable-next-line react-hooks/exhaustive-deps - }, [router.query.slug]); + }, [router?.query.slug]); }; diff --git a/src/shared/hooks/useRoutePathname.ts b/src/shared/hooks/useRoutePathname.ts new file mode 100644 index 00000000..e7558991 --- /dev/null +++ b/src/shared/hooks/useRoutePathname.ts @@ -0,0 +1,21 @@ +"use client"; + +import { usePathname as useAppPathname } from "next/navigation"; + +import { usePagesRouterCompat } from "#/shared/hooks/usePagesRouterCompat"; + +/** + * Current pathname for shared UI that runs under Pages or App Router. + * Prefer Pages `pathname` when available (locale-aware route file path); + * otherwise App Router `usePathname()`. + */ +export const useRoutePathname = (): string => { + const pagesRouter = usePagesRouterCompat(); + const appPathname = useAppPathname(); + + if (pagesRouter) { + return pagesRouter.pathname; + } + + return appPathname ?? "/"; +}; diff --git a/src/shared/hooks/useSearchParam.ts b/src/shared/hooks/useSearchParam.ts index 663233d3..b591d012 100644 --- a/src/shared/hooks/useSearchParam.ts +++ b/src/shared/hooks/useSearchParam.ts @@ -1,6 +1,9 @@ -import { useRouter } from "next/router"; +"use client"; + import { startTransition, useCallback, useEffect, useState } from "react"; +import { usePagesRouterCompat } from "#/shared/hooks/usePagesRouterCompat"; + export type SearchParamOptions = { defaultValue: T; validate: (value: unknown) => value is T; @@ -24,7 +27,8 @@ const getParamFromRouter = ( }; /** - * React hook to read and update a single search param. + * React hook to read and update a single search param (Pages Router). + * Under App Router (no Pages router), keeps React state only — no URL sync. * * @param param The search param to read and update. * @param options Options to customize the behavior of the hook. @@ -38,8 +42,11 @@ export const useSearchParam = ( }, ) => { const { defaultValue, validate } = options; - const router = useRouter(); + const router = usePagesRouterCompat(); const [state, setState] = useState(() => { + if (!router) { + return defaultValue; + } const initialValue = getParamFromRouter(param, router.query); if (validate(initialValue)) { return initialValue; @@ -49,6 +56,9 @@ export const useSearchParam = ( }); useEffect(() => { + if (!router) { + return; + } const { query } = router; const paramValue = query[param]; if (Array.isArray(paramValue)) { @@ -71,6 +81,9 @@ export const useSearchParam = ( if (value !== "" && !validate(value)) return; setState(value); + if (!router) { + return; + } const { asPath, query: { slug: _slugQuery, ...newQuery }, diff --git a/src/shared/lib/appRouterLocaleHeader.ts b/src/shared/lib/appRouterLocaleHeader.ts new file mode 100644 index 00000000..39cd20f6 --- /dev/null +++ b/src/shared/lib/appRouterLocaleHeader.ts @@ -0,0 +1,2 @@ +/** Request header set by `src/middleware.ts` for App Router HTML `lang` / `dir`. */ +export const APP_ROUTER_LOCALE_HEADER = "x-dstruct-app-locale"; diff --git a/src/shared/lib/trpc-test-decorator.tsx b/src/shared/lib/trpc-test-decorator.tsx index 5291a152..b4f7b046 100644 --- a/src/shared/lib/trpc-test-decorator.tsx +++ b/src/shared/lib/trpc-test-decorator.tsx @@ -1,11 +1,9 @@ import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; -import { createTRPCReact, httpBatchLink } from "@trpc/react-query"; +import { httpBatchLink } from "@trpc/react-query"; import React from "react"; import superjson from "superjson"; -import type { AppRouter } from "#/server/api/root"; - -const trpcReact = createTRPCReact(); +import { trpc } from "#/shared/api"; const url = `http://localhost:${process.env.PORT ?? 3000}/api/trpc`; @@ -13,12 +11,12 @@ const queryClient = new QueryClient({ defaultOptions: { queries: { staleTime: Infinity } }, }); -const trpcClient = trpcReact.createClient({ +const trpcClient = trpc.createClient({ links: [httpBatchLink({ url, transformer: superjson })], }); export const withNextTRPC = ({ children }: React.PropsWithChildren) => ( - + {children} - + ); diff --git a/src/shared/testUtils.ts b/src/shared/testUtils.ts index 325a17e4..53b36511 100644 --- a/src/shared/testUtils.ts +++ b/src/shared/testUtils.ts @@ -16,4 +16,7 @@ import { fallbackProxy } from "#/context/I18nContext"; * }; * }); */ -export const mockUseI18nContext = () => ({ LL: fallbackProxy }); +export const mockUseI18nContext = () => ({ + locale: "en" as const, + LL: fallbackProxy, +}); diff --git a/src/shared/trpc/TrpcProvider.tsx b/src/shared/trpc/TrpcProvider.tsx new file mode 100644 index 00000000..cd24b969 --- /dev/null +++ b/src/shared/trpc/TrpcProvider.tsx @@ -0,0 +1,30 @@ +"use client"; + +import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; +import { type ReactNode, useState } from "react"; + +import { trpc, trpcClientConfig } from "#/shared/api"; + +/** + * tRPC + TanStack Query for both Pages Router (`_app`) and App Router (`app/layout`). + * Mirrors the former `api.withTRPC` wrapper (ssr: false). + */ +export const TrpcProvider: React.FC<{ children: ReactNode }> = ({ + children, +}) => { + const [queryClient] = useState( + () => + new QueryClient({ + defaultOptions: { + queries: { staleTime: 60 * 1000 }, + }, + }), + ); + const [trpcClient] = useState(() => trpc.createClient(trpcClientConfig())); + + return ( + + {children} + + ); +}; diff --git a/src/shared/ui/effects/thanosDisintegrate/createChunkMaskSequence.ts b/src/shared/ui/effects/thanosDisintegrate/createChunkMaskSequence.ts index 9391a3b1..b1bca828 100644 --- a/src/shared/ui/effects/thanosDisintegrate/createChunkMaskSequence.ts +++ b/src/shared/ui/effects/thanosDisintegrate/createChunkMaskSequence.ts @@ -2,8 +2,7 @@ import { canvasToDataUrl } from "#/shared/ui/effects/thanosDisintegrate/canvasTo import type { ThanosParticle } from "#/shared/ui/effects/thanosDisintegrate/types"; type Mask2dContext = - | CanvasRenderingContext2D - | OffscreenCanvasRenderingContext2D; + CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D; export type ChunkMaskParticle = Pick; diff --git a/src/shared/ui/effects/thanosDisintegrate/maskStrategies.ts b/src/shared/ui/effects/thanosDisintegrate/maskStrategies.ts index 81512103..27977b18 100644 --- a/src/shared/ui/effects/thanosDisintegrate/maskStrategies.ts +++ b/src/shared/ui/effects/thanosDisintegrate/maskStrategies.ts @@ -82,10 +82,7 @@ const bottomToTopMask: MaskStrategyGenerator = (cols, rows) => { }; type CornerDirection = - | "left-top" - | "left-bottom" - | "right-top" - | "right-bottom"; + "left-top" | "left-bottom" | "right-top" | "right-bottom"; const createDiagonalMask = (corner: CornerDirection): MaskStrategyGenerator => diff --git a/src/shared/ui/effects/thanosDisintegrate/thanosDisintegrateError.ts b/src/shared/ui/effects/thanosDisintegrate/thanosDisintegrateError.ts index f788e0e0..fa826b19 100644 --- a/src/shared/ui/effects/thanosDisintegrate/thanosDisintegrateError.ts +++ b/src/shared/ui/effects/thanosDisintegrate/thanosDisintegrateError.ts @@ -1,8 +1,5 @@ export type ThanosDisintegrateErrorCode = - | "canvas_unavailable" - | "no_particles" - | "no_target" - | "zero_size_surface"; + "canvas_unavailable" | "no_particles" | "no_target" | "zero_size_surface"; export class ThanosDisintegrateError extends Error { readonly code: ThanosDisintegrateErrorCode; diff --git a/src/shared/ui/effects/thanosDisintegrate/types.ts b/src/shared/ui/effects/thanosDisintegrate/types.ts index e3b964ef..797470cf 100644 --- a/src/shared/ui/effects/thanosDisintegrate/types.ts +++ b/src/shared/ui/effects/thanosDisintegrate/types.ts @@ -45,8 +45,7 @@ export type ThanosParticle = { }; export type ThanosDisintegrateOrigin = - | { x: number; y: number } - | { clientX: number; clientY: number }; + { x: number; y: number } | { clientX: number; clientY: number }; export type ThanosDisintegrateOptions = { /** Pixel stride when sampling the captured surface. */ diff --git a/src/shared/ui/providers/I18nProvider.tsx b/src/shared/ui/providers/I18nProvider.tsx index 57e760cc..f48f1901 100644 --- a/src/shared/ui/providers/I18nProvider.tsx +++ b/src/shared/ui/providers/I18nProvider.tsx @@ -15,16 +15,22 @@ import { importLocaleAsync } from "#/i18n/i18n-util.async"; export type TranslationDictionary = Partial>; export type FormattersDictionary = Partial>; -type I18nProviderProps = React.PropsWithChildren<{ +type I18nProviderCoreProps = React.PropsWithChildren<{ + locale: Locales; i18n?: I18nProps; }>; -export const I18nProvider: React.FC = (props) => { - const router = useRouter(); - const locale = (router.locale as Locales) || "en"; - +/** + * Locale + dictionary state shared by Pages and App Router shells. + * Do not use under App Router with `next/router` — use {@link AppRouterI18nProvider}. + */ +const I18nProviderCore: React.FC = ({ + locale, + i18n: initialI18n, + children, +}) => { const [translations, setTranslations] = useState( - props.i18n?.translations ?? {}, + initialI18n?.translations ?? {}, ); const formatters = useMemo( () => ({ [locale]: initFormatters(locale) }), @@ -59,7 +65,39 @@ export const I18nProvider: React.FC = (props) => { [locale, translations, formatters], ); + return {children}; +}; + +type I18nProviderProps = React.PropsWithChildren<{ + i18n?: I18nProps; +}>; + +/** Pages Router: locale from `next/router` (Next.js `i18n` config). */ +export const I18nProvider: React.FC = ({ + i18n, + children, +}) => { + const router = useRouter(); + const locale = (router.locale as Locales) || "en"; return ( - {props.children} + + {children} + ); }; + +type AppRouterI18nProviderProps = React.PropsWithChildren<{ + locale: Locales; + i18n?: I18nProps; +}>; + +/** App Router: fixed locale (no `next/router`). */ +export const AppRouterI18nProvider: React.FC = ({ + locale, + i18n, + children, +}) => ( + + {children} + +); diff --git a/src/shared/ui/templates/PageScrollContainer.tsx b/src/shared/ui/templates/PageScrollContainer.tsx index 7a312f28..869e3374 100644 --- a/src/shared/ui/templates/PageScrollContainer.tsx +++ b/src/shared/ui/templates/PageScrollContainer.tsx @@ -62,8 +62,7 @@ export const PageScrollContainer: React.FC = ({ ) => { const viewport = (instance?.osInstance()?.elements().viewport as - | HTMLDivElement - | undefined) ?? null; + HTMLDivElement | undefined) ?? null; assignViewportRef(viewportRef, viewport); }; diff --git a/tsconfig.json b/tsconfig.json index 9048bca0..33f9b2bc 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -35,7 +35,8 @@ "**/*.tsx", "**/*.cjs", "**/*.mjs", - ".next/types/**/*.ts" + ".next/types/**/*.ts", + ".next/dev/types/**/*.ts" ], "exclude": ["node_modules"] } diff --git a/vibe-docs/Instant-Navigations-Design.md b/vibe-docs/Instant-Navigations-Design.md new file mode 100644 index 00000000..714538a6 --- /dev/null +++ b/vibe-docs/Instant-Navigations-Design.md @@ -0,0 +1,207 @@ +# Next.js 16.3 Instant Navigations — Design + +## Executive summary + +**Instant Navigations** (Cache Components, Partial Prefetching, Instant Insights, Navigation Inspector, Playwright `instant()`) is an **App Router–only** opt-in feature set. dStruct today is **100% Pages Router** (`src/pages/`) with **20-locale `i18n` in `next.config.mjs`**, heavy client state (Redux, tRPC, Apollo), and a **playground** route that is almost entirely client-driven. + +**Overall implementation difficulty: 9/10** (very hard) for full adoption; **2/10** for agent-native DX and general 16.3 wins that do not require Instant Navigations. + +| Track | What you get | Blockers | +|-------|----------------|----------| +| **A. Agent-native DX** | Version-matched bundled docs in `AGENTS.md` | None — already partially done on 16.2.12 | +| **B. 16.3 platform wins** | Less dev RAM, faster builds, prefetch inlining, faster SSR | Vercel preview **i18n + `/api/*`** routing was broken on 16.3.0; retry when fix is in deployed Next (see [adapter-vercel#81](https://github.com/nextjs/adapter-vercel/pull/81)) | +| **C. Instant Navigations** | SPA-like shells, devtools, `'use cache'`, `unstable_instant` | Requires **App Router** + **`cacheComponents`** + migration off Pages `i18n` config | + +--- + +## What Instant Navigations is (16.3) + +Enable in `next.config`: + +```ts +const nextConfig = { + cacheComponents: true, + partialPrefetching: true, + experimental: { + instantNavigationDevToolsToggle: true, // Instant Insights + Navigation Inspector + }, +}; +``` + +Per-route validation: + +```tsx +export const unstable_instant = { prefetch: 'static' }; +``` + +Patterns: + +- Wrap runtime/dynamic data in `` with explicit fallbacks (loading shells). +- Mark stable data with `'use cache'` + `cacheLife`. +- Use `@next/playwright` `instant()` for regression tests. + +**Bundled docs (read before coding):** + +- `node_modules/next/dist/docs/01-app/02-guides/instant-navigation.md` +- `node_modules/next/dist/docs/01-app/02-guides/migrating-to-cache-components.md` +- `node_modules/next/dist/docs/01-app/02-guides/adopting-partial-prefetching.md` (if present) +- Blog: [Next.js 16.3 — Instant Navigations](https://nextjs.org/blog/next-16-3-instant-navigations) + +--- + +## Current dStruct routing map + +| Route | Data | Instant Nav fit | +|-------|------|-----------------| +| `/` (`index.tsx`) | `getStaticProps` + i18n | **Good first App Router pilot** — mostly static marketing UI | +| `/privacy`, `/daily` | `getStaticProps` + i18n | Good pilots | +| `/profile/[userId]` | `getServerSideProps` | Medium — needs Suspense around user-specific blocks | +| `/playground/[[...slug]]` | `getServerSideProps` + heavy client app | **Poor early target** — Redux/tRPC/Monaco; benefit is mostly shell around chrome | +| `/api/*` | API routes | Unchanged; stay on Pages API (or migrate later) | + +**Provider tree today** (`_app.tsx`): Emotion → Redux → NextAuth → Apollo → MUI theme → notistack → i18n → cookie consent → project browser overlay → page. + +App Router equivalent needs a **client `Providers` boundary** in `app/layout.tsx` (or per-segment layouts). + +--- + +## i18n conflict (critical) + +Pages Router uses `next.config.mjs` → `i18n: { locales, defaultLocale }`. That drives locale prefixes (`/en/...`, `/de/...`) and `getStaticProps` locale context. + +**App Router does not use that config.** Standard pattern: + +``` +app/[lang]/layout.tsx +app/[lang]/page.tsx +app/[lang]/privacy/page.tsx +... +``` + +Use **`next/root-params`** (`import { lang } from 'next/root-params'`) in Server Components instead of prop-drilling locale. + +**Migration implication:** You cannot enable Instant Navigations on App routes while keeping Pages `i18n` as the source of truth without duplicate locale routing. Plan either: + +1. **Big-bang locale segment** — add `app/[lang]/...`, remove `i18n` from config once all user-facing routes move; or +2. **English-only App pilot** — `app/(marketing)/page.tsx` without `[lang]` first (loses localized home until phase 2); or +3. **Stay on Pages** for all routes until a dedicated i18n migration epic. + +Recommendation: **phase 2** below uses `app/[lang]/` for marketing pages only, with rewrites/redirects from existing `/en` URLs during transition. + +--- + +## Vercel / 16.3 upgrade gate + +On branch `cursor/update-nextjs-react-8f0a`, **Next.js 16.3.0** caused preview 404s for `/api/trpc/*` and `/api/auth/session` (`x-matched-path: /en/404`). **16.2.12** restored API routing. + +Before enabling `cacheComponents` in production: + +1. Bump to **latest 16.3.x** (not 16.3.0 only). +2. Verify preview headers: `x-matched-path: /api/trpc/[trpc]`, not `/en/404`. +3. Confirm [adapter-vercel i18n API fix](https://github.com/nextjs/adapter-vercel/pull/81) is in the release you ship. + +Webpack production build is **not** a viable workaround today (`sanitize-html` / `htmlparser2` ESM under `import-esm-externals`). + +--- + +## Recommended phases + +### Phase 0 — Agent-native DX (now, no router change) + +- [x] `AGENTS.md` with bundled-docs block (16.2+). +- [ ] `CLAUDE.md` → `@AGENTS.md`. +- [ ] Extend `AGENTS.md` with Instant Nav / Cache Components doc paths and **“dStruct is Pages Router until Phase 1”** guardrail. +- [ ] Optional: [Next.js DevTools MCP](https://github.com/vercel/next-devtools-mcp) in `.mcp.json` for upgrade/migration prompts. + +**No user-visible nav change.** + +### Phase 1 — Re-upgrade to 16.3.x + verify Vercel + +- Bump `next` to latest 16.3.x on `cursor/update-nextjs-react-8f0a` (or follow-up branch). +- Smoke-test preview API routes and playground. +- Ship general 16.3 wins (memory, build cache, prefetch inlining) **without** `cacheComponents`. + +### Phase 2 — App Router pilot (marketing + i18n segment) + +Scope: **home, privacy, daily** under `src/app/[lang]/`. + +1. Add `src/app/[lang]/layout.tsx` with shared `Providers` (extract from `_app.tsx`). +2. Port static marketing pages; map `getI18nPropsWithCanonical` → Server Component + `lang()` from `next/root-params`. +3. Keep `src/pages/playground`, `profile`, APIs on Pages Router (coexistence supported). +4. Enable `cacheComponents: true` **only after** first App routes build clean in dev (expect Cache Components errors guiding Suspense/`use cache` fixes). +5. Add `unstable_instant` on pilot routes; turn on `instantNavigationDevToolsToggle` in dev. + +**Success:** Instant Insights shows green navigations between `/en`, `/en/privacy`, `/en/daily`; Pages playground still works. + +### Phase 3 — Playground shell (optional, high effort) + +- Introduce `app/[lang]/playground/[[...slug]]/page.tsx` that renders a **thin Server shell** (app bar, SEO) + existing client `Playground` feature module inside ``. +- tRPC/Redux stay client-side; cache only static chrome and project list skeletons where safe. +- Revisit URL state / project browser integration with App Router navigation. + +### Phase 4 — Profile, sitemap, deprecate Pages + +- Migrate `profile/[userId]`, `sitemap.xml`. +- Remove `i18n` from `next.config.mjs` when no Pages user routes remain. +- Add Playwright `instant()` tests for marketing navigations. + +--- + +## Architecture (target end state) + +```mermaid +flowchart TD + subgraph appRouter [App Router - Instant Nav] + LangLayout["app/[lang]/layout.tsx"] + Home["page.tsx + use cache"] + Privacy["privacy/page.tsx"] + Daily["daily/page.tsx"] + PlaygroundApp["playground/[[...slug]]/page.tsx"] + end + + subgraph pagesRouter [Pages Router - legacy until migrated] + API["pages/api/*"] + MaybePlayground["pages/playground - interim"] + end + + Providers["Client Providers"] + Features["features/* UI + Redux + tRPC"] + + LangLayout --> Providers + Providers --> Home + Providers --> Privacy + Providers --> Daily + Providers --> PlaygroundApp + PlaygroundApp --> Features + API --> Features +``` + +--- + +## Risks + +| Risk | Mitigation | +|------|------------| +| Vercel i18n API regression on 16.3 | Gate on preview smoke tests; stay on 16.2.12 until green | +| Duplicate providers / hydration mismatch | Single `Providers.tsx`; match `_app` order; test Emotion cache | +| typesafe-i18n in Server Components | Keep client `I18nProvider` for interactive UI; pass `LL` or use server-side locale loaders consistently | +| tRPC `api.withTRPC` is Pages-oriented | Use existing `api` hooks in client components; add RSC tRPC only if needed later | +| SEO / canonical URLs | Preserve `getI18nPropsWithCanonical` behavior in App metadata API | +| Build time × 20 locales | `generateStaticParams` for `[lang]`; cache aggressively with `'use cache'` | + +--- + +## What we are **not** doing in Phase 0–1 + +- Enabling `cacheComponents` on Pages Router (unsupported). +- Removing Pages `i18n` before App `[lang]` routes exist. +- Rewriting playground data layer to Server Components. + +--- + +## References + +- [Next.js 16.3 blog](https://nextjs.org/blog/next-16-3) +- [Instant Navigations blog](https://nextjs.org/blog/next-16-3-instant-navigations) +- [AI agents guide](https://nextjs.org/docs/app/guides/ai-agents) → `node_modules/next/dist/docs/01-app/02-guides/ai-agents.md` +- PR #160 — dependency upgrade branch (Next pin history) diff --git a/vibe-docs/Instant-Navigations-TODO.md b/vibe-docs/Instant-Navigations-TODO.md new file mode 100644 index 00000000..41eb8a54 --- /dev/null +++ b/vibe-docs/Instant-Navigations-TODO.md @@ -0,0 +1,36 @@ +# Instant Navigations — TODO + +## Phase 0 — Agent DX + +- [x] `AGENTS.md` bundled-docs block +- [x] `CLAUDE.md` with `@AGENTS.md` +- [x] `AGENTS.md` — Instant Nav doc paths + Pages Router guardrail +- [ ] Optional `.mcp.json` for `next-devtools-mcp` + +## Phase 1 — 16.3.x on Vercel + +- [x] Tried `next@16.3.0` — local OK; Vercel preview `/api/*` → `/en/404` +- [x] **Pinned back to `next@16.2.12`** so previews + App Router pilot can be verified +- [ ] Re-try latest 16.3.x when adapter-vercel i18n API fix is in a release that works on Turbopack previews +- [ ] Preview smoke green on 16.3.x before enabling Instant Nav flags + +## Phase 2 — App Router pilot + +- [x] `TrpcProvider` + `AppRootLayoutClient` +- [x] `src/app/layout.tsx` + `internal-marketing/[locale]/` pilot +- [x] `MarketingHomeView` shared by Pages home + App pilot +- [x] Dual-router shell (`next/compat/router`) so App pilot does not throw +- [x] Public `/` / `/{locale}` stay on Pages `pages/index` (Pages `i18n` cannot rewrite bare locales into App routes) +- [x] `proxy.ts`: `/api/config` + locale header for direct `/internal-marketing/*` +- [ ] Public cutover of home to App (blocked on removing `next.config` `i18n`) +- [ ] App layout metadata (viewport, icons, Material Icons) +- [ ] `cacheComponents` / `partialPrefetching` (blocked: root `headers()` + need 16.3) +- [ ] `unstable_instant` on pilot routes +- [ ] Extend to `/privacy`, `/daily` + +## Phase 3+ — Playground / full migration + +- [ ] Playground App route shell +- [ ] Profile migration +- [ ] Remove `i18n` from `next.config.mjs` +- [ ] `@next/playwright` `instant()` tests