From 08f06107529aba99b77b044df50cf4af49dae169 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Wed, 26 Feb 2025 19:27:38 +0100 Subject: [PATCH] 0.1.2 (#4) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Julien Valverdé Reviewed-on: https://gitea:3000/Thilawyn/reffuse/pulls/4 --- .gitea/workflows/lint.yaml | 4 +- .gitea/workflows/publish.yaml | 8 +- .gitea/workflows/test-build.yaml | 8 +- .gitignore | 1 + .npmrc | 1 + README.md | 16 +- bun.lock | 784 ++++++++++++++++++ bun.lockb | Bin 153528 -> 0 bytes package.json | 12 +- packages/example/package.json | 40 +- packages/example/src/reffuse.ts | 8 +- packages/example/src/routeTree.gen.ts | 67 +- packages/example/src/routes/__root.tsx | 1 + packages/example/src/routes/lazyref.tsx | 31 + packages/example/src/routes/promise.tsx | 35 + packages/example/src/routes/tests.tsx | 26 +- packages/example/src/routes/time.tsx | 10 +- packages/example/src/todos/reffuse.ts | 7 +- packages/example/src/todos/views/VNewTodo.tsx | 23 +- packages/example/src/todos/views/VTodos.tsx | 6 +- packages/extension-lazyref/README.md | 9 + packages/extension-lazyref/package.json | 43 + packages/extension-lazyref/src/index.ts | 29 + packages/extension-lazyref/tsconfig.json | 33 + packages/reffuse/README.md | 7 +- packages/reffuse/package.json | 11 +- packages/reffuse/src/Reffuse.ts | 448 +--------- packages/reffuse/src/ReffuseContext.tsx | 90 +- packages/reffuse/src/ReffuseExtension.ts | 7 + packages/reffuse/src/ReffuseHelpers.ts | 431 ++++++++++ packages/reffuse/src/ReffuseRuntime.tsx | 2 +- packages/reffuse/src/SetStateAction.ts | 2 +- packages/reffuse/src/index.ts | 2 + packages/reffuse/src/types.ts | 21 + turbo.json | 12 + 35 files changed, 1716 insertions(+), 519 deletions(-) create mode 100644 .npmrc create mode 100644 bun.lock delete mode 100755 bun.lockb create mode 100644 packages/example/src/routes/lazyref.tsx create mode 100644 packages/example/src/routes/promise.tsx create mode 100644 packages/extension-lazyref/README.md create mode 100644 packages/extension-lazyref/package.json create mode 100644 packages/extension-lazyref/src/index.ts create mode 100644 packages/extension-lazyref/tsconfig.json create mode 100644 packages/reffuse/src/ReffuseExtension.ts create mode 100644 packages/reffuse/src/ReffuseHelpers.ts create mode 100644 packages/reffuse/src/types.ts create mode 100644 turbo.json diff --git a/.gitea/workflows/lint.yaml b/.gitea/workflows/lint.yaml index 7efb5a0..d96555a 100644 --- a/.gitea/workflows/lint.yaml +++ b/.gitea/workflows/lint.yaml @@ -12,5 +12,5 @@ jobs: uses: actions/checkout@v4 - name: Install dependencies run: bun install --frozen-lockfile - - name: Lint TypeScript - run: bun run lint:tsc + - name: Build + run: bun run build diff --git a/.gitea/workflows/publish.yaml b/.gitea/workflows/publish.yaml index 075a2c3..fa80a71 100644 --- a/.gitea/workflows/publish.yaml +++ b/.gitea/workflows/publish.yaml @@ -21,12 +21,8 @@ jobs: - name: Install dependencies run: bun install --frozen-lockfile - name: Build - run: | - cd packages/reffuse - bun run build + run: bun run build - name: Publish - run: | - cd packages/reffuse - npm publish --access public + run: bun run publish env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.gitea/workflows/test-build.yaml b/.gitea/workflows/test-build.yaml index ee239a7..bf2f832 100644 --- a/.gitea/workflows/test-build.yaml +++ b/.gitea/workflows/test-build.yaml @@ -18,10 +18,6 @@ jobs: - name: Install dependencies run: bun install --frozen-lockfile - name: Build - run: | - cd packages/reffuse - bun run build + run: bun run build - name: Pack - run: | - cd packages/reffuse - npm pack --dry-run + run: bun run pack diff --git a/.gitignore b/.gitignore index ceaea36..2519628 100644 --- a/.gitignore +++ b/.gitignore @@ -130,3 +130,4 @@ dist .yarn/install-state.gz .pnp.* +.turbo diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..7bd7ffe --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +@thilawyn:registry=https://git.valverde.cloud/api/packages/thilawyn/npm/ diff --git a/README.md b/README.md index dab847a..0b644b4 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,8 @@ -# Reffuse +# Reffuse Monorepo -[Effect-TS](https://effect.website/) integration for React 19+ with the aim of integrating the Effect context system within React's component hierarchy, while avoiding touching React's internals. +Reffuse is a [Effect-TS](https://effect.website/) integration for React 19+ with the aim of integrating the Effect context system within React's component hierarchy, while avoiding touching React's internals. -This library is in early development. While it is (almost) feature complete and mostly usable, expect bugs and quirks. Things are still being ironed out, so ideas and criticisms are more than welcome. - -Documentation is currently being written. In the meantime, you can take a look at the `packages/example` directory. - -## Dependencies -(needs to be manually installed) -- `effect` -- `react` 19+ +This monorepo contains: +- [The `reffuse` library](packages/reffuse) +- [`@reffuse/extension-lazyref`, a LazyRef integration for Reffuse](packages/extension-lazyref) +- [An example project](packges/example) diff --git a/bun.lock b/bun.lock new file mode 100644 index 0000000..14fcfe5 --- /dev/null +++ b/bun.lock @@ -0,0 +1,784 @@ +{ + "lockfileVersion": 1, + "workspaces": { + "": { + "name": "@reffuse/monorepo", + "devDependencies": { + "npm-check-updates": "^17.1.14", + "npm-sort": "^0.0.4", + "turbo": "^2.4.4", + "typescript": "^5.7.3", + }, + }, + "packages/example": { + "name": "@reffuse/example", + "version": "0.0.0", + "dependencies": { + "@effect/platform": "^0.77.2", + "@effect/platform-browser": "^0.56.2", + "@radix-ui/themes": "^3.2.0", + "@reffuse/extension-lazyref": "workspace:*", + "@typed/id": "^0.17.1", + "@typed/lazy-ref": "^0.3.3", + "effect": "^3.13.2", + "lucide-react": "^0.476.0", + "mobx": "^6.13.6", + "reffuse": "workspace:*", + }, + "devDependencies": { + "@eslint/js": "^9.21.0", + "@tanstack/react-router": "^1.111.7", + "@tanstack/router-devtools": "^1.111.7", + "@tanstack/router-plugin": "^1.111.7", + "@thilawyn/thilaschema": "^0.1.4", + "@types/react": "^19.0.10", + "@types/react-dom": "^19.0.4", + "@vitejs/plugin-react": "^4.3.4", + "eslint": "^9.21.0", + "eslint-plugin-react-hooks": "^5.1.0", + "eslint-plugin-react-refresh": "^0.4.19", + "globals": "^16.0.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "typescript-eslint": "^8.25.0", + "vite": "^6.2.0", + }, + }, + "packages/extension-lazyref": { + "name": "@reffuse/extension-lazyref", + "version": "0.1.0", + "devDependencies": { + "reffuse": "workspace:*", + }, + "peerDependencies": { + "@typed/lazy-ref": "^0.3.3", + "@types/react": "^19.0.0", + "effect": "^3.13.0", + "react": "^19.0.0", + "reffuse": "^0.1.1", + }, + }, + "packages/reffuse": { + "name": "reffuse", + "version": "0.1.1", + "peerDependencies": { + "@types/react": "^19.0.0", + "effect": "^3.13.0", + "react": "^19.0.0", + }, + }, + }, + "packages": { + "@ampproject/remapping": ["@ampproject/remapping@2.3.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw=="], + + "@babel/code-frame": ["@babel/code-frame@7.26.2", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.25.9", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" } }, "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ=="], + + "@babel/compat-data": ["@babel/compat-data@7.26.8", "", {}, "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ=="], + + "@babel/core": ["@babel/core@7.26.9", "", { "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.2", "@babel/generator": "^7.26.9", "@babel/helper-compilation-targets": "^7.26.5", "@babel/helper-module-transforms": "^7.26.0", "@babel/helpers": "^7.26.9", "@babel/parser": "^7.26.9", "@babel/template": "^7.26.9", "@babel/traverse": "^7.26.9", "@babel/types": "^7.26.9", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw=="], + + "@babel/generator": ["@babel/generator@7.26.9", "", { "dependencies": { "@babel/parser": "^7.26.9", "@babel/types": "^7.26.9", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" } }, "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg=="], + + "@babel/helper-compilation-targets": ["@babel/helper-compilation-targets@7.26.5", "", { "dependencies": { "@babel/compat-data": "^7.26.5", "@babel/helper-validator-option": "^7.25.9", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" } }, "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA=="], + + "@babel/helper-module-imports": ["@babel/helper-module-imports@7.25.9", "", { "dependencies": { "@babel/traverse": "^7.25.9", "@babel/types": "^7.25.9" } }, "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw=="], + + "@babel/helper-module-transforms": ["@babel/helper-module-transforms@7.26.0", "", { "dependencies": { "@babel/helper-module-imports": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9", "@babel/traverse": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw=="], + + "@babel/helper-plugin-utils": ["@babel/helper-plugin-utils@7.26.5", "", {}, "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg=="], + + "@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="], + + "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="], + + "@babel/helper-validator-option": ["@babel/helper-validator-option@7.25.9", "", {}, "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw=="], + + "@babel/helpers": ["@babel/helpers@7.26.9", "", { "dependencies": { "@babel/template": "^7.26.9", "@babel/types": "^7.26.9" } }, "sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA=="], + + "@babel/parser": ["@babel/parser@7.26.9", "", { "dependencies": { "@babel/types": "^7.26.9" }, "bin": "./bin/babel-parser.js" }, "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A=="], + + "@babel/plugin-syntax-jsx": ["@babel/plugin-syntax-jsx@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA=="], + + "@babel/plugin-syntax-typescript": ["@babel/plugin-syntax-typescript@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ=="], + + "@babel/plugin-transform-react-jsx-self": ["@babel/plugin-transform-react-jsx-self@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg=="], + + "@babel/plugin-transform-react-jsx-source": ["@babel/plugin-transform-react-jsx-source@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg=="], + + "@babel/template": ["@babel/template@7.26.9", "", { "dependencies": { "@babel/code-frame": "^7.26.2", "@babel/parser": "^7.26.9", "@babel/types": "^7.26.9" } }, "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA=="], + + "@babel/traverse": ["@babel/traverse@7.26.9", "", { "dependencies": { "@babel/code-frame": "^7.26.2", "@babel/generator": "^7.26.9", "@babel/parser": "^7.26.9", "@babel/template": "^7.26.9", "@babel/types": "^7.26.9", "debug": "^4.3.1", "globals": "^11.1.0" } }, "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg=="], + + "@babel/types": ["@babel/types@7.26.9", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw=="], + + "@effect/platform": ["@effect/platform@0.77.2", "", { "dependencies": { "find-my-way-ts": "^0.1.5", "multipasta": "^0.2.5" }, "peerDependencies": { "effect": "^3.13.2" } }, "sha512-stvroKHJVfjd3XhZJEPUAOgzqu9DH1vnGHIAjfs2ma6Z4qcjVpFXrxa0ZYmwRaWVIFsiADMenkN0I7XrRdAgLw=="], + + "@effect/platform-browser": ["@effect/platform-browser@0.56.2", "", { "dependencies": { "multipasta": "^0.2.5" }, "peerDependencies": { "@effect/platform": "^0.77.2", "effect": "^3.13.2" } }, "sha512-mzCNipg3FN9/ATPEO7Cc3cLmTF4gtdoQSVVi5RPJzIxXflVHbNmMFSIuFdGp0W3AbrQ20dfF6FGFaRUo3aFHeA=="], + + "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.0", "", { "os": "aix", "cpu": "ppc64" }, "sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ=="], + + "@esbuild/android-arm": ["@esbuild/android-arm@0.25.0", "", { "os": "android", "cpu": "arm" }, "sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g=="], + + "@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.0", "", { "os": "android", "cpu": "arm64" }, "sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g=="], + + "@esbuild/android-x64": ["@esbuild/android-x64@0.25.0", "", { "os": "android", "cpu": "x64" }, "sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg=="], + + "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw=="], + + "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg=="], + + "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.0", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w=="], + + "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A=="], + + "@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.0", "", { "os": "linux", "cpu": "arm" }, "sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg=="], + + "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg=="], + + "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.0", "", { "os": "linux", "cpu": "ia32" }, "sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg=="], + + "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.0", "", { "os": "linux", "cpu": "none" }, "sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw=="], + + "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.0", "", { "os": "linux", "cpu": "none" }, "sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ=="], + + "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw=="], + + "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.0", "", { "os": "linux", "cpu": "none" }, "sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA=="], + + "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA=="], + + "@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.0", "", { "os": "linux", "cpu": "x64" }, "sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw=="], + + "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.0", "", { "os": "none", "cpu": "arm64" }, "sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw=="], + + "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.0", "", { "os": "none", "cpu": "x64" }, "sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA=="], + + "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.0", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw=="], + + "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.0", "", { "os": "openbsd", "cpu": "x64" }, "sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg=="], + + "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.0", "", { "os": "sunos", "cpu": "x64" }, "sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg=="], + + "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw=="], + + "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA=="], + + "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.0", "", { "os": "win32", "cpu": "x64" }, "sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ=="], + + "@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.4.1", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA=="], + + "@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.1", "", {}, "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ=="], + + "@eslint/config-array": ["@eslint/config-array@0.19.2", "", { "dependencies": { "@eslint/object-schema": "^2.1.6", "debug": "^4.3.1", "minimatch": "^3.1.2" } }, "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w=="], + + "@eslint/core": ["@eslint/core@0.12.0", "", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg=="], + + "@eslint/eslintrc": ["@eslint/eslintrc@3.3.0", "", { "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^10.0.1", "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" } }, "sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ=="], + + "@eslint/js": ["@eslint/js@9.21.0", "", {}, "sha512-BqStZ3HX8Yz6LvsF5ByXYrtigrV5AXADWLAGc7PH/1SxOb7/FIYYMszZZWiUou/GB9P2lXWk2SV4d+Z8h0nknw=="], + + "@eslint/object-schema": ["@eslint/object-schema@2.1.6", "", {}, "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA=="], + + "@eslint/plugin-kit": ["@eslint/plugin-kit@0.2.7", "", { "dependencies": { "@eslint/core": "^0.12.0", "levn": "^0.4.1" } }, "sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g=="], + + "@floating-ui/core": ["@floating-ui/core@1.6.9", "", { "dependencies": { "@floating-ui/utils": "^0.2.9" } }, "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw=="], + + "@floating-ui/dom": ["@floating-ui/dom@1.6.13", "", { "dependencies": { "@floating-ui/core": "^1.6.0", "@floating-ui/utils": "^0.2.9" } }, "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w=="], + + "@floating-ui/react-dom": ["@floating-ui/react-dom@2.1.2", "", { "dependencies": { "@floating-ui/dom": "^1.0.0" }, "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A=="], + + "@floating-ui/utils": ["@floating-ui/utils@0.2.9", "", {}, "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg=="], + + "@humanfs/core": ["@humanfs/core@0.19.1", "", {}, "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA=="], + + "@humanfs/node": ["@humanfs/node@0.16.6", "", { "dependencies": { "@humanfs/core": "^0.19.1", "@humanwhocodes/retry": "^0.3.0" } }, "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw=="], + + "@humanwhocodes/module-importer": ["@humanwhocodes/module-importer@1.0.1", "", {}, "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="], + + "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.2", "", {}, "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ=="], + + "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.8", "", { "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA=="], + + "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], + + "@jridgewell/set-array": ["@jridgewell/set-array@1.2.1", "", {}, "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A=="], + + "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="], + + "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.25", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ=="], + + "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="], + + "@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="], + + "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="], + + "@radix-ui/colors": ["@radix-ui/colors@3.0.0", "", {}, "sha512-FUOsGBkHrYJwCSEtWRCIfQbZG7q1e6DgxCIOe1SUQzDe/7rXXeA47s8yCn6fuTNQAj1Zq4oTFi9Yjp3wzElcxg=="], + + "@radix-ui/number": ["@radix-ui/number@1.1.0", "", {}, "sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ=="], + + "@radix-ui/primitive": ["@radix-ui/primitive@1.1.1", "", {}, "sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA=="], + + "@radix-ui/react-accessible-icon": ["@radix-ui/react-accessible-icon@1.1.2", "", { "dependencies": { "@radix-ui/react-visually-hidden": "1.1.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-+rnMO0SEfzkcHr93RshkQVpOA26MtGOv4pcS9QUnLg4F8+GDmCJ8c2FEPhPz5e7arf31EzbTqJxFbzg3qen14g=="], + + "@radix-ui/react-accordion": ["@radix-ui/react-accordion@1.2.3", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-collapsible": "1.1.3", "@radix-ui/react-collection": "1.1.2", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", "@radix-ui/react-id": "1.1.0", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-controllable-state": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-RIQ15mrcvqIkDARJeERSuXSry2N8uYnxkdDetpfmalT/+0ntOXLkFOsh9iwlAsCv+qcmhZjbdJogIm6WBa6c4A=="], + + "@radix-ui/react-alert-dialog": ["@radix-ui/react-alert-dialog@1.1.6", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-dialog": "1.1.6", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-slot": "1.1.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-p4XnPqgej8sZAAReCAKgz1REYZEBLR8hU9Pg27wFnCWIMc8g1ccCs0FjBcy05V15VTu8pAePw/VDYeOm/uZ6yQ=="], + + "@radix-ui/react-arrow": ["@radix-ui/react-arrow@1.1.2", "", { "dependencies": { "@radix-ui/react-primitive": "2.0.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-G+KcpzXHq24iH0uGG/pF8LyzpFJYGD4RfLjCIBfGdSLXvjLHST31RUiRVrupIBMvIppMgSzQ6l66iAxl03tdlg=="], + + "@radix-ui/react-aspect-ratio": ["@radix-ui/react-aspect-ratio@1.1.2", "", { "dependencies": { "@radix-ui/react-primitive": "2.0.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-TaJxYoCpxJ7vfEkv2PTNox/6zzmpKXT6ewvCuf2tTOIVN45/Jahhlld29Yw4pciOXS2Xq91/rSGEdmEnUWZCqA=="], + + "@radix-ui/react-avatar": ["@radix-ui/react-avatar@1.1.3", "", { "dependencies": { "@radix-ui/react-context": "1.1.1", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Paen00T4P8L8gd9bNsRMw7Cbaz85oxiv+hzomsRZgFm2byltPFDtfcoqlWJ8GyZlIBWgLssJlzLCnKU0G0302g=="], + + "@radix-ui/react-checkbox": ["@radix-ui/react-checkbox@1.1.4", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-presence": "1.1.2", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-controllable-state": "1.1.0", "@radix-ui/react-use-previous": "1.1.0", "@radix-ui/react-use-size": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-wP0CPAHq+P5I4INKe3hJrIa1WoNqqrejzW+zoU0rOvo1b9gDEJJFl2rYfO1PYJUQCc2H1WZxIJmyv9BS8i5fLw=="], + + "@radix-ui/react-collapsible": ["@radix-ui/react-collapsible@1.1.3", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-id": "1.1.0", "@radix-ui/react-presence": "1.1.2", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-controllable-state": "1.1.0", "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-jFSerheto1X03MUC0g6R7LedNW9EEGWdg9W1+MlpkMLwGkgkbUXLPBH/KIuWKXUoeYRVY11llqbTBDzuLg7qrw=="], + + "@radix-ui/react-collection": ["@radix-ui/react-collection@1.1.2", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-slot": "1.1.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-9z54IEKRxIa9VityapoEYMuByaG42iSy1ZXlY2KcuLSEtq8x4987/N6m15ppoMffgZX72gER2uHe1D9Y6Unlcw=="], + + "@radix-ui/react-compose-refs": ["@radix-ui/react-compose-refs@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw=="], + + "@radix-ui/react-context": ["@radix-ui/react-context@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q=="], + + "@radix-ui/react-context-menu": ["@radix-ui/react-context-menu@2.2.6", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-menu": "2.1.6", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-controllable-state": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-aUP99QZ3VU84NPsHeaFt4cQUNgJqFsLLOt/RbbWXszZ6MP0DpDyjkFZORr4RpAEx3sUBk+Kc8h13yGtC5Qw8dg=="], + + "@radix-ui/react-dialog": ["@radix-ui/react-dialog@1.1.6", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-dismissable-layer": "1.1.5", "@radix-ui/react-focus-guards": "1.1.1", "@radix-ui/react-focus-scope": "1.1.2", "@radix-ui/react-id": "1.1.0", "@radix-ui/react-portal": "1.1.4", "@radix-ui/react-presence": "1.1.2", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-slot": "1.1.2", "@radix-ui/react-use-controllable-state": "1.1.0", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-/IVhJV5AceX620DUJ4uYVMymzsipdKBzo3edo+omeskCKGm9FRHM0ebIdbPnlQVJqyuHbuBltQUOG2mOTq2IYw=="], + + "@radix-ui/react-direction": ["@radix-ui/react-direction@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg=="], + + "@radix-ui/react-dismissable-layer": ["@radix-ui/react-dismissable-layer@1.1.5", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-escape-keydown": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-E4TywXY6UsXNRhFrECa5HAvE5/4BFcGyfTyK36gP+pAW1ed7UTK4vKwdr53gAJYwqbfCWC6ATvJa3J3R/9+Qrg=="], + + "@radix-ui/react-dropdown-menu": ["@radix-ui/react-dropdown-menu@2.1.6", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-id": "1.1.0", "@radix-ui/react-menu": "2.1.6", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-controllable-state": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-no3X7V5fD487wab/ZYSHXq3H37u4NVeLDKI/Ks724X/eEFSSEFYZxWgsIlr1UBeEyDaM29HM5x9p1Nv8DuTYPA=="], + + "@radix-ui/react-focus-guards": ["@radix-ui/react-focus-guards@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg=="], + + "@radix-ui/react-focus-scope": ["@radix-ui/react-focus-scope@1.1.2", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-callback-ref": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-zxwE80FCU7lcXUGWkdt6XpTTCKPitG1XKOwViTxHVKIJhZl9MvIl2dVHeZENCWD9+EdWv05wlaEkRXUykU27RA=="], + + "@radix-ui/react-form": ["@radix-ui/react-form@0.1.2", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-id": "1.1.0", "@radix-ui/react-label": "2.1.2", "@radix-ui/react-primitive": "2.0.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Owj1MjLq6/Rp85bgzYI+zRK5APLiWDtXDM63Z39FW15bNdehrcS+FjQgLGQYswFzipYu4GAA+t5w/VqvvNZ3ag=="], + + "@radix-ui/react-hover-card": ["@radix-ui/react-hover-card@1.1.6", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-dismissable-layer": "1.1.5", "@radix-ui/react-popper": "1.2.2", "@radix-ui/react-portal": "1.1.4", "@radix-ui/react-presence": "1.1.2", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-controllable-state": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-E4ozl35jq0VRlrdc4dhHrNSV0JqBb4Jy73WAhBEK7JoYnQ83ED5r0Rb/XdVKw89ReAJN38N492BAPBZQ57VmqQ=="], + + "@radix-ui/react-id": ["@radix-ui/react-id@1.1.0", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA=="], + + "@radix-ui/react-label": ["@radix-ui/react-label@2.1.2", "", { "dependencies": { "@radix-ui/react-primitive": "2.0.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-zo1uGMTaNlHehDyFQcDZXRJhUPDuukcnHz0/jnrup0JA6qL+AFpAnty+7VKa9esuU5xTblAZzTGYJKSKaBxBhw=="], + + "@radix-ui/react-menu": ["@radix-ui/react-menu@2.1.6", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-collection": "1.1.2", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", "@radix-ui/react-dismissable-layer": "1.1.5", "@radix-ui/react-focus-guards": "1.1.1", "@radix-ui/react-focus-scope": "1.1.2", "@radix-ui/react-id": "1.1.0", "@radix-ui/react-popper": "1.2.2", "@radix-ui/react-portal": "1.1.4", "@radix-ui/react-presence": "1.1.2", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-roving-focus": "1.1.2", "@radix-ui/react-slot": "1.1.2", "@radix-ui/react-use-callback-ref": "1.1.0", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-tBBb5CXDJW3t2mo9WlO7r6GTmWV0F0uzHZVFmlRmYpiSK1CDU5IKojP1pm7oknpBOrFZx/YgBRW9oorPO2S/Lg=="], + + "@radix-ui/react-menubar": ["@radix-ui/react-menubar@1.1.6", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-collection": "1.1.2", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", "@radix-ui/react-id": "1.1.0", "@radix-ui/react-menu": "2.1.6", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-roving-focus": "1.1.2", "@radix-ui/react-use-controllable-state": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-FHq7+3DlXwh/7FOM4i0G4bC4vPjiq89VEEvNF4VMLchGnaUuUbE5uKXMUCjdKaOghEEMeiKa5XCa2Pk4kteWmg=="], + + "@radix-ui/react-navigation-menu": ["@radix-ui/react-navigation-menu@1.2.5", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-collection": "1.1.2", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", "@radix-ui/react-dismissable-layer": "1.1.5", "@radix-ui/react-id": "1.1.0", "@radix-ui/react-presence": "1.1.2", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-controllable-state": "1.1.0", "@radix-ui/react-use-layout-effect": "1.1.0", "@radix-ui/react-use-previous": "1.1.0", "@radix-ui/react-visually-hidden": "1.1.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-myMHHQUZ3ZLTi8W381/Vu43Ia0NqakkQZ2vzynMmTUtQQ9kNkjzhOwkZC9TAM5R07OZUVIQyHC06f/9JZJpvvA=="], + + "@radix-ui/react-popover": ["@radix-ui/react-popover@1.1.6", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-dismissable-layer": "1.1.5", "@radix-ui/react-focus-guards": "1.1.1", "@radix-ui/react-focus-scope": "1.1.2", "@radix-ui/react-id": "1.1.0", "@radix-ui/react-popper": "1.2.2", "@radix-ui/react-portal": "1.1.4", "@radix-ui/react-presence": "1.1.2", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-slot": "1.1.2", "@radix-ui/react-use-controllable-state": "1.1.0", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-NQouW0x4/GnkFJ/pRqsIS3rM/k97VzKnVb2jB7Gq7VEGPy5g7uNV1ykySFt7eWSp3i2uSGFwaJcvIRJBAHmmFg=="], + + "@radix-ui/react-popper": ["@radix-ui/react-popper@1.2.2", "", { "dependencies": { "@floating-ui/react-dom": "^2.0.0", "@radix-ui/react-arrow": "1.1.2", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-layout-effect": "1.1.0", "@radix-ui/react-use-rect": "1.1.0", "@radix-ui/react-use-size": "1.1.0", "@radix-ui/rect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Rvqc3nOpwseCyj/rgjlJDYAgyfw7OC1tTkKn2ivhaMGcYt8FSBlahHOZak2i3QwkRXUXgGgzeEe2RuqeEHuHgA=="], + + "@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.4", "", { "dependencies": { "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-sn2O9k1rPFYVyKd5LAJfo96JlSGVFpa1fS6UuBJfrZadudiw5tAmru+n1x7aMRQ84qDM71Zh1+SzK5QwU0tJfA=="], + + "@radix-ui/react-presence": ["@radix-ui/react-presence@1.1.2", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg=="], + + "@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.0.2", "", { "dependencies": { "@radix-ui/react-slot": "1.1.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Ec/0d38EIuvDF+GZjcMU/Ze6MxntVJYO/fRlCPhCaVUyPY9WTalHJw54tp9sXeJo3tlShWpy41vQRgLRGOuz+w=="], + + "@radix-ui/react-progress": ["@radix-ui/react-progress@1.1.2", "", { "dependencies": { "@radix-ui/react-context": "1.1.1", "@radix-ui/react-primitive": "2.0.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-u1IgJFQ4zNAUTjGdDL5dcl/U8ntOR6jsnhxKb5RKp5Ozwl88xKR9EqRZOe/Mk8tnx0x5tNUe2F+MzsyjqMg0MA=="], + + "@radix-ui/react-radio-group": ["@radix-ui/react-radio-group@1.2.3", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", "@radix-ui/react-presence": "1.1.2", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-roving-focus": "1.1.2", "@radix-ui/react-use-controllable-state": "1.1.0", "@radix-ui/react-use-previous": "1.1.0", "@radix-ui/react-use-size": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-xtCsqt8Rp09FK50ItqEqTJ7Sxanz8EM8dnkVIhJrc/wkMMomSmXHvYbhv3E7Zx4oXh98aaLt9W679SUYXg4IDA=="], + + "@radix-ui/react-roving-focus": ["@radix-ui/react-roving-focus@1.1.2", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-collection": "1.1.2", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", "@radix-ui/react-id": "1.1.0", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-controllable-state": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-zgMQWkNO169GtGqRvYrzb0Zf8NhMHS2DuEB/TiEmVnpr5OqPU3i8lfbxaAmC2J/KYuIQxyoQQ6DxepyXp61/xw=="], + + "@radix-ui/react-scroll-area": ["@radix-ui/react-scroll-area@1.2.3", "", { "dependencies": { "@radix-ui/number": "1.1.0", "@radix-ui/primitive": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", "@radix-ui/react-presence": "1.1.2", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-l7+NNBfBYYJa9tNqVcP2AGvxdE3lmE6kFTBXdvHgUaZuy+4wGCL1Cl2AfaR7RKyimj7lZURGLwFO59k4eBnDJQ=="], + + "@radix-ui/react-select": ["@radix-ui/react-select@2.1.6", "", { "dependencies": { "@radix-ui/number": "1.1.0", "@radix-ui/primitive": "1.1.1", "@radix-ui/react-collection": "1.1.2", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", "@radix-ui/react-dismissable-layer": "1.1.5", "@radix-ui/react-focus-guards": "1.1.1", "@radix-ui/react-focus-scope": "1.1.2", "@radix-ui/react-id": "1.1.0", "@radix-ui/react-popper": "1.2.2", "@radix-ui/react-portal": "1.1.4", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-slot": "1.1.2", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-controllable-state": "1.1.0", "@radix-ui/react-use-layout-effect": "1.1.0", "@radix-ui/react-use-previous": "1.1.0", "@radix-ui/react-visually-hidden": "1.1.2", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-T6ajELxRvTuAMWH0YmRJ1qez+x4/7Nq7QIx7zJ0VK3qaEWdnWpNbEDnmWldG1zBDwqrLy5aLMUWcoGirVj5kMg=="], + + "@radix-ui/react-separator": ["@radix-ui/react-separator@1.1.2", "", { "dependencies": { "@radix-ui/react-primitive": "2.0.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-oZfHcaAp2Y6KFBX6I5P1u7CQoy4lheCGiYj+pGFrHy8E/VNRb5E39TkTr3JrV520csPBTZjkuKFdEsjS5EUNKQ=="], + + "@radix-ui/react-slider": ["@radix-ui/react-slider@1.2.3", "", { "dependencies": { "@radix-ui/number": "1.1.0", "@radix-ui/primitive": "1.1.1", "@radix-ui/react-collection": "1.1.2", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-controllable-state": "1.1.0", "@radix-ui/react-use-layout-effect": "1.1.0", "@radix-ui/react-use-previous": "1.1.0", "@radix-ui/react-use-size": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-nNrLAWLjGESnhqBqcCNW4w2nn7LxudyMzeB6VgdyAnFLC6kfQgnAjSL2v6UkQTnDctJBlxrmxfplWS4iYjdUTw=="], + + "@radix-ui/react-slot": ["@radix-ui/react-slot@1.1.2", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ=="], + + "@radix-ui/react-switch": ["@radix-ui/react-switch@1.1.3", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-controllable-state": "1.1.0", "@radix-ui/react-use-previous": "1.1.0", "@radix-ui/react-use-size": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-1nc+vjEOQkJVsJtWPSiISGT6OKm4SiOdjMo+/icLxo2G4vxz1GntC5MzfL4v8ey9OEfw787QCD1y3mUv0NiFEQ=="], + + "@radix-ui/react-tabs": ["@radix-ui/react-tabs@1.1.3", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", "@radix-ui/react-id": "1.1.0", "@radix-ui/react-presence": "1.1.2", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-roving-focus": "1.1.2", "@radix-ui/react-use-controllable-state": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-9mFyI30cuRDImbmFF6O2KUJdgEOsGh9Vmx9x/Dh9tOhL7BngmQPQfwW4aejKm5OHpfWIdmeV6ySyuxoOGjtNng=="], + + "@radix-ui/react-toast": ["@radix-ui/react-toast@1.2.6", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-collection": "1.1.2", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-dismissable-layer": "1.1.5", "@radix-ui/react-portal": "1.1.4", "@radix-ui/react-presence": "1.1.2", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-controllable-state": "1.1.0", "@radix-ui/react-use-layout-effect": "1.1.0", "@radix-ui/react-visually-hidden": "1.1.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-gN4dpuIVKEgpLn1z5FhzT9mYRUitbfZq9XqN/7kkBMUgFTzTG8x/KszWJugJXHcwxckY8xcKDZPz7kG3o6DsUA=="], + + "@radix-ui/react-toggle": ["@radix-ui/react-toggle@1.1.2", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-controllable-state": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-lntKchNWx3aCHuWKiDY+8WudiegQvBpDRAYL8dKLRvKEH8VOpl0XX6SSU/bUBqIRJbcTy4+MW06Wv8vgp10rzQ=="], + + "@radix-ui/react-toggle-group": ["@radix-ui/react-toggle-group@1.1.2", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-roving-focus": "1.1.2", "@radix-ui/react-toggle": "1.1.2", "@radix-ui/react-use-controllable-state": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-JBm6s6aVG/nwuY5eadhU2zDi/IwYS0sDM5ZWb4nymv/hn3hZdkw+gENn0LP4iY1yCd7+bgJaCwueMYJIU3vk4A=="], + + "@radix-ui/react-toolbar": ["@radix-ui/react-toolbar@1.1.2", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-roving-focus": "1.1.2", "@radix-ui/react-separator": "1.1.2", "@radix-ui/react-toggle-group": "1.1.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-wT20eQ7ScFk+kBMDmHp+lMk18cgxhu35b2Bn5deUcPxiVwfn5vuZgi7NGcHu8ocdkinahmp4FaSZysKDyRVPWQ=="], + + "@radix-ui/react-tooltip": ["@radix-ui/react-tooltip@1.1.8", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-dismissable-layer": "1.1.5", "@radix-ui/react-id": "1.1.0", "@radix-ui/react-popper": "1.2.2", "@radix-ui/react-portal": "1.1.4", "@radix-ui/react-presence": "1.1.2", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-slot": "1.1.2", "@radix-ui/react-use-controllable-state": "1.1.0", "@radix-ui/react-visually-hidden": "1.1.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-YAA2cu48EkJZdAMHC0dqo9kialOcRStbtiY4nJPaht7Ptrhcvpo+eDChaM6BIs8kL6a8Z5l5poiqLnXcNduOkA=="], + + "@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw=="], + + "@radix-ui/react-use-controllable-state": ["@radix-ui/react-use-controllable-state@1.1.0", "", { "dependencies": { "@radix-ui/react-use-callback-ref": "1.1.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw=="], + + "@radix-ui/react-use-escape-keydown": ["@radix-ui/react-use-escape-keydown@1.1.0", "", { "dependencies": { "@radix-ui/react-use-callback-ref": "1.1.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw=="], + + "@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w=="], + + "@radix-ui/react-use-previous": ["@radix-ui/react-use-previous@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og=="], + + "@radix-ui/react-use-rect": ["@radix-ui/react-use-rect@1.1.0", "", { "dependencies": { "@radix-ui/rect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ=="], + + "@radix-ui/react-use-size": ["@radix-ui/react-use-size@1.1.0", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw=="], + + "@radix-ui/react-visually-hidden": ["@radix-ui/react-visually-hidden@1.1.2", "", { "dependencies": { "@radix-ui/react-primitive": "2.0.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-1SzA4ns2M1aRlvxErqhLHsBHoS5eI5UUcI2awAMgGUp4LoaoWOKYmvqDY2s/tltuPkh3Yk77YF/r3IRj+Amx4Q=="], + + "@radix-ui/rect": ["@radix-ui/rect@1.1.0", "", {}, "sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg=="], + + "@radix-ui/themes": ["@radix-ui/themes@3.2.0", "", { "dependencies": { "@radix-ui/colors": "^3.0.0", "classnames": "^2.3.2", "radix-ui": "^1.1.2", "react-remove-scroll-bar": "^2.3.8" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-cG/47tfHN9FW1ZoAigd3oUeJaIm591vGtQ97PrhfwS22IJgWhE5h6D0w2m+NVbKRVo8qIWCG+hiWN04MlLoW4A=="], + + "@reffuse/example": ["@reffuse/example@workspace:packages/example"], + + "@reffuse/extension-lazyref": ["@reffuse/extension-lazyref@workspace:packages/extension-lazyref"], + + "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.34.8", "", { "os": "android", "cpu": "arm" }, "sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw=="], + + "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.34.8", "", { "os": "android", "cpu": "arm64" }, "sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q=="], + + "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.34.8", "", { "os": "darwin", "cpu": "arm64" }, "sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q=="], + + "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.34.8", "", { "os": "darwin", "cpu": "x64" }, "sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw=="], + + "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.34.8", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA=="], + + "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.34.8", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q=="], + + "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.34.8", "", { "os": "linux", "cpu": "arm" }, "sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g=="], + + "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.34.8", "", { "os": "linux", "cpu": "arm" }, "sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA=="], + + "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.34.8", "", { "os": "linux", "cpu": "arm64" }, "sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A=="], + + "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.34.8", "", { "os": "linux", "cpu": "arm64" }, "sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q=="], + + "@rollup/rollup-linux-loongarch64-gnu": ["@rollup/rollup-linux-loongarch64-gnu@4.34.8", "", { "os": "linux", "cpu": "none" }, "sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ=="], + + "@rollup/rollup-linux-powerpc64le-gnu": ["@rollup/rollup-linux-powerpc64le-gnu@4.34.8", "", { "os": "linux", "cpu": "ppc64" }, "sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw=="], + + "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.34.8", "", { "os": "linux", "cpu": "none" }, "sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw=="], + + "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.34.8", "", { "os": "linux", "cpu": "s390x" }, "sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA=="], + + "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.34.8", "", { "os": "linux", "cpu": "x64" }, "sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA=="], + + "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.34.8", "", { "os": "linux", "cpu": "x64" }, "sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ=="], + + "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.34.8", "", { "os": "win32", "cpu": "arm64" }, "sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ=="], + + "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.34.8", "", { "os": "win32", "cpu": "ia32" }, "sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w=="], + + "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.34.8", "", { "os": "win32", "cpu": "x64" }, "sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g=="], + + "@standard-schema/spec": ["@standard-schema/spec@1.0.0", "", {}, "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA=="], + + "@tanstack/history": ["@tanstack/history@1.99.13", "", {}, "sha512-JMd7USmnp8zV8BRGIjALqzPxazvKtQ7PGXQC7n39HpbqdsmfV2ePCzieO84IvN+mwsTrXErpbjI4BfKCa+ZNCg=="], + + "@tanstack/react-router": ["@tanstack/react-router@1.111.7", "", { "dependencies": { "@tanstack/history": "1.99.13", "@tanstack/react-store": "^0.7.0", "@tanstack/router-core": "^1.111.7", "jsesc": "^3.1.0", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" }, "peerDependencies": { "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0" } }, "sha512-/hOWy7lPmVfRqbwIy2d9mvVLA6ZC4tbcgLDdMXCNRN93LMsGEHCTrgFADdSL2f/rvhPyHeYxsFazEo9+ktgUiw=="], + + "@tanstack/react-store": ["@tanstack/react-store@0.7.0", "", { "dependencies": { "@tanstack/store": "0.7.0", "use-sync-external-store": "^1.4.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-S/Rq17HaGOk+tQHV/yrePMnG1xbsKZIl/VsNWnNXt4XW+tTY8dTlvpJH2ZQ3GRALsusG5K6Q3unAGJ2pd9W/Ng=="], + + "@tanstack/router-core": ["@tanstack/router-core@1.111.7", "", { "dependencies": { "@tanstack/history": "1.99.13", "@tanstack/store": "^0.7.0" } }, "sha512-N3u3HGBNb1k+MvL15CGmE4KFEDy3euU/L3ENXjmzPm8zfpeVjs+Tyk3y0nicAk3MSSboGXVU1po19RATdWnTsg=="], + + "@tanstack/router-devtools": ["@tanstack/router-devtools@1.111.7", "", { "dependencies": { "clsx": "^2.1.1", "goober": "^2.1.16" }, "peerDependencies": { "@tanstack/react-router": "^1.111.7", "csstype": "^3.0.10", "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0" }, "optionalPeers": ["csstype"] }, "sha512-xZpiIWy/HBhpYUqUxT1dNUn5smQhWhkgjNlJOATzrm81G5T3l2jEr79XPXqwRndWzu2WKqv1kPkScC0ekRgE7Q=="], + + "@tanstack/router-generator": ["@tanstack/router-generator@1.111.7", "", { "dependencies": { "@tanstack/virtual-file-routes": "^1.99.0", "prettier": "^3.5.0", "tsx": "^4.19.2", "zod": "^3.24.1" }, "peerDependencies": { "@tanstack/react-router": "^1.111.7" }, "optionalPeers": ["@tanstack/react-router"] }, "sha512-+jHX35iF45NHQvHzXuLgyCILUUTyMl3EeClKNkfdaKLvV1adwGDQr24cSKDQLmNKEDXGTijBI5nX8ntkKo5oyA=="], + + "@tanstack/router-plugin": ["@tanstack/router-plugin@1.111.7", "", { "dependencies": { "@babel/core": "^7.26.8", "@babel/plugin-syntax-jsx": "^7.25.9", "@babel/plugin-syntax-typescript": "^7.25.9", "@babel/template": "^7.26.8", "@babel/traverse": "^7.26.8", "@babel/types": "^7.26.8", "@tanstack/router-core": "^1.111.7", "@tanstack/router-generator": "^1.111.7", "@tanstack/router-utils": "^1.102.2", "@tanstack/virtual-file-routes": "^1.99.0", "@types/babel__core": "^7.20.5", "@types/babel__template": "^7.4.4", "@types/babel__traverse": "^7.20.6", "babel-dead-code-elimination": "^1.0.9", "chokidar": "^3.6.0", "unplugin": "^2.1.2", "zod": "^3.24.1" }, "peerDependencies": { "@rsbuild/core": ">=1.0.2", "@tanstack/react-router": "^1.111.7", "vite": ">=5.0.0 || >=6.0.0", "vite-plugin-solid": "^2.11.2", "webpack": ">=5.92.0" }, "optionalPeers": ["@rsbuild/core", "@tanstack/react-router", "vite", "vite-plugin-solid", "webpack"] }, "sha512-aiT/j2OadGbqEWTZUY53o2UeVQIR11+S1h1Gq6GYxQmD/OjdyK/WiMighBK5zeryeWYG4XeC8eFlXMoyuG0v+g=="], + + "@tanstack/router-utils": ["@tanstack/router-utils@1.102.2", "", { "dependencies": { "@babel/generator": "^7.26.8", "@babel/parser": "^7.26.8", "ansis": "^3.11.0", "diff": "^7.0.0" } }, "sha512-Uwl2nbrxhCzviaHHBLNPhSC/OMpZLdOTxTJndUSsXTzWUP4IoQcVmngaIsxi9iriE3ArC1VXuanUAkfGmimNOQ=="], + + "@tanstack/store": ["@tanstack/store@0.7.0", "", {}, "sha512-CNIhdoUsmD2NolYuaIs8VfWM467RK6oIBAW4nPEKZhg1smZ+/CwtCdpURgp7nxSqOaV9oKkzdWD80+bC66F/Jg=="], + + "@tanstack/virtual-file-routes": ["@tanstack/virtual-file-routes@1.99.0", "", {}, "sha512-XvX8bfdo4CYiCW+ItVdBfCorh3PwQFqYqd7ll+XKWiWOJpqUGIG7VlziVavARZpUySiY2VBlHadiUYS7jhgjRg=="], + + "@thilawyn/thilaschema": ["@thilawyn/thilaschema@0.1.4", "https://git.valverde.cloud/api/packages/Thilawyn/npm/%40thilawyn%2Fthilaschema/-/0.1.4/thilaschema-0.1.4.tgz", { "dependencies": { "remeda": "^2.17.0", "type-fest": "^4.26.1" } }, "sha512-o+lFjnRrD8N7kJtToKl+OYvVnOwaCGr1X9yMSX/8Y1n4KopOOGFSA9xqmx+MpMe3okp2Hq3Xu1aGHzFsZWxc2A=="], + + "@typed/id": ["@typed/id@0.17.1", "", { "dependencies": { "effect": "^3.11.9" } }, "sha512-+nypUUw6PJWePD1aF1CHY4995hDF3VA9c8EBtp1M+pTnyLBZQIkgKbOKamimnl4U+ZV5I3qC+3q1Y4hpmxT+zw=="], + + "@typed/lazy-ref": ["@typed/lazy-ref@0.3.3", "", { "dependencies": { "effect": "^3.11.9" } }, "sha512-qJoy01/RFYwWBaWhQBzL3Ow20Q+CPybJ/KJnGNKzyDpRUFcEvd3YSQMqZjRdBZmG2wnEpjedAnlCx9ApvKJIlA=="], + + "@types/babel__core": ["@types/babel__core@7.20.5", "", { "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" } }, "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA=="], + + "@types/babel__generator": ["@types/babel__generator@7.6.8", "", { "dependencies": { "@babel/types": "^7.0.0" } }, "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw=="], + + "@types/babel__template": ["@types/babel__template@7.4.4", "", { "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A=="], + + "@types/babel__traverse": ["@types/babel__traverse@7.20.6", "", { "dependencies": { "@babel/types": "^7.20.7" } }, "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg=="], + + "@types/estree": ["@types/estree@1.0.6", "", {}, "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw=="], + + "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], + + "@types/react": ["@types/react@19.0.10", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g=="], + + "@types/react-dom": ["@types/react-dom@19.0.4", "", { "peerDependencies": { "@types/react": "^19.0.0" } }, "sha512-4fSQ8vWFkg+TGhePfUzVmat3eC14TXYSsiiDSLI0dVLsrm9gZFABjPy/Qu6TKgl1tq1Bu1yDsuQgY3A3DOjCcg=="], + + "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.25.0", "", { "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "8.25.0", "@typescript-eslint/type-utils": "8.25.0", "@typescript-eslint/utils": "8.25.0", "@typescript-eslint/visitor-keys": "8.25.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", "ts-api-utils": "^2.0.1" }, "peerDependencies": { "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.8.0" } }, "sha512-VM7bpzAe7JO/BFf40pIT1lJqS/z1F8OaSsUB3rpFJucQA4cOSuH2RVVVkFULN+En0Djgr29/jb4EQnedUo95KA=="], + + "@typescript-eslint/parser": ["@typescript-eslint/parser@8.25.0", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.25.0", "@typescript-eslint/types": "8.25.0", "@typescript-eslint/typescript-estree": "8.25.0", "@typescript-eslint/visitor-keys": "8.25.0", "debug": "^4.3.4" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.8.0" } }, "sha512-4gbs64bnbSzu4FpgMiQ1A+D+urxkoJk/kqlDJ2W//5SygaEiAP2B4GoS7TEdxgwol2el03gckFV9lJ4QOMiiHg=="], + + "@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.25.0", "", { "dependencies": { "@typescript-eslint/types": "8.25.0", "@typescript-eslint/visitor-keys": "8.25.0" } }, "sha512-6PPeiKIGbgStEyt4NNXa2ru5pMzQ8OYKO1hX1z53HMomrmiSB+R5FmChgQAP1ro8jMtNawz+TRQo/cSXrauTpg=="], + + "@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.25.0", "", { "dependencies": { "@typescript-eslint/typescript-estree": "8.25.0", "@typescript-eslint/utils": "8.25.0", "debug": "^4.3.4", "ts-api-utils": "^2.0.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.8.0" } }, "sha512-d77dHgHWnxmXOPJuDWO4FDWADmGQkN5+tt6SFRZz/RtCWl4pHgFl3+WdYCn16+3teG09DY6XtEpf3gGD0a186g=="], + + "@typescript-eslint/types": ["@typescript-eslint/types@8.25.0", "", {}, "sha512-+vUe0Zb4tkNgznQwicsvLUJgZIRs6ITeWSCclX1q85pR1iOiaj+4uZJIUp//Z27QWu5Cseiw3O3AR8hVpax7Aw=="], + + "@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.25.0", "", { "dependencies": { "@typescript-eslint/types": "8.25.0", "@typescript-eslint/visitor-keys": "8.25.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", "ts-api-utils": "^2.0.1" }, "peerDependencies": { "typescript": ">=4.8.4 <5.8.0" } }, "sha512-ZPaiAKEZ6Blt/TPAx5Ot0EIB/yGtLI2EsGoY6F7XKklfMxYQyvtL+gT/UCqkMzO0BVFHLDlzvFqQzurYahxv9Q=="], + + "@typescript-eslint/utils": ["@typescript-eslint/utils@8.25.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@typescript-eslint/scope-manager": "8.25.0", "@typescript-eslint/types": "8.25.0", "@typescript-eslint/typescript-estree": "8.25.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.8.0" } }, "sha512-syqRbrEv0J1wywiLsK60XzHnQe/kRViI3zwFALrNEgnntn1l24Ra2KvOAWwWbWZ1lBZxZljPDGOq967dsl6fkA=="], + + "@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.25.0", "", { "dependencies": { "@typescript-eslint/types": "8.25.0", "eslint-visitor-keys": "^4.2.0" } }, "sha512-kCYXKAum9CecGVHGij7muybDfTS2sD3t0L4bJsEZLkyrXUImiCTq1M3LG2SRtOhiHFwMR9wAFplpT6XHYjTkwQ=="], + + "@vitejs/plugin-react": ["@vitejs/plugin-react@4.3.4", "", { "dependencies": { "@babel/core": "^7.26.0", "@babel/plugin-transform-react-jsx-self": "^7.25.9", "@babel/plugin-transform-react-jsx-source": "^7.25.9", "@types/babel__core": "^7.20.5", "react-refresh": "^0.14.2" }, "peerDependencies": { "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" } }, "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug=="], + + "acorn": ["acorn@8.14.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA=="], + + "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], + + "ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="], + + "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], + + "ansis": ["ansis@3.16.0", "", {}, "sha512-sU7d/tfZiYrsIAXbdL/CNZld5bCkruzwT5KmqmadCJYxuLxHAOBjidxD5+iLmN/6xEfjcQq1l7OpsiCBlc4LzA=="], + + "anymatch": ["anymatch@3.1.3", "", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="], + + "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], + + "aria-hidden": ["aria-hidden@1.2.4", "", { "dependencies": { "tslib": "^2.0.0" } }, "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A=="], + + "babel-dead-code-elimination": ["babel-dead-code-elimination@1.0.9", "", { "dependencies": { "@babel/core": "^7.23.7", "@babel/parser": "^7.23.6", "@babel/traverse": "^7.23.7", "@babel/types": "^7.23.6" } }, "sha512-JLIhax/xullfInZjtu13UJjaLHDeTzt3vOeomaSUdO/nAMEL/pWC/laKrSvWylXMnVWyL5bpmG9njqBZlUQOdg=="], + + "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], + + "binary-extensions": ["binary-extensions@2.3.0", "", {}, "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="], + + "brace-expansion": ["brace-expansion@1.1.11", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="], + + "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], + + "browserslist": ["browserslist@4.24.4", "", { "dependencies": { "caniuse-lite": "^1.0.30001688", "electron-to-chromium": "^1.5.73", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" } }, "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A=="], + + "callsites": ["callsites@3.1.0", "", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="], + + "caniuse-lite": ["caniuse-lite@1.0.30001700", "", {}, "sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ=="], + + "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + + "chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="], + + "classnames": ["classnames@2.5.1", "", {}, "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow=="], + + "clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="], + + "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], + + "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], + + "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], + + "convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + + "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], + + "csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="], + + "debug": ["debug@4.4.0", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA=="], + + "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="], + + "detect-node-es": ["detect-node-es@1.1.0", "", {}, "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="], + + "diff": ["diff@7.0.0", "", {}, "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw=="], + + "effect": ["effect@3.13.2", "", { "dependencies": { "@standard-schema/spec": "^1.0.0", "fast-check": "^3.23.1" } }, "sha512-/w+CPqHDJ33Wq7xC4YKAchrEEPtjvxh563xH9kDTZp99seNYBoBs87vl8DJwartEjj+KLQLP8PzoDne+XmGT2A=="], + + "electron-to-chromium": ["electron-to-chromium@1.5.104", "", {}, "sha512-Us9M2L4cO/zMBqVkJtnj353nQhMju9slHm62NprKTmdF3HH8wYOtNvDFq/JB2+ZRoGLzdvYDiATlMHs98XBM1g=="], + + "esbuild": ["esbuild@0.25.0", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.0", "@esbuild/android-arm": "0.25.0", "@esbuild/android-arm64": "0.25.0", "@esbuild/android-x64": "0.25.0", "@esbuild/darwin-arm64": "0.25.0", "@esbuild/darwin-x64": "0.25.0", "@esbuild/freebsd-arm64": "0.25.0", "@esbuild/freebsd-x64": "0.25.0", "@esbuild/linux-arm": "0.25.0", "@esbuild/linux-arm64": "0.25.0", "@esbuild/linux-ia32": "0.25.0", "@esbuild/linux-loong64": "0.25.0", "@esbuild/linux-mips64el": "0.25.0", "@esbuild/linux-ppc64": "0.25.0", "@esbuild/linux-riscv64": "0.25.0", "@esbuild/linux-s390x": "0.25.0", "@esbuild/linux-x64": "0.25.0", "@esbuild/netbsd-arm64": "0.25.0", "@esbuild/netbsd-x64": "0.25.0", "@esbuild/openbsd-arm64": "0.25.0", "@esbuild/openbsd-x64": "0.25.0", "@esbuild/sunos-x64": "0.25.0", "@esbuild/win32-arm64": "0.25.0", "@esbuild/win32-ia32": "0.25.0", "@esbuild/win32-x64": "0.25.0" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw=="], + + "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], + + "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], + + "eslint": ["eslint@9.21.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.19.2", "@eslint/core": "^0.12.0", "@eslint/eslintrc": "^3.3.0", "@eslint/js": "9.21.0", "@eslint/plugin-kit": "^0.2.7", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.2.0", "eslint-visitor-keys": "^4.2.0", "espree": "^10.3.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-KjeihdFqTPhOMXTt7StsDxriV4n66ueuF/jfPNC3j/lduHwr/ijDwJMsF+wyMJethgiKi5wniIE243vi07d3pg=="], + + "eslint-plugin-react-hooks": ["eslint-plugin-react-hooks@5.1.0", "", { "peerDependencies": { "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, "sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw=="], + + "eslint-plugin-react-refresh": ["eslint-plugin-react-refresh@0.4.19", "", { "peerDependencies": { "eslint": ">=8.40" } }, "sha512-eyy8pcr/YxSYjBoqIFSrlbn9i/xvxUFa8CjzAYo9cFjgGXqq1hyjihcpZvxRLalpaWmueWR81xn7vuKmAFijDQ=="], + + "eslint-scope": ["eslint-scope@8.2.0", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A=="], + + "eslint-visitor-keys": ["eslint-visitor-keys@4.2.0", "", {}, "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw=="], + + "espree": ["espree@10.3.0", "", { "dependencies": { "acorn": "^8.14.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.2.0" } }, "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg=="], + + "esquery": ["esquery@1.6.0", "", { "dependencies": { "estraverse": "^5.1.0" } }, "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg=="], + + "esrecurse": ["esrecurse@4.3.0", "", { "dependencies": { "estraverse": "^5.2.0" } }, "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="], + + "estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], + + "esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="], + + "fast-check": ["fast-check@3.23.2", "", { "dependencies": { "pure-rand": "^6.1.0" } }, "sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A=="], + + "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], + + "fast-glob": ["fast-glob@3.3.3", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="], + + "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="], + + "fast-levenshtein": ["fast-levenshtein@2.0.6", "", {}, "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="], + + "fastq": ["fastq@1.19.0", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA=="], + + "file-entry-cache": ["file-entry-cache@8.0.0", "", { "dependencies": { "flat-cache": "^4.0.0" } }, "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ=="], + + "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], + + "find-my-way-ts": ["find-my-way-ts@0.1.5", "", {}, "sha512-4GOTMrpGQVzsCH2ruUn2vmwzV/02zF4q+ybhCIrw/Rkt3L8KWcycdC6aJMctJzwN4fXD4SD5F/4B9Sksh5rE0A=="], + + "find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="], + + "flat-cache": ["flat-cache@4.0.1", "", { "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" } }, "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw=="], + + "flatted": ["flatted@3.3.3", "", {}, "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg=="], + + "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], + + "gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="], + + "get-nonce": ["get-nonce@1.0.1", "", {}, "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q=="], + + "get-tsconfig": ["get-tsconfig@4.10.0", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A=="], + + "glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="], + + "globals": ["globals@16.0.0", "", {}, "sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A=="], + + "goober": ["goober@2.1.16", "", { "peerDependencies": { "csstype": "^3.0.10" } }, "sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g=="], + + "graphemer": ["graphemer@1.4.0", "", {}, "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag=="], + + "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], + + "ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], + + "import-fresh": ["import-fresh@3.3.1", "", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ=="], + + "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="], + + "is-binary-path": ["is-binary-path@2.1.0", "", { "dependencies": { "binary-extensions": "^2.0.0" } }, "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw=="], + + "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], + + "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], + + "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], + + "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], + + "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], + + "js-yaml": ["js-yaml@4.1.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA=="], + + "jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], + + "json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="], + + "json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], + + "json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="], + + "json5": ["json5@2.2.3", "", { "bin": { "json5": "lib/cli.js" } }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="], + + "keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="], + + "levn": ["levn@0.4.1", "", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="], + + "locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="], + + "lodash.merge": ["lodash.merge@4.6.2", "", {}, "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="], + + "lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], + + "lucide-react": ["lucide-react@0.476.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-x6cLTk8gahdUPje0hSgLN1/MgiJH+Xl90Xoxy9bkPAsMPOUiyRSKR4JCDPGVCEpyqnZXH3exFWNItcvra9WzUQ=="], + + "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="], + + "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], + + "minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], + + "mobx": ["mobx@6.13.6", "", {}, "sha512-r19KNV0uBN4b+ER8Z0gA4y+MzDYIQ2SvOmn3fUrqPnWXdQfakd9yfbPBDBF/p5I+bd3N5Rk1fHONIvMay+bJGA=="], + + "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "multipasta": ["multipasta@0.2.5", "", {}, "sha512-c8eMDb1WwZcE02WVjHoOmUVk7fnKU/RmUcosHACglrWAuPQsEJv+E8430sXj6jNc1jHw0zrS16aCjQh4BcEb4A=="], + + "nanoid": ["nanoid@3.3.8", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="], + + "natural-compare": ["natural-compare@1.4.0", "", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="], + + "node-releases": ["node-releases@2.0.19", "", {}, "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw=="], + + "normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="], + + "npm-check-updates": ["npm-check-updates@17.1.15", "", { "bin": { "npm-check-updates": "build/cli.js", "ncu": "build/cli.js" } }, "sha512-miATvKu5rjec/1wxc5TGDjpsucgtCHwRVZorZpDkS6NzdWXfnUWlN4abZddWb7XSijAuBNzzYglIdTm9SbgMVg=="], + + "npm-sort": ["npm-sort@0.0.4", "", { "bin": { "npm-sort": "./index.js" } }, "sha512-S5Id/3Jvr7Cf/QnWjRteprngERCBhhEFOM+wMhUrAYP060/HUBC1aL5GoXS3xITlgacJCWaSmP4HQaAt91nNYQ=="], + + "optionator": ["optionator@0.9.4", "", { "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.5" } }, "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g=="], + + "p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="], + + "p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="], + + "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], + + "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="], + + "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], + + "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], + + "picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + + "postcss": ["postcss@8.5.3", "", { "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A=="], + + "prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="], + + "prettier": ["prettier@3.5.2", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-lc6npv5PH7hVqozBR7lkBNOGXV9vMwROAPlumdBkX0wTbbzPu/U1hk5yL8p2pt4Xoc+2mkT8t/sow2YrV/M5qg=="], + + "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], + + "pure-rand": ["pure-rand@6.1.0", "", {}, "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA=="], + + "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="], + + "radix-ui": ["radix-ui@1.1.3", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-accessible-icon": "1.1.2", "@radix-ui/react-accordion": "1.2.3", "@radix-ui/react-alert-dialog": "1.1.6", "@radix-ui/react-aspect-ratio": "1.1.2", "@radix-ui/react-avatar": "1.1.3", "@radix-ui/react-checkbox": "1.1.4", "@radix-ui/react-collapsible": "1.1.3", "@radix-ui/react-collection": "1.1.2", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-context-menu": "2.2.6", "@radix-ui/react-dialog": "1.1.6", "@radix-ui/react-direction": "1.1.0", "@radix-ui/react-dismissable-layer": "1.1.5", "@radix-ui/react-dropdown-menu": "2.1.6", "@radix-ui/react-focus-guards": "1.1.1", "@radix-ui/react-focus-scope": "1.1.2", "@radix-ui/react-form": "0.1.2", "@radix-ui/react-hover-card": "1.1.6", "@radix-ui/react-label": "2.1.2", "@radix-ui/react-menu": "2.1.6", "@radix-ui/react-menubar": "1.1.6", "@radix-ui/react-navigation-menu": "1.2.5", "@radix-ui/react-popover": "1.1.6", "@radix-ui/react-popper": "1.2.2", "@radix-ui/react-portal": "1.1.4", "@radix-ui/react-presence": "1.1.2", "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-progress": "1.1.2", "@radix-ui/react-radio-group": "1.2.3", "@radix-ui/react-roving-focus": "1.1.2", "@radix-ui/react-scroll-area": "1.2.3", "@radix-ui/react-select": "2.1.6", "@radix-ui/react-separator": "1.1.2", "@radix-ui/react-slider": "1.2.3", "@radix-ui/react-slot": "1.1.2", "@radix-ui/react-switch": "1.1.3", "@radix-ui/react-tabs": "1.1.3", "@radix-ui/react-toast": "1.2.6", "@radix-ui/react-toggle": "1.1.2", "@radix-ui/react-toggle-group": "1.1.2", "@radix-ui/react-toolbar": "1.1.2", "@radix-ui/react-tooltip": "1.1.8", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-controllable-state": "1.1.0", "@radix-ui/react-use-escape-keydown": "1.1.0", "@radix-ui/react-use-layout-effect": "1.1.0", "@radix-ui/react-use-size": "1.1.0", "@radix-ui/react-visually-hidden": "1.1.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-W8L6soM1vQnIXVvVa31AkQhoZBDPwVoNHhT13R3aB9Qq7ARYIUS9DLaCopRBsbTdZm1NEEPx3rnq659CiNOBDw=="], + + "react": ["react@19.0.0", "", {}, "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ=="], + + "react-dom": ["react-dom@19.0.0", "", { "dependencies": { "scheduler": "^0.25.0" }, "peerDependencies": { "react": "^19.0.0" } }, "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ=="], + + "react-refresh": ["react-refresh@0.14.2", "", {}, "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA=="], + + "react-remove-scroll": ["react-remove-scroll@2.6.3", "", { "dependencies": { "react-remove-scroll-bar": "^2.3.7", "react-style-singleton": "^2.2.3", "tslib": "^2.1.0", "use-callback-ref": "^1.3.3", "use-sidecar": "^1.1.3" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ=="], + + "react-remove-scroll-bar": ["react-remove-scroll-bar@2.3.8", "", { "dependencies": { "react-style-singleton": "^2.2.2", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q=="], + + "react-style-singleton": ["react-style-singleton@2.2.3", "", { "dependencies": { "get-nonce": "^1.0.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ=="], + + "readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="], + + "reffuse": ["reffuse@workspace:packages/reffuse"], + + "remeda": ["remeda@2.20.2", "", { "dependencies": { "type-fest": "^4.33.0" } }, "sha512-38pfm5aUq6mUkNYbt7TdY2WEk9mSqRVV+6UsoTjabwmbu8obLbh8sYYSX2WQ3W4u6EYp3XxUKqIiwGFZu+OY9g=="], + + "resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], + + "resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="], + + "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], + + "rollup": ["rollup@4.34.8", "", { "dependencies": { "@types/estree": "1.0.6" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.34.8", "@rollup/rollup-android-arm64": "4.34.8", "@rollup/rollup-darwin-arm64": "4.34.8", "@rollup/rollup-darwin-x64": "4.34.8", "@rollup/rollup-freebsd-arm64": "4.34.8", "@rollup/rollup-freebsd-x64": "4.34.8", "@rollup/rollup-linux-arm-gnueabihf": "4.34.8", "@rollup/rollup-linux-arm-musleabihf": "4.34.8", "@rollup/rollup-linux-arm64-gnu": "4.34.8", "@rollup/rollup-linux-arm64-musl": "4.34.8", "@rollup/rollup-linux-loongarch64-gnu": "4.34.8", "@rollup/rollup-linux-powerpc64le-gnu": "4.34.8", "@rollup/rollup-linux-riscv64-gnu": "4.34.8", "@rollup/rollup-linux-s390x-gnu": "4.34.8", "@rollup/rollup-linux-x64-gnu": "4.34.8", "@rollup/rollup-linux-x64-musl": "4.34.8", "@rollup/rollup-win32-arm64-msvc": "4.34.8", "@rollup/rollup-win32-ia32-msvc": "4.34.8", "@rollup/rollup-win32-x64-msvc": "4.34.8", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ=="], + + "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="], + + "scheduler": ["scheduler@0.25.0", "", {}, "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA=="], + + "semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + + "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], + + "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], + + "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], + + "strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="], + + "supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], + + "tiny-invariant": ["tiny-invariant@1.3.3", "", {}, "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg=="], + + "tiny-warning": ["tiny-warning@1.0.3", "", {}, "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="], + + "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], + + "ts-api-utils": ["ts-api-utils@2.0.1", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w=="], + + "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "tsx": ["tsx@4.19.3", "", { "dependencies": { "esbuild": "~0.25.0", "get-tsconfig": "^4.7.5" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "bin": { "tsx": "dist/cli.mjs" } }, "sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ=="], + + "turbo": ["turbo@2.4.4", "", { "optionalDependencies": { "turbo-darwin-64": "2.4.4", "turbo-darwin-arm64": "2.4.4", "turbo-linux-64": "2.4.4", "turbo-linux-arm64": "2.4.4", "turbo-windows-64": "2.4.4", "turbo-windows-arm64": "2.4.4" }, "bin": { "turbo": "bin/turbo" } }, "sha512-N9FDOVaY3yz0YCOhYIgOGYad7+m2ptvinXygw27WPLQvcZDl3+0Sa77KGVlLSiuPDChOUEnTKE9VJwLSi9BPGQ=="], + + "turbo-darwin-64": ["turbo-darwin-64@2.4.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-5kPvRkLAfmWI0MH96D+/THnDMGXlFNmjeqNRj5grLKiry+M9pKj3pRuScddAXPdlxjO5Ptz06UNaOQrrYGTx1g=="], + + "turbo-darwin-arm64": ["turbo-darwin-arm64@2.4.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-/gtHPqbGQXDFhrmy+Q/MFW2HUTUlThJ97WLLSe4bxkDrKHecDYhAjbZ4rN3MM93RV9STQb3Tqy4pZBtsd4DfCw=="], + + "turbo-linux-64": ["turbo-linux-64@2.4.4", "", { "os": "linux", "cpu": "x64" }, "sha512-SR0gri4k0bda56hw5u9VgDXLKb1Q+jrw4lM7WAhnNdXvVoep4d6LmnzgMHQQR12Wxl3KyWPbkz9d1whL6NTm2Q=="], + + "turbo-linux-arm64": ["turbo-linux-arm64@2.4.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-COXXwzRd3vslQIfJhXUklgEqlwq35uFUZ7hnN+AUyXx7hUOLIiD5NblL+ETrHnhY4TzWszrbwUMfe2BYWtaPQg=="], + + "turbo-windows-64": ["turbo-windows-64@2.4.4", "", { "os": "win32", "cpu": "x64" }, "sha512-PV9rYNouGz4Ff3fd6sIfQy5L7HT9a4fcZoEv8PKRavU9O75G7PoDtm8scpHU10QnK0QQNLbE9qNxOAeRvF0fJg=="], + + "turbo-windows-arm64": ["turbo-windows-arm64@2.4.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-403sqp9t5sx6YGEC32IfZTVWkRAixOQomGYB8kEc6ZD+//LirSxzeCHCnM8EmSXw7l57U1G+Fb0kxgTcKPU/Lg=="], + + "type-check": ["type-check@0.4.0", "", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="], + + "type-fest": ["type-fest@4.35.0", "", {}, "sha512-2/AwEFQDFEy30iOLjrvHDIH7e4HEWH+f1Yl1bI5XMqzuoCUqwYCdxachgsgv0og/JdVZUhbfjcJAoHj5L1753A=="], + + "typescript": ["typescript@5.7.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw=="], + + "typescript-eslint": ["typescript-eslint@8.25.0", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.25.0", "@typescript-eslint/parser": "8.25.0", "@typescript-eslint/utils": "8.25.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.8.0" } }, "sha512-TxRdQQLH4g7JkoFlYG3caW5v1S6kEkz8rqt80iQJZUYPq1zD1Ra7HfQBJJ88ABRaMvHAXnwRvRB4V+6sQ9xN5Q=="], + + "unplugin": ["unplugin@2.2.0", "", { "dependencies": { "acorn": "^8.14.0", "webpack-virtual-modules": "^0.6.2" } }, "sha512-m1ekpSwuOT5hxkJeZGRxO7gXbXT3gF26NjQ7GdVHoLoF8/nopLcd/QfPigpCy7i51oFHiRJg/CyHhj4vs2+KGw=="], + + "update-browserslist-db": ["update-browserslist-db@1.1.2", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg=="], + + "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="], + + "use-callback-ref": ["use-callback-ref@1.3.3", "", { "dependencies": { "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg=="], + + "use-sidecar": ["use-sidecar@1.1.3", "", { "dependencies": { "detect-node-es": "^1.1.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ=="], + + "use-sync-external-store": ["use-sync-external-store@1.4.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw=="], + + "vite": ["vite@6.2.0", "", { "dependencies": { "esbuild": "^0.25.0", "postcss": "^8.5.3", "rollup": "^4.30.1" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-7dPxoo+WsT/64rDcwoOjk76XHj+TqNTIvHKcuMQ1k4/SeHDaQt5GFAeLYzrimZrMpn/O6DtdI03WUjdxuPM0oQ=="], + + "webpack-virtual-modules": ["webpack-virtual-modules@0.6.2", "", {}, "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ=="], + + "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], + + "word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="], + + "yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="], + + "yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], + + "zod": ["zod@3.24.2", "", {}, "sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ=="], + + "@babel/traverse/globals": ["globals@11.12.0", "", {}, "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="], + + "@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], + + "@eslint/eslintrc/globals": ["globals@14.0.0", "", {}, "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ=="], + + "@humanfs/node/@humanwhocodes/retry": ["@humanwhocodes/retry@0.3.1", "", {}, "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA=="], + + "@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + + "@typescript-eslint/typescript-estree/semver": ["semver@7.7.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA=="], + + "chokidar/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], + + "fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], + + "@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="], + } +} diff --git a/bun.lockb b/bun.lockb deleted file mode 100755 index fa0518b996a55f809b137efb772d51e4a8a05f45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153528 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 diff --git a/package.json b/package.json index 6c1b407..06e0721 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,15 @@ { + "name": "@reffuse/monorepo", + "packageManager": "bun@1.2.2", "private": true, - "workspaces": ["./packages/*"], + "workspaces": [ + "./packages/*" + ], "scripts": { - "lint:tsc": "bun run --filter '*' lint:tsc", + "build": "turbo build --filter=!@reffuse/example", + "lint:tsc": "turbo lint:tsc", + "pack": "turbo pack --filter=!@reffuse/example", + "publish": "turbo publish --filter=!@reffuse/example", "clean:cache": "rm -f tsconfig.tsbuildinfo", "clean:dist": "rm -rf dist", "clean:node": "rm -rf node_modules" @@ -10,6 +17,7 @@ "devDependencies": { "npm-check-updates": "^17.1.14", "npm-sort": "^0.0.4", + "turbo": "^2.4.4", "typescript": "^5.7.3" } } diff --git a/packages/example/package.json b/packages/example/package.json index ee4ebd4..e1a234e 100644 --- a/packages/example/package.json +++ b/packages/example/package.json @@ -11,32 +11,36 @@ "preview": "vite preview" }, "devDependencies": { - "@eslint/js": "^9.18.0", - "@tanstack/react-router": "^1.97.3", - "@tanstack/router-devtools": "^1.97.3", - "@tanstack/router-plugin": "^1.97.3", + "@eslint/js": "^9.21.0", + "@tanstack/react-router": "^1.111.7", + "@tanstack/router-devtools": "^1.111.7", + "@tanstack/router-plugin": "^1.111.7", "@thilawyn/thilaschema": "^0.1.4", - "@types/react": "^19.0.7", - "@types/react-dom": "^19.0.3", + "@types/react": "^19.0.10", + "@types/react-dom": "^19.0.4", "@vitejs/plugin-react": "^4.3.4", - "effect": "^3.12.5", - "eslint": "^9.18.0", + "eslint": "^9.21.0", "eslint-plugin-react-hooks": "^5.1.0", - "eslint-plugin-react-refresh": "^0.4.18", - "globals": "^15.14.0", + "eslint-plugin-react-refresh": "^0.4.19", + "globals": "^16.0.0", "react": "^19.0.0", "react-dom": "^19.0.0", - "reffuse": "workspace:*", - "typescript-eslint": "^8.21.0", - "vite": "^6.0.11" + "typescript-eslint": "^8.25.0", + "vite": "^6.2.0" }, "dependencies": { - "@effect/platform": "^0.74.0", - "@effect/platform-browser": "^0.53.0", - "@radix-ui/themes": "^3.1.6", + "@effect/platform": "^0.77.2", + "@effect/platform-browser": "^0.56.2", + "@radix-ui/themes": "^3.2.0", + "@reffuse/extension-lazyref": "workspace:*", "@typed/id": "^0.17.1", "@typed/lazy-ref": "^0.3.3", - "lucide-react": "^0.473.0", - "mobx": "^6.13.5" + "effect": "^3.13.2", + "lucide-react": "^0.476.0", + "mobx": "^6.13.6", + "reffuse": "workspace:*" + }, + "overrides": { + "effect": "^3.13.2" } } diff --git a/packages/example/src/reffuse.ts b/packages/example/src/reffuse.ts index beba3d3..0aefd92 100644 --- a/packages/example/src/reffuse.ts +++ b/packages/example/src/reffuse.ts @@ -1,5 +1,6 @@ import { HttpClient } from "@effect/platform" import { Clipboard, Geolocation, Permissions } from "@effect/platform-browser" +import { LazyRefExtension } from "@reffuse/extension-lazyref" import { Reffuse, ReffuseContext } from "reffuse" @@ -10,4 +11,9 @@ export const GlobalContext = ReffuseContext.make< | HttpClient.HttpClient >() -export const R = Reffuse.make(GlobalContext) +export class GlobalReffuse extends Reffuse.Reffuse.pipe( + Reffuse.withExtension(LazyRefExtension), + Reffuse.withContexts(GlobalContext), +) {} + +export const R = new GlobalReffuse() diff --git a/packages/example/src/routeTree.gen.ts b/packages/example/src/routeTree.gen.ts index 92e0a99..98b4224 100644 --- a/packages/example/src/routeTree.gen.ts +++ b/packages/example/src/routeTree.gen.ts @@ -13,6 +13,8 @@ import { Route as rootRoute } from './routes/__root' import { Route as TimeImport } from './routes/time' import { Route as TestsImport } from './routes/tests' +import { Route as PromiseImport } from './routes/promise' +import { Route as LazyrefImport } from './routes/lazyref' import { Route as CountImport } from './routes/count' import { Route as BlankImport } from './routes/blank' import { Route as IndexImport } from './routes/index' @@ -31,6 +33,18 @@ const TestsRoute = TestsImport.update({ getParentRoute: () => rootRoute, } as any) +const PromiseRoute = PromiseImport.update({ + id: '/promise', + path: '/promise', + getParentRoute: () => rootRoute, +} as any) + +const LazyrefRoute = LazyrefImport.update({ + id: '/lazyref', + path: '/lazyref', + getParentRoute: () => rootRoute, +} as any) + const CountRoute = CountImport.update({ id: '/count', path: '/count', @@ -74,6 +88,20 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof CountImport parentRoute: typeof rootRoute } + '/lazyref': { + id: '/lazyref' + path: '/lazyref' + fullPath: '/lazyref' + preLoaderRoute: typeof LazyrefImport + parentRoute: typeof rootRoute + } + '/promise': { + id: '/promise' + path: '/promise' + fullPath: '/promise' + preLoaderRoute: typeof PromiseImport + parentRoute: typeof rootRoute + } '/tests': { id: '/tests' path: '/tests' @@ -97,6 +125,8 @@ export interface FileRoutesByFullPath { '/': typeof IndexRoute '/blank': typeof BlankRoute '/count': typeof CountRoute + '/lazyref': typeof LazyrefRoute + '/promise': typeof PromiseRoute '/tests': typeof TestsRoute '/time': typeof TimeRoute } @@ -105,6 +135,8 @@ export interface FileRoutesByTo { '/': typeof IndexRoute '/blank': typeof BlankRoute '/count': typeof CountRoute + '/lazyref': typeof LazyrefRoute + '/promise': typeof PromiseRoute '/tests': typeof TestsRoute '/time': typeof TimeRoute } @@ -114,16 +146,33 @@ export interface FileRoutesById { '/': typeof IndexRoute '/blank': typeof BlankRoute '/count': typeof CountRoute + '/lazyref': typeof LazyrefRoute + '/promise': typeof PromiseRoute '/tests': typeof TestsRoute '/time': typeof TimeRoute } export interface FileRouteTypes { fileRoutesByFullPath: FileRoutesByFullPath - fullPaths: '/' | '/blank' | '/count' | '/tests' | '/time' + fullPaths: + | '/' + | '/blank' + | '/count' + | '/lazyref' + | '/promise' + | '/tests' + | '/time' fileRoutesByTo: FileRoutesByTo - to: '/' | '/blank' | '/count' | '/tests' | '/time' - id: '__root__' | '/' | '/blank' | '/count' | '/tests' | '/time' + to: '/' | '/blank' | '/count' | '/lazyref' | '/promise' | '/tests' | '/time' + id: + | '__root__' + | '/' + | '/blank' + | '/count' + | '/lazyref' + | '/promise' + | '/tests' + | '/time' fileRoutesById: FileRoutesById } @@ -131,6 +180,8 @@ export interface RootRouteChildren { IndexRoute: typeof IndexRoute BlankRoute: typeof BlankRoute CountRoute: typeof CountRoute + LazyrefRoute: typeof LazyrefRoute + PromiseRoute: typeof PromiseRoute TestsRoute: typeof TestsRoute TimeRoute: typeof TimeRoute } @@ -139,6 +190,8 @@ const rootRouteChildren: RootRouteChildren = { IndexRoute: IndexRoute, BlankRoute: BlankRoute, CountRoute: CountRoute, + LazyrefRoute: LazyrefRoute, + PromiseRoute: PromiseRoute, TestsRoute: TestsRoute, TimeRoute: TimeRoute, } @@ -156,6 +209,8 @@ export const routeTree = rootRoute "/", "/blank", "/count", + "/lazyref", + "/promise", "/tests", "/time" ] @@ -169,6 +224,12 @@ export const routeTree = rootRoute "/count": { "filePath": "count.tsx" }, + "/lazyref": { + "filePath": "lazyref.tsx" + }, + "/promise": { + "filePath": "promise.tsx" + }, "/tests": { "filePath": "tests.tsx" }, diff --git a/packages/example/src/routes/__root.tsx b/packages/example/src/routes/__root.tsx index b9e5fa0..e5a9b44 100644 --- a/packages/example/src/routes/__root.tsx +++ b/packages/example/src/routes/__root.tsx @@ -19,6 +19,7 @@ function Root() { Time Count Tests + Promise Blank diff --git a/packages/example/src/routes/lazyref.tsx b/packages/example/src/routes/lazyref.tsx new file mode 100644 index 0000000..67657a7 --- /dev/null +++ b/packages/example/src/routes/lazyref.tsx @@ -0,0 +1,31 @@ +import { R } from "@/reffuse" +import { Button, Text } from "@radix-ui/themes" +import { createFileRoute } from "@tanstack/react-router" +import * as LazyRef from "@typed/lazy-ref" +import { Suspense, use } from "react" + + +export const Route = createFileRoute("/lazyref")({ + component: RouteComponent +}) + +function RouteComponent() { + const promise = R.usePromise(() => LazyRef.of(0), []) + + return ( + Loading...}> + + + ) +} + +function LazyRefComponent({ promise }: { readonly promise: Promise> }) { + const ref = use(promise) + const [value, setValue] = R.useLazyRefState(ref) + + return ( + + ) +} diff --git a/packages/example/src/routes/promise.tsx b/packages/example/src/routes/promise.tsx new file mode 100644 index 0000000..4b197cf --- /dev/null +++ b/packages/example/src/routes/promise.tsx @@ -0,0 +1,35 @@ +import { R } from "@/reffuse" +import { HttpClient } from "@effect/platform" +import { Text } from "@radix-ui/themes" +import { createFileRoute } from "@tanstack/react-router" +import { Console, Effect, Schema } from "effect" +import { Suspense, use } from "react" + + +export const Route = createFileRoute("/promise")({ + component: RouteComponent +}) + + +const Result = Schema.Tuple(Schema.String) +type Result = typeof Result.Type + +function RouteComponent() { + const promise = R.usePromise(() => Effect.addFinalizer(() => Console.log("Cleanup")).pipe( + Effect.andThen(HttpClient.get("https://www.uuidtools.com/api/generate/v4")), + HttpClient.withTracerPropagation(false), + Effect.flatMap(res => res.json), + Effect.flatMap(Schema.decodeUnknown(Result)), + ), []) + + return ( + Loading...}> + + + ) +} + +function AsyncComponent({ promise }: { readonly promise: Promise }) { + const [uuid] = use(promise) + return {uuid} +} diff --git a/packages/example/src/routes/tests.tsx b/packages/example/src/routes/tests.tsx index a019c4b..93e791e 100644 --- a/packages/example/src/routes/tests.tsx +++ b/packages/example/src/routes/tests.tsx @@ -1,6 +1,6 @@ import { R } from "@/reffuse" +import { Button } from "@radix-ui/themes" import { createFileRoute } from "@tanstack/react-router" -import { GetRandomValues, makeUuid4 } from "@typed/id" import { Console, Effect } from "effect" @@ -9,15 +9,23 @@ export const Route = createFileRoute("/tests")({ }) function RouteComponent() { - // R.useMemo(Effect.addFinalizer(() => Console.log("Cleanup!")).pipe( - // Effect.map(() => "test") - // )) + // const value = R.useMemoScoped(Effect.addFinalizer(() => Console.log("cleanup")).pipe( + // Effect.andThen(makeUuid4), + // Effect.provide(GetRandomValues.CryptoRandom), + // ), []) + // console.log(value) - const value = R.useMemoScoped(Effect.addFinalizer(() => Console.log("cleanup")).pipe( - Effect.andThen(makeUuid4), - Effect.provide(GetRandomValues.CryptoRandom), + R.useFork(() => Effect.addFinalizer(() => Console.log("cleanup")).pipe( + Effect.andThen(Console.log("ouient")), + Effect.delay("1 second"), ), []) - console.log(value) - return

Hello "/tests"!
+ const logValue = R.useCallbackSync(Effect.fn(function*(value: string) { + yield* Effect.log(value) + }), []) + + + return ( + + ) } diff --git a/packages/example/src/routes/time.tsx b/packages/example/src/routes/time.tsx index 702a5ad..99e7e39 100644 --- a/packages/example/src/routes/time.tsx +++ b/packages/example/src/routes/time.tsx @@ -1,6 +1,6 @@ import { R } from "@/reffuse" import { createFileRoute } from "@tanstack/react-router" -import { DateTime, Ref, Schedule, Stream } from "effect" +import { Console, DateTime, Effect, Ref, Schedule, Stream, SubscriptionRef } from "effect" const timeEverySecond = Stream.repeatEffectWithSchedule( @@ -15,8 +15,12 @@ export const Route = createFileRoute("/time")({ function Time() { - const timeRef = R.useRefFromEffect(DateTime.now) - R.useFork(Stream.runForEach(timeEverySecond, v => Ref.set(timeRef, v)), [timeRef]) + const timeRef = R.useMemo(() => DateTime.now.pipe(Effect.flatMap(SubscriptionRef.make)), []) + + R.useFork(() => Effect.addFinalizer(() => Console.log("Cleanup")).pipe( + Effect.andThen(Stream.runForEach(timeEverySecond, v => Ref.set(timeRef, v))) + ), [timeRef]) + const [time] = R.useRefState(timeRef) diff --git a/packages/example/src/todos/reffuse.ts b/packages/example/src/todos/reffuse.ts index 8502e12..d01357c 100644 --- a/packages/example/src/todos/reffuse.ts +++ b/packages/example/src/todos/reffuse.ts @@ -1,7 +1,10 @@ -import { GlobalContext } from "@/reffuse" +import { GlobalReffuse } from "@/reffuse" import { Reffuse, ReffuseContext } from "reffuse" import { TodosState } from "./services" export const TodosContext = ReffuseContext.make() -export const R = Reffuse.make(GlobalContext, TodosContext) + +export const R = new class TodosReffuse extends GlobalReffuse.pipe( + Reffuse.withContexts(TodosContext) +) {} diff --git a/packages/example/src/todos/views/VNewTodo.tsx b/packages/example/src/todos/views/VNewTodo.tsx index fee4f16..4d183b5 100644 --- a/packages/example/src/todos/views/VNewTodo.tsx +++ b/packages/example/src/todos/views/VNewTodo.tsx @@ -1,23 +1,24 @@ import { Todo } from "@/domain" import { Box, Button, Card, Flex, TextArea } from "@radix-ui/themes" -import { Effect, Option } from "effect" +import { Effect, Option, SubscriptionRef } from "effect" import { R } from "../reffuse" import { TodosState } from "../services" +const createEmptyTodo = Todo.generateUniqueID.pipe( + Effect.map(id => Todo.Todo.make({ + id, + content: "", + completedAt: Option.none(), + }, true)) +) + + export function VNewTodo() { const runSync = R.useRunSync() - const createEmptyTodo = Todo.generateUniqueID.pipe( - Effect.map(id => Todo.Todo.make({ - id, - content: "", - completedAt: Option.none(), - }, true)) - ) - - const todoRef = R.useRefFromEffect(createEmptyTodo) + const todoRef = R.useMemo(() => createEmptyTodo.pipe(Effect.flatMap(SubscriptionRef.make)), []) const [todo, setTodo] = R.useRefState(todoRef) @@ -36,7 +37,7 @@ export function VNewTodo() {