👁️
6
fork

Configure Feed

Select the types of activity you want to include in your feed.

init tanstack start

Aviva Ruben 8a5ac1af

+7092
+16
.cta.json
··· 1 + { 2 + "projectName": "deckbelcher", 3 + "mode": "file-router", 4 + "typescript": true, 5 + "tailwind": true, 6 + "packageManager": "npm", 7 + "addOnOptions": {}, 8 + "git": true, 9 + "version": 1, 10 + "framework": "react-cra", 11 + "chosenAddOns": [ 12 + "biome", 13 + "start", 14 + "tanstack-query" 15 + ] 16 + }
+1
.envrc
··· 1 + use flake
+14
.gitignore
··· 1 + node_modules 2 + .DS_Store 3 + dist 4 + dist-ssr 5 + *.local 6 + count.txt 7 + .env 8 + .nitro 9 + .tanstack 10 + .wrangler 11 + .output 12 + .vinxi 13 + todos.json 14 + .direnv
+35
.vscode/settings.json
··· 1 + { 2 + "files.watcherExclude": { 3 + "**/routeTree.gen.ts": true 4 + }, 5 + "search.exclude": { 6 + "**/routeTree.gen.ts": true 7 + }, 8 + "files.readonlyInclude": { 9 + "**/routeTree.gen.ts": true 10 + }, 11 + "[javascript]": { 12 + "editor.defaultFormatter": "biomejs.biome" 13 + }, 14 + "[javascriptreact]": { 15 + "editor.defaultFormatter": "biomejs.biome" 16 + }, 17 + "[typescript]": { 18 + "editor.defaultFormatter": "biomejs.biome" 19 + }, 20 + "[typescriptreact]": { 21 + "editor.defaultFormatter": "biomejs.biome" 22 + }, 23 + "[json]": { 24 + "editor.defaultFormatter": "biomejs.biome" 25 + }, 26 + "[jsonc]": { 27 + "editor.defaultFormatter": "biomejs.biome" 28 + }, 29 + "[css]": { 30 + "editor.defaultFormatter": "biomejs.biome" 31 + }, 32 + "editor.codeActionsOnSave": { 33 + "source.organizeImports.biome": "explicit" 34 + } 35 + }
+301
README.md
··· 1 + Welcome to your new TanStack app! 2 + 3 + # Getting Started 4 + 5 + To run this application: 6 + 7 + ```bash 8 + npm install 9 + npm run start 10 + ``` 11 + 12 + # Building For Production 13 + 14 + To build this application for production: 15 + 16 + ```bash 17 + npm run build 18 + ``` 19 + 20 + ## Testing 21 + 22 + This project uses [Vitest](https://vitest.dev/) for testing. You can run the tests with: 23 + 24 + ```bash 25 + npm run test 26 + ``` 27 + 28 + ## Styling 29 + 30 + This project uses [Tailwind CSS](https://tailwindcss.com/) for styling. 31 + 32 + 33 + ## Linting & Formatting 34 + 35 + This project uses [Biome](https://biomejs.dev/) for linting and formatting. The following scripts are available: 36 + 37 + 38 + ```bash 39 + npm run lint 40 + npm run format 41 + npm run check 42 + ``` 43 + 44 + 45 + 46 + ## Routing 47 + This project uses [TanStack Router](https://tanstack.com/router). The initial setup is a file based router. Which means that the routes are managed as files in `src/routes`. 48 + 49 + ### Adding A Route 50 + 51 + To add a new route to your application just add another a new file in the `./src/routes` directory. 52 + 53 + TanStack will automatically generate the content of the route file for you. 54 + 55 + Now that you have two routes you can use a `Link` component to navigate between them. 56 + 57 + ### Adding Links 58 + 59 + To use SPA (Single Page Application) navigation you will need to import the `Link` component from `@tanstack/react-router`. 60 + 61 + ```tsx 62 + import { Link } from "@tanstack/react-router"; 63 + ``` 64 + 65 + Then anywhere in your JSX you can use it like so: 66 + 67 + ```tsx 68 + <Link to="/about">About</Link> 69 + ``` 70 + 71 + This will create a link that will navigate to the `/about` route. 72 + 73 + More information on the `Link` component can be found in the [Link documentation](https://tanstack.com/router/v1/docs/framework/react/api/router/linkComponent). 74 + 75 + ### Using A Layout 76 + 77 + In the File Based Routing setup the layout is located in `src/routes/__root.tsx`. Anything you add to the root route will appear in all the routes. The route content will appear in the JSX where you use the `<Outlet />` component. 78 + 79 + Here is an example layout that includes a header: 80 + 81 + ```tsx 82 + import { Outlet, createRootRoute } from '@tanstack/react-router' 83 + import { TanStackRouterDevtools } from '@tanstack/react-router-devtools' 84 + 85 + import { Link } from "@tanstack/react-router"; 86 + 87 + export const Route = createRootRoute({ 88 + component: () => ( 89 + <> 90 + <header> 91 + <nav> 92 + <Link to="/">Home</Link> 93 + <Link to="/about">About</Link> 94 + </nav> 95 + </header> 96 + <Outlet /> 97 + <TanStackRouterDevtools /> 98 + </> 99 + ), 100 + }) 101 + ``` 102 + 103 + The `<TanStackRouterDevtools />` component is not required so you can remove it if you don't want it in your layout. 104 + 105 + More information on layouts can be found in the [Layouts documentation](https://tanstack.com/router/latest/docs/framework/react/guide/routing-concepts#layouts). 106 + 107 + 108 + ## Data Fetching 109 + 110 + There are multiple ways to fetch data in your application. You can use TanStack Query to fetch data from a server. But you can also use the `loader` functionality built into TanStack Router to load the data for a route before it's rendered. 111 + 112 + For example: 113 + 114 + ```tsx 115 + const peopleRoute = createRoute({ 116 + getParentRoute: () => rootRoute, 117 + path: "/people", 118 + loader: async () => { 119 + const response = await fetch("https://swapi.dev/api/people"); 120 + return response.json() as Promise<{ 121 + results: { 122 + name: string; 123 + }[]; 124 + }>; 125 + }, 126 + component: () => { 127 + const data = peopleRoute.useLoaderData(); 128 + return ( 129 + <ul> 130 + {data.results.map((person) => ( 131 + <li key={person.name}>{person.name}</li> 132 + ))} 133 + </ul> 134 + ); 135 + }, 136 + }); 137 + ``` 138 + 139 + Loaders simplify your data fetching logic dramatically. Check out more information in the [Loader documentation](https://tanstack.com/router/latest/docs/framework/react/guide/data-loading#loader-parameters). 140 + 141 + ### React-Query 142 + 143 + React-Query is an excellent addition or alternative to route loading and integrating it into you application is a breeze. 144 + 145 + First add your dependencies: 146 + 147 + ```bash 148 + npm install @tanstack/react-query @tanstack/react-query-devtools 149 + ``` 150 + 151 + Next we'll need to create a query client and provider. We recommend putting those in `main.tsx`. 152 + 153 + ```tsx 154 + import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; 155 + 156 + // ... 157 + 158 + const queryClient = new QueryClient(); 159 + 160 + // ... 161 + 162 + if (!rootElement.innerHTML) { 163 + const root = ReactDOM.createRoot(rootElement); 164 + 165 + root.render( 166 + <QueryClientProvider client={queryClient}> 167 + <RouterProvider router={router} /> 168 + </QueryClientProvider> 169 + ); 170 + } 171 + ``` 172 + 173 + You can also add TanStack Query Devtools to the root route (optional). 174 + 175 + ```tsx 176 + import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; 177 + 178 + const rootRoute = createRootRoute({ 179 + component: () => ( 180 + <> 181 + <Outlet /> 182 + <ReactQueryDevtools buttonPosition="top-right" /> 183 + <TanStackRouterDevtools /> 184 + </> 185 + ), 186 + }); 187 + ``` 188 + 189 + Now you can use `useQuery` to fetch your data. 190 + 191 + ```tsx 192 + import { useQuery } from "@tanstack/react-query"; 193 + 194 + import "./App.css"; 195 + 196 + function App() { 197 + const { data } = useQuery({ 198 + queryKey: ["people"], 199 + queryFn: () => 200 + fetch("https://swapi.dev/api/people") 201 + .then((res) => res.json()) 202 + .then((data) => data.results as { name: string }[]), 203 + initialData: [], 204 + }); 205 + 206 + return ( 207 + <div> 208 + <ul> 209 + {data.map((person) => ( 210 + <li key={person.name}>{person.name}</li> 211 + ))} 212 + </ul> 213 + </div> 214 + ); 215 + } 216 + 217 + export default App; 218 + ``` 219 + 220 + You can find out everything you need to know on how to use React-Query in the [React-Query documentation](https://tanstack.com/query/latest/docs/framework/react/overview). 221 + 222 + ## State Management 223 + 224 + Another common requirement for React applications is state management. There are many options for state management in React. TanStack Store provides a great starting point for your project. 225 + 226 + First you need to add TanStack Store as a dependency: 227 + 228 + ```bash 229 + npm install @tanstack/store 230 + ``` 231 + 232 + Now let's create a simple counter in the `src/App.tsx` file as a demonstration. 233 + 234 + ```tsx 235 + import { useStore } from "@tanstack/react-store"; 236 + import { Store } from "@tanstack/store"; 237 + import "./App.css"; 238 + 239 + const countStore = new Store(0); 240 + 241 + function App() { 242 + const count = useStore(countStore); 243 + return ( 244 + <div> 245 + <button onClick={() => countStore.setState((n) => n + 1)}> 246 + Increment - {count} 247 + </button> 248 + </div> 249 + ); 250 + } 251 + 252 + export default App; 253 + ``` 254 + 255 + One of the many nice features of TanStack Store is the ability to derive state from other state. That derived state will update when the base state updates. 256 + 257 + Let's check this out by doubling the count using derived state. 258 + 259 + ```tsx 260 + import { useStore } from "@tanstack/react-store"; 261 + import { Store, Derived } from "@tanstack/store"; 262 + import "./App.css"; 263 + 264 + const countStore = new Store(0); 265 + 266 + const doubledStore = new Derived({ 267 + fn: () => countStore.state * 2, 268 + deps: [countStore], 269 + }); 270 + doubledStore.mount(); 271 + 272 + function App() { 273 + const count = useStore(countStore); 274 + const doubledCount = useStore(doubledStore); 275 + 276 + return ( 277 + <div> 278 + <button onClick={() => countStore.setState((n) => n + 1)}> 279 + Increment - {count} 280 + </button> 281 + <div>Doubled - {doubledCount}</div> 282 + </div> 283 + ); 284 + } 285 + 286 + export default App; 287 + ``` 288 + 289 + We use the `Derived` class to create a new store that is derived from another store. The `Derived` class has a `mount` method that will start the derived store updating. 290 + 291 + Once we've created the derived store we can use it in the `App` component just like we would any other store using the `useStore` hook. 292 + 293 + You can find out everything you need to know on how to use TanStack Store in the [TanStack Store documentation](https://tanstack.com/store/latest). 294 + 295 + # Demo files 296 + 297 + Files prefixed with `demo` can be safely deleted. They are there to provide a starting point for you to play around with the features you've installed. 298 + 299 + # Learn More 300 + 301 + You can learn more about all of the offerings from TanStack in the [TanStack documentation](https://tanstack.com).
+35
biome.json
··· 1 + { 2 + "$schema": "https://biomejs.dev/schemas/2.2.4/schema.json", 3 + "vcs": { 4 + "enabled": false, 5 + "clientKind": "git", 6 + "useIgnoreFile": false 7 + }, 8 + "files": { 9 + "ignoreUnknown": false, 10 + "includes": [ 11 + "**/src/**/*", 12 + "**/.vscode/**/*", 13 + "**/index.html", 14 + "**/vite.config.js", 15 + "!**/src/routeTree.gen.ts", 16 + "!**/src/styles.css" 17 + ] 18 + }, 19 + "formatter": { 20 + "enabled": true, 21 + "indentStyle": "tab" 22 + }, 23 + "assist": { "actions": { "source": { "organizeImports": "on" } } }, 24 + "linter": { 25 + "enabled": true, 26 + "rules": { 27 + "recommended": true 28 + } 29 + }, 30 + "javascript": { 31 + "formatter": { 32 + "quoteStyle": "double" 33 + } 34 + } 35 + }
+61
flake.lock
··· 1 + { 2 + "nodes": { 3 + "nixpkgs": { 4 + "locked": { 5 + "lastModified": 1732238832, 6 + "narHash": "sha256-sQxuJm8rHY20xq6Ah+GwIUkF95tWjGRd1X8xF+Pkk38=", 7 + "owner": "NixOS", 8 + "repo": "nixpkgs", 9 + "rev": "8edf06bea5bcbee082df1b7369ff973b91618b8d", 10 + "type": "github" 11 + }, 12 + "original": { 13 + "owner": "NixOS", 14 + "ref": "nixpkgs-unstable", 15 + "repo": "nixpkgs", 16 + "type": "github" 17 + } 18 + }, 19 + "root": { 20 + "inputs": { 21 + "nixpkgs": "nixpkgs", 22 + "utils": "utils" 23 + } 24 + }, 25 + "systems": { 26 + "locked": { 27 + "lastModified": 1681028828, 28 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 29 + "owner": "nix-systems", 30 + "repo": "default", 31 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 32 + "type": "github" 33 + }, 34 + "original": { 35 + "owner": "nix-systems", 36 + "repo": "default", 37 + "type": "github" 38 + } 39 + }, 40 + "utils": { 41 + "inputs": { 42 + "systems": "systems" 43 + }, 44 + "locked": { 45 + "lastModified": 1731533236, 46 + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", 47 + "owner": "numtide", 48 + "repo": "flake-utils", 49 + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", 50 + "type": "github" 51 + }, 52 + "original": { 53 + "owner": "numtide", 54 + "repo": "flake-utils", 55 + "type": "github" 56 + } 57 + } 58 + }, 59 + "root": "root", 60 + "version": 7 61 + }
+32
flake.nix
··· 1 + { 2 + inputs = { 3 + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; 4 + utils.url = "github:numtide/flake-utils"; 5 + }; 6 + 7 + outputs = 8 + { 9 + self, 10 + nixpkgs, 11 + utils, 12 + }: 13 + utils.lib.eachDefaultSystem ( 14 + system: 15 + let 16 + pkgs = import nixpkgs { inherit system; }; 17 + in 18 + { 19 + devShell = 20 + with pkgs; 21 + mkShell { 22 + buildInputs = [ 23 + nodejs_22 24 + wrangler 25 + just 26 + typescript 27 + typescript-language-server 28 + ]; 29 + }; 30 + } 31 + ); 32 + }
+5555
package-lock.json
··· 1 + { 2 + "name": "deckbelcher", 3 + "lockfileVersion": 3, 4 + "requires": true, 5 + "packages": { 6 + "": { 7 + "name": "deckbelcher", 8 + "dependencies": { 9 + "@tailwindcss/vite": "^4.0.6", 10 + "@tanstack/react-devtools": "^0.7.0", 11 + "@tanstack/react-query": "^5.66.5", 12 + "@tanstack/react-query-devtools": "^5.84.2", 13 + "@tanstack/react-router": "^1.132.0", 14 + "@tanstack/react-router-devtools": "^1.132.0", 15 + "@tanstack/react-router-ssr-query": "^1.131.7", 16 + "@tanstack/react-start": "^1.132.0", 17 + "@tanstack/router-plugin": "^1.132.0", 18 + "lucide-react": "^0.544.0", 19 + "react": "^19.2.0", 20 + "react-dom": "^19.2.0", 21 + "tailwindcss": "^4.0.6", 22 + "vite-tsconfig-paths": "^5.1.4" 23 + }, 24 + "devDependencies": { 25 + "@biomejs/biome": "2.2.4", 26 + "@testing-library/dom": "^10.4.0", 27 + "@testing-library/react": "^16.2.0", 28 + "@types/node": "^22.10.2", 29 + "@types/react": "^19.2.0", 30 + "@types/react-dom": "^19.2.0", 31 + "@vitejs/plugin-react": "^5.0.4", 32 + "jsdom": "^27.0.0", 33 + "typescript": "^5.7.2", 34 + "vite": "^7.1.7", 35 + "vitest": "^3.0.5", 36 + "web-vitals": "^5.1.0" 37 + } 38 + }, 39 + "node_modules/@asamuzakjp/css-color": { 40 + "version": "4.0.5", 41 + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-4.0.5.tgz", 42 + "integrity": "sha512-lMrXidNhPGsDjytDy11Vwlb6OIGrT3CmLg3VWNFyWkLWtijKl7xjvForlh8vuj0SHGjgl4qZEQzUmYTeQA2JFQ==", 43 + "dev": true, 44 + "license": "MIT", 45 + "dependencies": { 46 + "@csstools/css-calc": "^2.1.4", 47 + "@csstools/css-color-parser": "^3.1.0", 48 + "@csstools/css-parser-algorithms": "^3.0.5", 49 + "@csstools/css-tokenizer": "^3.0.4", 50 + "lru-cache": "^11.2.1" 51 + } 52 + }, 53 + "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": { 54 + "version": "11.2.2", 55 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.2.tgz", 56 + "integrity": "sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==", 57 + "dev": true, 58 + "license": "ISC", 59 + "engines": { 60 + "node": "20 || >=22" 61 + } 62 + }, 63 + "node_modules/@asamuzakjp/dom-selector": { 64 + "version": "6.7.2", 65 + "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-6.7.2.tgz", 66 + "integrity": "sha512-ccKogJI+0aiDhOahdjANIc9SDixSud1gbwdVrhn7kMopAtLXqsz9MKmQQtIl6Y5aC2IYq+j4dz/oedL2AVMmVQ==", 67 + "dev": true, 68 + "license": "MIT", 69 + "dependencies": { 70 + "@asamuzakjp/nwsapi": "^2.3.9", 71 + "bidi-js": "^1.0.3", 72 + "css-tree": "^3.1.0", 73 + "is-potential-custom-element-name": "^1.0.1", 74 + "lru-cache": "^11.2.2" 75 + } 76 + }, 77 + "node_modules/@asamuzakjp/dom-selector/node_modules/lru-cache": { 78 + "version": "11.2.2", 79 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.2.tgz", 80 + "integrity": "sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==", 81 + "dev": true, 82 + "license": "ISC", 83 + "engines": { 84 + "node": "20 || >=22" 85 + } 86 + }, 87 + "node_modules/@asamuzakjp/nwsapi": { 88 + "version": "2.3.9", 89 + "resolved": "https://registry.npmjs.org/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz", 90 + "integrity": "sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==", 91 + "dev": true, 92 + "license": "MIT" 93 + }, 94 + "node_modules/@babel/code-frame": { 95 + "version": "7.27.1", 96 + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", 97 + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", 98 + "license": "MIT", 99 + "dependencies": { 100 + "@babel/helper-validator-identifier": "^7.27.1", 101 + "js-tokens": "^4.0.0", 102 + "picocolors": "^1.1.1" 103 + }, 104 + "engines": { 105 + "node": ">=6.9.0" 106 + } 107 + }, 108 + "node_modules/@babel/compat-data": { 109 + "version": "7.28.5", 110 + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", 111 + "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", 112 + "license": "MIT", 113 + "engines": { 114 + "node": ">=6.9.0" 115 + } 116 + }, 117 + "node_modules/@babel/core": { 118 + "version": "7.28.5", 119 + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", 120 + "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", 121 + "license": "MIT", 122 + "dependencies": { 123 + "@babel/code-frame": "^7.27.1", 124 + "@babel/generator": "^7.28.5", 125 + "@babel/helper-compilation-targets": "^7.27.2", 126 + "@babel/helper-module-transforms": "^7.28.3", 127 + "@babel/helpers": "^7.28.4", 128 + "@babel/parser": "^7.28.5", 129 + "@babel/template": "^7.27.2", 130 + "@babel/traverse": "^7.28.5", 131 + "@babel/types": "^7.28.5", 132 + "@jridgewell/remapping": "^2.3.5", 133 + "convert-source-map": "^2.0.0", 134 + "debug": "^4.1.0", 135 + "gensync": "^1.0.0-beta.2", 136 + "json5": "^2.2.3", 137 + "semver": "^6.3.1" 138 + }, 139 + "engines": { 140 + "node": ">=6.9.0" 141 + }, 142 + "funding": { 143 + "type": "opencollective", 144 + "url": "https://opencollective.com/babel" 145 + } 146 + }, 147 + "node_modules/@babel/generator": { 148 + "version": "7.28.5", 149 + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", 150 + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", 151 + "license": "MIT", 152 + "dependencies": { 153 + "@babel/parser": "^7.28.5", 154 + "@babel/types": "^7.28.5", 155 + "@jridgewell/gen-mapping": "^0.3.12", 156 + "@jridgewell/trace-mapping": "^0.3.28", 157 + "jsesc": "^3.0.2" 158 + }, 159 + "engines": { 160 + "node": ">=6.9.0" 161 + } 162 + }, 163 + "node_modules/@babel/helper-annotate-as-pure": { 164 + "version": "7.27.3", 165 + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", 166 + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", 167 + "license": "MIT", 168 + "dependencies": { 169 + "@babel/types": "^7.27.3" 170 + }, 171 + "engines": { 172 + "node": ">=6.9.0" 173 + } 174 + }, 175 + "node_modules/@babel/helper-compilation-targets": { 176 + "version": "7.27.2", 177 + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", 178 + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", 179 + "license": "MIT", 180 + "dependencies": { 181 + "@babel/compat-data": "^7.27.2", 182 + "@babel/helper-validator-option": "^7.27.1", 183 + "browserslist": "^4.24.0", 184 + "lru-cache": "^5.1.1", 185 + "semver": "^6.3.1" 186 + }, 187 + "engines": { 188 + "node": ">=6.9.0" 189 + } 190 + }, 191 + "node_modules/@babel/helper-create-class-features-plugin": { 192 + "version": "7.28.5", 193 + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.5.tgz", 194 + "integrity": "sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==", 195 + "license": "MIT", 196 + "dependencies": { 197 + "@babel/helper-annotate-as-pure": "^7.27.3", 198 + "@babel/helper-member-expression-to-functions": "^7.28.5", 199 + "@babel/helper-optimise-call-expression": "^7.27.1", 200 + "@babel/helper-replace-supers": "^7.27.1", 201 + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", 202 + "@babel/traverse": "^7.28.5", 203 + "semver": "^6.3.1" 204 + }, 205 + "engines": { 206 + "node": ">=6.9.0" 207 + }, 208 + "peerDependencies": { 209 + "@babel/core": "^7.0.0" 210 + } 211 + }, 212 + "node_modules/@babel/helper-globals": { 213 + "version": "7.28.0", 214 + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", 215 + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", 216 + "license": "MIT", 217 + "engines": { 218 + "node": ">=6.9.0" 219 + } 220 + }, 221 + "node_modules/@babel/helper-member-expression-to-functions": { 222 + "version": "7.28.5", 223 + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", 224 + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", 225 + "license": "MIT", 226 + "dependencies": { 227 + "@babel/traverse": "^7.28.5", 228 + "@babel/types": "^7.28.5" 229 + }, 230 + "engines": { 231 + "node": ">=6.9.0" 232 + } 233 + }, 234 + "node_modules/@babel/helper-module-imports": { 235 + "version": "7.27.1", 236 + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", 237 + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", 238 + "license": "MIT", 239 + "dependencies": { 240 + "@babel/traverse": "^7.27.1", 241 + "@babel/types": "^7.27.1" 242 + }, 243 + "engines": { 244 + "node": ">=6.9.0" 245 + } 246 + }, 247 + "node_modules/@babel/helper-module-transforms": { 248 + "version": "7.28.3", 249 + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", 250 + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", 251 + "license": "MIT", 252 + "dependencies": { 253 + "@babel/helper-module-imports": "^7.27.1", 254 + "@babel/helper-validator-identifier": "^7.27.1", 255 + "@babel/traverse": "^7.28.3" 256 + }, 257 + "engines": { 258 + "node": ">=6.9.0" 259 + }, 260 + "peerDependencies": { 261 + "@babel/core": "^7.0.0" 262 + } 263 + }, 264 + "node_modules/@babel/helper-optimise-call-expression": { 265 + "version": "7.27.1", 266 + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", 267 + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", 268 + "license": "MIT", 269 + "dependencies": { 270 + "@babel/types": "^7.27.1" 271 + }, 272 + "engines": { 273 + "node": ">=6.9.0" 274 + } 275 + }, 276 + "node_modules/@babel/helper-plugin-utils": { 277 + "version": "7.27.1", 278 + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", 279 + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", 280 + "license": "MIT", 281 + "engines": { 282 + "node": ">=6.9.0" 283 + } 284 + }, 285 + "node_modules/@babel/helper-replace-supers": { 286 + "version": "7.27.1", 287 + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", 288 + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", 289 + "license": "MIT", 290 + "dependencies": { 291 + "@babel/helper-member-expression-to-functions": "^7.27.1", 292 + "@babel/helper-optimise-call-expression": "^7.27.1", 293 + "@babel/traverse": "^7.27.1" 294 + }, 295 + "engines": { 296 + "node": ">=6.9.0" 297 + }, 298 + "peerDependencies": { 299 + "@babel/core": "^7.0.0" 300 + } 301 + }, 302 + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { 303 + "version": "7.27.1", 304 + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", 305 + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", 306 + "license": "MIT", 307 + "dependencies": { 308 + "@babel/traverse": "^7.27.1", 309 + "@babel/types": "^7.27.1" 310 + }, 311 + "engines": { 312 + "node": ">=6.9.0" 313 + } 314 + }, 315 + "node_modules/@babel/helper-string-parser": { 316 + "version": "7.27.1", 317 + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", 318 + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", 319 + "license": "MIT", 320 + "engines": { 321 + "node": ">=6.9.0" 322 + } 323 + }, 324 + "node_modules/@babel/helper-validator-identifier": { 325 + "version": "7.28.5", 326 + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", 327 + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", 328 + "license": "MIT", 329 + "engines": { 330 + "node": ">=6.9.0" 331 + } 332 + }, 333 + "node_modules/@babel/helper-validator-option": { 334 + "version": "7.27.1", 335 + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", 336 + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", 337 + "license": "MIT", 338 + "engines": { 339 + "node": ">=6.9.0" 340 + } 341 + }, 342 + "node_modules/@babel/helpers": { 343 + "version": "7.28.4", 344 + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", 345 + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", 346 + "license": "MIT", 347 + "dependencies": { 348 + "@babel/template": "^7.27.2", 349 + "@babel/types": "^7.28.4" 350 + }, 351 + "engines": { 352 + "node": ">=6.9.0" 353 + } 354 + }, 355 + "node_modules/@babel/parser": { 356 + "version": "7.28.5", 357 + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", 358 + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", 359 + "license": "MIT", 360 + "dependencies": { 361 + "@babel/types": "^7.28.5" 362 + }, 363 + "bin": { 364 + "parser": "bin/babel-parser.js" 365 + }, 366 + "engines": { 367 + "node": ">=6.0.0" 368 + } 369 + }, 370 + "node_modules/@babel/plugin-syntax-jsx": { 371 + "version": "7.27.1", 372 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", 373 + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", 374 + "license": "MIT", 375 + "dependencies": { 376 + "@babel/helper-plugin-utils": "^7.27.1" 377 + }, 378 + "engines": { 379 + "node": ">=6.9.0" 380 + }, 381 + "peerDependencies": { 382 + "@babel/core": "^7.0.0-0" 383 + } 384 + }, 385 + "node_modules/@babel/plugin-syntax-typescript": { 386 + "version": "7.27.1", 387 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", 388 + "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", 389 + "license": "MIT", 390 + "dependencies": { 391 + "@babel/helper-plugin-utils": "^7.27.1" 392 + }, 393 + "engines": { 394 + "node": ">=6.9.0" 395 + }, 396 + "peerDependencies": { 397 + "@babel/core": "^7.0.0-0" 398 + } 399 + }, 400 + "node_modules/@babel/plugin-transform-modules-commonjs": { 401 + "version": "7.27.1", 402 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", 403 + "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", 404 + "license": "MIT", 405 + "dependencies": { 406 + "@babel/helper-module-transforms": "^7.27.1", 407 + "@babel/helper-plugin-utils": "^7.27.1" 408 + }, 409 + "engines": { 410 + "node": ">=6.9.0" 411 + }, 412 + "peerDependencies": { 413 + "@babel/core": "^7.0.0-0" 414 + } 415 + }, 416 + "node_modules/@babel/plugin-transform-react-jsx-self": { 417 + "version": "7.27.1", 418 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", 419 + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", 420 + "dev": true, 421 + "license": "MIT", 422 + "dependencies": { 423 + "@babel/helper-plugin-utils": "^7.27.1" 424 + }, 425 + "engines": { 426 + "node": ">=6.9.0" 427 + }, 428 + "peerDependencies": { 429 + "@babel/core": "^7.0.0-0" 430 + } 431 + }, 432 + "node_modules/@babel/plugin-transform-react-jsx-source": { 433 + "version": "7.27.1", 434 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", 435 + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", 436 + "dev": true, 437 + "license": "MIT", 438 + "dependencies": { 439 + "@babel/helper-plugin-utils": "^7.27.1" 440 + }, 441 + "engines": { 442 + "node": ">=6.9.0" 443 + }, 444 + "peerDependencies": { 445 + "@babel/core": "^7.0.0-0" 446 + } 447 + }, 448 + "node_modules/@babel/plugin-transform-typescript": { 449 + "version": "7.28.5", 450 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.5.tgz", 451 + "integrity": "sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==", 452 + "license": "MIT", 453 + "dependencies": { 454 + "@babel/helper-annotate-as-pure": "^7.27.3", 455 + "@babel/helper-create-class-features-plugin": "^7.28.5", 456 + "@babel/helper-plugin-utils": "^7.27.1", 457 + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", 458 + "@babel/plugin-syntax-typescript": "^7.27.1" 459 + }, 460 + "engines": { 461 + "node": ">=6.9.0" 462 + }, 463 + "peerDependencies": { 464 + "@babel/core": "^7.0.0-0" 465 + } 466 + }, 467 + "node_modules/@babel/preset-typescript": { 468 + "version": "7.28.5", 469 + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz", 470 + "integrity": "sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==", 471 + "license": "MIT", 472 + "dependencies": { 473 + "@babel/helper-plugin-utils": "^7.27.1", 474 + "@babel/helper-validator-option": "^7.27.1", 475 + "@babel/plugin-syntax-jsx": "^7.27.1", 476 + "@babel/plugin-transform-modules-commonjs": "^7.27.1", 477 + "@babel/plugin-transform-typescript": "^7.28.5" 478 + }, 479 + "engines": { 480 + "node": ">=6.9.0" 481 + }, 482 + "peerDependencies": { 483 + "@babel/core": "^7.0.0-0" 484 + } 485 + }, 486 + "node_modules/@babel/runtime": { 487 + "version": "7.28.4", 488 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", 489 + "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", 490 + "dev": true, 491 + "license": "MIT", 492 + "engines": { 493 + "node": ">=6.9.0" 494 + } 495 + }, 496 + "node_modules/@babel/template": { 497 + "version": "7.27.2", 498 + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", 499 + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", 500 + "license": "MIT", 501 + "dependencies": { 502 + "@babel/code-frame": "^7.27.1", 503 + "@babel/parser": "^7.27.2", 504 + "@babel/types": "^7.27.1" 505 + }, 506 + "engines": { 507 + "node": ">=6.9.0" 508 + } 509 + }, 510 + "node_modules/@babel/traverse": { 511 + "version": "7.28.5", 512 + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", 513 + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", 514 + "license": "MIT", 515 + "dependencies": { 516 + "@babel/code-frame": "^7.27.1", 517 + "@babel/generator": "^7.28.5", 518 + "@babel/helper-globals": "^7.28.0", 519 + "@babel/parser": "^7.28.5", 520 + "@babel/template": "^7.27.2", 521 + "@babel/types": "^7.28.5", 522 + "debug": "^4.3.1" 523 + }, 524 + "engines": { 525 + "node": ">=6.9.0" 526 + } 527 + }, 528 + "node_modules/@babel/types": { 529 + "version": "7.28.5", 530 + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", 531 + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", 532 + "license": "MIT", 533 + "dependencies": { 534 + "@babel/helper-string-parser": "^7.27.1", 535 + "@babel/helper-validator-identifier": "^7.28.5" 536 + }, 537 + "engines": { 538 + "node": ">=6.9.0" 539 + } 540 + }, 541 + "node_modules/@biomejs/biome": { 542 + "version": "2.2.4", 543 + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.2.4.tgz", 544 + "integrity": "sha512-TBHU5bUy/Ok6m8c0y3pZiuO/BZoY/OcGxoLlrfQof5s8ISVwbVBdFINPQZyFfKwil8XibYWb7JMwnT8wT4WVPg==", 545 + "dev": true, 546 + "license": "MIT OR Apache-2.0", 547 + "bin": { 548 + "biome": "bin/biome" 549 + }, 550 + "engines": { 551 + "node": ">=14.21.3" 552 + }, 553 + "funding": { 554 + "type": "opencollective", 555 + "url": "https://opencollective.com/biome" 556 + }, 557 + "optionalDependencies": { 558 + "@biomejs/cli-darwin-arm64": "2.2.4", 559 + "@biomejs/cli-darwin-x64": "2.2.4", 560 + "@biomejs/cli-linux-arm64": "2.2.4", 561 + "@biomejs/cli-linux-arm64-musl": "2.2.4", 562 + "@biomejs/cli-linux-x64": "2.2.4", 563 + "@biomejs/cli-linux-x64-musl": "2.2.4", 564 + "@biomejs/cli-win32-arm64": "2.2.4", 565 + "@biomejs/cli-win32-x64": "2.2.4" 566 + } 567 + }, 568 + "node_modules/@biomejs/cli-darwin-arm64": { 569 + "version": "2.2.4", 570 + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.2.4.tgz", 571 + "integrity": "sha512-RJe2uiyaloN4hne4d2+qVj3d3gFJFbmrr5PYtkkjei1O9c+BjGXgpUPVbi8Pl8syumhzJjFsSIYkcLt2VlVLMA==", 572 + "cpu": [ 573 + "arm64" 574 + ], 575 + "dev": true, 576 + "license": "MIT OR Apache-2.0", 577 + "optional": true, 578 + "os": [ 579 + "darwin" 580 + ], 581 + "engines": { 582 + "node": ">=14.21.3" 583 + } 584 + }, 585 + "node_modules/@biomejs/cli-darwin-x64": { 586 + "version": "2.2.4", 587 + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.2.4.tgz", 588 + "integrity": "sha512-cFsdB4ePanVWfTnPVaUX+yr8qV8ifxjBKMkZwN7gKb20qXPxd/PmwqUH8mY5wnM9+U0QwM76CxFyBRJhC9tQwg==", 589 + "cpu": [ 590 + "x64" 591 + ], 592 + "dev": true, 593 + "license": "MIT OR Apache-2.0", 594 + "optional": true, 595 + "os": [ 596 + "darwin" 597 + ], 598 + "engines": { 599 + "node": ">=14.21.3" 600 + } 601 + }, 602 + "node_modules/@biomejs/cli-linux-arm64": { 603 + "version": "2.2.4", 604 + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.2.4.tgz", 605 + "integrity": "sha512-M/Iz48p4NAzMXOuH+tsn5BvG/Jb07KOMTdSVwJpicmhN309BeEyRyQX+n1XDF0JVSlu28+hiTQ2L4rZPvu7nMw==", 606 + "cpu": [ 607 + "arm64" 608 + ], 609 + "dev": true, 610 + "license": "MIT OR Apache-2.0", 611 + "optional": true, 612 + "os": [ 613 + "linux" 614 + ], 615 + "engines": { 616 + "node": ">=14.21.3" 617 + } 618 + }, 619 + "node_modules/@biomejs/cli-linux-arm64-musl": { 620 + "version": "2.2.4", 621 + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.2.4.tgz", 622 + "integrity": "sha512-7TNPkMQEWfjvJDaZRSkDCPT/2r5ESFPKx+TEev+I2BXDGIjfCZk2+b88FOhnJNHtksbOZv8ZWnxrA5gyTYhSsQ==", 623 + "cpu": [ 624 + "arm64" 625 + ], 626 + "dev": true, 627 + "license": "MIT OR Apache-2.0", 628 + "optional": true, 629 + "os": [ 630 + "linux" 631 + ], 632 + "engines": { 633 + "node": ">=14.21.3" 634 + } 635 + }, 636 + "node_modules/@biomejs/cli-linux-x64": { 637 + "version": "2.2.4", 638 + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.2.4.tgz", 639 + "integrity": "sha512-orr3nnf2Dpb2ssl6aihQtvcKtLySLta4E2UcXdp7+RTa7mfJjBgIsbS0B9GC8gVu0hjOu021aU8b3/I1tn+pVQ==", 640 + "cpu": [ 641 + "x64" 642 + ], 643 + "dev": true, 644 + "license": "MIT OR Apache-2.0", 645 + "optional": true, 646 + "os": [ 647 + "linux" 648 + ], 649 + "engines": { 650 + "node": ">=14.21.3" 651 + } 652 + }, 653 + "node_modules/@biomejs/cli-linux-x64-musl": { 654 + "version": "2.2.4", 655 + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.2.4.tgz", 656 + "integrity": "sha512-m41nFDS0ksXK2gwXL6W6yZTYPMH0LughqbsxInSKetoH6morVj43szqKx79Iudkp8WRT5SxSh7qVb8KCUiewGg==", 657 + "cpu": [ 658 + "x64" 659 + ], 660 + "dev": true, 661 + "license": "MIT OR Apache-2.0", 662 + "optional": true, 663 + "os": [ 664 + "linux" 665 + ], 666 + "engines": { 667 + "node": ">=14.21.3" 668 + } 669 + }, 670 + "node_modules/@biomejs/cli-win32-arm64": { 671 + "version": "2.2.4", 672 + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.2.4.tgz", 673 + "integrity": "sha512-NXnfTeKHDFUWfxAefa57DiGmu9VyKi0cDqFpdI+1hJWQjGJhJutHPX0b5m+eXvTKOaf+brU+P0JrQAZMb5yYaQ==", 674 + "cpu": [ 675 + "arm64" 676 + ], 677 + "dev": true, 678 + "license": "MIT OR Apache-2.0", 679 + "optional": true, 680 + "os": [ 681 + "win32" 682 + ], 683 + "engines": { 684 + "node": ">=14.21.3" 685 + } 686 + }, 687 + "node_modules/@biomejs/cli-win32-x64": { 688 + "version": "2.2.4", 689 + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.2.4.tgz", 690 + "integrity": "sha512-3Y4V4zVRarVh/B/eSHczR4LYoSVyv3Dfuvm3cWs5w/HScccS0+Wt/lHOcDTRYeHjQmMYVC3rIRWqyN2EI52+zg==", 691 + "cpu": [ 692 + "x64" 693 + ], 694 + "dev": true, 695 + "license": "MIT OR Apache-2.0", 696 + "optional": true, 697 + "os": [ 698 + "win32" 699 + ], 700 + "engines": { 701 + "node": ">=14.21.3" 702 + } 703 + }, 704 + "node_modules/@csstools/color-helpers": { 705 + "version": "5.1.0", 706 + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz", 707 + "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==", 708 + "dev": true, 709 + "funding": [ 710 + { 711 + "type": "github", 712 + "url": "https://github.com/sponsors/csstools" 713 + }, 714 + { 715 + "type": "opencollective", 716 + "url": "https://opencollective.com/csstools" 717 + } 718 + ], 719 + "license": "MIT-0", 720 + "engines": { 721 + "node": ">=18" 722 + } 723 + }, 724 + "node_modules/@csstools/css-calc": { 725 + "version": "2.1.4", 726 + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", 727 + "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", 728 + "dev": true, 729 + "funding": [ 730 + { 731 + "type": "github", 732 + "url": "https://github.com/sponsors/csstools" 733 + }, 734 + { 735 + "type": "opencollective", 736 + "url": "https://opencollective.com/csstools" 737 + } 738 + ], 739 + "license": "MIT", 740 + "engines": { 741 + "node": ">=18" 742 + }, 743 + "peerDependencies": { 744 + "@csstools/css-parser-algorithms": "^3.0.5", 745 + "@csstools/css-tokenizer": "^3.0.4" 746 + } 747 + }, 748 + "node_modules/@csstools/css-color-parser": { 749 + "version": "3.1.0", 750 + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz", 751 + "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==", 752 + "dev": true, 753 + "funding": [ 754 + { 755 + "type": "github", 756 + "url": "https://github.com/sponsors/csstools" 757 + }, 758 + { 759 + "type": "opencollective", 760 + "url": "https://opencollective.com/csstools" 761 + } 762 + ], 763 + "license": "MIT", 764 + "dependencies": { 765 + "@csstools/color-helpers": "^5.1.0", 766 + "@csstools/css-calc": "^2.1.4" 767 + }, 768 + "engines": { 769 + "node": ">=18" 770 + }, 771 + "peerDependencies": { 772 + "@csstools/css-parser-algorithms": "^3.0.5", 773 + "@csstools/css-tokenizer": "^3.0.4" 774 + } 775 + }, 776 + "node_modules/@csstools/css-parser-algorithms": { 777 + "version": "3.0.5", 778 + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", 779 + "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", 780 + "dev": true, 781 + "funding": [ 782 + { 783 + "type": "github", 784 + "url": "https://github.com/sponsors/csstools" 785 + }, 786 + { 787 + "type": "opencollective", 788 + "url": "https://opencollective.com/csstools" 789 + } 790 + ], 791 + "license": "MIT", 792 + "engines": { 793 + "node": ">=18" 794 + }, 795 + "peerDependencies": { 796 + "@csstools/css-tokenizer": "^3.0.4" 797 + } 798 + }, 799 + "node_modules/@csstools/css-syntax-patches-for-csstree": { 800 + "version": "1.0.14", 801 + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.0.14.tgz", 802 + "integrity": "sha512-zSlIxa20WvMojjpCSy8WrNpcZ61RqfTfX3XTaOeVlGJrt/8HF3YbzgFZa01yTbT4GWQLwfTcC3EB8i3XnB647Q==", 803 + "dev": true, 804 + "funding": [ 805 + { 806 + "type": "github", 807 + "url": "https://github.com/sponsors/csstools" 808 + }, 809 + { 810 + "type": "opencollective", 811 + "url": "https://opencollective.com/csstools" 812 + } 813 + ], 814 + "license": "MIT-0", 815 + "engines": { 816 + "node": ">=18" 817 + }, 818 + "peerDependencies": { 819 + "postcss": "^8.4" 820 + } 821 + }, 822 + "node_modules/@csstools/css-tokenizer": { 823 + "version": "3.0.4", 824 + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", 825 + "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", 826 + "dev": true, 827 + "funding": [ 828 + { 829 + "type": "github", 830 + "url": "https://github.com/sponsors/csstools" 831 + }, 832 + { 833 + "type": "opencollective", 834 + "url": "https://opencollective.com/csstools" 835 + } 836 + ], 837 + "license": "MIT", 838 + "engines": { 839 + "node": ">=18" 840 + } 841 + }, 842 + "node_modules/@esbuild/aix-ppc64": { 843 + "version": "0.25.11", 844 + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz", 845 + "integrity": "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==", 846 + "cpu": [ 847 + "ppc64" 848 + ], 849 + "license": "MIT", 850 + "optional": true, 851 + "os": [ 852 + "aix" 853 + ], 854 + "engines": { 855 + "node": ">=18" 856 + } 857 + }, 858 + "node_modules/@esbuild/android-arm": { 859 + "version": "0.25.11", 860 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.11.tgz", 861 + "integrity": "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==", 862 + "cpu": [ 863 + "arm" 864 + ], 865 + "license": "MIT", 866 + "optional": true, 867 + "os": [ 868 + "android" 869 + ], 870 + "engines": { 871 + "node": ">=18" 872 + } 873 + }, 874 + "node_modules/@esbuild/android-arm64": { 875 + "version": "0.25.11", 876 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.11.tgz", 877 + "integrity": "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==", 878 + "cpu": [ 879 + "arm64" 880 + ], 881 + "license": "MIT", 882 + "optional": true, 883 + "os": [ 884 + "android" 885 + ], 886 + "engines": { 887 + "node": ">=18" 888 + } 889 + }, 890 + "node_modules/@esbuild/android-x64": { 891 + "version": "0.25.11", 892 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.11.tgz", 893 + "integrity": "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==", 894 + "cpu": [ 895 + "x64" 896 + ], 897 + "license": "MIT", 898 + "optional": true, 899 + "os": [ 900 + "android" 901 + ], 902 + "engines": { 903 + "node": ">=18" 904 + } 905 + }, 906 + "node_modules/@esbuild/darwin-arm64": { 907 + "version": "0.25.11", 908 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.11.tgz", 909 + "integrity": "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==", 910 + "cpu": [ 911 + "arm64" 912 + ], 913 + "license": "MIT", 914 + "optional": true, 915 + "os": [ 916 + "darwin" 917 + ], 918 + "engines": { 919 + "node": ">=18" 920 + } 921 + }, 922 + "node_modules/@esbuild/darwin-x64": { 923 + "version": "0.25.11", 924 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.11.tgz", 925 + "integrity": "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==", 926 + "cpu": [ 927 + "x64" 928 + ], 929 + "license": "MIT", 930 + "optional": true, 931 + "os": [ 932 + "darwin" 933 + ], 934 + "engines": { 935 + "node": ">=18" 936 + } 937 + }, 938 + "node_modules/@esbuild/freebsd-arm64": { 939 + "version": "0.25.11", 940 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.11.tgz", 941 + "integrity": "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==", 942 + "cpu": [ 943 + "arm64" 944 + ], 945 + "license": "MIT", 946 + "optional": true, 947 + "os": [ 948 + "freebsd" 949 + ], 950 + "engines": { 951 + "node": ">=18" 952 + } 953 + }, 954 + "node_modules/@esbuild/freebsd-x64": { 955 + "version": "0.25.11", 956 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.11.tgz", 957 + "integrity": "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==", 958 + "cpu": [ 959 + "x64" 960 + ], 961 + "license": "MIT", 962 + "optional": true, 963 + "os": [ 964 + "freebsd" 965 + ], 966 + "engines": { 967 + "node": ">=18" 968 + } 969 + }, 970 + "node_modules/@esbuild/linux-arm": { 971 + "version": "0.25.11", 972 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.11.tgz", 973 + "integrity": "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==", 974 + "cpu": [ 975 + "arm" 976 + ], 977 + "license": "MIT", 978 + "optional": true, 979 + "os": [ 980 + "linux" 981 + ], 982 + "engines": { 983 + "node": ">=18" 984 + } 985 + }, 986 + "node_modules/@esbuild/linux-arm64": { 987 + "version": "0.25.11", 988 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.11.tgz", 989 + "integrity": "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==", 990 + "cpu": [ 991 + "arm64" 992 + ], 993 + "license": "MIT", 994 + "optional": true, 995 + "os": [ 996 + "linux" 997 + ], 998 + "engines": { 999 + "node": ">=18" 1000 + } 1001 + }, 1002 + "node_modules/@esbuild/linux-ia32": { 1003 + "version": "0.25.11", 1004 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.11.tgz", 1005 + "integrity": "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==", 1006 + "cpu": [ 1007 + "ia32" 1008 + ], 1009 + "license": "MIT", 1010 + "optional": true, 1011 + "os": [ 1012 + "linux" 1013 + ], 1014 + "engines": { 1015 + "node": ">=18" 1016 + } 1017 + }, 1018 + "node_modules/@esbuild/linux-loong64": { 1019 + "version": "0.25.11", 1020 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.11.tgz", 1021 + "integrity": "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==", 1022 + "cpu": [ 1023 + "loong64" 1024 + ], 1025 + "license": "MIT", 1026 + "optional": true, 1027 + "os": [ 1028 + "linux" 1029 + ], 1030 + "engines": { 1031 + "node": ">=18" 1032 + } 1033 + }, 1034 + "node_modules/@esbuild/linux-mips64el": { 1035 + "version": "0.25.11", 1036 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.11.tgz", 1037 + "integrity": "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==", 1038 + "cpu": [ 1039 + "mips64el" 1040 + ], 1041 + "license": "MIT", 1042 + "optional": true, 1043 + "os": [ 1044 + "linux" 1045 + ], 1046 + "engines": { 1047 + "node": ">=18" 1048 + } 1049 + }, 1050 + "node_modules/@esbuild/linux-ppc64": { 1051 + "version": "0.25.11", 1052 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.11.tgz", 1053 + "integrity": "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==", 1054 + "cpu": [ 1055 + "ppc64" 1056 + ], 1057 + "license": "MIT", 1058 + "optional": true, 1059 + "os": [ 1060 + "linux" 1061 + ], 1062 + "engines": { 1063 + "node": ">=18" 1064 + } 1065 + }, 1066 + "node_modules/@esbuild/linux-riscv64": { 1067 + "version": "0.25.11", 1068 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.11.tgz", 1069 + "integrity": "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==", 1070 + "cpu": [ 1071 + "riscv64" 1072 + ], 1073 + "license": "MIT", 1074 + "optional": true, 1075 + "os": [ 1076 + "linux" 1077 + ], 1078 + "engines": { 1079 + "node": ">=18" 1080 + } 1081 + }, 1082 + "node_modules/@esbuild/linux-s390x": { 1083 + "version": "0.25.11", 1084 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.11.tgz", 1085 + "integrity": "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==", 1086 + "cpu": [ 1087 + "s390x" 1088 + ], 1089 + "license": "MIT", 1090 + "optional": true, 1091 + "os": [ 1092 + "linux" 1093 + ], 1094 + "engines": { 1095 + "node": ">=18" 1096 + } 1097 + }, 1098 + "node_modules/@esbuild/linux-x64": { 1099 + "version": "0.25.11", 1100 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.11.tgz", 1101 + "integrity": "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==", 1102 + "cpu": [ 1103 + "x64" 1104 + ], 1105 + "license": "MIT", 1106 + "optional": true, 1107 + "os": [ 1108 + "linux" 1109 + ], 1110 + "engines": { 1111 + "node": ">=18" 1112 + } 1113 + }, 1114 + "node_modules/@esbuild/netbsd-arm64": { 1115 + "version": "0.25.11", 1116 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.11.tgz", 1117 + "integrity": "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==", 1118 + "cpu": [ 1119 + "arm64" 1120 + ], 1121 + "license": "MIT", 1122 + "optional": true, 1123 + "os": [ 1124 + "netbsd" 1125 + ], 1126 + "engines": { 1127 + "node": ">=18" 1128 + } 1129 + }, 1130 + "node_modules/@esbuild/netbsd-x64": { 1131 + "version": "0.25.11", 1132 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.11.tgz", 1133 + "integrity": "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==", 1134 + "cpu": [ 1135 + "x64" 1136 + ], 1137 + "license": "MIT", 1138 + "optional": true, 1139 + "os": [ 1140 + "netbsd" 1141 + ], 1142 + "engines": { 1143 + "node": ">=18" 1144 + } 1145 + }, 1146 + "node_modules/@esbuild/openbsd-arm64": { 1147 + "version": "0.25.11", 1148 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.11.tgz", 1149 + "integrity": "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==", 1150 + "cpu": [ 1151 + "arm64" 1152 + ], 1153 + "license": "MIT", 1154 + "optional": true, 1155 + "os": [ 1156 + "openbsd" 1157 + ], 1158 + "engines": { 1159 + "node": ">=18" 1160 + } 1161 + }, 1162 + "node_modules/@esbuild/openbsd-x64": { 1163 + "version": "0.25.11", 1164 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.11.tgz", 1165 + "integrity": "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==", 1166 + "cpu": [ 1167 + "x64" 1168 + ], 1169 + "license": "MIT", 1170 + "optional": true, 1171 + "os": [ 1172 + "openbsd" 1173 + ], 1174 + "engines": { 1175 + "node": ">=18" 1176 + } 1177 + }, 1178 + "node_modules/@esbuild/openharmony-arm64": { 1179 + "version": "0.25.11", 1180 + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.11.tgz", 1181 + "integrity": "sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==", 1182 + "cpu": [ 1183 + "arm64" 1184 + ], 1185 + "license": "MIT", 1186 + "optional": true, 1187 + "os": [ 1188 + "openharmony" 1189 + ], 1190 + "engines": { 1191 + "node": ">=18" 1192 + } 1193 + }, 1194 + "node_modules/@esbuild/sunos-x64": { 1195 + "version": "0.25.11", 1196 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.11.tgz", 1197 + "integrity": "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==", 1198 + "cpu": [ 1199 + "x64" 1200 + ], 1201 + "license": "MIT", 1202 + "optional": true, 1203 + "os": [ 1204 + "sunos" 1205 + ], 1206 + "engines": { 1207 + "node": ">=18" 1208 + } 1209 + }, 1210 + "node_modules/@esbuild/win32-arm64": { 1211 + "version": "0.25.11", 1212 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.11.tgz", 1213 + "integrity": "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==", 1214 + "cpu": [ 1215 + "arm64" 1216 + ], 1217 + "license": "MIT", 1218 + "optional": true, 1219 + "os": [ 1220 + "win32" 1221 + ], 1222 + "engines": { 1223 + "node": ">=18" 1224 + } 1225 + }, 1226 + "node_modules/@esbuild/win32-ia32": { 1227 + "version": "0.25.11", 1228 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.11.tgz", 1229 + "integrity": "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==", 1230 + "cpu": [ 1231 + "ia32" 1232 + ], 1233 + "license": "MIT", 1234 + "optional": true, 1235 + "os": [ 1236 + "win32" 1237 + ], 1238 + "engines": { 1239 + "node": ">=18" 1240 + } 1241 + }, 1242 + "node_modules/@esbuild/win32-x64": { 1243 + "version": "0.25.11", 1244 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.11.tgz", 1245 + "integrity": "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==", 1246 + "cpu": [ 1247 + "x64" 1248 + ], 1249 + "license": "MIT", 1250 + "optional": true, 1251 + "os": [ 1252 + "win32" 1253 + ], 1254 + "engines": { 1255 + "node": ">=18" 1256 + } 1257 + }, 1258 + "node_modules/@jridgewell/gen-mapping": { 1259 + "version": "0.3.13", 1260 + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", 1261 + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", 1262 + "license": "MIT", 1263 + "dependencies": { 1264 + "@jridgewell/sourcemap-codec": "^1.5.0", 1265 + "@jridgewell/trace-mapping": "^0.3.24" 1266 + } 1267 + }, 1268 + "node_modules/@jridgewell/remapping": { 1269 + "version": "2.3.5", 1270 + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", 1271 + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", 1272 + "license": "MIT", 1273 + "dependencies": { 1274 + "@jridgewell/gen-mapping": "^0.3.5", 1275 + "@jridgewell/trace-mapping": "^0.3.24" 1276 + } 1277 + }, 1278 + "node_modules/@jridgewell/resolve-uri": { 1279 + "version": "3.1.2", 1280 + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 1281 + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 1282 + "license": "MIT", 1283 + "engines": { 1284 + "node": ">=6.0.0" 1285 + } 1286 + }, 1287 + "node_modules/@jridgewell/sourcemap-codec": { 1288 + "version": "1.5.5", 1289 + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", 1290 + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", 1291 + "license": "MIT" 1292 + }, 1293 + "node_modules/@jridgewell/trace-mapping": { 1294 + "version": "0.3.31", 1295 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", 1296 + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", 1297 + "license": "MIT", 1298 + "dependencies": { 1299 + "@jridgewell/resolve-uri": "^3.1.0", 1300 + "@jridgewell/sourcemap-codec": "^1.4.14" 1301 + } 1302 + }, 1303 + "node_modules/@oozcitak/dom": { 1304 + "version": "1.15.10", 1305 + "resolved": "https://registry.npmjs.org/@oozcitak/dom/-/dom-1.15.10.tgz", 1306 + "integrity": "sha512-0JT29/LaxVgRcGKvHmSrUTEvZ8BXvZhGl2LASRUgHqDTC1M5g1pLmVv56IYNyt3bG2CUjDkc67wnyZC14pbQrQ==", 1307 + "license": "MIT", 1308 + "dependencies": { 1309 + "@oozcitak/infra": "1.0.8", 1310 + "@oozcitak/url": "1.0.4", 1311 + "@oozcitak/util": "8.3.8" 1312 + }, 1313 + "engines": { 1314 + "node": ">=8.0" 1315 + } 1316 + }, 1317 + "node_modules/@oozcitak/infra": { 1318 + "version": "1.0.8", 1319 + "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-1.0.8.tgz", 1320 + "integrity": "sha512-JRAUc9VR6IGHOL7OGF+yrvs0LO8SlqGnPAMqyzOuFZPSZSXI7Xf2O9+awQPSMXgIWGtgUf/dA6Hs6X6ySEaWTg==", 1321 + "license": "MIT", 1322 + "dependencies": { 1323 + "@oozcitak/util": "8.3.8" 1324 + }, 1325 + "engines": { 1326 + "node": ">=6.0" 1327 + } 1328 + }, 1329 + "node_modules/@oozcitak/url": { 1330 + "version": "1.0.4", 1331 + "resolved": "https://registry.npmjs.org/@oozcitak/url/-/url-1.0.4.tgz", 1332 + "integrity": "sha512-kDcD8y+y3FCSOvnBI6HJgl00viO/nGbQoCINmQ0h98OhnGITrWR3bOGfwYCthgcrV8AnTJz8MzslTQbC3SOAmw==", 1333 + "license": "MIT", 1334 + "dependencies": { 1335 + "@oozcitak/infra": "1.0.8", 1336 + "@oozcitak/util": "8.3.8" 1337 + }, 1338 + "engines": { 1339 + "node": ">=8.0" 1340 + } 1341 + }, 1342 + "node_modules/@oozcitak/util": { 1343 + "version": "8.3.8", 1344 + "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-8.3.8.tgz", 1345 + "integrity": "sha512-T8TbSnGsxo6TDBJx/Sgv/BlVJL3tshxZP7Aq5R1mSnM5OcHY2dQaxLMu2+E8u3gN0MLOzdjurqN4ZRVuzQycOQ==", 1346 + "license": "MIT", 1347 + "engines": { 1348 + "node": ">=8.0" 1349 + } 1350 + }, 1351 + "node_modules/@rolldown/pluginutils": { 1352 + "version": "1.0.0-beta.40", 1353 + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.40.tgz", 1354 + "integrity": "sha512-s3GeJKSQOwBlzdUrj4ISjJj5SfSh+aqn0wjOar4Bx95iV1ETI7F6S/5hLcfAxZ9kXDcyrAkxPlqmd1ZITttf+w==", 1355 + "license": "MIT" 1356 + }, 1357 + "node_modules/@rollup/rollup-android-arm-eabi": { 1358 + "version": "4.52.5", 1359 + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.5.tgz", 1360 + "integrity": "sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==", 1361 + "cpu": [ 1362 + "arm" 1363 + ], 1364 + "license": "MIT", 1365 + "optional": true, 1366 + "os": [ 1367 + "android" 1368 + ] 1369 + }, 1370 + "node_modules/@rollup/rollup-android-arm64": { 1371 + "version": "4.52.5", 1372 + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.5.tgz", 1373 + "integrity": "sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==", 1374 + "cpu": [ 1375 + "arm64" 1376 + ], 1377 + "license": "MIT", 1378 + "optional": true, 1379 + "os": [ 1380 + "android" 1381 + ] 1382 + }, 1383 + "node_modules/@rollup/rollup-darwin-arm64": { 1384 + "version": "4.52.5", 1385 + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.5.tgz", 1386 + "integrity": "sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==", 1387 + "cpu": [ 1388 + "arm64" 1389 + ], 1390 + "license": "MIT", 1391 + "optional": true, 1392 + "os": [ 1393 + "darwin" 1394 + ] 1395 + }, 1396 + "node_modules/@rollup/rollup-darwin-x64": { 1397 + "version": "4.52.5", 1398 + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.5.tgz", 1399 + "integrity": "sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==", 1400 + "cpu": [ 1401 + "x64" 1402 + ], 1403 + "license": "MIT", 1404 + "optional": true, 1405 + "os": [ 1406 + "darwin" 1407 + ] 1408 + }, 1409 + "node_modules/@rollup/rollup-freebsd-arm64": { 1410 + "version": "4.52.5", 1411 + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.5.tgz", 1412 + "integrity": "sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==", 1413 + "cpu": [ 1414 + "arm64" 1415 + ], 1416 + "license": "MIT", 1417 + "optional": true, 1418 + "os": [ 1419 + "freebsd" 1420 + ] 1421 + }, 1422 + "node_modules/@rollup/rollup-freebsd-x64": { 1423 + "version": "4.52.5", 1424 + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.5.tgz", 1425 + "integrity": "sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==", 1426 + "cpu": [ 1427 + "x64" 1428 + ], 1429 + "license": "MIT", 1430 + "optional": true, 1431 + "os": [ 1432 + "freebsd" 1433 + ] 1434 + }, 1435 + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { 1436 + "version": "4.52.5", 1437 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.5.tgz", 1438 + "integrity": "sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==", 1439 + "cpu": [ 1440 + "arm" 1441 + ], 1442 + "license": "MIT", 1443 + "optional": true, 1444 + "os": [ 1445 + "linux" 1446 + ] 1447 + }, 1448 + "node_modules/@rollup/rollup-linux-arm-musleabihf": { 1449 + "version": "4.52.5", 1450 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.5.tgz", 1451 + "integrity": "sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==", 1452 + "cpu": [ 1453 + "arm" 1454 + ], 1455 + "license": "MIT", 1456 + "optional": true, 1457 + "os": [ 1458 + "linux" 1459 + ] 1460 + }, 1461 + "node_modules/@rollup/rollup-linux-arm64-gnu": { 1462 + "version": "4.52.5", 1463 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.5.tgz", 1464 + "integrity": "sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==", 1465 + "cpu": [ 1466 + "arm64" 1467 + ], 1468 + "license": "MIT", 1469 + "optional": true, 1470 + "os": [ 1471 + "linux" 1472 + ] 1473 + }, 1474 + "node_modules/@rollup/rollup-linux-arm64-musl": { 1475 + "version": "4.52.5", 1476 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.5.tgz", 1477 + "integrity": "sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==", 1478 + "cpu": [ 1479 + "arm64" 1480 + ], 1481 + "license": "MIT", 1482 + "optional": true, 1483 + "os": [ 1484 + "linux" 1485 + ] 1486 + }, 1487 + "node_modules/@rollup/rollup-linux-loong64-gnu": { 1488 + "version": "4.52.5", 1489 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.5.tgz", 1490 + "integrity": "sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==", 1491 + "cpu": [ 1492 + "loong64" 1493 + ], 1494 + "license": "MIT", 1495 + "optional": true, 1496 + "os": [ 1497 + "linux" 1498 + ] 1499 + }, 1500 + "node_modules/@rollup/rollup-linux-ppc64-gnu": { 1501 + "version": "4.52.5", 1502 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.5.tgz", 1503 + "integrity": "sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==", 1504 + "cpu": [ 1505 + "ppc64" 1506 + ], 1507 + "license": "MIT", 1508 + "optional": true, 1509 + "os": [ 1510 + "linux" 1511 + ] 1512 + }, 1513 + "node_modules/@rollup/rollup-linux-riscv64-gnu": { 1514 + "version": "4.52.5", 1515 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.5.tgz", 1516 + "integrity": "sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==", 1517 + "cpu": [ 1518 + "riscv64" 1519 + ], 1520 + "license": "MIT", 1521 + "optional": true, 1522 + "os": [ 1523 + "linux" 1524 + ] 1525 + }, 1526 + "node_modules/@rollup/rollup-linux-riscv64-musl": { 1527 + "version": "4.52.5", 1528 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.5.tgz", 1529 + "integrity": "sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==", 1530 + "cpu": [ 1531 + "riscv64" 1532 + ], 1533 + "license": "MIT", 1534 + "optional": true, 1535 + "os": [ 1536 + "linux" 1537 + ] 1538 + }, 1539 + "node_modules/@rollup/rollup-linux-s390x-gnu": { 1540 + "version": "4.52.5", 1541 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.5.tgz", 1542 + "integrity": "sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==", 1543 + "cpu": [ 1544 + "s390x" 1545 + ], 1546 + "license": "MIT", 1547 + "optional": true, 1548 + "os": [ 1549 + "linux" 1550 + ] 1551 + }, 1552 + "node_modules/@rollup/rollup-linux-x64-gnu": { 1553 + "version": "4.52.5", 1554 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.5.tgz", 1555 + "integrity": "sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==", 1556 + "cpu": [ 1557 + "x64" 1558 + ], 1559 + "license": "MIT", 1560 + "optional": true, 1561 + "os": [ 1562 + "linux" 1563 + ] 1564 + }, 1565 + "node_modules/@rollup/rollup-linux-x64-musl": { 1566 + "version": "4.52.5", 1567 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.5.tgz", 1568 + "integrity": "sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==", 1569 + "cpu": [ 1570 + "x64" 1571 + ], 1572 + "license": "MIT", 1573 + "optional": true, 1574 + "os": [ 1575 + "linux" 1576 + ] 1577 + }, 1578 + "node_modules/@rollup/rollup-openharmony-arm64": { 1579 + "version": "4.52.5", 1580 + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.5.tgz", 1581 + "integrity": "sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==", 1582 + "cpu": [ 1583 + "arm64" 1584 + ], 1585 + "license": "MIT", 1586 + "optional": true, 1587 + "os": [ 1588 + "openharmony" 1589 + ] 1590 + }, 1591 + "node_modules/@rollup/rollup-win32-arm64-msvc": { 1592 + "version": "4.52.5", 1593 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.5.tgz", 1594 + "integrity": "sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==", 1595 + "cpu": [ 1596 + "arm64" 1597 + ], 1598 + "license": "MIT", 1599 + "optional": true, 1600 + "os": [ 1601 + "win32" 1602 + ] 1603 + }, 1604 + "node_modules/@rollup/rollup-win32-ia32-msvc": { 1605 + "version": "4.52.5", 1606 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.5.tgz", 1607 + "integrity": "sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==", 1608 + "cpu": [ 1609 + "ia32" 1610 + ], 1611 + "license": "MIT", 1612 + "optional": true, 1613 + "os": [ 1614 + "win32" 1615 + ] 1616 + }, 1617 + "node_modules/@rollup/rollup-win32-x64-gnu": { 1618 + "version": "4.52.5", 1619 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.5.tgz", 1620 + "integrity": "sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==", 1621 + "cpu": [ 1622 + "x64" 1623 + ], 1624 + "license": "MIT", 1625 + "optional": true, 1626 + "os": [ 1627 + "win32" 1628 + ] 1629 + }, 1630 + "node_modules/@rollup/rollup-win32-x64-msvc": { 1631 + "version": "4.52.5", 1632 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.5.tgz", 1633 + "integrity": "sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==", 1634 + "cpu": [ 1635 + "x64" 1636 + ], 1637 + "license": "MIT", 1638 + "optional": true, 1639 + "os": [ 1640 + "win32" 1641 + ] 1642 + }, 1643 + "node_modules/@solid-primitives/event-listener": { 1644 + "version": "2.4.3", 1645 + "resolved": "https://registry.npmjs.org/@solid-primitives/event-listener/-/event-listener-2.4.3.tgz", 1646 + "integrity": "sha512-h4VqkYFv6Gf+L7SQj+Y6puigL/5DIi7x5q07VZET7AWcS+9/G3WfIE9WheniHWJs51OEkRB43w6lDys5YeFceg==", 1647 + "license": "MIT", 1648 + "dependencies": { 1649 + "@solid-primitives/utils": "^6.3.2" 1650 + }, 1651 + "peerDependencies": { 1652 + "solid-js": "^1.6.12" 1653 + } 1654 + }, 1655 + "node_modules/@solid-primitives/keyboard": { 1656 + "version": "1.3.3", 1657 + "resolved": "https://registry.npmjs.org/@solid-primitives/keyboard/-/keyboard-1.3.3.tgz", 1658 + "integrity": "sha512-9dQHTTgLBqyAI7aavtO+HnpTVJgWQA1ghBSrmLtMu1SMxLPDuLfuNr+Tk5udb4AL4Ojg7h9JrKOGEEDqsJXWJA==", 1659 + "license": "MIT", 1660 + "dependencies": { 1661 + "@solid-primitives/event-listener": "^2.4.3", 1662 + "@solid-primitives/rootless": "^1.5.2", 1663 + "@solid-primitives/utils": "^6.3.2" 1664 + }, 1665 + "peerDependencies": { 1666 + "solid-js": "^1.6.12" 1667 + } 1668 + }, 1669 + "node_modules/@solid-primitives/resize-observer": { 1670 + "version": "2.1.3", 1671 + "resolved": "https://registry.npmjs.org/@solid-primitives/resize-observer/-/resize-observer-2.1.3.tgz", 1672 + "integrity": "sha512-zBLje5E06TgOg93S7rGPldmhDnouNGhvfZVKOp+oG2XU8snA+GoCSSCz1M+jpNAg5Ek2EakU5UVQqL152WmdXQ==", 1673 + "license": "MIT", 1674 + "dependencies": { 1675 + "@solid-primitives/event-listener": "^2.4.3", 1676 + "@solid-primitives/rootless": "^1.5.2", 1677 + "@solid-primitives/static-store": "^0.1.2", 1678 + "@solid-primitives/utils": "^6.3.2" 1679 + }, 1680 + "peerDependencies": { 1681 + "solid-js": "^1.6.12" 1682 + } 1683 + }, 1684 + "node_modules/@solid-primitives/rootless": { 1685 + "version": "1.5.2", 1686 + "resolved": "https://registry.npmjs.org/@solid-primitives/rootless/-/rootless-1.5.2.tgz", 1687 + "integrity": "sha512-9HULb0QAzL2r47CCad0M+NKFtQ+LrGGNHZfteX/ThdGvKIg2o2GYhBooZubTCd/RTu2l2+Nw4s+dEfiDGvdrrQ==", 1688 + "license": "MIT", 1689 + "dependencies": { 1690 + "@solid-primitives/utils": "^6.3.2" 1691 + }, 1692 + "peerDependencies": { 1693 + "solid-js": "^1.6.12" 1694 + } 1695 + }, 1696 + "node_modules/@solid-primitives/static-store": { 1697 + "version": "0.1.2", 1698 + "resolved": "https://registry.npmjs.org/@solid-primitives/static-store/-/static-store-0.1.2.tgz", 1699 + "integrity": "sha512-ReK+5O38lJ7fT+L6mUFvUr6igFwHBESZF+2Ug842s7fvlVeBdIVEdTCErygff6w7uR6+jrr7J8jQo+cYrEq4Iw==", 1700 + "license": "MIT", 1701 + "dependencies": { 1702 + "@solid-primitives/utils": "^6.3.2" 1703 + }, 1704 + "peerDependencies": { 1705 + "solid-js": "^1.6.12" 1706 + } 1707 + }, 1708 + "node_modules/@solid-primitives/utils": { 1709 + "version": "6.3.2", 1710 + "resolved": "https://registry.npmjs.org/@solid-primitives/utils/-/utils-6.3.2.tgz", 1711 + "integrity": "sha512-hZ/M/qr25QOCcwDPOHtGjxTD8w2mNyVAYvcfgwzBHq2RwNqHNdDNsMZYap20+ruRwW4A3Cdkczyoz0TSxLCAPQ==", 1712 + "license": "MIT", 1713 + "peerDependencies": { 1714 + "solid-js": "^1.6.12" 1715 + } 1716 + }, 1717 + "node_modules/@tailwindcss/node": { 1718 + "version": "4.1.16", 1719 + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.16.tgz", 1720 + "integrity": "sha512-BX5iaSsloNuvKNHRN3k2RcCuTEgASTo77mofW0vmeHkfrDWaoFAFvNHpEgtu0eqyypcyiBkDWzSMxJhp3AUVcw==", 1721 + "license": "MIT", 1722 + "dependencies": { 1723 + "@jridgewell/remapping": "^2.3.4", 1724 + "enhanced-resolve": "^5.18.3", 1725 + "jiti": "^2.6.1", 1726 + "lightningcss": "1.30.2", 1727 + "magic-string": "^0.30.19", 1728 + "source-map-js": "^1.2.1", 1729 + "tailwindcss": "4.1.16" 1730 + } 1731 + }, 1732 + "node_modules/@tailwindcss/oxide": { 1733 + "version": "4.1.16", 1734 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.16.tgz", 1735 + "integrity": "sha512-2OSv52FRuhdlgyOQqgtQHuCgXnS8nFSYRp2tJ+4WZXKgTxqPy7SMSls8c3mPT5pkZ17SBToGM5LHEJBO7miEdg==", 1736 + "license": "MIT", 1737 + "engines": { 1738 + "node": ">= 10" 1739 + }, 1740 + "optionalDependencies": { 1741 + "@tailwindcss/oxide-android-arm64": "4.1.16", 1742 + "@tailwindcss/oxide-darwin-arm64": "4.1.16", 1743 + "@tailwindcss/oxide-darwin-x64": "4.1.16", 1744 + "@tailwindcss/oxide-freebsd-x64": "4.1.16", 1745 + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.16", 1746 + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.16", 1747 + "@tailwindcss/oxide-linux-arm64-musl": "4.1.16", 1748 + "@tailwindcss/oxide-linux-x64-gnu": "4.1.16", 1749 + "@tailwindcss/oxide-linux-x64-musl": "4.1.16", 1750 + "@tailwindcss/oxide-wasm32-wasi": "4.1.16", 1751 + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.16", 1752 + "@tailwindcss/oxide-win32-x64-msvc": "4.1.16" 1753 + } 1754 + }, 1755 + "node_modules/@tailwindcss/oxide-android-arm64": { 1756 + "version": "4.1.16", 1757 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.16.tgz", 1758 + "integrity": "sha512-8+ctzkjHgwDJ5caq9IqRSgsP70xhdhJvm+oueS/yhD5ixLhqTw9fSL1OurzMUhBwE5zK26FXLCz2f/RtkISqHA==", 1759 + "cpu": [ 1760 + "arm64" 1761 + ], 1762 + "license": "MIT", 1763 + "optional": true, 1764 + "os": [ 1765 + "android" 1766 + ], 1767 + "engines": { 1768 + "node": ">= 10" 1769 + } 1770 + }, 1771 + "node_modules/@tailwindcss/oxide-darwin-arm64": { 1772 + "version": "4.1.16", 1773 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.16.tgz", 1774 + "integrity": "sha512-C3oZy5042v2FOALBZtY0JTDnGNdS6w7DxL/odvSny17ORUnaRKhyTse8xYi3yKGyfnTUOdavRCdmc8QqJYwFKA==", 1775 + "cpu": [ 1776 + "arm64" 1777 + ], 1778 + "license": "MIT", 1779 + "optional": true, 1780 + "os": [ 1781 + "darwin" 1782 + ], 1783 + "engines": { 1784 + "node": ">= 10" 1785 + } 1786 + }, 1787 + "node_modules/@tailwindcss/oxide-darwin-x64": { 1788 + "version": "4.1.16", 1789 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.16.tgz", 1790 + "integrity": "sha512-vjrl/1Ub9+JwU6BP0emgipGjowzYZMjbWCDqwA2Z4vCa+HBSpP4v6U2ddejcHsolsYxwL5r4bPNoamlV0xDdLg==", 1791 + "cpu": [ 1792 + "x64" 1793 + ], 1794 + "license": "MIT", 1795 + "optional": true, 1796 + "os": [ 1797 + "darwin" 1798 + ], 1799 + "engines": { 1800 + "node": ">= 10" 1801 + } 1802 + }, 1803 + "node_modules/@tailwindcss/oxide-freebsd-x64": { 1804 + "version": "4.1.16", 1805 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.16.tgz", 1806 + "integrity": "sha512-TSMpPYpQLm+aR1wW5rKuUuEruc/oOX3C7H0BTnPDn7W/eMw8W+MRMpiypKMkXZfwH8wqPIRKppuZoedTtNj2tg==", 1807 + "cpu": [ 1808 + "x64" 1809 + ], 1810 + "license": "MIT", 1811 + "optional": true, 1812 + "os": [ 1813 + "freebsd" 1814 + ], 1815 + "engines": { 1816 + "node": ">= 10" 1817 + } 1818 + }, 1819 + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { 1820 + "version": "4.1.16", 1821 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.16.tgz", 1822 + "integrity": "sha512-p0GGfRg/w0sdsFKBjMYvvKIiKy/LNWLWgV/plR4lUgrsxFAoQBFrXkZ4C0w8IOXfslB9vHK/JGASWD2IefIpvw==", 1823 + "cpu": [ 1824 + "arm" 1825 + ], 1826 + "license": "MIT", 1827 + "optional": true, 1828 + "os": [ 1829 + "linux" 1830 + ], 1831 + "engines": { 1832 + "node": ">= 10" 1833 + } 1834 + }, 1835 + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { 1836 + "version": "4.1.16", 1837 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.16.tgz", 1838 + "integrity": "sha512-DoixyMmTNO19rwRPdqviTrG1rYzpxgyYJl8RgQvdAQUzxC1ToLRqtNJpU/ATURSKgIg6uerPw2feW0aS8SNr/w==", 1839 + "cpu": [ 1840 + "arm64" 1841 + ], 1842 + "license": "MIT", 1843 + "optional": true, 1844 + "os": [ 1845 + "linux" 1846 + ], 1847 + "engines": { 1848 + "node": ">= 10" 1849 + } 1850 + }, 1851 + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { 1852 + "version": "4.1.16", 1853 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.16.tgz", 1854 + "integrity": "sha512-H81UXMa9hJhWhaAUca6bU2wm5RRFpuHImrwXBUvPbYb+3jo32I9VIwpOX6hms0fPmA6f2pGVlybO6qU8pF4fzQ==", 1855 + "cpu": [ 1856 + "arm64" 1857 + ], 1858 + "license": "MIT", 1859 + "optional": true, 1860 + "os": [ 1861 + "linux" 1862 + ], 1863 + "engines": { 1864 + "node": ">= 10" 1865 + } 1866 + }, 1867 + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { 1868 + "version": "4.1.16", 1869 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.16.tgz", 1870 + "integrity": "sha512-ZGHQxDtFC2/ruo7t99Qo2TTIvOERULPl5l0K1g0oK6b5PGqjYMga+FcY1wIUnrUxY56h28FxybtDEla+ICOyew==", 1871 + "cpu": [ 1872 + "x64" 1873 + ], 1874 + "license": "MIT", 1875 + "optional": true, 1876 + "os": [ 1877 + "linux" 1878 + ], 1879 + "engines": { 1880 + "node": ">= 10" 1881 + } 1882 + }, 1883 + "node_modules/@tailwindcss/oxide-linux-x64-musl": { 1884 + "version": "4.1.16", 1885 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.16.tgz", 1886 + "integrity": "sha512-Oi1tAaa0rcKf1Og9MzKeINZzMLPbhxvm7rno5/zuP1WYmpiG0bEHq4AcRUiG2165/WUzvxkW4XDYCscZWbTLZw==", 1887 + "cpu": [ 1888 + "x64" 1889 + ], 1890 + "license": "MIT", 1891 + "optional": true, 1892 + "os": [ 1893 + "linux" 1894 + ], 1895 + "engines": { 1896 + "node": ">= 10" 1897 + } 1898 + }, 1899 + "node_modules/@tailwindcss/oxide-wasm32-wasi": { 1900 + "version": "4.1.16", 1901 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.16.tgz", 1902 + "integrity": "sha512-B01u/b8LteGRwucIBmCQ07FVXLzImWESAIMcUU6nvFt/tYsQ6IHz8DmZ5KtvmwxD+iTYBtM1xwoGXswnlu9v0Q==", 1903 + "bundleDependencies": [ 1904 + "@napi-rs/wasm-runtime", 1905 + "@emnapi/core", 1906 + "@emnapi/runtime", 1907 + "@tybys/wasm-util", 1908 + "@emnapi/wasi-threads", 1909 + "tslib" 1910 + ], 1911 + "cpu": [ 1912 + "wasm32" 1913 + ], 1914 + "license": "MIT", 1915 + "optional": true, 1916 + "dependencies": { 1917 + "@emnapi/core": "^1.5.0", 1918 + "@emnapi/runtime": "^1.5.0", 1919 + "@emnapi/wasi-threads": "^1.1.0", 1920 + "@napi-rs/wasm-runtime": "^1.0.7", 1921 + "@tybys/wasm-util": "^0.10.1", 1922 + "tslib": "^2.4.0" 1923 + }, 1924 + "engines": { 1925 + "node": ">=14.0.0" 1926 + } 1927 + }, 1928 + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { 1929 + "version": "4.1.16", 1930 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.16.tgz", 1931 + "integrity": "sha512-zX+Q8sSkGj6HKRTMJXuPvOcP8XfYON24zJBRPlszcH1Np7xuHXhWn8qfFjIujVzvH3BHU+16jBXwgpl20i+v9A==", 1932 + "cpu": [ 1933 + "arm64" 1934 + ], 1935 + "license": "MIT", 1936 + "optional": true, 1937 + "os": [ 1938 + "win32" 1939 + ], 1940 + "engines": { 1941 + "node": ">= 10" 1942 + } 1943 + }, 1944 + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { 1945 + "version": "4.1.16", 1946 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.16.tgz", 1947 + "integrity": "sha512-m5dDFJUEejbFqP+UXVstd4W/wnxA4F61q8SoL+mqTypId2T2ZpuxosNSgowiCnLp2+Z+rivdU0AqpfgiD7yCBg==", 1948 + "cpu": [ 1949 + "x64" 1950 + ], 1951 + "license": "MIT", 1952 + "optional": true, 1953 + "os": [ 1954 + "win32" 1955 + ], 1956 + "engines": { 1957 + "node": ">= 10" 1958 + } 1959 + }, 1960 + "node_modules/@tailwindcss/vite": { 1961 + "version": "4.1.16", 1962 + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.16.tgz", 1963 + "integrity": "sha512-bbguNBcDxsRmi9nnlWJxhfDWamY3lmcyACHcdO1crxfzuLpOhHLLtEIN/nCbbAtj5rchUgQD17QVAKi1f7IsKg==", 1964 + "license": "MIT", 1965 + "dependencies": { 1966 + "@tailwindcss/node": "4.1.16", 1967 + "@tailwindcss/oxide": "4.1.16", 1968 + "tailwindcss": "4.1.16" 1969 + }, 1970 + "peerDependencies": { 1971 + "vite": "^5.2.0 || ^6 || ^7" 1972 + } 1973 + }, 1974 + "node_modules/@tanstack/devtools": { 1975 + "version": "0.6.22", 1976 + "resolved": "https://registry.npmjs.org/@tanstack/devtools/-/devtools-0.6.22.tgz", 1977 + "integrity": "sha512-G7wZZiZD+pQ7OjN+lQaV7m2fhxHPUmYuOe9wM2d6QqzeI8QCDqjvKqDZLFdcNystyIw+Twf4X1jqJcR1S30ykw==", 1978 + "license": "MIT", 1979 + "dependencies": { 1980 + "@solid-primitives/event-listener": "^2.4.3", 1981 + "@solid-primitives/keyboard": "^1.3.3", 1982 + "@solid-primitives/resize-observer": "^2.1.3", 1983 + "@tanstack/devtools-client": "0.0.3", 1984 + "@tanstack/devtools-event-bus": "0.3.3", 1985 + "@tanstack/devtools-ui": "0.4.3", 1986 + "clsx": "^2.1.1", 1987 + "goober": "^2.1.16", 1988 + "solid-js": "^1.9.9" 1989 + }, 1990 + "engines": { 1991 + "node": ">=18" 1992 + }, 1993 + "funding": { 1994 + "type": "github", 1995 + "url": "https://github.com/sponsors/tannerlinsley" 1996 + }, 1997 + "peerDependencies": { 1998 + "solid-js": ">=1.9.7" 1999 + } 2000 + }, 2001 + "node_modules/@tanstack/devtools-client": { 2002 + "version": "0.0.3", 2003 + "resolved": "https://registry.npmjs.org/@tanstack/devtools-client/-/devtools-client-0.0.3.tgz", 2004 + "integrity": "sha512-kl0r6N5iIL3t9gGDRAv55VRM3UIyMKVH83esRGq7xBjYsRLe/BeCIN2HqrlJkObUXQMKhy7i8ejuGOn+bDqDBw==", 2005 + "license": "MIT", 2006 + "dependencies": { 2007 + "@tanstack/devtools-event-client": "^0.3.3" 2008 + }, 2009 + "engines": { 2010 + "node": ">=18" 2011 + }, 2012 + "funding": { 2013 + "type": "github", 2014 + "url": "https://github.com/sponsors/tannerlinsley" 2015 + } 2016 + }, 2017 + "node_modules/@tanstack/devtools-event-bus": { 2018 + "version": "0.3.3", 2019 + "resolved": "https://registry.npmjs.org/@tanstack/devtools-event-bus/-/devtools-event-bus-0.3.3.tgz", 2020 + "integrity": "sha512-lWl88uLAz7ZhwNdLH6A3tBOSEuBCrvnY9Fzr5JPdzJRFdM5ZFdyNWz1Bf5l/F3GU57VodrN0KCFi9OA26H5Kpg==", 2021 + "license": "MIT", 2022 + "dependencies": { 2023 + "ws": "^8.18.3" 2024 + }, 2025 + "engines": { 2026 + "node": ">=18" 2027 + }, 2028 + "funding": { 2029 + "type": "github", 2030 + "url": "https://github.com/sponsors/tannerlinsley" 2031 + } 2032 + }, 2033 + "node_modules/@tanstack/devtools-event-client": { 2034 + "version": "0.3.3", 2035 + "resolved": "https://registry.npmjs.org/@tanstack/devtools-event-client/-/devtools-event-client-0.3.3.tgz", 2036 + "integrity": "sha512-RfV+OPV/M3CGryYqTue684u10jUt55PEqeBOnOtCe6tAmHI9Iqyc8nHeDhWPEV9715gShuauFVaMc9RiUVNdwg==", 2037 + "license": "MIT", 2038 + "engines": { 2039 + "node": ">=18" 2040 + }, 2041 + "funding": { 2042 + "type": "github", 2043 + "url": "https://github.com/sponsors/tannerlinsley" 2044 + } 2045 + }, 2046 + "node_modules/@tanstack/devtools-ui": { 2047 + "version": "0.4.3", 2048 + "resolved": "https://registry.npmjs.org/@tanstack/devtools-ui/-/devtools-ui-0.4.3.tgz", 2049 + "integrity": "sha512-7QshnQIHifURyMwl/qmYm4KDpsf8UJrJ8BUu+YvPx35RJBe2EO5qHPsefzWh6MlG/dUdVMBxP9nPqchESyuNFg==", 2050 + "license": "MIT", 2051 + "dependencies": { 2052 + "clsx": "^2.1.1", 2053 + "goober": "^2.1.16", 2054 + "solid-js": "^1.9.9" 2055 + }, 2056 + "engines": { 2057 + "node": ">=18" 2058 + }, 2059 + "funding": { 2060 + "type": "github", 2061 + "url": "https://github.com/sponsors/tannerlinsley" 2062 + }, 2063 + "peerDependencies": { 2064 + "solid-js": ">=1.9.7" 2065 + } 2066 + }, 2067 + "node_modules/@tanstack/directive-functions-plugin": { 2068 + "version": "1.133.19", 2069 + "resolved": "https://registry.npmjs.org/@tanstack/directive-functions-plugin/-/directive-functions-plugin-1.133.19.tgz", 2070 + "integrity": "sha512-U6nBlxxc624Q7Yta3UUe805WJfi0R029N/vUOVNxggZ432nt+0Hx7gLQO2P9zIUt+N6VYPuyKLKq047bxCJWOw==", 2071 + "license": "MIT", 2072 + "dependencies": { 2073 + "@babel/code-frame": "7.27.1", 2074 + "@babel/core": "^7.27.7", 2075 + "@babel/traverse": "^7.27.7", 2076 + "@babel/types": "^7.27.7", 2077 + "@tanstack/router-utils": "1.133.19", 2078 + "babel-dead-code-elimination": "^1.0.10", 2079 + "pathe": "^2.0.3", 2080 + "tiny-invariant": "^1.3.3" 2081 + }, 2082 + "engines": { 2083 + "node": ">=12" 2084 + }, 2085 + "funding": { 2086 + "type": "github", 2087 + "url": "https://github.com/sponsors/tannerlinsley" 2088 + }, 2089 + "peerDependencies": { 2090 + "vite": ">=6.0.0 || >=7.0.0" 2091 + } 2092 + }, 2093 + "node_modules/@tanstack/history": { 2094 + "version": "1.133.19", 2095 + "resolved": "https://registry.npmjs.org/@tanstack/history/-/history-1.133.19.tgz", 2096 + "integrity": "sha512-Y866qBVVprdQkmO0/W1AFBI8tiQy398vFeIwP+VrRWCOzs3VecxSVzAvaOM4iHfkJz81fFAZMhLLjDVoPikD+w==", 2097 + "license": "MIT", 2098 + "engines": { 2099 + "node": ">=12" 2100 + }, 2101 + "funding": { 2102 + "type": "github", 2103 + "url": "https://github.com/sponsors/tannerlinsley" 2104 + } 2105 + }, 2106 + "node_modules/@tanstack/query-core": { 2107 + "version": "5.90.5", 2108 + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.90.5.tgz", 2109 + "integrity": "sha512-wLamYp7FaDq6ZnNehypKI5fNvxHPfTYylE0m/ZpuuzJfJqhR5Pxg9gvGBHZx4n7J+V5Rg5mZxHHTlv25Zt5u+w==", 2110 + "license": "MIT", 2111 + "funding": { 2112 + "type": "github", 2113 + "url": "https://github.com/sponsors/tannerlinsley" 2114 + } 2115 + }, 2116 + "node_modules/@tanstack/query-devtools": { 2117 + "version": "5.90.1", 2118 + "resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.90.1.tgz", 2119 + "integrity": "sha512-GtINOPjPUH0OegJExZ70UahT9ykmAhmtNVcmtdnOZbxLwT7R5OmRztR5Ahe3/Cu7LArEmR6/588tAycuaWb1xQ==", 2120 + "license": "MIT", 2121 + "funding": { 2122 + "type": "github", 2123 + "url": "https://github.com/sponsors/tannerlinsley" 2124 + } 2125 + }, 2126 + "node_modules/@tanstack/react-devtools": { 2127 + "version": "0.7.8", 2128 + "resolved": "https://registry.npmjs.org/@tanstack/react-devtools/-/react-devtools-0.7.8.tgz", 2129 + "integrity": "sha512-/G5Z6NOK5puJHpAykD0zEvmi+v53MfwsAbgSzrlLD1+UqKKh1BA63TdTqGz52mLxfQTfvW5jDRyCFV0fHZFqEw==", 2130 + "license": "MIT", 2131 + "dependencies": { 2132 + "@tanstack/devtools": "0.6.22" 2133 + }, 2134 + "engines": { 2135 + "node": ">=18" 2136 + }, 2137 + "funding": { 2138 + "type": "github", 2139 + "url": "https://github.com/sponsors/tannerlinsley" 2140 + }, 2141 + "peerDependencies": { 2142 + "@types/react": ">=16.8", 2143 + "@types/react-dom": ">=16.8", 2144 + "react": ">=16.8", 2145 + "react-dom": ">=16.8" 2146 + } 2147 + }, 2148 + "node_modules/@tanstack/react-query": { 2149 + "version": "5.90.5", 2150 + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.90.5.tgz", 2151 + "integrity": "sha512-pN+8UWpxZkEJ/Rnnj2v2Sxpx1WFlaa9L6a4UO89p6tTQbeo+m0MS8oYDjbggrR8QcTyjKoYWKS3xJQGr3ExT8Q==", 2152 + "license": "MIT", 2153 + "dependencies": { 2154 + "@tanstack/query-core": "5.90.5" 2155 + }, 2156 + "funding": { 2157 + "type": "github", 2158 + "url": "https://github.com/sponsors/tannerlinsley" 2159 + }, 2160 + "peerDependencies": { 2161 + "react": "^18 || ^19" 2162 + } 2163 + }, 2164 + "node_modules/@tanstack/react-query-devtools": { 2165 + "version": "5.90.2", 2166 + "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.90.2.tgz", 2167 + "integrity": "sha512-vAXJzZuBXtCQtrY3F/yUNJCV4obT/A/n81kb3+YqLbro5Z2+phdAbceO+deU3ywPw8B42oyJlp4FhO0SoivDFQ==", 2168 + "license": "MIT", 2169 + "dependencies": { 2170 + "@tanstack/query-devtools": "5.90.1" 2171 + }, 2172 + "funding": { 2173 + "type": "github", 2174 + "url": "https://github.com/sponsors/tannerlinsley" 2175 + }, 2176 + "peerDependencies": { 2177 + "@tanstack/react-query": "^5.90.2", 2178 + "react": "^18 || ^19" 2179 + } 2180 + }, 2181 + "node_modules/@tanstack/react-router": { 2182 + "version": "1.133.27", 2183 + "resolved": "https://registry.npmjs.org/@tanstack/react-router/-/react-router-1.133.27.tgz", 2184 + "integrity": "sha512-0q87mjJWhMsnP9SOD/v07lclCxrMuB20CdKi305cTZRIF858ETG0fThUF4LlstiKvxE49Wr+PBY0kwjfY4pUow==", 2185 + "license": "MIT", 2186 + "dependencies": { 2187 + "@tanstack/history": "1.133.19", 2188 + "@tanstack/react-store": "^0.7.0", 2189 + "@tanstack/router-core": "1.133.27", 2190 + "isbot": "^5.1.22", 2191 + "tiny-invariant": "^1.3.3", 2192 + "tiny-warning": "^1.0.3" 2193 + }, 2194 + "engines": { 2195 + "node": ">=12" 2196 + }, 2197 + "funding": { 2198 + "type": "github", 2199 + "url": "https://github.com/sponsors/tannerlinsley" 2200 + }, 2201 + "peerDependencies": { 2202 + "react": ">=18.0.0 || >=19.0.0", 2203 + "react-dom": ">=18.0.0 || >=19.0.0" 2204 + } 2205 + }, 2206 + "node_modules/@tanstack/react-router-devtools": { 2207 + "version": "1.133.27", 2208 + "resolved": "https://registry.npmjs.org/@tanstack/react-router-devtools/-/react-router-devtools-1.133.27.tgz", 2209 + "integrity": "sha512-K1uDpqzvdB0bf5J00rH3pMHE0IOB0ke8Ej0VZ43loRACIY7YqqYlOFvKFVxQwI8GTGzxNs5J9uJ7Ms0+w0eH2A==", 2210 + "license": "MIT", 2211 + "dependencies": { 2212 + "@tanstack/router-devtools-core": "1.133.27", 2213 + "vite": "^7.1.7" 2214 + }, 2215 + "engines": { 2216 + "node": ">=12" 2217 + }, 2218 + "funding": { 2219 + "type": "github", 2220 + "url": "https://github.com/sponsors/tannerlinsley" 2221 + }, 2222 + "peerDependencies": { 2223 + "@tanstack/react-router": "^1.133.27", 2224 + "react": ">=18.0.0 || >=19.0.0", 2225 + "react-dom": ">=18.0.0 || >=19.0.0" 2226 + } 2227 + }, 2228 + "node_modules/@tanstack/react-router-ssr-query": { 2229 + "version": "1.133.27", 2230 + "resolved": "https://registry.npmjs.org/@tanstack/react-router-ssr-query/-/react-router-ssr-query-1.133.27.tgz", 2231 + "integrity": "sha512-GdclMKcEczPEs7JfT4cq0F4koTn7fE06xs7PJgZsX9tJEmfDfTVRFQPyinnDzHhrqzmoUEXVf2tqGWgddIJUKw==", 2232 + "license": "MIT", 2233 + "dependencies": { 2234 + "@tanstack/router-ssr-query-core": "1.133.27" 2235 + }, 2236 + "engines": { 2237 + "node": ">=12" 2238 + }, 2239 + "funding": { 2240 + "type": "github", 2241 + "url": "https://github.com/sponsors/tannerlinsley" 2242 + }, 2243 + "peerDependencies": { 2244 + "@tanstack/query-core": ">=5.66.0", 2245 + "@tanstack/react-query": ">=5.66.2", 2246 + "@tanstack/react-router": ">=1.127.0", 2247 + "react": ">=18.0.0 || >=19.0.0", 2248 + "react-dom": ">=18.0.0 || >=19.0.0" 2249 + } 2250 + }, 2251 + "node_modules/@tanstack/react-start": { 2252 + "version": "1.133.27", 2253 + "resolved": "https://registry.npmjs.org/@tanstack/react-start/-/react-start-1.133.27.tgz", 2254 + "integrity": "sha512-Q6lLK7FFYZQUqGx+qAni9AbrF/4d3NW6FlN4ppWc+FvxRN3nYUhAWGNx1VuoTtd3Aci97VhjxiUkI7+5h1k5Tg==", 2255 + "license": "MIT", 2256 + "dependencies": { 2257 + "@tanstack/react-router": "1.133.27", 2258 + "@tanstack/react-start-client": "1.133.27", 2259 + "@tanstack/react-start-server": "1.133.27", 2260 + "@tanstack/router-utils": "^1.133.19", 2261 + "@tanstack/start-client-core": "1.133.27", 2262 + "@tanstack/start-plugin-core": "1.133.27", 2263 + "@tanstack/start-server-core": "1.133.27", 2264 + "pathe": "^2.0.3" 2265 + }, 2266 + "engines": { 2267 + "node": ">=22.12.0" 2268 + }, 2269 + "funding": { 2270 + "type": "github", 2271 + "url": "https://github.com/sponsors/tannerlinsley" 2272 + }, 2273 + "peerDependencies": { 2274 + "react": ">=18.0.0 || >=19.0.0", 2275 + "react-dom": ">=18.0.0 || >=19.0.0", 2276 + "vite": ">=7.0.0" 2277 + } 2278 + }, 2279 + "node_modules/@tanstack/react-start-client": { 2280 + "version": "1.133.27", 2281 + "resolved": "https://registry.npmjs.org/@tanstack/react-start-client/-/react-start-client-1.133.27.tgz", 2282 + "integrity": "sha512-NYFU0BPFYOC+YyRDDyXNlNFj+/+g1RfStMyhMmSXaMfKKHmglrk+brN+24cz+y5hZLDWjThWo58f/P54S/OMLw==", 2283 + "license": "MIT", 2284 + "dependencies": { 2285 + "@tanstack/react-router": "1.133.27", 2286 + "@tanstack/router-core": "1.133.27", 2287 + "@tanstack/start-client-core": "1.133.27", 2288 + "tiny-invariant": "^1.3.3", 2289 + "tiny-warning": "^1.0.3" 2290 + }, 2291 + "engines": { 2292 + "node": ">=22.12.0" 2293 + }, 2294 + "funding": { 2295 + "type": "github", 2296 + "url": "https://github.com/sponsors/tannerlinsley" 2297 + }, 2298 + "peerDependencies": { 2299 + "react": ">=18.0.0 || >=19.0.0", 2300 + "react-dom": ">=18.0.0 || >=19.0.0" 2301 + } 2302 + }, 2303 + "node_modules/@tanstack/react-start-server": { 2304 + "version": "1.133.27", 2305 + "resolved": "https://registry.npmjs.org/@tanstack/react-start-server/-/react-start-server-1.133.27.tgz", 2306 + "integrity": "sha512-K9NerqDr9X8PWY8OYYDfuYnpVA3eian9cNg86OlRSVJ+bBFsL53nn3hAGxp8M1OXHQe6wIB3a9wtlXWDI3cGeA==", 2307 + "license": "MIT", 2308 + "dependencies": { 2309 + "@tanstack/history": "1.133.19", 2310 + "@tanstack/react-router": "1.133.27", 2311 + "@tanstack/router-core": "1.133.27", 2312 + "@tanstack/start-client-core": "1.133.27", 2313 + "@tanstack/start-server-core": "1.133.27" 2314 + }, 2315 + "engines": { 2316 + "node": ">=22.12.0" 2317 + }, 2318 + "funding": { 2319 + "type": "github", 2320 + "url": "https://github.com/sponsors/tannerlinsley" 2321 + }, 2322 + "peerDependencies": { 2323 + "react": ">=18.0.0 || >=19.0.0", 2324 + "react-dom": ">=18.0.0 || >=19.0.0" 2325 + } 2326 + }, 2327 + "node_modules/@tanstack/react-store": { 2328 + "version": "0.7.7", 2329 + "resolved": "https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.7.7.tgz", 2330 + "integrity": "sha512-qqT0ufegFRDGSof9D/VqaZgjNgp4tRPHZIJq2+QIHkMUtHjaJ0lYrrXjeIUJvjnTbgPfSD1XgOMEt0lmANn6Zg==", 2331 + "license": "MIT", 2332 + "dependencies": { 2333 + "@tanstack/store": "0.7.7", 2334 + "use-sync-external-store": "^1.5.0" 2335 + }, 2336 + "funding": { 2337 + "type": "github", 2338 + "url": "https://github.com/sponsors/tannerlinsley" 2339 + }, 2340 + "peerDependencies": { 2341 + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", 2342 + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" 2343 + } 2344 + }, 2345 + "node_modules/@tanstack/router-core": { 2346 + "version": "1.133.27", 2347 + "resolved": "https://registry.npmjs.org/@tanstack/router-core/-/router-core-1.133.27.tgz", 2348 + "integrity": "sha512-1nb2CirHC0hZmFr8wEk0gxuExpvuk0jlKOY1+SQ7jcJCxBKHLGvAfhL6ycets3XetrTLzgBEvfuixFj3qYiFwA==", 2349 + "license": "MIT", 2350 + "dependencies": { 2351 + "@tanstack/history": "1.133.19", 2352 + "@tanstack/store": "^0.7.0", 2353 + "cookie-es": "^2.0.0", 2354 + "seroval": "^1.3.2", 2355 + "seroval-plugins": "^1.3.2", 2356 + "tiny-invariant": "^1.3.3", 2357 + "tiny-warning": "^1.0.3" 2358 + }, 2359 + "engines": { 2360 + "node": ">=12" 2361 + }, 2362 + "funding": { 2363 + "type": "github", 2364 + "url": "https://github.com/sponsors/tannerlinsley" 2365 + } 2366 + }, 2367 + "node_modules/@tanstack/router-devtools-core": { 2368 + "version": "1.133.27", 2369 + "resolved": "https://registry.npmjs.org/@tanstack/router-devtools-core/-/router-devtools-core-1.133.27.tgz", 2370 + "integrity": "sha512-mYTQnZ8yQbIGNOmLcYv/V8q96qGH+wixgJUeNqUdbZ3/TrzVLaSENRId5ZXD8mx8o2Ljqy2BwZq5d+zDDaKseA==", 2371 + "license": "MIT", 2372 + "dependencies": { 2373 + "clsx": "^2.1.1", 2374 + "goober": "^2.1.16", 2375 + "vite": "^7.1.7" 2376 + }, 2377 + "engines": { 2378 + "node": ">=12" 2379 + }, 2380 + "funding": { 2381 + "type": "github", 2382 + "url": "https://github.com/sponsors/tannerlinsley" 2383 + }, 2384 + "peerDependencies": { 2385 + "@tanstack/router-core": "^1.133.27", 2386 + "csstype": "^3.0.10", 2387 + "solid-js": ">=1.9.5", 2388 + "tiny-invariant": "^1.3.3" 2389 + }, 2390 + "peerDependenciesMeta": { 2391 + "csstype": { 2392 + "optional": true 2393 + } 2394 + } 2395 + }, 2396 + "node_modules/@tanstack/router-generator": { 2397 + "version": "1.133.27", 2398 + "resolved": "https://registry.npmjs.org/@tanstack/router-generator/-/router-generator-1.133.27.tgz", 2399 + "integrity": "sha512-+0dq0DlKzD5fk9vRKHv+vG4ANUNnwnqTqzqTMRiZfYJ16oIfcIQgIdrHRGLdsBLQ6yQIWFszY0d5ubRx0dOK8g==", 2400 + "license": "MIT", 2401 + "dependencies": { 2402 + "@tanstack/router-core": "1.133.27", 2403 + "@tanstack/router-utils": "1.133.19", 2404 + "@tanstack/virtual-file-routes": "1.133.19", 2405 + "prettier": "^3.5.0", 2406 + "recast": "^0.23.11", 2407 + "source-map": "^0.7.4", 2408 + "tsx": "^4.19.2", 2409 + "zod": "^3.24.2" 2410 + }, 2411 + "engines": { 2412 + "node": ">=12" 2413 + }, 2414 + "funding": { 2415 + "type": "github", 2416 + "url": "https://github.com/sponsors/tannerlinsley" 2417 + } 2418 + }, 2419 + "node_modules/@tanstack/router-plugin": { 2420 + "version": "1.133.27", 2421 + "resolved": "https://registry.npmjs.org/@tanstack/router-plugin/-/router-plugin-1.133.27.tgz", 2422 + "integrity": "sha512-E3WdABr7Vm9UijQKSjoP2Pvq5l1m8cIm/YZIDbcJ3zVQpTKMtSVgWzP1lQUtsUBrU21PBPHsOhc1+ERt832pKQ==", 2423 + "license": "MIT", 2424 + "dependencies": { 2425 + "@babel/core": "^7.27.7", 2426 + "@babel/plugin-syntax-jsx": "^7.27.1", 2427 + "@babel/plugin-syntax-typescript": "^7.27.1", 2428 + "@babel/template": "^7.27.2", 2429 + "@babel/traverse": "^7.27.7", 2430 + "@babel/types": "^7.27.7", 2431 + "@tanstack/router-core": "1.133.27", 2432 + "@tanstack/router-generator": "1.133.27", 2433 + "@tanstack/router-utils": "1.133.19", 2434 + "@tanstack/virtual-file-routes": "1.133.19", 2435 + "babel-dead-code-elimination": "^1.0.10", 2436 + "chokidar": "^3.6.0", 2437 + "unplugin": "^2.1.2", 2438 + "zod": "^3.24.2" 2439 + }, 2440 + "engines": { 2441 + "node": ">=12" 2442 + }, 2443 + "funding": { 2444 + "type": "github", 2445 + "url": "https://github.com/sponsors/tannerlinsley" 2446 + }, 2447 + "peerDependencies": { 2448 + "@rsbuild/core": ">=1.0.2", 2449 + "@tanstack/react-router": "^1.133.27", 2450 + "vite": ">=5.0.0 || >=6.0.0 || >=7.0.0", 2451 + "vite-plugin-solid": "^2.11.10", 2452 + "webpack": ">=5.92.0" 2453 + }, 2454 + "peerDependenciesMeta": { 2455 + "@rsbuild/core": { 2456 + "optional": true 2457 + }, 2458 + "@tanstack/react-router": { 2459 + "optional": true 2460 + }, 2461 + "vite": { 2462 + "optional": true 2463 + }, 2464 + "vite-plugin-solid": { 2465 + "optional": true 2466 + }, 2467 + "webpack": { 2468 + "optional": true 2469 + } 2470 + } 2471 + }, 2472 + "node_modules/@tanstack/router-ssr-query-core": { 2473 + "version": "1.133.27", 2474 + "resolved": "https://registry.npmjs.org/@tanstack/router-ssr-query-core/-/router-ssr-query-core-1.133.27.tgz", 2475 + "integrity": "sha512-I9s5HBXPlZNtEoVjSvDGPyzHU4uKo360i16dkPvgwD/YwMhauy6VRNRZ9QK9M3Bp2TkrC9W/l05pqcCIKOa7zQ==", 2476 + "license": "MIT", 2477 + "engines": { 2478 + "node": ">=12" 2479 + }, 2480 + "funding": { 2481 + "type": "github", 2482 + "url": "https://github.com/sponsors/tannerlinsley" 2483 + }, 2484 + "peerDependencies": { 2485 + "@tanstack/query-core": ">=5.66.0", 2486 + "@tanstack/router-core": ">=1.127.0" 2487 + } 2488 + }, 2489 + "node_modules/@tanstack/router-utils": { 2490 + "version": "1.133.19", 2491 + "resolved": "https://registry.npmjs.org/@tanstack/router-utils/-/router-utils-1.133.19.tgz", 2492 + "integrity": "sha512-WEp5D2gPxvlLDRXwD/fV7RXjYtqaqJNXKB/L6OyZEbT+9BG/Ib2d7oG9GSUZNNMGPGYAlhBUOi3xutySsk6rxA==", 2493 + "license": "MIT", 2494 + "dependencies": { 2495 + "@babel/core": "^7.27.4", 2496 + "@babel/generator": "^7.27.5", 2497 + "@babel/parser": "^7.27.5", 2498 + "@babel/preset-typescript": "^7.27.1", 2499 + "ansis": "^4.1.0", 2500 + "diff": "^8.0.2", 2501 + "pathe": "^2.0.3", 2502 + "tinyglobby": "^0.2.15" 2503 + }, 2504 + "engines": { 2505 + "node": ">=12" 2506 + }, 2507 + "funding": { 2508 + "type": "github", 2509 + "url": "https://github.com/sponsors/tannerlinsley" 2510 + } 2511 + }, 2512 + "node_modules/@tanstack/server-functions-plugin": { 2513 + "version": "1.133.25", 2514 + "resolved": "https://registry.npmjs.org/@tanstack/server-functions-plugin/-/server-functions-plugin-1.133.25.tgz", 2515 + "integrity": "sha512-jyb+Z6umAgZncEAB4OKLJiP8338n17xxxw3tO344gcnYCcqeZ9VAOMq3RVOoBUBDtV2DTLj/LVO62A5vDZ6WJw==", 2516 + "license": "MIT", 2517 + "dependencies": { 2518 + "@babel/code-frame": "7.27.1", 2519 + "@babel/core": "^7.27.7", 2520 + "@babel/plugin-syntax-jsx": "^7.27.1", 2521 + "@babel/plugin-syntax-typescript": "^7.27.1", 2522 + "@babel/template": "^7.27.2", 2523 + "@babel/traverse": "^7.27.7", 2524 + "@babel/types": "^7.27.7", 2525 + "@tanstack/directive-functions-plugin": "1.133.19", 2526 + "babel-dead-code-elimination": "^1.0.9", 2527 + "tiny-invariant": "^1.3.3" 2528 + }, 2529 + "engines": { 2530 + "node": ">=12" 2531 + }, 2532 + "funding": { 2533 + "type": "github", 2534 + "url": "https://github.com/sponsors/tannerlinsley" 2535 + } 2536 + }, 2537 + "node_modules/@tanstack/start-client-core": { 2538 + "version": "1.133.27", 2539 + "resolved": "https://registry.npmjs.org/@tanstack/start-client-core/-/start-client-core-1.133.27.tgz", 2540 + "integrity": "sha512-9JVnK1slYcWee4HcXdVNKJee1nQWT06aA6CXg0WljXjPtSYVXUMgoCa8vBEvsaQBQnVInzrbgsa/yRZYZ5lccw==", 2541 + "license": "MIT", 2542 + "dependencies": { 2543 + "@tanstack/router-core": "1.133.27", 2544 + "@tanstack/start-storage-context": "1.133.27", 2545 + "seroval": "^1.3.2", 2546 + "tiny-invariant": "^1.3.3", 2547 + "tiny-warning": "^1.0.3" 2548 + }, 2549 + "engines": { 2550 + "node": ">=22.12.0" 2551 + }, 2552 + "funding": { 2553 + "type": "github", 2554 + "url": "https://github.com/sponsors/tannerlinsley" 2555 + } 2556 + }, 2557 + "node_modules/@tanstack/start-plugin-core": { 2558 + "version": "1.133.27", 2559 + "resolved": "https://registry.npmjs.org/@tanstack/start-plugin-core/-/start-plugin-core-1.133.27.tgz", 2560 + "integrity": "sha512-kMrtbv0kcTuFGwbZM0eAi4L5ZPLc3p6KDCsRQH4T4t/Yp1+e1B4LF8VgRBEAq82/3VTEGVu0XpvWwxbZ6kAfLQ==", 2561 + "license": "MIT", 2562 + "dependencies": { 2563 + "@babel/code-frame": "7.26.2", 2564 + "@babel/core": "^7.26.8", 2565 + "@babel/types": "^7.26.8", 2566 + "@rolldown/pluginutils": "1.0.0-beta.40", 2567 + "@tanstack/router-core": "1.133.27", 2568 + "@tanstack/router-generator": "1.133.27", 2569 + "@tanstack/router-plugin": "1.133.27", 2570 + "@tanstack/router-utils": "1.133.19", 2571 + "@tanstack/server-functions-plugin": "1.133.25", 2572 + "@tanstack/start-client-core": "1.133.27", 2573 + "@tanstack/start-server-core": "1.133.27", 2574 + "babel-dead-code-elimination": "^1.0.9", 2575 + "cheerio": "^1.0.0", 2576 + "exsolve": "^1.0.7", 2577 + "pathe": "^2.0.3", 2578 + "srvx": "^0.8.2", 2579 + "tinyglobby": "^0.2.15", 2580 + "ufo": "^1.5.4", 2581 + "vitefu": "^1.1.1", 2582 + "xmlbuilder2": "^3.1.1", 2583 + "zod": "^3.24.2" 2584 + }, 2585 + "engines": { 2586 + "node": ">=22.12.0" 2587 + }, 2588 + "funding": { 2589 + "type": "github", 2590 + "url": "https://github.com/sponsors/tannerlinsley" 2591 + }, 2592 + "peerDependencies": { 2593 + "vite": ">=7.0.0" 2594 + } 2595 + }, 2596 + "node_modules/@tanstack/start-plugin-core/node_modules/@babel/code-frame": { 2597 + "version": "7.26.2", 2598 + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", 2599 + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", 2600 + "license": "MIT", 2601 + "dependencies": { 2602 + "@babel/helper-validator-identifier": "^7.25.9", 2603 + "js-tokens": "^4.0.0", 2604 + "picocolors": "^1.0.0" 2605 + }, 2606 + "engines": { 2607 + "node": ">=6.9.0" 2608 + } 2609 + }, 2610 + "node_modules/@tanstack/start-server-core": { 2611 + "version": "1.133.27", 2612 + "resolved": "https://registry.npmjs.org/@tanstack/start-server-core/-/start-server-core-1.133.27.tgz", 2613 + "integrity": "sha512-VhpplARtPhVIGolxe6R84sHjtZeVzjWsxiBx8HwcVhflrFyaEAD0P7WW034a9LfFcOEhuPVv8Bm/9ZHQ6VoqsA==", 2614 + "license": "MIT", 2615 + "dependencies": { 2616 + "@tanstack/history": "1.133.19", 2617 + "@tanstack/router-core": "1.133.27", 2618 + "@tanstack/start-client-core": "1.133.27", 2619 + "@tanstack/start-storage-context": "1.133.27", 2620 + "h3-v2": "npm:h3@2.0.0-beta.4", 2621 + "seroval": "^1.3.2", 2622 + "tiny-invariant": "^1.3.3" 2623 + }, 2624 + "engines": { 2625 + "node": ">=22.12.0" 2626 + }, 2627 + "funding": { 2628 + "type": "github", 2629 + "url": "https://github.com/sponsors/tannerlinsley" 2630 + } 2631 + }, 2632 + "node_modules/@tanstack/start-storage-context": { 2633 + "version": "1.133.27", 2634 + "resolved": "https://registry.npmjs.org/@tanstack/start-storage-context/-/start-storage-context-1.133.27.tgz", 2635 + "integrity": "sha512-Bood8ckBnbL24v7Vhql7CyiHyj3f71s/p7X0uiKlbmmIyxE91/VlKn1wwUtN6kRUl/oAOeNol21cvq2fzn3RfA==", 2636 + "license": "MIT", 2637 + "dependencies": { 2638 + "@tanstack/router-core": "1.133.27" 2639 + }, 2640 + "engines": { 2641 + "node": ">=22.12.0" 2642 + }, 2643 + "funding": { 2644 + "type": "github", 2645 + "url": "https://github.com/sponsors/tannerlinsley" 2646 + } 2647 + }, 2648 + "node_modules/@tanstack/store": { 2649 + "version": "0.7.7", 2650 + "resolved": "https://registry.npmjs.org/@tanstack/store/-/store-0.7.7.tgz", 2651 + "integrity": "sha512-xa6pTan1bcaqYDS9BDpSiS63qa6EoDkPN9RsRaxHuDdVDNntzq3xNwR5YKTU/V3SkSyC9T4YVOPh2zRQN0nhIQ==", 2652 + "license": "MIT", 2653 + "funding": { 2654 + "type": "github", 2655 + "url": "https://github.com/sponsors/tannerlinsley" 2656 + } 2657 + }, 2658 + "node_modules/@tanstack/virtual-file-routes": { 2659 + "version": "1.133.19", 2660 + "resolved": "https://registry.npmjs.org/@tanstack/virtual-file-routes/-/virtual-file-routes-1.133.19.tgz", 2661 + "integrity": "sha512-IKwZENsK7owmW1Lm5FhuHegY/SyQ8KqtL/7mTSnzoKJgfzhrrf9qwKB1rmkKkt+svUuy/Zw3uVEpZtUzQruWtA==", 2662 + "license": "MIT", 2663 + "engines": { 2664 + "node": ">=12" 2665 + }, 2666 + "funding": { 2667 + "type": "github", 2668 + "url": "https://github.com/sponsors/tannerlinsley" 2669 + } 2670 + }, 2671 + "node_modules/@testing-library/dom": { 2672 + "version": "10.4.1", 2673 + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", 2674 + "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", 2675 + "dev": true, 2676 + "license": "MIT", 2677 + "dependencies": { 2678 + "@babel/code-frame": "^7.10.4", 2679 + "@babel/runtime": "^7.12.5", 2680 + "@types/aria-query": "^5.0.1", 2681 + "aria-query": "5.3.0", 2682 + "dom-accessibility-api": "^0.5.9", 2683 + "lz-string": "^1.5.0", 2684 + "picocolors": "1.1.1", 2685 + "pretty-format": "^27.0.2" 2686 + }, 2687 + "engines": { 2688 + "node": ">=18" 2689 + } 2690 + }, 2691 + "node_modules/@testing-library/react": { 2692 + "version": "16.3.0", 2693 + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.3.0.tgz", 2694 + "integrity": "sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw==", 2695 + "dev": true, 2696 + "license": "MIT", 2697 + "dependencies": { 2698 + "@babel/runtime": "^7.12.5" 2699 + }, 2700 + "engines": { 2701 + "node": ">=18" 2702 + }, 2703 + "peerDependencies": { 2704 + "@testing-library/dom": "^10.0.0", 2705 + "@types/react": "^18.0.0 || ^19.0.0", 2706 + "@types/react-dom": "^18.0.0 || ^19.0.0", 2707 + "react": "^18.0.0 || ^19.0.0", 2708 + "react-dom": "^18.0.0 || ^19.0.0" 2709 + }, 2710 + "peerDependenciesMeta": { 2711 + "@types/react": { 2712 + "optional": true 2713 + }, 2714 + "@types/react-dom": { 2715 + "optional": true 2716 + } 2717 + } 2718 + }, 2719 + "node_modules/@types/aria-query": { 2720 + "version": "5.0.4", 2721 + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", 2722 + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", 2723 + "dev": true, 2724 + "license": "MIT" 2725 + }, 2726 + "node_modules/@types/babel__core": { 2727 + "version": "7.20.5", 2728 + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", 2729 + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", 2730 + "dev": true, 2731 + "license": "MIT", 2732 + "dependencies": { 2733 + "@babel/parser": "^7.20.7", 2734 + "@babel/types": "^7.20.7", 2735 + "@types/babel__generator": "*", 2736 + "@types/babel__template": "*", 2737 + "@types/babel__traverse": "*" 2738 + } 2739 + }, 2740 + "node_modules/@types/babel__generator": { 2741 + "version": "7.27.0", 2742 + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", 2743 + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", 2744 + "dev": true, 2745 + "license": "MIT", 2746 + "dependencies": { 2747 + "@babel/types": "^7.0.0" 2748 + } 2749 + }, 2750 + "node_modules/@types/babel__template": { 2751 + "version": "7.4.4", 2752 + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", 2753 + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", 2754 + "dev": true, 2755 + "license": "MIT", 2756 + "dependencies": { 2757 + "@babel/parser": "^7.1.0", 2758 + "@babel/types": "^7.0.0" 2759 + } 2760 + }, 2761 + "node_modules/@types/babel__traverse": { 2762 + "version": "7.28.0", 2763 + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", 2764 + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", 2765 + "dev": true, 2766 + "license": "MIT", 2767 + "dependencies": { 2768 + "@babel/types": "^7.28.2" 2769 + } 2770 + }, 2771 + "node_modules/@types/chai": { 2772 + "version": "5.2.3", 2773 + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", 2774 + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", 2775 + "dev": true, 2776 + "license": "MIT", 2777 + "dependencies": { 2778 + "@types/deep-eql": "*", 2779 + "assertion-error": "^2.0.1" 2780 + } 2781 + }, 2782 + "node_modules/@types/deep-eql": { 2783 + "version": "4.0.2", 2784 + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", 2785 + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", 2786 + "dev": true, 2787 + "license": "MIT" 2788 + }, 2789 + "node_modules/@types/estree": { 2790 + "version": "1.0.8", 2791 + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", 2792 + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", 2793 + "license": "MIT" 2794 + }, 2795 + "node_modules/@types/node": { 2796 + "version": "22.18.12", 2797 + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.18.12.tgz", 2798 + "integrity": "sha512-BICHQ67iqxQGFSzfCFTT7MRQ5XcBjG5aeKh5Ok38UBbPe5fxTyE+aHFxwVrGyr8GNlqFMLKD1D3P2K/1ks8tog==", 2799 + "devOptional": true, 2800 + "license": "MIT", 2801 + "dependencies": { 2802 + "undici-types": "~6.21.0" 2803 + } 2804 + }, 2805 + "node_modules/@types/react": { 2806 + "version": "19.2.2", 2807 + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.2.tgz", 2808 + "integrity": "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==", 2809 + "license": "MIT", 2810 + "dependencies": { 2811 + "csstype": "^3.0.2" 2812 + } 2813 + }, 2814 + "node_modules/@types/react-dom": { 2815 + "version": "19.2.2", 2816 + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.2.tgz", 2817 + "integrity": "sha512-9KQPoO6mZCi7jcIStSnlOWn2nEF3mNmyr3rIAsGnAbQKYbRLyqmeSc39EVgtxXVia+LMT8j3knZLAZAh+xLmrw==", 2818 + "license": "MIT", 2819 + "peerDependencies": { 2820 + "@types/react": "^19.2.0" 2821 + } 2822 + }, 2823 + "node_modules/@vitejs/plugin-react": { 2824 + "version": "5.1.0", 2825 + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.1.0.tgz", 2826 + "integrity": "sha512-4LuWrg7EKWgQaMJfnN+wcmbAW+VSsCmqGohftWjuct47bv8uE4n/nPpq4XjJPsxgq00GGG5J8dvBczp8uxScew==", 2827 + "dev": true, 2828 + "license": "MIT", 2829 + "dependencies": { 2830 + "@babel/core": "^7.28.4", 2831 + "@babel/plugin-transform-react-jsx-self": "^7.27.1", 2832 + "@babel/plugin-transform-react-jsx-source": "^7.27.1", 2833 + "@rolldown/pluginutils": "1.0.0-beta.43", 2834 + "@types/babel__core": "^7.20.5", 2835 + "react-refresh": "^0.18.0" 2836 + }, 2837 + "engines": { 2838 + "node": "^20.19.0 || >=22.12.0" 2839 + }, 2840 + "peerDependencies": { 2841 + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" 2842 + } 2843 + }, 2844 + "node_modules/@vitejs/plugin-react/node_modules/@rolldown/pluginutils": { 2845 + "version": "1.0.0-beta.43", 2846 + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.43.tgz", 2847 + "integrity": "sha512-5Uxg7fQUCmfhax7FJke2+8B6cqgeUJUD9o2uXIKXhD+mG0mL6NObmVoi9wXEU1tY89mZKgAYA6fTbftx3q2ZPQ==", 2848 + "dev": true, 2849 + "license": "MIT" 2850 + }, 2851 + "node_modules/@vitest/expect": { 2852 + "version": "3.2.4", 2853 + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", 2854 + "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", 2855 + "dev": true, 2856 + "license": "MIT", 2857 + "dependencies": { 2858 + "@types/chai": "^5.2.2", 2859 + "@vitest/spy": "3.2.4", 2860 + "@vitest/utils": "3.2.4", 2861 + "chai": "^5.2.0", 2862 + "tinyrainbow": "^2.0.0" 2863 + }, 2864 + "funding": { 2865 + "url": "https://opencollective.com/vitest" 2866 + } 2867 + }, 2868 + "node_modules/@vitest/mocker": { 2869 + "version": "3.2.4", 2870 + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", 2871 + "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", 2872 + "dev": true, 2873 + "license": "MIT", 2874 + "dependencies": { 2875 + "@vitest/spy": "3.2.4", 2876 + "estree-walker": "^3.0.3", 2877 + "magic-string": "^0.30.17" 2878 + }, 2879 + "funding": { 2880 + "url": "https://opencollective.com/vitest" 2881 + }, 2882 + "peerDependencies": { 2883 + "msw": "^2.4.9", 2884 + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" 2885 + }, 2886 + "peerDependenciesMeta": { 2887 + "msw": { 2888 + "optional": true 2889 + }, 2890 + "vite": { 2891 + "optional": true 2892 + } 2893 + } 2894 + }, 2895 + "node_modules/@vitest/pretty-format": { 2896 + "version": "3.2.4", 2897 + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", 2898 + "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", 2899 + "dev": true, 2900 + "license": "MIT", 2901 + "dependencies": { 2902 + "tinyrainbow": "^2.0.0" 2903 + }, 2904 + "funding": { 2905 + "url": "https://opencollective.com/vitest" 2906 + } 2907 + }, 2908 + "node_modules/@vitest/runner": { 2909 + "version": "3.2.4", 2910 + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz", 2911 + "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==", 2912 + "dev": true, 2913 + "license": "MIT", 2914 + "dependencies": { 2915 + "@vitest/utils": "3.2.4", 2916 + "pathe": "^2.0.3", 2917 + "strip-literal": "^3.0.0" 2918 + }, 2919 + "funding": { 2920 + "url": "https://opencollective.com/vitest" 2921 + } 2922 + }, 2923 + "node_modules/@vitest/snapshot": { 2924 + "version": "3.2.4", 2925 + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz", 2926 + "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==", 2927 + "dev": true, 2928 + "license": "MIT", 2929 + "dependencies": { 2930 + "@vitest/pretty-format": "3.2.4", 2931 + "magic-string": "^0.30.17", 2932 + "pathe": "^2.0.3" 2933 + }, 2934 + "funding": { 2935 + "url": "https://opencollective.com/vitest" 2936 + } 2937 + }, 2938 + "node_modules/@vitest/spy": { 2939 + "version": "3.2.4", 2940 + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", 2941 + "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", 2942 + "dev": true, 2943 + "license": "MIT", 2944 + "dependencies": { 2945 + "tinyspy": "^4.0.3" 2946 + }, 2947 + "funding": { 2948 + "url": "https://opencollective.com/vitest" 2949 + } 2950 + }, 2951 + "node_modules/@vitest/utils": { 2952 + "version": "3.2.4", 2953 + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", 2954 + "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", 2955 + "dev": true, 2956 + "license": "MIT", 2957 + "dependencies": { 2958 + "@vitest/pretty-format": "3.2.4", 2959 + "loupe": "^3.1.4", 2960 + "tinyrainbow": "^2.0.0" 2961 + }, 2962 + "funding": { 2963 + "url": "https://opencollective.com/vitest" 2964 + } 2965 + }, 2966 + "node_modules/acorn": { 2967 + "version": "8.15.0", 2968 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", 2969 + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", 2970 + "license": "MIT", 2971 + "bin": { 2972 + "acorn": "bin/acorn" 2973 + }, 2974 + "engines": { 2975 + "node": ">=0.4.0" 2976 + } 2977 + }, 2978 + "node_modules/agent-base": { 2979 + "version": "7.1.4", 2980 + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", 2981 + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", 2982 + "dev": true, 2983 + "license": "MIT", 2984 + "engines": { 2985 + "node": ">= 14" 2986 + } 2987 + }, 2988 + "node_modules/ansi-regex": { 2989 + "version": "5.0.1", 2990 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 2991 + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 2992 + "dev": true, 2993 + "license": "MIT", 2994 + "engines": { 2995 + "node": ">=8" 2996 + } 2997 + }, 2998 + "node_modules/ansi-styles": { 2999 + "version": "5.2.0", 3000 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 3001 + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 3002 + "dev": true, 3003 + "license": "MIT", 3004 + "engines": { 3005 + "node": ">=10" 3006 + }, 3007 + "funding": { 3008 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 3009 + } 3010 + }, 3011 + "node_modules/ansis": { 3012 + "version": "4.2.0", 3013 + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.2.0.tgz", 3014 + "integrity": "sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==", 3015 + "license": "ISC", 3016 + "engines": { 3017 + "node": ">=14" 3018 + } 3019 + }, 3020 + "node_modules/anymatch": { 3021 + "version": "3.1.3", 3022 + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 3023 + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 3024 + "license": "ISC", 3025 + "dependencies": { 3026 + "normalize-path": "^3.0.0", 3027 + "picomatch": "^2.0.4" 3028 + }, 3029 + "engines": { 3030 + "node": ">= 8" 3031 + } 3032 + }, 3033 + "node_modules/argparse": { 3034 + "version": "1.0.10", 3035 + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 3036 + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 3037 + "license": "MIT", 3038 + "dependencies": { 3039 + "sprintf-js": "~1.0.2" 3040 + } 3041 + }, 3042 + "node_modules/aria-query": { 3043 + "version": "5.3.0", 3044 + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", 3045 + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", 3046 + "dev": true, 3047 + "license": "Apache-2.0", 3048 + "dependencies": { 3049 + "dequal": "^2.0.3" 3050 + } 3051 + }, 3052 + "node_modules/assertion-error": { 3053 + "version": "2.0.1", 3054 + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", 3055 + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", 3056 + "dev": true, 3057 + "license": "MIT", 3058 + "engines": { 3059 + "node": ">=12" 3060 + } 3061 + }, 3062 + "node_modules/ast-types": { 3063 + "version": "0.16.1", 3064 + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", 3065 + "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", 3066 + "license": "MIT", 3067 + "dependencies": { 3068 + "tslib": "^2.0.1" 3069 + }, 3070 + "engines": { 3071 + "node": ">=4" 3072 + } 3073 + }, 3074 + "node_modules/babel-dead-code-elimination": { 3075 + "version": "1.0.10", 3076 + "resolved": "https://registry.npmjs.org/babel-dead-code-elimination/-/babel-dead-code-elimination-1.0.10.tgz", 3077 + "integrity": "sha512-DV5bdJZTzZ0zn0DC24v3jD7Mnidh6xhKa4GfKCbq3sfW8kaWhDdZjP3i81geA8T33tdYqWKw4D3fVv0CwEgKVA==", 3078 + "license": "MIT", 3079 + "dependencies": { 3080 + "@babel/core": "^7.23.7", 3081 + "@babel/parser": "^7.23.6", 3082 + "@babel/traverse": "^7.23.7", 3083 + "@babel/types": "^7.23.6" 3084 + } 3085 + }, 3086 + "node_modules/baseline-browser-mapping": { 3087 + "version": "2.8.20", 3088 + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.20.tgz", 3089 + "integrity": "sha512-JMWsdF+O8Orq3EMukbUN1QfbLK9mX2CkUmQBcW2T0s8OmdAUL5LLM/6wFwSrqXzlXB13yhyK9gTKS1rIizOduQ==", 3090 + "license": "Apache-2.0", 3091 + "bin": { 3092 + "baseline-browser-mapping": "dist/cli.js" 3093 + } 3094 + }, 3095 + "node_modules/bidi-js": { 3096 + "version": "1.0.3", 3097 + "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", 3098 + "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", 3099 + "dev": true, 3100 + "license": "MIT", 3101 + "dependencies": { 3102 + "require-from-string": "^2.0.2" 3103 + } 3104 + }, 3105 + "node_modules/binary-extensions": { 3106 + "version": "2.3.0", 3107 + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", 3108 + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", 3109 + "license": "MIT", 3110 + "engines": { 3111 + "node": ">=8" 3112 + }, 3113 + "funding": { 3114 + "url": "https://github.com/sponsors/sindresorhus" 3115 + } 3116 + }, 3117 + "node_modules/boolbase": { 3118 + "version": "1.0.0", 3119 + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", 3120 + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", 3121 + "license": "ISC" 3122 + }, 3123 + "node_modules/braces": { 3124 + "version": "3.0.3", 3125 + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 3126 + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 3127 + "license": "MIT", 3128 + "dependencies": { 3129 + "fill-range": "^7.1.1" 3130 + }, 3131 + "engines": { 3132 + "node": ">=8" 3133 + } 3134 + }, 3135 + "node_modules/browserslist": { 3136 + "version": "4.27.0", 3137 + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.27.0.tgz", 3138 + "integrity": "sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==", 3139 + "funding": [ 3140 + { 3141 + "type": "opencollective", 3142 + "url": "https://opencollective.com/browserslist" 3143 + }, 3144 + { 3145 + "type": "tidelift", 3146 + "url": "https://tidelift.com/funding/github/npm/browserslist" 3147 + }, 3148 + { 3149 + "type": "github", 3150 + "url": "https://github.com/sponsors/ai" 3151 + } 3152 + ], 3153 + "license": "MIT", 3154 + "dependencies": { 3155 + "baseline-browser-mapping": "^2.8.19", 3156 + "caniuse-lite": "^1.0.30001751", 3157 + "electron-to-chromium": "^1.5.238", 3158 + "node-releases": "^2.0.26", 3159 + "update-browserslist-db": "^1.1.4" 3160 + }, 3161 + "bin": { 3162 + "browserslist": "cli.js" 3163 + }, 3164 + "engines": { 3165 + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 3166 + } 3167 + }, 3168 + "node_modules/cac": { 3169 + "version": "6.7.14", 3170 + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", 3171 + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", 3172 + "dev": true, 3173 + "license": "MIT", 3174 + "engines": { 3175 + "node": ">=8" 3176 + } 3177 + }, 3178 + "node_modules/caniuse-lite": { 3179 + "version": "1.0.30001751", 3180 + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001751.tgz", 3181 + "integrity": "sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==", 3182 + "funding": [ 3183 + { 3184 + "type": "opencollective", 3185 + "url": "https://opencollective.com/browserslist" 3186 + }, 3187 + { 3188 + "type": "tidelift", 3189 + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 3190 + }, 3191 + { 3192 + "type": "github", 3193 + "url": "https://github.com/sponsors/ai" 3194 + } 3195 + ], 3196 + "license": "CC-BY-4.0" 3197 + }, 3198 + "node_modules/chai": { 3199 + "version": "5.3.3", 3200 + "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz", 3201 + "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==", 3202 + "dev": true, 3203 + "license": "MIT", 3204 + "dependencies": { 3205 + "assertion-error": "^2.0.1", 3206 + "check-error": "^2.1.1", 3207 + "deep-eql": "^5.0.1", 3208 + "loupe": "^3.1.0", 3209 + "pathval": "^2.0.0" 3210 + }, 3211 + "engines": { 3212 + "node": ">=18" 3213 + } 3214 + }, 3215 + "node_modules/check-error": { 3216 + "version": "2.1.1", 3217 + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", 3218 + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", 3219 + "dev": true, 3220 + "license": "MIT", 3221 + "engines": { 3222 + "node": ">= 16" 3223 + } 3224 + }, 3225 + "node_modules/cheerio": { 3226 + "version": "1.1.2", 3227 + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.1.2.tgz", 3228 + "integrity": "sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==", 3229 + "license": "MIT", 3230 + "dependencies": { 3231 + "cheerio-select": "^2.1.0", 3232 + "dom-serializer": "^2.0.0", 3233 + "domhandler": "^5.0.3", 3234 + "domutils": "^3.2.2", 3235 + "encoding-sniffer": "^0.2.1", 3236 + "htmlparser2": "^10.0.0", 3237 + "parse5": "^7.3.0", 3238 + "parse5-htmlparser2-tree-adapter": "^7.1.0", 3239 + "parse5-parser-stream": "^7.1.2", 3240 + "undici": "^7.12.0", 3241 + "whatwg-mimetype": "^4.0.0" 3242 + }, 3243 + "engines": { 3244 + "node": ">=20.18.1" 3245 + }, 3246 + "funding": { 3247 + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" 3248 + } 3249 + }, 3250 + "node_modules/cheerio-select": { 3251 + "version": "2.1.0", 3252 + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", 3253 + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", 3254 + "license": "BSD-2-Clause", 3255 + "dependencies": { 3256 + "boolbase": "^1.0.0", 3257 + "css-select": "^5.1.0", 3258 + "css-what": "^6.1.0", 3259 + "domelementtype": "^2.3.0", 3260 + "domhandler": "^5.0.3", 3261 + "domutils": "^3.0.1" 3262 + }, 3263 + "funding": { 3264 + "url": "https://github.com/sponsors/fb55" 3265 + } 3266 + }, 3267 + "node_modules/chokidar": { 3268 + "version": "3.6.0", 3269 + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", 3270 + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", 3271 + "license": "MIT", 3272 + "dependencies": { 3273 + "anymatch": "~3.1.2", 3274 + "braces": "~3.0.2", 3275 + "glob-parent": "~5.1.2", 3276 + "is-binary-path": "~2.1.0", 3277 + "is-glob": "~4.0.1", 3278 + "normalize-path": "~3.0.0", 3279 + "readdirp": "~3.6.0" 3280 + }, 3281 + "engines": { 3282 + "node": ">= 8.10.0" 3283 + }, 3284 + "funding": { 3285 + "url": "https://paulmillr.com/funding/" 3286 + }, 3287 + "optionalDependencies": { 3288 + "fsevents": "~2.3.2" 3289 + } 3290 + }, 3291 + "node_modules/clsx": { 3292 + "version": "2.1.1", 3293 + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", 3294 + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", 3295 + "license": "MIT", 3296 + "engines": { 3297 + "node": ">=6" 3298 + } 3299 + }, 3300 + "node_modules/convert-source-map": { 3301 + "version": "2.0.0", 3302 + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", 3303 + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", 3304 + "license": "MIT" 3305 + }, 3306 + "node_modules/cookie-es": { 3307 + "version": "2.0.0", 3308 + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-2.0.0.tgz", 3309 + "integrity": "sha512-RAj4E421UYRgqokKUmotqAwuplYw15qtdXfY+hGzgCJ/MBjCVZcSoHK/kH9kocfjRjcDME7IiDWR/1WX1TM2Pg==", 3310 + "license": "MIT" 3311 + }, 3312 + "node_modules/css-select": { 3313 + "version": "5.2.2", 3314 + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", 3315 + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", 3316 + "license": "BSD-2-Clause", 3317 + "dependencies": { 3318 + "boolbase": "^1.0.0", 3319 + "css-what": "^6.1.0", 3320 + "domhandler": "^5.0.2", 3321 + "domutils": "^3.0.1", 3322 + "nth-check": "^2.0.1" 3323 + }, 3324 + "funding": { 3325 + "url": "https://github.com/sponsors/fb55" 3326 + } 3327 + }, 3328 + "node_modules/css-tree": { 3329 + "version": "3.1.0", 3330 + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", 3331 + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", 3332 + "dev": true, 3333 + "license": "MIT", 3334 + "dependencies": { 3335 + "mdn-data": "2.12.2", 3336 + "source-map-js": "^1.0.1" 3337 + }, 3338 + "engines": { 3339 + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" 3340 + } 3341 + }, 3342 + "node_modules/css-what": { 3343 + "version": "6.2.2", 3344 + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", 3345 + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", 3346 + "license": "BSD-2-Clause", 3347 + "engines": { 3348 + "node": ">= 6" 3349 + }, 3350 + "funding": { 3351 + "url": "https://github.com/sponsors/fb55" 3352 + } 3353 + }, 3354 + "node_modules/cssstyle": { 3355 + "version": "5.3.1", 3356 + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-5.3.1.tgz", 3357 + "integrity": "sha512-g5PC9Aiph9eiczFpcgUhd9S4UUO3F+LHGRIi5NUMZ+4xtoIYbHNZwZnWA2JsFGe8OU8nl4WyaEFiZuGuxlutJQ==", 3358 + "dev": true, 3359 + "license": "MIT", 3360 + "dependencies": { 3361 + "@asamuzakjp/css-color": "^4.0.3", 3362 + "@csstools/css-syntax-patches-for-csstree": "^1.0.14", 3363 + "css-tree": "^3.1.0" 3364 + }, 3365 + "engines": { 3366 + "node": ">=20" 3367 + } 3368 + }, 3369 + "node_modules/csstype": { 3370 + "version": "3.1.3", 3371 + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", 3372 + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", 3373 + "license": "MIT" 3374 + }, 3375 + "node_modules/data-urls": { 3376 + "version": "6.0.0", 3377 + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-6.0.0.tgz", 3378 + "integrity": "sha512-BnBS08aLUM+DKamupXs3w2tJJoqU+AkaE/+6vQxi/G/DPmIZFJJp9Dkb1kM03AZx8ADehDUZgsNxju3mPXZYIA==", 3379 + "dev": true, 3380 + "license": "MIT", 3381 + "dependencies": { 3382 + "whatwg-mimetype": "^4.0.0", 3383 + "whatwg-url": "^15.0.0" 3384 + }, 3385 + "engines": { 3386 + "node": ">=20" 3387 + } 3388 + }, 3389 + "node_modules/debug": { 3390 + "version": "4.4.3", 3391 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", 3392 + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", 3393 + "license": "MIT", 3394 + "dependencies": { 3395 + "ms": "^2.1.3" 3396 + }, 3397 + "engines": { 3398 + "node": ">=6.0" 3399 + }, 3400 + "peerDependenciesMeta": { 3401 + "supports-color": { 3402 + "optional": true 3403 + } 3404 + } 3405 + }, 3406 + "node_modules/decimal.js": { 3407 + "version": "10.6.0", 3408 + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", 3409 + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", 3410 + "dev": true, 3411 + "license": "MIT" 3412 + }, 3413 + "node_modules/deep-eql": { 3414 + "version": "5.0.2", 3415 + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", 3416 + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", 3417 + "dev": true, 3418 + "license": "MIT", 3419 + "engines": { 3420 + "node": ">=6" 3421 + } 3422 + }, 3423 + "node_modules/dequal": { 3424 + "version": "2.0.3", 3425 + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", 3426 + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", 3427 + "dev": true, 3428 + "license": "MIT", 3429 + "engines": { 3430 + "node": ">=6" 3431 + } 3432 + }, 3433 + "node_modules/detect-libc": { 3434 + "version": "2.1.2", 3435 + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", 3436 + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", 3437 + "license": "Apache-2.0", 3438 + "engines": { 3439 + "node": ">=8" 3440 + } 3441 + }, 3442 + "node_modules/diff": { 3443 + "version": "8.0.2", 3444 + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.2.tgz", 3445 + "integrity": "sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg==", 3446 + "license": "BSD-3-Clause", 3447 + "engines": { 3448 + "node": ">=0.3.1" 3449 + } 3450 + }, 3451 + "node_modules/dom-accessibility-api": { 3452 + "version": "0.5.16", 3453 + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", 3454 + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", 3455 + "dev": true, 3456 + "license": "MIT" 3457 + }, 3458 + "node_modules/dom-serializer": { 3459 + "version": "2.0.0", 3460 + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", 3461 + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", 3462 + "license": "MIT", 3463 + "dependencies": { 3464 + "domelementtype": "^2.3.0", 3465 + "domhandler": "^5.0.2", 3466 + "entities": "^4.2.0" 3467 + }, 3468 + "funding": { 3469 + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" 3470 + } 3471 + }, 3472 + "node_modules/domelementtype": { 3473 + "version": "2.3.0", 3474 + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", 3475 + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", 3476 + "funding": [ 3477 + { 3478 + "type": "github", 3479 + "url": "https://github.com/sponsors/fb55" 3480 + } 3481 + ], 3482 + "license": "BSD-2-Clause" 3483 + }, 3484 + "node_modules/domhandler": { 3485 + "version": "5.0.3", 3486 + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", 3487 + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", 3488 + "license": "BSD-2-Clause", 3489 + "dependencies": { 3490 + "domelementtype": "^2.3.0" 3491 + }, 3492 + "engines": { 3493 + "node": ">= 4" 3494 + }, 3495 + "funding": { 3496 + "url": "https://github.com/fb55/domhandler?sponsor=1" 3497 + } 3498 + }, 3499 + "node_modules/domutils": { 3500 + "version": "3.2.2", 3501 + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", 3502 + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", 3503 + "license": "BSD-2-Clause", 3504 + "dependencies": { 3505 + "dom-serializer": "^2.0.0", 3506 + "domelementtype": "^2.3.0", 3507 + "domhandler": "^5.0.3" 3508 + }, 3509 + "funding": { 3510 + "url": "https://github.com/fb55/domutils?sponsor=1" 3511 + } 3512 + }, 3513 + "node_modules/electron-to-chromium": { 3514 + "version": "1.5.240", 3515 + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.240.tgz", 3516 + "integrity": "sha512-OBwbZjWgrCOH+g6uJsA2/7Twpas2OlepS9uvByJjR2datRDuKGYeD+nP8lBBks2qnB7bGJNHDUx7c/YLaT3QMQ==", 3517 + "license": "ISC" 3518 + }, 3519 + "node_modules/encoding-sniffer": { 3520 + "version": "0.2.1", 3521 + "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz", 3522 + "integrity": "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==", 3523 + "license": "MIT", 3524 + "dependencies": { 3525 + "iconv-lite": "^0.6.3", 3526 + "whatwg-encoding": "^3.1.1" 3527 + }, 3528 + "funding": { 3529 + "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" 3530 + } 3531 + }, 3532 + "node_modules/enhanced-resolve": { 3533 + "version": "5.18.3", 3534 + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", 3535 + "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", 3536 + "license": "MIT", 3537 + "dependencies": { 3538 + "graceful-fs": "^4.2.4", 3539 + "tapable": "^2.2.0" 3540 + }, 3541 + "engines": { 3542 + "node": ">=10.13.0" 3543 + } 3544 + }, 3545 + "node_modules/entities": { 3546 + "version": "4.5.0", 3547 + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", 3548 + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", 3549 + "license": "BSD-2-Clause", 3550 + "engines": { 3551 + "node": ">=0.12" 3552 + }, 3553 + "funding": { 3554 + "url": "https://github.com/fb55/entities?sponsor=1" 3555 + } 3556 + }, 3557 + "node_modules/es-module-lexer": { 3558 + "version": "1.7.0", 3559 + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", 3560 + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", 3561 + "dev": true, 3562 + "license": "MIT" 3563 + }, 3564 + "node_modules/esbuild": { 3565 + "version": "0.25.11", 3566 + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz", 3567 + "integrity": "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==", 3568 + "hasInstallScript": true, 3569 + "license": "MIT", 3570 + "bin": { 3571 + "esbuild": "bin/esbuild" 3572 + }, 3573 + "engines": { 3574 + "node": ">=18" 3575 + }, 3576 + "optionalDependencies": { 3577 + "@esbuild/aix-ppc64": "0.25.11", 3578 + "@esbuild/android-arm": "0.25.11", 3579 + "@esbuild/android-arm64": "0.25.11", 3580 + "@esbuild/android-x64": "0.25.11", 3581 + "@esbuild/darwin-arm64": "0.25.11", 3582 + "@esbuild/darwin-x64": "0.25.11", 3583 + "@esbuild/freebsd-arm64": "0.25.11", 3584 + "@esbuild/freebsd-x64": "0.25.11", 3585 + "@esbuild/linux-arm": "0.25.11", 3586 + "@esbuild/linux-arm64": "0.25.11", 3587 + "@esbuild/linux-ia32": "0.25.11", 3588 + "@esbuild/linux-loong64": "0.25.11", 3589 + "@esbuild/linux-mips64el": "0.25.11", 3590 + "@esbuild/linux-ppc64": "0.25.11", 3591 + "@esbuild/linux-riscv64": "0.25.11", 3592 + "@esbuild/linux-s390x": "0.25.11", 3593 + "@esbuild/linux-x64": "0.25.11", 3594 + "@esbuild/netbsd-arm64": "0.25.11", 3595 + "@esbuild/netbsd-x64": "0.25.11", 3596 + "@esbuild/openbsd-arm64": "0.25.11", 3597 + "@esbuild/openbsd-x64": "0.25.11", 3598 + "@esbuild/openharmony-arm64": "0.25.11", 3599 + "@esbuild/sunos-x64": "0.25.11", 3600 + "@esbuild/win32-arm64": "0.25.11", 3601 + "@esbuild/win32-ia32": "0.25.11", 3602 + "@esbuild/win32-x64": "0.25.11" 3603 + } 3604 + }, 3605 + "node_modules/escalade": { 3606 + "version": "3.2.0", 3607 + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", 3608 + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", 3609 + "license": "MIT", 3610 + "engines": { 3611 + "node": ">=6" 3612 + } 3613 + }, 3614 + "node_modules/esprima": { 3615 + "version": "4.0.1", 3616 + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 3617 + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 3618 + "license": "BSD-2-Clause", 3619 + "bin": { 3620 + "esparse": "bin/esparse.js", 3621 + "esvalidate": "bin/esvalidate.js" 3622 + }, 3623 + "engines": { 3624 + "node": ">=4" 3625 + } 3626 + }, 3627 + "node_modules/estree-walker": { 3628 + "version": "3.0.3", 3629 + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", 3630 + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", 3631 + "dev": true, 3632 + "license": "MIT", 3633 + "dependencies": { 3634 + "@types/estree": "^1.0.0" 3635 + } 3636 + }, 3637 + "node_modules/expect-type": { 3638 + "version": "1.2.2", 3639 + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz", 3640 + "integrity": "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==", 3641 + "dev": true, 3642 + "license": "Apache-2.0", 3643 + "engines": { 3644 + "node": ">=12.0.0" 3645 + } 3646 + }, 3647 + "node_modules/exsolve": { 3648 + "version": "1.0.7", 3649 + "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.7.tgz", 3650 + "integrity": "sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==", 3651 + "license": "MIT" 3652 + }, 3653 + "node_modules/fetchdts": { 3654 + "version": "0.1.7", 3655 + "resolved": "https://registry.npmjs.org/fetchdts/-/fetchdts-0.1.7.tgz", 3656 + "integrity": "sha512-YoZjBdafyLIop9lSxXVI33oLD5kN31q4Td+CasofLLYeLXRFeOsuOw0Uo+XNRi9PZlbfdlN2GmRtm4tCEQ9/KA==", 3657 + "license": "MIT" 3658 + }, 3659 + "node_modules/fill-range": { 3660 + "version": "7.1.1", 3661 + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 3662 + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 3663 + "license": "MIT", 3664 + "dependencies": { 3665 + "to-regex-range": "^5.0.1" 3666 + }, 3667 + "engines": { 3668 + "node": ">=8" 3669 + } 3670 + }, 3671 + "node_modules/fsevents": { 3672 + "version": "2.3.3", 3673 + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 3674 + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 3675 + "hasInstallScript": true, 3676 + "license": "MIT", 3677 + "optional": true, 3678 + "os": [ 3679 + "darwin" 3680 + ], 3681 + "engines": { 3682 + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 3683 + } 3684 + }, 3685 + "node_modules/gensync": { 3686 + "version": "1.0.0-beta.2", 3687 + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", 3688 + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", 3689 + "license": "MIT", 3690 + "engines": { 3691 + "node": ">=6.9.0" 3692 + } 3693 + }, 3694 + "node_modules/get-tsconfig": { 3695 + "version": "4.13.0", 3696 + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", 3697 + "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==", 3698 + "license": "MIT", 3699 + "dependencies": { 3700 + "resolve-pkg-maps": "^1.0.0" 3701 + }, 3702 + "funding": { 3703 + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" 3704 + } 3705 + }, 3706 + "node_modules/glob-parent": { 3707 + "version": "5.1.2", 3708 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 3709 + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 3710 + "license": "ISC", 3711 + "dependencies": { 3712 + "is-glob": "^4.0.1" 3713 + }, 3714 + "engines": { 3715 + "node": ">= 6" 3716 + } 3717 + }, 3718 + "node_modules/globrex": { 3719 + "version": "0.1.2", 3720 + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", 3721 + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", 3722 + "license": "MIT" 3723 + }, 3724 + "node_modules/goober": { 3725 + "version": "2.1.18", 3726 + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.18.tgz", 3727 + "integrity": "sha512-2vFqsaDVIT9Gz7N6kAL++pLpp41l3PfDuusHcjnGLfR6+huZkl6ziX+zgVC3ZxpqWhzH6pyDdGrCeDhMIvwaxw==", 3728 + "license": "MIT", 3729 + "peerDependencies": { 3730 + "csstype": "^3.0.10" 3731 + } 3732 + }, 3733 + "node_modules/graceful-fs": { 3734 + "version": "4.2.11", 3735 + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 3736 + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", 3737 + "license": "ISC" 3738 + }, 3739 + "node_modules/h3-v2": { 3740 + "name": "h3", 3741 + "version": "2.0.0-beta.4", 3742 + "resolved": "https://registry.npmjs.org/h3/-/h3-2.0.0-beta.4.tgz", 3743 + "integrity": "sha512-/JdwHUGuHjbBXAVxQN7T7QeI9cVlhsqMKVNFHebZVs9RoEYH85Ogh9O1DEy/1ZiJkmMwa1gNg6bBcGhc1Itjdg==", 3744 + "license": "MIT", 3745 + "dependencies": { 3746 + "cookie-es": "^2.0.0", 3747 + "fetchdts": "^0.1.6", 3748 + "rou3": "^0.7.3", 3749 + "srvx": "^0.8.7" 3750 + }, 3751 + "engines": { 3752 + "node": ">=20.11.1" 3753 + }, 3754 + "peerDependencies": { 3755 + "crossws": "^0.4.1" 3756 + }, 3757 + "peerDependenciesMeta": { 3758 + "crossws": { 3759 + "optional": true 3760 + } 3761 + } 3762 + }, 3763 + "node_modules/html-encoding-sniffer": { 3764 + "version": "4.0.0", 3765 + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", 3766 + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", 3767 + "dev": true, 3768 + "license": "MIT", 3769 + "dependencies": { 3770 + "whatwg-encoding": "^3.1.1" 3771 + }, 3772 + "engines": { 3773 + "node": ">=18" 3774 + } 3775 + }, 3776 + "node_modules/htmlparser2": { 3777 + "version": "10.0.0", 3778 + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", 3779 + "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", 3780 + "funding": [ 3781 + "https://github.com/fb55/htmlparser2?sponsor=1", 3782 + { 3783 + "type": "github", 3784 + "url": "https://github.com/sponsors/fb55" 3785 + } 3786 + ], 3787 + "license": "MIT", 3788 + "dependencies": { 3789 + "domelementtype": "^2.3.0", 3790 + "domhandler": "^5.0.3", 3791 + "domutils": "^3.2.1", 3792 + "entities": "^6.0.0" 3793 + } 3794 + }, 3795 + "node_modules/htmlparser2/node_modules/entities": { 3796 + "version": "6.0.1", 3797 + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", 3798 + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", 3799 + "license": "BSD-2-Clause", 3800 + "engines": { 3801 + "node": ">=0.12" 3802 + }, 3803 + "funding": { 3804 + "url": "https://github.com/fb55/entities?sponsor=1" 3805 + } 3806 + }, 3807 + "node_modules/http-proxy-agent": { 3808 + "version": "7.0.2", 3809 + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", 3810 + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", 3811 + "dev": true, 3812 + "license": "MIT", 3813 + "dependencies": { 3814 + "agent-base": "^7.1.0", 3815 + "debug": "^4.3.4" 3816 + }, 3817 + "engines": { 3818 + "node": ">= 14" 3819 + } 3820 + }, 3821 + "node_modules/https-proxy-agent": { 3822 + "version": "7.0.6", 3823 + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", 3824 + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", 3825 + "dev": true, 3826 + "license": "MIT", 3827 + "dependencies": { 3828 + "agent-base": "^7.1.2", 3829 + "debug": "4" 3830 + }, 3831 + "engines": { 3832 + "node": ">= 14" 3833 + } 3834 + }, 3835 + "node_modules/iconv-lite": { 3836 + "version": "0.6.3", 3837 + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", 3838 + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", 3839 + "license": "MIT", 3840 + "dependencies": { 3841 + "safer-buffer": ">= 2.1.2 < 3.0.0" 3842 + }, 3843 + "engines": { 3844 + "node": ">=0.10.0" 3845 + } 3846 + }, 3847 + "node_modules/is-binary-path": { 3848 + "version": "2.1.0", 3849 + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 3850 + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 3851 + "license": "MIT", 3852 + "dependencies": { 3853 + "binary-extensions": "^2.0.0" 3854 + }, 3855 + "engines": { 3856 + "node": ">=8" 3857 + } 3858 + }, 3859 + "node_modules/is-extglob": { 3860 + "version": "2.1.1", 3861 + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 3862 + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 3863 + "license": "MIT", 3864 + "engines": { 3865 + "node": ">=0.10.0" 3866 + } 3867 + }, 3868 + "node_modules/is-glob": { 3869 + "version": "4.0.3", 3870 + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 3871 + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 3872 + "license": "MIT", 3873 + "dependencies": { 3874 + "is-extglob": "^2.1.1" 3875 + }, 3876 + "engines": { 3877 + "node": ">=0.10.0" 3878 + } 3879 + }, 3880 + "node_modules/is-number": { 3881 + "version": "7.0.0", 3882 + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 3883 + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 3884 + "license": "MIT", 3885 + "engines": { 3886 + "node": ">=0.12.0" 3887 + } 3888 + }, 3889 + "node_modules/is-potential-custom-element-name": { 3890 + "version": "1.0.1", 3891 + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", 3892 + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", 3893 + "dev": true, 3894 + "license": "MIT" 3895 + }, 3896 + "node_modules/isbot": { 3897 + "version": "5.1.31", 3898 + "resolved": "https://registry.npmjs.org/isbot/-/isbot-5.1.31.tgz", 3899 + "integrity": "sha512-DPgQshehErHAqSCKDb3rNW03pa2wS/v5evvUqtxt6TTnHRqAG8FdzcSSJs9656pK6Y+NT7K9R4acEYXLHYfpUQ==", 3900 + "license": "Unlicense", 3901 + "engines": { 3902 + "node": ">=18" 3903 + } 3904 + }, 3905 + "node_modules/jiti": { 3906 + "version": "2.6.1", 3907 + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", 3908 + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", 3909 + "license": "MIT", 3910 + "bin": { 3911 + "jiti": "lib/jiti-cli.mjs" 3912 + } 3913 + }, 3914 + "node_modules/js-tokens": { 3915 + "version": "4.0.0", 3916 + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 3917 + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 3918 + "license": "MIT" 3919 + }, 3920 + "node_modules/js-yaml": { 3921 + "version": "3.14.1", 3922 + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", 3923 + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", 3924 + "license": "MIT", 3925 + "dependencies": { 3926 + "argparse": "^1.0.7", 3927 + "esprima": "^4.0.0" 3928 + }, 3929 + "bin": { 3930 + "js-yaml": "bin/js-yaml.js" 3931 + } 3932 + }, 3933 + "node_modules/jsdom": { 3934 + "version": "27.0.1", 3935 + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-27.0.1.tgz", 3936 + "integrity": "sha512-SNSQteBL1IlV2zqhwwolaG9CwhIhTvVHWg3kTss/cLE7H/X4644mtPQqYvCfsSrGQWt9hSZcgOXX8bOZaMN+kA==", 3937 + "dev": true, 3938 + "license": "MIT", 3939 + "dependencies": { 3940 + "@asamuzakjp/dom-selector": "^6.7.2", 3941 + "cssstyle": "^5.3.1", 3942 + "data-urls": "^6.0.0", 3943 + "decimal.js": "^10.6.0", 3944 + "html-encoding-sniffer": "^4.0.0", 3945 + "http-proxy-agent": "^7.0.2", 3946 + "https-proxy-agent": "^7.0.6", 3947 + "is-potential-custom-element-name": "^1.0.1", 3948 + "parse5": "^8.0.0", 3949 + "rrweb-cssom": "^0.8.0", 3950 + "saxes": "^6.0.0", 3951 + "symbol-tree": "^3.2.4", 3952 + "tough-cookie": "^6.0.0", 3953 + "w3c-xmlserializer": "^5.0.0", 3954 + "webidl-conversions": "^8.0.0", 3955 + "whatwg-encoding": "^3.1.1", 3956 + "whatwg-mimetype": "^4.0.0", 3957 + "whatwg-url": "^15.1.0", 3958 + "ws": "^8.18.3", 3959 + "xml-name-validator": "^5.0.0" 3960 + }, 3961 + "engines": { 3962 + "node": ">=20" 3963 + }, 3964 + "peerDependencies": { 3965 + "canvas": "^3.0.0" 3966 + }, 3967 + "peerDependenciesMeta": { 3968 + "canvas": { 3969 + "optional": true 3970 + } 3971 + } 3972 + }, 3973 + "node_modules/jsdom/node_modules/entities": { 3974 + "version": "6.0.1", 3975 + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", 3976 + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", 3977 + "dev": true, 3978 + "license": "BSD-2-Clause", 3979 + "engines": { 3980 + "node": ">=0.12" 3981 + }, 3982 + "funding": { 3983 + "url": "https://github.com/fb55/entities?sponsor=1" 3984 + } 3985 + }, 3986 + "node_modules/jsdom/node_modules/parse5": { 3987 + "version": "8.0.0", 3988 + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", 3989 + "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==", 3990 + "dev": true, 3991 + "license": "MIT", 3992 + "dependencies": { 3993 + "entities": "^6.0.0" 3994 + }, 3995 + "funding": { 3996 + "url": "https://github.com/inikulin/parse5?sponsor=1" 3997 + } 3998 + }, 3999 + "node_modules/jsesc": { 4000 + "version": "3.1.0", 4001 + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", 4002 + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", 4003 + "license": "MIT", 4004 + "bin": { 4005 + "jsesc": "bin/jsesc" 4006 + }, 4007 + "engines": { 4008 + "node": ">=6" 4009 + } 4010 + }, 4011 + "node_modules/json5": { 4012 + "version": "2.2.3", 4013 + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", 4014 + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", 4015 + "license": "MIT", 4016 + "bin": { 4017 + "json5": "lib/cli.js" 4018 + }, 4019 + "engines": { 4020 + "node": ">=6" 4021 + } 4022 + }, 4023 + "node_modules/lightningcss": { 4024 + "version": "1.30.2", 4025 + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", 4026 + "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", 4027 + "license": "MPL-2.0", 4028 + "dependencies": { 4029 + "detect-libc": "^2.0.3" 4030 + }, 4031 + "engines": { 4032 + "node": ">= 12.0.0" 4033 + }, 4034 + "funding": { 4035 + "type": "opencollective", 4036 + "url": "https://opencollective.com/parcel" 4037 + }, 4038 + "optionalDependencies": { 4039 + "lightningcss-android-arm64": "1.30.2", 4040 + "lightningcss-darwin-arm64": "1.30.2", 4041 + "lightningcss-darwin-x64": "1.30.2", 4042 + "lightningcss-freebsd-x64": "1.30.2", 4043 + "lightningcss-linux-arm-gnueabihf": "1.30.2", 4044 + "lightningcss-linux-arm64-gnu": "1.30.2", 4045 + "lightningcss-linux-arm64-musl": "1.30.2", 4046 + "lightningcss-linux-x64-gnu": "1.30.2", 4047 + "lightningcss-linux-x64-musl": "1.30.2", 4048 + "lightningcss-win32-arm64-msvc": "1.30.2", 4049 + "lightningcss-win32-x64-msvc": "1.30.2" 4050 + } 4051 + }, 4052 + "node_modules/lightningcss-android-arm64": { 4053 + "version": "1.30.2", 4054 + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", 4055 + "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", 4056 + "cpu": [ 4057 + "arm64" 4058 + ], 4059 + "license": "MPL-2.0", 4060 + "optional": true, 4061 + "os": [ 4062 + "android" 4063 + ], 4064 + "engines": { 4065 + "node": ">= 12.0.0" 4066 + }, 4067 + "funding": { 4068 + "type": "opencollective", 4069 + "url": "https://opencollective.com/parcel" 4070 + } 4071 + }, 4072 + "node_modules/lightningcss-darwin-arm64": { 4073 + "version": "1.30.2", 4074 + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", 4075 + "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", 4076 + "cpu": [ 4077 + "arm64" 4078 + ], 4079 + "license": "MPL-2.0", 4080 + "optional": true, 4081 + "os": [ 4082 + "darwin" 4083 + ], 4084 + "engines": { 4085 + "node": ">= 12.0.0" 4086 + }, 4087 + "funding": { 4088 + "type": "opencollective", 4089 + "url": "https://opencollective.com/parcel" 4090 + } 4091 + }, 4092 + "node_modules/lightningcss-darwin-x64": { 4093 + "version": "1.30.2", 4094 + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", 4095 + "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", 4096 + "cpu": [ 4097 + "x64" 4098 + ], 4099 + "license": "MPL-2.0", 4100 + "optional": true, 4101 + "os": [ 4102 + "darwin" 4103 + ], 4104 + "engines": { 4105 + "node": ">= 12.0.0" 4106 + }, 4107 + "funding": { 4108 + "type": "opencollective", 4109 + "url": "https://opencollective.com/parcel" 4110 + } 4111 + }, 4112 + "node_modules/lightningcss-freebsd-x64": { 4113 + "version": "1.30.2", 4114 + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", 4115 + "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", 4116 + "cpu": [ 4117 + "x64" 4118 + ], 4119 + "license": "MPL-2.0", 4120 + "optional": true, 4121 + "os": [ 4122 + "freebsd" 4123 + ], 4124 + "engines": { 4125 + "node": ">= 12.0.0" 4126 + }, 4127 + "funding": { 4128 + "type": "opencollective", 4129 + "url": "https://opencollective.com/parcel" 4130 + } 4131 + }, 4132 + "node_modules/lightningcss-linux-arm-gnueabihf": { 4133 + "version": "1.30.2", 4134 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", 4135 + "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", 4136 + "cpu": [ 4137 + "arm" 4138 + ], 4139 + "license": "MPL-2.0", 4140 + "optional": true, 4141 + "os": [ 4142 + "linux" 4143 + ], 4144 + "engines": { 4145 + "node": ">= 12.0.0" 4146 + }, 4147 + "funding": { 4148 + "type": "opencollective", 4149 + "url": "https://opencollective.com/parcel" 4150 + } 4151 + }, 4152 + "node_modules/lightningcss-linux-arm64-gnu": { 4153 + "version": "1.30.2", 4154 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", 4155 + "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", 4156 + "cpu": [ 4157 + "arm64" 4158 + ], 4159 + "license": "MPL-2.0", 4160 + "optional": true, 4161 + "os": [ 4162 + "linux" 4163 + ], 4164 + "engines": { 4165 + "node": ">= 12.0.0" 4166 + }, 4167 + "funding": { 4168 + "type": "opencollective", 4169 + "url": "https://opencollective.com/parcel" 4170 + } 4171 + }, 4172 + "node_modules/lightningcss-linux-arm64-musl": { 4173 + "version": "1.30.2", 4174 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", 4175 + "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", 4176 + "cpu": [ 4177 + "arm64" 4178 + ], 4179 + "license": "MPL-2.0", 4180 + "optional": true, 4181 + "os": [ 4182 + "linux" 4183 + ], 4184 + "engines": { 4185 + "node": ">= 12.0.0" 4186 + }, 4187 + "funding": { 4188 + "type": "opencollective", 4189 + "url": "https://opencollective.com/parcel" 4190 + } 4191 + }, 4192 + "node_modules/lightningcss-linux-x64-gnu": { 4193 + "version": "1.30.2", 4194 + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", 4195 + "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", 4196 + "cpu": [ 4197 + "x64" 4198 + ], 4199 + "license": "MPL-2.0", 4200 + "optional": true, 4201 + "os": [ 4202 + "linux" 4203 + ], 4204 + "engines": { 4205 + "node": ">= 12.0.0" 4206 + }, 4207 + "funding": { 4208 + "type": "opencollective", 4209 + "url": "https://opencollective.com/parcel" 4210 + } 4211 + }, 4212 + "node_modules/lightningcss-linux-x64-musl": { 4213 + "version": "1.30.2", 4214 + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", 4215 + "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", 4216 + "cpu": [ 4217 + "x64" 4218 + ], 4219 + "license": "MPL-2.0", 4220 + "optional": true, 4221 + "os": [ 4222 + "linux" 4223 + ], 4224 + "engines": { 4225 + "node": ">= 12.0.0" 4226 + }, 4227 + "funding": { 4228 + "type": "opencollective", 4229 + "url": "https://opencollective.com/parcel" 4230 + } 4231 + }, 4232 + "node_modules/lightningcss-win32-arm64-msvc": { 4233 + "version": "1.30.2", 4234 + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", 4235 + "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", 4236 + "cpu": [ 4237 + "arm64" 4238 + ], 4239 + "license": "MPL-2.0", 4240 + "optional": true, 4241 + "os": [ 4242 + "win32" 4243 + ], 4244 + "engines": { 4245 + "node": ">= 12.0.0" 4246 + }, 4247 + "funding": { 4248 + "type": "opencollective", 4249 + "url": "https://opencollective.com/parcel" 4250 + } 4251 + }, 4252 + "node_modules/lightningcss-win32-x64-msvc": { 4253 + "version": "1.30.2", 4254 + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", 4255 + "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", 4256 + "cpu": [ 4257 + "x64" 4258 + ], 4259 + "license": "MPL-2.0", 4260 + "optional": true, 4261 + "os": [ 4262 + "win32" 4263 + ], 4264 + "engines": { 4265 + "node": ">= 12.0.0" 4266 + }, 4267 + "funding": { 4268 + "type": "opencollective", 4269 + "url": "https://opencollective.com/parcel" 4270 + } 4271 + }, 4272 + "node_modules/loupe": { 4273 + "version": "3.2.1", 4274 + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz", 4275 + "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==", 4276 + "dev": true, 4277 + "license": "MIT" 4278 + }, 4279 + "node_modules/lru-cache": { 4280 + "version": "5.1.1", 4281 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", 4282 + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", 4283 + "license": "ISC", 4284 + "dependencies": { 4285 + "yallist": "^3.0.2" 4286 + } 4287 + }, 4288 + "node_modules/lucide-react": { 4289 + "version": "0.544.0", 4290 + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.544.0.tgz", 4291 + "integrity": "sha512-t5tS44bqd825zAW45UQxpG2CvcC4urOwn2TrwSH8u+MjeE+1NnWl6QqeQ/6NdjMqdOygyiT9p3Ev0p1NJykxjw==", 4292 + "license": "ISC", 4293 + "peerDependencies": { 4294 + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" 4295 + } 4296 + }, 4297 + "node_modules/lz-string": { 4298 + "version": "1.5.0", 4299 + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", 4300 + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", 4301 + "dev": true, 4302 + "license": "MIT", 4303 + "bin": { 4304 + "lz-string": "bin/bin.js" 4305 + } 4306 + }, 4307 + "node_modules/magic-string": { 4308 + "version": "0.30.21", 4309 + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", 4310 + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", 4311 + "license": "MIT", 4312 + "dependencies": { 4313 + "@jridgewell/sourcemap-codec": "^1.5.5" 4314 + } 4315 + }, 4316 + "node_modules/mdn-data": { 4317 + "version": "2.12.2", 4318 + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", 4319 + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", 4320 + "dev": true, 4321 + "license": "CC0-1.0" 4322 + }, 4323 + "node_modules/ms": { 4324 + "version": "2.1.3", 4325 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 4326 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 4327 + "license": "MIT" 4328 + }, 4329 + "node_modules/nanoid": { 4330 + "version": "3.3.11", 4331 + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", 4332 + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", 4333 + "funding": [ 4334 + { 4335 + "type": "github", 4336 + "url": "https://github.com/sponsors/ai" 4337 + } 4338 + ], 4339 + "license": "MIT", 4340 + "bin": { 4341 + "nanoid": "bin/nanoid.cjs" 4342 + }, 4343 + "engines": { 4344 + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 4345 + } 4346 + }, 4347 + "node_modules/node-releases": { 4348 + "version": "2.0.26", 4349 + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.26.tgz", 4350 + "integrity": "sha512-S2M9YimhSjBSvYnlr5/+umAnPHE++ODwt5e2Ij6FoX45HA/s4vHdkDx1eax2pAPeAOqu4s9b7ppahsyEFdVqQA==", 4351 + "license": "MIT" 4352 + }, 4353 + "node_modules/normalize-path": { 4354 + "version": "3.0.0", 4355 + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 4356 + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 4357 + "license": "MIT", 4358 + "engines": { 4359 + "node": ">=0.10.0" 4360 + } 4361 + }, 4362 + "node_modules/nth-check": { 4363 + "version": "2.1.1", 4364 + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", 4365 + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", 4366 + "license": "BSD-2-Clause", 4367 + "dependencies": { 4368 + "boolbase": "^1.0.0" 4369 + }, 4370 + "funding": { 4371 + "url": "https://github.com/fb55/nth-check?sponsor=1" 4372 + } 4373 + }, 4374 + "node_modules/parse5": { 4375 + "version": "7.3.0", 4376 + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", 4377 + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", 4378 + "license": "MIT", 4379 + "dependencies": { 4380 + "entities": "^6.0.0" 4381 + }, 4382 + "funding": { 4383 + "url": "https://github.com/inikulin/parse5?sponsor=1" 4384 + } 4385 + }, 4386 + "node_modules/parse5-htmlparser2-tree-adapter": { 4387 + "version": "7.1.0", 4388 + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", 4389 + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", 4390 + "license": "MIT", 4391 + "dependencies": { 4392 + "domhandler": "^5.0.3", 4393 + "parse5": "^7.0.0" 4394 + }, 4395 + "funding": { 4396 + "url": "https://github.com/inikulin/parse5?sponsor=1" 4397 + } 4398 + }, 4399 + "node_modules/parse5-parser-stream": { 4400 + "version": "7.1.2", 4401 + "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", 4402 + "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", 4403 + "license": "MIT", 4404 + "dependencies": { 4405 + "parse5": "^7.0.0" 4406 + }, 4407 + "funding": { 4408 + "url": "https://github.com/inikulin/parse5?sponsor=1" 4409 + } 4410 + }, 4411 + "node_modules/parse5/node_modules/entities": { 4412 + "version": "6.0.1", 4413 + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", 4414 + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", 4415 + "license": "BSD-2-Clause", 4416 + "engines": { 4417 + "node": ">=0.12" 4418 + }, 4419 + "funding": { 4420 + "url": "https://github.com/fb55/entities?sponsor=1" 4421 + } 4422 + }, 4423 + "node_modules/pathe": { 4424 + "version": "2.0.3", 4425 + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", 4426 + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", 4427 + "license": "MIT" 4428 + }, 4429 + "node_modules/pathval": { 4430 + "version": "2.0.1", 4431 + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", 4432 + "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", 4433 + "dev": true, 4434 + "license": "MIT", 4435 + "engines": { 4436 + "node": ">= 14.16" 4437 + } 4438 + }, 4439 + "node_modules/picocolors": { 4440 + "version": "1.1.1", 4441 + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 4442 + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", 4443 + "license": "ISC" 4444 + }, 4445 + "node_modules/picomatch": { 4446 + "version": "2.3.1", 4447 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 4448 + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 4449 + "license": "MIT", 4450 + "engines": { 4451 + "node": ">=8.6" 4452 + }, 4453 + "funding": { 4454 + "url": "https://github.com/sponsors/jonschlinkert" 4455 + } 4456 + }, 4457 + "node_modules/postcss": { 4458 + "version": "8.5.6", 4459 + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", 4460 + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", 4461 + "funding": [ 4462 + { 4463 + "type": "opencollective", 4464 + "url": "https://opencollective.com/postcss/" 4465 + }, 4466 + { 4467 + "type": "tidelift", 4468 + "url": "https://tidelift.com/funding/github/npm/postcss" 4469 + }, 4470 + { 4471 + "type": "github", 4472 + "url": "https://github.com/sponsors/ai" 4473 + } 4474 + ], 4475 + "license": "MIT", 4476 + "dependencies": { 4477 + "nanoid": "^3.3.11", 4478 + "picocolors": "^1.1.1", 4479 + "source-map-js": "^1.2.1" 4480 + }, 4481 + "engines": { 4482 + "node": "^10 || ^12 || >=14" 4483 + } 4484 + }, 4485 + "node_modules/prettier": { 4486 + "version": "3.6.2", 4487 + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", 4488 + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", 4489 + "license": "MIT", 4490 + "bin": { 4491 + "prettier": "bin/prettier.cjs" 4492 + }, 4493 + "engines": { 4494 + "node": ">=14" 4495 + }, 4496 + "funding": { 4497 + "url": "https://github.com/prettier/prettier?sponsor=1" 4498 + } 4499 + }, 4500 + "node_modules/pretty-format": { 4501 + "version": "27.5.1", 4502 + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", 4503 + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", 4504 + "dev": true, 4505 + "license": "MIT", 4506 + "dependencies": { 4507 + "ansi-regex": "^5.0.1", 4508 + "ansi-styles": "^5.0.0", 4509 + "react-is": "^17.0.1" 4510 + }, 4511 + "engines": { 4512 + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" 4513 + } 4514 + }, 4515 + "node_modules/punycode": { 4516 + "version": "2.3.1", 4517 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 4518 + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 4519 + "dev": true, 4520 + "license": "MIT", 4521 + "engines": { 4522 + "node": ">=6" 4523 + } 4524 + }, 4525 + "node_modules/react": { 4526 + "version": "19.2.0", 4527 + "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", 4528 + "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", 4529 + "license": "MIT", 4530 + "engines": { 4531 + "node": ">=0.10.0" 4532 + } 4533 + }, 4534 + "node_modules/react-dom": { 4535 + "version": "19.2.0", 4536 + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", 4537 + "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", 4538 + "license": "MIT", 4539 + "dependencies": { 4540 + "scheduler": "^0.27.0" 4541 + }, 4542 + "peerDependencies": { 4543 + "react": "^19.2.0" 4544 + } 4545 + }, 4546 + "node_modules/react-is": { 4547 + "version": "17.0.2", 4548 + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", 4549 + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", 4550 + "dev": true, 4551 + "license": "MIT" 4552 + }, 4553 + "node_modules/react-refresh": { 4554 + "version": "0.18.0", 4555 + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", 4556 + "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==", 4557 + "dev": true, 4558 + "license": "MIT", 4559 + "engines": { 4560 + "node": ">=0.10.0" 4561 + } 4562 + }, 4563 + "node_modules/readdirp": { 4564 + "version": "3.6.0", 4565 + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 4566 + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 4567 + "license": "MIT", 4568 + "dependencies": { 4569 + "picomatch": "^2.2.1" 4570 + }, 4571 + "engines": { 4572 + "node": ">=8.10.0" 4573 + } 4574 + }, 4575 + "node_modules/recast": { 4576 + "version": "0.23.11", 4577 + "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.11.tgz", 4578 + "integrity": "sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==", 4579 + "license": "MIT", 4580 + "dependencies": { 4581 + "ast-types": "^0.16.1", 4582 + "esprima": "~4.0.0", 4583 + "source-map": "~0.6.1", 4584 + "tiny-invariant": "^1.3.3", 4585 + "tslib": "^2.0.1" 4586 + }, 4587 + "engines": { 4588 + "node": ">= 4" 4589 + } 4590 + }, 4591 + "node_modules/recast/node_modules/source-map": { 4592 + "version": "0.6.1", 4593 + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 4594 + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 4595 + "license": "BSD-3-Clause", 4596 + "engines": { 4597 + "node": ">=0.10.0" 4598 + } 4599 + }, 4600 + "node_modules/require-from-string": { 4601 + "version": "2.0.2", 4602 + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", 4603 + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", 4604 + "dev": true, 4605 + "license": "MIT", 4606 + "engines": { 4607 + "node": ">=0.10.0" 4608 + } 4609 + }, 4610 + "node_modules/resolve-pkg-maps": { 4611 + "version": "1.0.0", 4612 + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", 4613 + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", 4614 + "license": "MIT", 4615 + "funding": { 4616 + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" 4617 + } 4618 + }, 4619 + "node_modules/rollup": { 4620 + "version": "4.52.5", 4621 + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.5.tgz", 4622 + "integrity": "sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==", 4623 + "license": "MIT", 4624 + "dependencies": { 4625 + "@types/estree": "1.0.8" 4626 + }, 4627 + "bin": { 4628 + "rollup": "dist/bin/rollup" 4629 + }, 4630 + "engines": { 4631 + "node": ">=18.0.0", 4632 + "npm": ">=8.0.0" 4633 + }, 4634 + "optionalDependencies": { 4635 + "@rollup/rollup-android-arm-eabi": "4.52.5", 4636 + "@rollup/rollup-android-arm64": "4.52.5", 4637 + "@rollup/rollup-darwin-arm64": "4.52.5", 4638 + "@rollup/rollup-darwin-x64": "4.52.5", 4639 + "@rollup/rollup-freebsd-arm64": "4.52.5", 4640 + "@rollup/rollup-freebsd-x64": "4.52.5", 4641 + "@rollup/rollup-linux-arm-gnueabihf": "4.52.5", 4642 + "@rollup/rollup-linux-arm-musleabihf": "4.52.5", 4643 + "@rollup/rollup-linux-arm64-gnu": "4.52.5", 4644 + "@rollup/rollup-linux-arm64-musl": "4.52.5", 4645 + "@rollup/rollup-linux-loong64-gnu": "4.52.5", 4646 + "@rollup/rollup-linux-ppc64-gnu": "4.52.5", 4647 + "@rollup/rollup-linux-riscv64-gnu": "4.52.5", 4648 + "@rollup/rollup-linux-riscv64-musl": "4.52.5", 4649 + "@rollup/rollup-linux-s390x-gnu": "4.52.5", 4650 + "@rollup/rollup-linux-x64-gnu": "4.52.5", 4651 + "@rollup/rollup-linux-x64-musl": "4.52.5", 4652 + "@rollup/rollup-openharmony-arm64": "4.52.5", 4653 + "@rollup/rollup-win32-arm64-msvc": "4.52.5", 4654 + "@rollup/rollup-win32-ia32-msvc": "4.52.5", 4655 + "@rollup/rollup-win32-x64-gnu": "4.52.5", 4656 + "@rollup/rollup-win32-x64-msvc": "4.52.5", 4657 + "fsevents": "~2.3.2" 4658 + } 4659 + }, 4660 + "node_modules/rou3": { 4661 + "version": "0.7.8", 4662 + "resolved": "https://registry.npmjs.org/rou3/-/rou3-0.7.8.tgz", 4663 + "integrity": "sha512-21X/el5fdOaEsqwl3an/d9kpZ8hshVIyrwFCpsoleJ4ccAGRbN+PVoxyXzWXkHDxfMkVnLe4yzx+imz2qoem2Q==", 4664 + "license": "MIT" 4665 + }, 4666 + "node_modules/rrweb-cssom": { 4667 + "version": "0.8.0", 4668 + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", 4669 + "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", 4670 + "dev": true, 4671 + "license": "MIT" 4672 + }, 4673 + "node_modules/safer-buffer": { 4674 + "version": "2.1.2", 4675 + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 4676 + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 4677 + "license": "MIT" 4678 + }, 4679 + "node_modules/saxes": { 4680 + "version": "6.0.0", 4681 + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", 4682 + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", 4683 + "dev": true, 4684 + "license": "ISC", 4685 + "dependencies": { 4686 + "xmlchars": "^2.2.0" 4687 + }, 4688 + "engines": { 4689 + "node": ">=v12.22.7" 4690 + } 4691 + }, 4692 + "node_modules/scheduler": { 4693 + "version": "0.27.0", 4694 + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", 4695 + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", 4696 + "license": "MIT" 4697 + }, 4698 + "node_modules/semver": { 4699 + "version": "6.3.1", 4700 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 4701 + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 4702 + "license": "ISC", 4703 + "bin": { 4704 + "semver": "bin/semver.js" 4705 + } 4706 + }, 4707 + "node_modules/seroval": { 4708 + "version": "1.3.2", 4709 + "resolved": "https://registry.npmjs.org/seroval/-/seroval-1.3.2.tgz", 4710 + "integrity": "sha512-RbcPH1n5cfwKrru7v7+zrZvjLurgHhGyso3HTyGtRivGWgYjbOmGuivCQaORNELjNONoK35nj28EoWul9sb1zQ==", 4711 + "license": "MIT", 4712 + "engines": { 4713 + "node": ">=10" 4714 + } 4715 + }, 4716 + "node_modules/seroval-plugins": { 4717 + "version": "1.3.3", 4718 + "resolved": "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.3.3.tgz", 4719 + "integrity": "sha512-16OL3NnUBw8JG1jBLUoZJsLnQq0n5Ua6aHalhJK4fMQkz1lqR7Osz1sA30trBtd9VUDc2NgkuRCn8+/pBwqZ+w==", 4720 + "license": "MIT", 4721 + "engines": { 4722 + "node": ">=10" 4723 + }, 4724 + "peerDependencies": { 4725 + "seroval": "^1.0" 4726 + } 4727 + }, 4728 + "node_modules/siginfo": { 4729 + "version": "2.0.0", 4730 + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", 4731 + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", 4732 + "dev": true, 4733 + "license": "ISC" 4734 + }, 4735 + "node_modules/solid-js": { 4736 + "version": "1.9.9", 4737 + "resolved": "https://registry.npmjs.org/solid-js/-/solid-js-1.9.9.tgz", 4738 + "integrity": "sha512-A0ZBPJQldAeGCTW0YRYJmt7RCeh5rbFfPZ2aOttgYnctHE7HgKeHCBB/PVc2P7eOfmNXqMFFFoYYdm3S4dcbkA==", 4739 + "license": "MIT", 4740 + "dependencies": { 4741 + "csstype": "^3.1.0", 4742 + "seroval": "~1.3.0", 4743 + "seroval-plugins": "~1.3.0" 4744 + } 4745 + }, 4746 + "node_modules/source-map": { 4747 + "version": "0.7.6", 4748 + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", 4749 + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", 4750 + "license": "BSD-3-Clause", 4751 + "engines": { 4752 + "node": ">= 12" 4753 + } 4754 + }, 4755 + "node_modules/source-map-js": { 4756 + "version": "1.2.1", 4757 + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 4758 + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", 4759 + "license": "BSD-3-Clause", 4760 + "engines": { 4761 + "node": ">=0.10.0" 4762 + } 4763 + }, 4764 + "node_modules/sprintf-js": { 4765 + "version": "1.0.3", 4766 + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 4767 + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", 4768 + "license": "BSD-3-Clause" 4769 + }, 4770 + "node_modules/srvx": { 4771 + "version": "0.8.16", 4772 + "resolved": "https://registry.npmjs.org/srvx/-/srvx-0.8.16.tgz", 4773 + "integrity": "sha512-hmcGW4CgroeSmzgF1Ihwgl+Ths0JqAJ7HwjP2X7e3JzY7u4IydLMcdnlqGQiQGUswz+PO9oh/KtCpOISIvs9QQ==", 4774 + "license": "MIT", 4775 + "bin": { 4776 + "srvx": "bin/srvx.mjs" 4777 + }, 4778 + "engines": { 4779 + "node": ">=20.16.0" 4780 + } 4781 + }, 4782 + "node_modules/stackback": { 4783 + "version": "0.0.2", 4784 + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", 4785 + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", 4786 + "dev": true, 4787 + "license": "MIT" 4788 + }, 4789 + "node_modules/std-env": { 4790 + "version": "3.10.0", 4791 + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", 4792 + "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", 4793 + "dev": true, 4794 + "license": "MIT" 4795 + }, 4796 + "node_modules/strip-literal": { 4797 + "version": "3.1.0", 4798 + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz", 4799 + "integrity": "sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==", 4800 + "dev": true, 4801 + "license": "MIT", 4802 + "dependencies": { 4803 + "js-tokens": "^9.0.1" 4804 + }, 4805 + "funding": { 4806 + "url": "https://github.com/sponsors/antfu" 4807 + } 4808 + }, 4809 + "node_modules/strip-literal/node_modules/js-tokens": { 4810 + "version": "9.0.1", 4811 + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", 4812 + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", 4813 + "dev": true, 4814 + "license": "MIT" 4815 + }, 4816 + "node_modules/symbol-tree": { 4817 + "version": "3.2.4", 4818 + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", 4819 + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", 4820 + "dev": true, 4821 + "license": "MIT" 4822 + }, 4823 + "node_modules/tailwindcss": { 4824 + "version": "4.1.16", 4825 + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.16.tgz", 4826 + "integrity": "sha512-pONL5awpaQX4LN5eiv7moSiSPd/DLDzKVRJz8Q9PgzmAdd1R4307GQS2ZpfiN7ZmekdQrfhZZiSE5jkLR4WNaA==", 4827 + "license": "MIT" 4828 + }, 4829 + "node_modules/tapable": { 4830 + "version": "2.3.0", 4831 + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", 4832 + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", 4833 + "license": "MIT", 4834 + "engines": { 4835 + "node": ">=6" 4836 + }, 4837 + "funding": { 4838 + "type": "opencollective", 4839 + "url": "https://opencollective.com/webpack" 4840 + } 4841 + }, 4842 + "node_modules/tiny-invariant": { 4843 + "version": "1.3.3", 4844 + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", 4845 + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", 4846 + "license": "MIT" 4847 + }, 4848 + "node_modules/tiny-warning": { 4849 + "version": "1.0.3", 4850 + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", 4851 + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", 4852 + "license": "MIT" 4853 + }, 4854 + "node_modules/tinybench": { 4855 + "version": "2.9.0", 4856 + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", 4857 + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", 4858 + "dev": true, 4859 + "license": "MIT" 4860 + }, 4861 + "node_modules/tinyexec": { 4862 + "version": "0.3.2", 4863 + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", 4864 + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", 4865 + "dev": true, 4866 + "license": "MIT" 4867 + }, 4868 + "node_modules/tinyglobby": { 4869 + "version": "0.2.15", 4870 + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", 4871 + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", 4872 + "license": "MIT", 4873 + "dependencies": { 4874 + "fdir": "^6.5.0", 4875 + "picomatch": "^4.0.3" 4876 + }, 4877 + "engines": { 4878 + "node": ">=12.0.0" 4879 + }, 4880 + "funding": { 4881 + "url": "https://github.com/sponsors/SuperchupuDev" 4882 + } 4883 + }, 4884 + "node_modules/tinyglobby/node_modules/fdir": { 4885 + "version": "6.5.0", 4886 + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", 4887 + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", 4888 + "license": "MIT", 4889 + "engines": { 4890 + "node": ">=12.0.0" 4891 + }, 4892 + "peerDependencies": { 4893 + "picomatch": "^3 || ^4" 4894 + }, 4895 + "peerDependenciesMeta": { 4896 + "picomatch": { 4897 + "optional": true 4898 + } 4899 + } 4900 + }, 4901 + "node_modules/tinyglobby/node_modules/picomatch": { 4902 + "version": "4.0.3", 4903 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", 4904 + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", 4905 + "license": "MIT", 4906 + "engines": { 4907 + "node": ">=12" 4908 + }, 4909 + "funding": { 4910 + "url": "https://github.com/sponsors/jonschlinkert" 4911 + } 4912 + }, 4913 + "node_modules/tinypool": { 4914 + "version": "1.1.1", 4915 + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", 4916 + "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", 4917 + "dev": true, 4918 + "license": "MIT", 4919 + "engines": { 4920 + "node": "^18.0.0 || >=20.0.0" 4921 + } 4922 + }, 4923 + "node_modules/tinyrainbow": { 4924 + "version": "2.0.0", 4925 + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", 4926 + "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", 4927 + "dev": true, 4928 + "license": "MIT", 4929 + "engines": { 4930 + "node": ">=14.0.0" 4931 + } 4932 + }, 4933 + "node_modules/tinyspy": { 4934 + "version": "4.0.4", 4935 + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz", 4936 + "integrity": "sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==", 4937 + "dev": true, 4938 + "license": "MIT", 4939 + "engines": { 4940 + "node": ">=14.0.0" 4941 + } 4942 + }, 4943 + "node_modules/tldts": { 4944 + "version": "7.0.17", 4945 + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.17.tgz", 4946 + "integrity": "sha512-Y1KQBgDd/NUc+LfOtKS6mNsC9CCaH+m2P1RoIZy7RAPo3C3/t8X45+zgut31cRZtZ3xKPjfn3TkGTrctC2TQIQ==", 4947 + "dev": true, 4948 + "license": "MIT", 4949 + "dependencies": { 4950 + "tldts-core": "^7.0.17" 4951 + }, 4952 + "bin": { 4953 + "tldts": "bin/cli.js" 4954 + } 4955 + }, 4956 + "node_modules/tldts-core": { 4957 + "version": "7.0.17", 4958 + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.17.tgz", 4959 + "integrity": "sha512-DieYoGrP78PWKsrXr8MZwtQ7GLCUeLxihtjC1jZsW1DnvSMdKPitJSe8OSYDM2u5H6g3kWJZpePqkp43TfLh0g==", 4960 + "dev": true, 4961 + "license": "MIT" 4962 + }, 4963 + "node_modules/to-regex-range": { 4964 + "version": "5.0.1", 4965 + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 4966 + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 4967 + "license": "MIT", 4968 + "dependencies": { 4969 + "is-number": "^7.0.0" 4970 + }, 4971 + "engines": { 4972 + "node": ">=8.0" 4973 + } 4974 + }, 4975 + "node_modules/tough-cookie": { 4976 + "version": "6.0.0", 4977 + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.0.tgz", 4978 + "integrity": "sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==", 4979 + "dev": true, 4980 + "license": "BSD-3-Clause", 4981 + "dependencies": { 4982 + "tldts": "^7.0.5" 4983 + }, 4984 + "engines": { 4985 + "node": ">=16" 4986 + } 4987 + }, 4988 + "node_modules/tr46": { 4989 + "version": "6.0.0", 4990 + "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", 4991 + "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", 4992 + "dev": true, 4993 + "license": "MIT", 4994 + "dependencies": { 4995 + "punycode": "^2.3.1" 4996 + }, 4997 + "engines": { 4998 + "node": ">=20" 4999 + } 5000 + }, 5001 + "node_modules/tsconfck": { 5002 + "version": "3.1.6", 5003 + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", 5004 + "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", 5005 + "license": "MIT", 5006 + "bin": { 5007 + "tsconfck": "bin/tsconfck.js" 5008 + }, 5009 + "engines": { 5010 + "node": "^18 || >=20" 5011 + }, 5012 + "peerDependencies": { 5013 + "typescript": "^5.0.0" 5014 + }, 5015 + "peerDependenciesMeta": { 5016 + "typescript": { 5017 + "optional": true 5018 + } 5019 + } 5020 + }, 5021 + "node_modules/tslib": { 5022 + "version": "2.8.1", 5023 + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", 5024 + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", 5025 + "license": "0BSD" 5026 + }, 5027 + "node_modules/tsx": { 5028 + "version": "4.20.6", 5029 + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.20.6.tgz", 5030 + "integrity": "sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==", 5031 + "license": "MIT", 5032 + "dependencies": { 5033 + "esbuild": "~0.25.0", 5034 + "get-tsconfig": "^4.7.5" 5035 + }, 5036 + "bin": { 5037 + "tsx": "dist/cli.mjs" 5038 + }, 5039 + "engines": { 5040 + "node": ">=18.0.0" 5041 + }, 5042 + "optionalDependencies": { 5043 + "fsevents": "~2.3.3" 5044 + } 5045 + }, 5046 + "node_modules/typescript": { 5047 + "version": "5.9.3", 5048 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", 5049 + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", 5050 + "devOptional": true, 5051 + "license": "Apache-2.0", 5052 + "bin": { 5053 + "tsc": "bin/tsc", 5054 + "tsserver": "bin/tsserver" 5055 + }, 5056 + "engines": { 5057 + "node": ">=14.17" 5058 + } 5059 + }, 5060 + "node_modules/ufo": { 5061 + "version": "1.6.1", 5062 + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", 5063 + "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", 5064 + "license": "MIT" 5065 + }, 5066 + "node_modules/undici": { 5067 + "version": "7.16.0", 5068 + "resolved": "https://registry.npmjs.org/undici/-/undici-7.16.0.tgz", 5069 + "integrity": "sha512-QEg3HPMll0o3t2ourKwOeUAZ159Kn9mx5pnzHRQO8+Wixmh88YdZRiIwat0iNzNNXn0yoEtXJqFpyW7eM8BV7g==", 5070 + "license": "MIT", 5071 + "engines": { 5072 + "node": ">=20.18.1" 5073 + } 5074 + }, 5075 + "node_modules/undici-types": { 5076 + "version": "6.21.0", 5077 + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", 5078 + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", 5079 + "devOptional": true, 5080 + "license": "MIT" 5081 + }, 5082 + "node_modules/unplugin": { 5083 + "version": "2.3.10", 5084 + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.10.tgz", 5085 + "integrity": "sha512-6NCPkv1ClwH+/BGE9QeoTIl09nuiAt0gS28nn1PvYXsGKRwM2TCbFA2QiilmehPDTXIe684k4rZI1yl3A1PCUw==", 5086 + "license": "MIT", 5087 + "dependencies": { 5088 + "@jridgewell/remapping": "^2.3.5", 5089 + "acorn": "^8.15.0", 5090 + "picomatch": "^4.0.3", 5091 + "webpack-virtual-modules": "^0.6.2" 5092 + }, 5093 + "engines": { 5094 + "node": ">=18.12.0" 5095 + } 5096 + }, 5097 + "node_modules/unplugin/node_modules/picomatch": { 5098 + "version": "4.0.3", 5099 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", 5100 + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", 5101 + "license": "MIT", 5102 + "engines": { 5103 + "node": ">=12" 5104 + }, 5105 + "funding": { 5106 + "url": "https://github.com/sponsors/jonschlinkert" 5107 + } 5108 + }, 5109 + "node_modules/update-browserslist-db": { 5110 + "version": "1.1.4", 5111 + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", 5112 + "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", 5113 + "funding": [ 5114 + { 5115 + "type": "opencollective", 5116 + "url": "https://opencollective.com/browserslist" 5117 + }, 5118 + { 5119 + "type": "tidelift", 5120 + "url": "https://tidelift.com/funding/github/npm/browserslist" 5121 + }, 5122 + { 5123 + "type": "github", 5124 + "url": "https://github.com/sponsors/ai" 5125 + } 5126 + ], 5127 + "license": "MIT", 5128 + "dependencies": { 5129 + "escalade": "^3.2.0", 5130 + "picocolors": "^1.1.1" 5131 + }, 5132 + "bin": { 5133 + "update-browserslist-db": "cli.js" 5134 + }, 5135 + "peerDependencies": { 5136 + "browserslist": ">= 4.21.0" 5137 + } 5138 + }, 5139 + "node_modules/use-sync-external-store": { 5140 + "version": "1.6.0", 5141 + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", 5142 + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", 5143 + "license": "MIT", 5144 + "peerDependencies": { 5145 + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" 5146 + } 5147 + }, 5148 + "node_modules/vite": { 5149 + "version": "7.1.12", 5150 + "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.12.tgz", 5151 + "integrity": "sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==", 5152 + "license": "MIT", 5153 + "dependencies": { 5154 + "esbuild": "^0.25.0", 5155 + "fdir": "^6.5.0", 5156 + "picomatch": "^4.0.3", 5157 + "postcss": "^8.5.6", 5158 + "rollup": "^4.43.0", 5159 + "tinyglobby": "^0.2.15" 5160 + }, 5161 + "bin": { 5162 + "vite": "bin/vite.js" 5163 + }, 5164 + "engines": { 5165 + "node": "^20.19.0 || >=22.12.0" 5166 + }, 5167 + "funding": { 5168 + "url": "https://github.com/vitejs/vite?sponsor=1" 5169 + }, 5170 + "optionalDependencies": { 5171 + "fsevents": "~2.3.3" 5172 + }, 5173 + "peerDependencies": { 5174 + "@types/node": "^20.19.0 || >=22.12.0", 5175 + "jiti": ">=1.21.0", 5176 + "less": "^4.0.0", 5177 + "lightningcss": "^1.21.0", 5178 + "sass": "^1.70.0", 5179 + "sass-embedded": "^1.70.0", 5180 + "stylus": ">=0.54.8", 5181 + "sugarss": "^5.0.0", 5182 + "terser": "^5.16.0", 5183 + "tsx": "^4.8.1", 5184 + "yaml": "^2.4.2" 5185 + }, 5186 + "peerDependenciesMeta": { 5187 + "@types/node": { 5188 + "optional": true 5189 + }, 5190 + "jiti": { 5191 + "optional": true 5192 + }, 5193 + "less": { 5194 + "optional": true 5195 + }, 5196 + "lightningcss": { 5197 + "optional": true 5198 + }, 5199 + "sass": { 5200 + "optional": true 5201 + }, 5202 + "sass-embedded": { 5203 + "optional": true 5204 + }, 5205 + "stylus": { 5206 + "optional": true 5207 + }, 5208 + "sugarss": { 5209 + "optional": true 5210 + }, 5211 + "terser": { 5212 + "optional": true 5213 + }, 5214 + "tsx": { 5215 + "optional": true 5216 + }, 5217 + "yaml": { 5218 + "optional": true 5219 + } 5220 + } 5221 + }, 5222 + "node_modules/vite-node": { 5223 + "version": "3.2.4", 5224 + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", 5225 + "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", 5226 + "dev": true, 5227 + "license": "MIT", 5228 + "dependencies": { 5229 + "cac": "^6.7.14", 5230 + "debug": "^4.4.1", 5231 + "es-module-lexer": "^1.7.0", 5232 + "pathe": "^2.0.3", 5233 + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" 5234 + }, 5235 + "bin": { 5236 + "vite-node": "vite-node.mjs" 5237 + }, 5238 + "engines": { 5239 + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" 5240 + }, 5241 + "funding": { 5242 + "url": "https://opencollective.com/vitest" 5243 + } 5244 + }, 5245 + "node_modules/vite-tsconfig-paths": { 5246 + "version": "5.1.4", 5247 + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-5.1.4.tgz", 5248 + "integrity": "sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==", 5249 + "license": "MIT", 5250 + "dependencies": { 5251 + "debug": "^4.1.1", 5252 + "globrex": "^0.1.2", 5253 + "tsconfck": "^3.0.3" 5254 + }, 5255 + "peerDependencies": { 5256 + "vite": "*" 5257 + }, 5258 + "peerDependenciesMeta": { 5259 + "vite": { 5260 + "optional": true 5261 + } 5262 + } 5263 + }, 5264 + "node_modules/vite/node_modules/fdir": { 5265 + "version": "6.5.0", 5266 + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", 5267 + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", 5268 + "license": "MIT", 5269 + "engines": { 5270 + "node": ">=12.0.0" 5271 + }, 5272 + "peerDependencies": { 5273 + "picomatch": "^3 || ^4" 5274 + }, 5275 + "peerDependenciesMeta": { 5276 + "picomatch": { 5277 + "optional": true 5278 + } 5279 + } 5280 + }, 5281 + "node_modules/vite/node_modules/picomatch": { 5282 + "version": "4.0.3", 5283 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", 5284 + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", 5285 + "license": "MIT", 5286 + "engines": { 5287 + "node": ">=12" 5288 + }, 5289 + "funding": { 5290 + "url": "https://github.com/sponsors/jonschlinkert" 5291 + } 5292 + }, 5293 + "node_modules/vitefu": { 5294 + "version": "1.1.1", 5295 + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.1.tgz", 5296 + "integrity": "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==", 5297 + "license": "MIT", 5298 + "workspaces": [ 5299 + "tests/deps/*", 5300 + "tests/projects/*", 5301 + "tests/projects/workspace/packages/*" 5302 + ], 5303 + "peerDependencies": { 5304 + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" 5305 + }, 5306 + "peerDependenciesMeta": { 5307 + "vite": { 5308 + "optional": true 5309 + } 5310 + } 5311 + }, 5312 + "node_modules/vitest": { 5313 + "version": "3.2.4", 5314 + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", 5315 + "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", 5316 + "dev": true, 5317 + "license": "MIT", 5318 + "dependencies": { 5319 + "@types/chai": "^5.2.2", 5320 + "@vitest/expect": "3.2.4", 5321 + "@vitest/mocker": "3.2.4", 5322 + "@vitest/pretty-format": "^3.2.4", 5323 + "@vitest/runner": "3.2.4", 5324 + "@vitest/snapshot": "3.2.4", 5325 + "@vitest/spy": "3.2.4", 5326 + "@vitest/utils": "3.2.4", 5327 + "chai": "^5.2.0", 5328 + "debug": "^4.4.1", 5329 + "expect-type": "^1.2.1", 5330 + "magic-string": "^0.30.17", 5331 + "pathe": "^2.0.3", 5332 + "picomatch": "^4.0.2", 5333 + "std-env": "^3.9.0", 5334 + "tinybench": "^2.9.0", 5335 + "tinyexec": "^0.3.2", 5336 + "tinyglobby": "^0.2.14", 5337 + "tinypool": "^1.1.1", 5338 + "tinyrainbow": "^2.0.0", 5339 + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", 5340 + "vite-node": "3.2.4", 5341 + "why-is-node-running": "^2.3.0" 5342 + }, 5343 + "bin": { 5344 + "vitest": "vitest.mjs" 5345 + }, 5346 + "engines": { 5347 + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" 5348 + }, 5349 + "funding": { 5350 + "url": "https://opencollective.com/vitest" 5351 + }, 5352 + "peerDependencies": { 5353 + "@edge-runtime/vm": "*", 5354 + "@types/debug": "^4.1.12", 5355 + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", 5356 + "@vitest/browser": "3.2.4", 5357 + "@vitest/ui": "3.2.4", 5358 + "happy-dom": "*", 5359 + "jsdom": "*" 5360 + }, 5361 + "peerDependenciesMeta": { 5362 + "@edge-runtime/vm": { 5363 + "optional": true 5364 + }, 5365 + "@types/debug": { 5366 + "optional": true 5367 + }, 5368 + "@types/node": { 5369 + "optional": true 5370 + }, 5371 + "@vitest/browser": { 5372 + "optional": true 5373 + }, 5374 + "@vitest/ui": { 5375 + "optional": true 5376 + }, 5377 + "happy-dom": { 5378 + "optional": true 5379 + }, 5380 + "jsdom": { 5381 + "optional": true 5382 + } 5383 + } 5384 + }, 5385 + "node_modules/vitest/node_modules/picomatch": { 5386 + "version": "4.0.3", 5387 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", 5388 + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", 5389 + "dev": true, 5390 + "license": "MIT", 5391 + "engines": { 5392 + "node": ">=12" 5393 + }, 5394 + "funding": { 5395 + "url": "https://github.com/sponsors/jonschlinkert" 5396 + } 5397 + }, 5398 + "node_modules/w3c-xmlserializer": { 5399 + "version": "5.0.0", 5400 + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", 5401 + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", 5402 + "dev": true, 5403 + "license": "MIT", 5404 + "dependencies": { 5405 + "xml-name-validator": "^5.0.0" 5406 + }, 5407 + "engines": { 5408 + "node": ">=18" 5409 + } 5410 + }, 5411 + "node_modules/web-vitals": { 5412 + "version": "5.1.0", 5413 + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-5.1.0.tgz", 5414 + "integrity": "sha512-ArI3kx5jI0atlTtmV0fWU3fjpLmq/nD3Zr1iFFlJLaqa5wLBkUSzINwBPySCX/8jRyjlmy1Volw1kz1g9XE4Jg==", 5415 + "dev": true, 5416 + "license": "Apache-2.0" 5417 + }, 5418 + "node_modules/webidl-conversions": { 5419 + "version": "8.0.0", 5420 + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.0.tgz", 5421 + "integrity": "sha512-n4W4YFyz5JzOfQeA8oN7dUYpR+MBP3PIUsn2jLjWXwK5ASUzt0Jc/A5sAUZoCYFJRGF0FBKJ+1JjN43rNdsQzA==", 5422 + "dev": true, 5423 + "license": "BSD-2-Clause", 5424 + "engines": { 5425 + "node": ">=20" 5426 + } 5427 + }, 5428 + "node_modules/webpack-virtual-modules": { 5429 + "version": "0.6.2", 5430 + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", 5431 + "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", 5432 + "license": "MIT" 5433 + }, 5434 + "node_modules/whatwg-encoding": { 5435 + "version": "3.1.1", 5436 + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", 5437 + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", 5438 + "license": "MIT", 5439 + "dependencies": { 5440 + "iconv-lite": "0.6.3" 5441 + }, 5442 + "engines": { 5443 + "node": ">=18" 5444 + } 5445 + }, 5446 + "node_modules/whatwg-mimetype": { 5447 + "version": "4.0.0", 5448 + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", 5449 + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", 5450 + "license": "MIT", 5451 + "engines": { 5452 + "node": ">=18" 5453 + } 5454 + }, 5455 + "node_modules/whatwg-url": { 5456 + "version": "15.1.0", 5457 + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-15.1.0.tgz", 5458 + "integrity": "sha512-2ytDk0kiEj/yu90JOAp44PVPUkO9+jVhyf+SybKlRHSDlvOOZhdPIrr7xTH64l4WixO2cP+wQIcgujkGBPPz6g==", 5459 + "dev": true, 5460 + "license": "MIT", 5461 + "dependencies": { 5462 + "tr46": "^6.0.0", 5463 + "webidl-conversions": "^8.0.0" 5464 + }, 5465 + "engines": { 5466 + "node": ">=20" 5467 + } 5468 + }, 5469 + "node_modules/why-is-node-running": { 5470 + "version": "2.3.0", 5471 + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", 5472 + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", 5473 + "dev": true, 5474 + "license": "MIT", 5475 + "dependencies": { 5476 + "siginfo": "^2.0.0", 5477 + "stackback": "0.0.2" 5478 + }, 5479 + "bin": { 5480 + "why-is-node-running": "cli.js" 5481 + }, 5482 + "engines": { 5483 + "node": ">=8" 5484 + } 5485 + }, 5486 + "node_modules/ws": { 5487 + "version": "8.18.3", 5488 + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", 5489 + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", 5490 + "license": "MIT", 5491 + "engines": { 5492 + "node": ">=10.0.0" 5493 + }, 5494 + "peerDependencies": { 5495 + "bufferutil": "^4.0.1", 5496 + "utf-8-validate": ">=5.0.2" 5497 + }, 5498 + "peerDependenciesMeta": { 5499 + "bufferutil": { 5500 + "optional": true 5501 + }, 5502 + "utf-8-validate": { 5503 + "optional": true 5504 + } 5505 + } 5506 + }, 5507 + "node_modules/xml-name-validator": { 5508 + "version": "5.0.0", 5509 + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", 5510 + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", 5511 + "dev": true, 5512 + "license": "Apache-2.0", 5513 + "engines": { 5514 + "node": ">=18" 5515 + } 5516 + }, 5517 + "node_modules/xmlbuilder2": { 5518 + "version": "3.1.1", 5519 + "resolved": "https://registry.npmjs.org/xmlbuilder2/-/xmlbuilder2-3.1.1.tgz", 5520 + "integrity": "sha512-WCSfbfZnQDdLQLiMdGUQpMxxckeQ4oZNMNhLVkcekTu7xhD4tuUDyAPoY8CwXvBYE6LwBHd6QW2WZXlOWr1vCw==", 5521 + "license": "MIT", 5522 + "dependencies": { 5523 + "@oozcitak/dom": "1.15.10", 5524 + "@oozcitak/infra": "1.0.8", 5525 + "@oozcitak/util": "8.3.8", 5526 + "js-yaml": "3.14.1" 5527 + }, 5528 + "engines": { 5529 + "node": ">=12.0" 5530 + } 5531 + }, 5532 + "node_modules/xmlchars": { 5533 + "version": "2.2.0", 5534 + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", 5535 + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", 5536 + "dev": true, 5537 + "license": "MIT" 5538 + }, 5539 + "node_modules/yallist": { 5540 + "version": "3.1.1", 5541 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 5542 + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", 5543 + "license": "ISC" 5544 + }, 5545 + "node_modules/zod": { 5546 + "version": "3.25.76", 5547 + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", 5548 + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", 5549 + "license": "MIT", 5550 + "funding": { 5551 + "url": "https://github.com/sponsors/colinhacks" 5552 + } 5553 + } 5554 + } 5555 + }
+44
package.json
··· 1 + { 2 + "name": "deckbelcher", 3 + "private": true, 4 + "type": "module", 5 + "scripts": { 6 + "dev": "vite dev --port 3000", 7 + "build": "vite build", 8 + "serve": "vite preview", 9 + "test": "vitest run", 10 + "format": "biome format", 11 + "lint": "biome lint", 12 + "check": "biome check" 13 + }, 14 + "dependencies": { 15 + "@tailwindcss/vite": "^4.0.6", 16 + "@tanstack/react-devtools": "^0.7.0", 17 + "@tanstack/react-query": "^5.66.5", 18 + "@tanstack/react-query-devtools": "^5.84.2", 19 + "@tanstack/react-router": "^1.132.0", 20 + "@tanstack/react-router-devtools": "^1.132.0", 21 + "@tanstack/react-router-ssr-query": "^1.131.7", 22 + "@tanstack/react-start": "^1.132.0", 23 + "@tanstack/router-plugin": "^1.132.0", 24 + "lucide-react": "^0.544.0", 25 + "react": "^19.2.0", 26 + "react-dom": "^19.2.0", 27 + "tailwindcss": "^4.0.6", 28 + "vite-tsconfig-paths": "^5.1.4" 29 + }, 30 + "devDependencies": { 31 + "@biomejs/biome": "2.2.4", 32 + "@testing-library/dom": "^10.4.0", 33 + "@testing-library/react": "^16.2.0", 34 + "@types/node": "^22.10.2", 35 + "@types/react": "^19.2.0", 36 + "@types/react-dom": "^19.2.0", 37 + "@vitejs/plugin-react": "^5.0.4", 38 + "jsdom": "^27.0.0", 39 + "typescript": "^5.7.2", 40 + "vite": "^7.1.7", 41 + "vitest": "^3.0.5", 42 + "web-vitals": "^5.1.0" 43 + } 44 + }
public/favicon.ico

This is a binary file and will not be displayed.

public/logo192.png

This is a binary file and will not be displayed.

public/logo512.png

This is a binary file and will not be displayed.

+25
public/manifest.json
··· 1 + { 2 + "short_name": "TanStack App", 3 + "name": "Create TanStack App Sample", 4 + "icons": [ 5 + { 6 + "src": "favicon.ico", 7 + "sizes": "64x64 32x32 24x24 16x16", 8 + "type": "image/x-icon" 9 + }, 10 + { 11 + "src": "logo192.png", 12 + "type": "image/png", 13 + "sizes": "192x192" 14 + }, 15 + { 16 + "src": "logo512.png", 17 + "type": "image/png", 18 + "sizes": "512x512" 19 + } 20 + ], 21 + "start_url": ".", 22 + "display": "standalone", 23 + "theme_color": "#000000", 24 + "background_color": "#ffffff" 25 + }
+3
public/robots.txt
··· 1 + # https://www.robotstxt.org/robotstxt.html 2 + User-agent: * 3 + Disallow:
public/tanstack-circle-logo.png

This is a binary file and will not be displayed.

+1
public/tanstack-word-logo-white.svg
··· 1 + <svg height="660" viewBox="0 0 3178 660" width="3178" xmlns="http://www.w3.org/2000/svg"><g fill="#fff" transform="translate(.9778)"><g transform="translate(740.0222 38)"><path d="m101.695801 467h101.445312v-264.858398h90.917969v-80.390625h-283.28125v80.390625h90.917969z"/><path d="m241.544434 467h106.708984l68.666992-262.944336h33.017578v-82.304687h-95.703125zm70.820312-68.666992h211.025391l-21.054688-71.538086h-168.916015zm175.136719 68.666992h106.708984l-112.690429-345.249023h-62.685547v82.304687z"/><path d="m600.313965 467h101.445312v-179.443359h41.391602l-66.274414-38.759766 149.536133 218.203125h83.500976v-345.249023h-101.445312v176.572265h-41.391602l66.513672 38.759766-148.818359-215.332031h-84.458008z"/><path d="m1072.01318 473.220703c31.74154 0 58.85743-4.74528 81.34766-14.23584s39.67692-22.96875 51.56006-40.43457 17.82471-38.081869 17.82471-61.848145v-.239257c0-18.66211-3.94776-34.572754-11.84327-47.731934-7.8955-13.15918-19.89827-23.965658-36.0083-32.419434-16.11002-8.453776-36.52669-14.913737-61.25-19.379882l-34.69238-6.220703c-17.22656-3.190105-29.74772-6.898601-37.56348-11.125489-7.81575-4.226888-11.72363-10.248209-11.72363-18.063965v-.239257c0-5.263672 1.59505-10.008952 4.78516-14.23584 3.1901-4.226888 7.93538-7.576498 14.23584-10.048828 6.30045-2.472331 14.07633-3.708497 23.32763-3.708497 9.25131 0 17.5057 1.276042 24.76319 3.828126 7.25748 2.552083 13.07942 6.101074 17.46582 10.646972 4.38639 4.545899 6.8986 10.008952 7.53662 16.38916l.23926 2.392578h93.31054l-.23925-5.263671c-.95704-21.533204-7.01823-40.235189-18.1836-56.105957-11.16536-15.870769-27.27539-28.112793-48.33008-36.726075-21.05468-8.613281-46.97428-12.919922-77.75879-12.919922-27.27539 0-51.59993 4.625651-72.973628 13.876954-21.373698 9.251302-38.161621 22.330729-50.36377 39.238281-12.202148 16.907552-18.303222 36.925456-18.303222 60.053711v.239258c0 26.796875 9.131673 48.728841 27.395019 65.795898s44.541831 28.631185 78.835451 34.692383l34.69238 6.220703c19.14063 3.509115 32.61882 7.33724 40.43457 11.484375 7.81576 4.147135 11.72363 10.288086 11.72363 18.422852v.239257c0 5.742188-1.99381 10.846354-5.98144 15.3125s-9.61019 7.975261-16.86768 10.527344c-7.25748 2.552083-15.99039 3.828125-26.19873 3.828125-9.57031 0-18.3431-1.315918-26.31836-3.947754s-14.59472-6.260579-19.8584-10.88623c-5.26367-4.625651-8.61328-10.048828-10.04882-16.269532l-.47852-2.15332h-93.310546l.239258 4.545899c1.276042 22.649739 8.015137 41.909993 20.217285 57.780761 12.202149 15.870769 29.189453 27.953288 50.961914 36.247559 21.772459 8.294271 47.572429 12.441406 77.399899 12.441406z"/><path d="m1303.73682 467h101.44531v-264.858398h90.91797v-80.390625h-283.28125v80.390625h90.91797z"/><path d="m1443.58545 467h106.70898l68.667-262.944336h33.01757v-82.304687h-95.70312zm70.82031-68.666992h211.02539l-21.05469-71.538086h-168.91601zm175.13672 68.666992h106.70898l-112.69042-345.249023h-62.68555v82.304687z"/><path d="m1941.12451 473.220703c31.74154 0 59.65495-6.300456 83.74024-18.901367 24.08528-12.600912 42.94677-29.667969 56.58447-51.201172 13.63769-21.533203 20.45654-45.777995 20.45654-72.734375v-2.631836h-97.13867l-.23926 2.631836c-1.11653 12.122396-4.46614 22.689616-10.04883 31.70166-5.58268 9.012044-12.91992 15.990397-22.01171 20.935059-9.0918 4.944661-19.45964 7.416992-31.10352 7.416992-13.87695 0-25.9196-3.748372-36.12793-11.245117s-18.06396-18.462728-23.56689-32.897949c-5.50293-14.435222-8.2544-31.861166-8.2544-52.277832v-.239258c0-20.257162 2.75147-37.483724 8.2544-51.679688 5.50293-14.195963 13.31868-25.042317 23.44726-32.539062s22.13135-11.245117 36.0083-11.245117c12.60091 0 23.40739 2.591959 32.41944 7.775878 9.01204 5.18392 16.11002 12.281902 21.29394 21.293946s8.2544 19.260254 9.21143 30.744629l.23925 2.871093h97.13868v-2.15332c0-27.115885-6.69922-51.480306-20.09766-73.093262-13.39844-21.612955-32.10042-38.719889-56.10596-51.3208-24.00553-12.600912-52.03857-18.901368-84.09912-18.901368-35.09114 0-65.43701 6.978353-91.0376 20.935059-25.60058 13.956706-45.33935 34.213867-59.2163 60.771484-13.87696 26.557618-20.81543 58.817546-20.81543 96.779786v.239257c0 37.96224 6.8986 70.262045 20.6958 96.899414 13.7972 26.63737 33.49609 46.974284 59.09668 61.010743 25.60058 14.036458 56.0262 21.054687 91.27685 21.054687z"/><path d="m2214.23975 379.670898 75.36621-101.445312h26.0791l116.04004-156.474609h-106.46973l-106.70898 146.425781h-4.30664zm-99.05274 87.329102h101.44531v-345.249023h-101.44531zm203.84766 0h117.9541l-140.20508-226.577148-74.16992 64.121093z"/></g><path d="m305.114318.62443771c8.717817-1.14462121 17.926803-.36545135 26.712694-.36545135 32.548987 0 64.505987 5.05339923 95.64868 14.63098274 39.74418 12.2236582 76.762804 31.7666864 109.435876 57.477568 40.046637 31.5132839 73.228974 72.8472109 94.520714 119.2362609 39.836383 86.790386 39.544267 191.973146-1.268422 278.398081-26.388695 55.880442-68.724007 102.650458-119.964986 136.75724-41.808813 27.828603-90.706831 44.862601-140.45707 50.89341-63.325458 7.677926-131.784923-3.541603-188.712259-32.729444-106.868873-54.795293-179.52309291-165.076271-180.9604082-285.932068-.27660564-23.300971.08616998-46.74071 4.69884909-69.814998 7.51316071-37.57857 20.61272131-73.903917 40.28618971-106.877282 21.2814003-35.670293 48.7704861-67.1473767 81.6882804-92.5255597 38.602429-29.7610135 83.467691-51.1674988 130.978372-62.05777669 11.473831-2.62966514 22.9946-4.0869914 34.57273-5.4964306l3.658171-.44480576c3.050084-.37153079 6.104217-.74794222 9.162589-1.14972654zm-110.555861 549.44131429c-14.716752 1.577863-30.238964 4.25635-42.869928 12.522173 2.84343.683658 6.102369.004954 9.068638 0 7.124652-.011559 14.317732-.279903 21.434964.032202 17.817402.781913 36.381729 3.63214 53.58741 8.350042 22.029372 6.040631 41.432961 17.928687 62.656049 25.945156 22.389644 8.456554 44.67706 11.084675 68.427 11.084675 11.96813 0 23.845573-.035504 35.450133-3.302696-6.056202-3.225083-14.72582-2.619864-21.434964-3.963236-14.556814-2.915455-28.868774-6.474936-42.869928-11.470264-10.304996-3.676672-20.230803-8.214291-30.11097-12.848661l-6.348531-2.985046c-9.1705-4.309263-18.363277-8.560752-27.845391-12.142608-24.932161-9.418465-52.560181-14.071964-79.144482-11.221737zm22.259385-62.614168c-29.163917 0-58.660076 5.137344-84.915434 18.369597-6.361238 3.206092-12.407546 7.02566-18.137277 11.258891-1.746125 1.290529-4.841829 2.948483-5.487351 5.191839-.654591 2.275558 1.685942 4.182039 3.014086 5.637703 6.562396-3.497556 12.797498-7.199878 19.78612-9.855246 45.19892-17.169893 99.992458-13.570779 145.098218 2.172348 22.494346 7.851335 43.219483 19.592421 65.129314 28.800338 24.503461 10.297807 49.53043 16.975034 75.846795 20.399104 31.04195 4.037546 66.433549.7654 94.808495-13.242161 9.970556-4.921843 23.814245-12.422267 28.030337-23.320339-5.207047.454947-9.892236 2.685918-14.83959 4.224149-7.866632 2.445646-15.827248 4.51974-23.908229 6.138887-27.388113 5.486604-56.512458 6.619429-84.091013 1.639788-25.991939-4.693152-50.142596-14.119246-74.179513-24.03502l-3.068058-1.268177c-2.045137-.846788-4.089983-1.695816-6.135603-2.544467l-3.069142-1.272366c-12.279956-5.085721-24.606928-10.110797-37.210937-14.51024-24.485325-8.546552-50.726667-13.784628-76.671218-13.784628zm51.114145-447.9909432c-34.959602 7.7225298-66.276908 22.7605319-96.457338 41.7180089-17.521434 11.0054099-34.281927 22.2799893-49.465301 36.4444283-22.5792616 21.065423-39.8360564 46.668751-54.8866988 73.411509-15.507372 27.55357-25.4498976 59.665686-30.2554517 90.824149-4.7140432 30.568106-5.4906485 62.70747-.0906864 93.301172 6.7503648 38.248526 19.5989769 74.140579 39.8896436 107.337631 6.8187918-3.184625 11.659796-10.445603 17.3128555-15.336896 11.4149428-9.875888 23.3995608-19.029311 36.2745548-26.928535 4.765981-2.923712 9.662222-5.194315 14.83959-7.275014 1.953055-.785216 5.14604-1.502727 6.06527-3.647828 1.460876-3.406732-1.240754-9.335897-1.704904-12.865654-1.324845-10.095517-2.124534-20.362774-1.874735-30.549941.725492-29.668947 6.269727-59.751557 16.825623-87.521453 7.954845-20.924233 20.10682-39.922168 34.502872-56.971512 4.884699-5.785498 10.077731-11.170545 15.437296-16.512656 3.167428-3.157378 7.098271-5.858983 9.068639-9.908915-10.336599.006606-20.674847 2.987289-30.503603 6.013385-21.174447 6.519522-41.801477 16.19312-59.358362 29.841512-8.008432 6.226409-13.873368 14.387371-21.44733 20.939921-2.32322 2.010516-6.484901 4.704691-9.695199 3.187928-4.8500728-2.29042-4.1014979-11.835213-4.6571581-16.222019-2.1369011-16.873476 4.2548401-38.216325 12.3778671-52.843142 13.039878-23.479694 37.150915-43.528712 65.467327-42.82854 12.228647.302197 22.934587 4.551115 34.625711 7.324555-2.964621-4.211764-6.939158-7.28162-10.717482-10.733763-9.257431-8.459031-19.382979-16.184864-30.503603-22.028985-4.474136-2.350694-9.291232-3.77911-14.015169-5.506421-2.375159-.867783-5.36616-2.062533-6.259834-4.702213-1.654614-4.888817 7.148561-9.416813 10.381943-11.478522 12.499882-7.969406 27.826705-14.525258 42.869928-14.894334 23.509209-.577147 46.479246 12.467678 56.162903 34.665926 3.404469 7.803171 4.411273 16.054969 5.079109 24.382907l.121749 1.56229.174325 2.345587c.01913.260708.038244.521433.057403.782164l.11601 1.56437.120128 1.563971c7.38352-6.019164 12.576553-14.876995 19.78612-21.323859 16.861073-15.07846 39.936636-21.7722 61.831627-14.984333 19.786945 6.133107 36.984382 19.788105 47.105807 37.959541 2.648042 4.754231 10.035685 16.373942 4.698379 21.109183-4.177345 3.707277-9.475079.818243-13.880788-.719162-3.33605-1.16376-6.782939-1.90214-10.241828-2.585698l-1.887262-.369639c-.629089-.122886-1.257979-.246187-1.886079-.372129-11.980496-2.401886-25.91652-2.152533-37.923398-.041284-7.762754 1.364839-15.349083 4.127545-23.083807 5.271929v1.651348c21.149714.175043 41.608563 12.240618 52.043268 30.549941 4.323267 7.585468 6.482428 16.267431 8.138691 24.770223 2.047864 10.50918.608423 21.958802-2.263037 32.201289-.962925 3.433979-2.710699 9.255807-6.817143 10.046802-2.902789.558982-5.36781-2.330878-7.024898-4.279468-4.343878-5.10762-8.475879-9.96341-13.573278-14.374161-12.895604-11.157333-26.530715-21.449361-40.396663-31.373138-7.362086-5.269452-15.425755-12.12007-23.908229-15.340199 2.385052 5.745041 4.721463 11.086326 5.532694 17.339156 2.385876 18.392716-5.314223 35.704625-16.87179 49.540445-3.526876 4.222498-7.29943 8.475545-11.744712 11.755948-1.843407 1.360711-4.156734 3.137561-6.595373 2.752797-7.645687-1.207961-8.555849-12.73272-9.728176-18.637115-3.970415-19.998652-2.375984-39.861068 3.132802-59.448534-4.901187 2.485279-8.443727 7.923994-11.521293 12.385111-6.770975 9.816439-12.645804 20.199291-16.858599 31.375615-16.777806 44.519521-16.616219 96.664142 5.118834 139.523233 2.427098 4.786433 6.110614 4.144058 10.894733 4.144058.720854 0 1.44257-.004515 2.164851-.010924l2.168232-.022283c4.338648-.045438 8.686803-.064635 12.979772.508795 2.227588.297243 5.320818.032202 7.084256 1.673642 2.111344 1.966755.986008 5.338808.4996 7.758859-1.358647 6.765574-1.812904 12.914369-1.812904 19.816178 9.02412-1.398692 11.525415-15.866153 14.724172-23.118874 3.624982-8.216283 7.313444-16.440823 10.667192-24.770223 1.648843-4.093692 3.854171-8.671229 3.275427-13.210785-.649644-5.10184-4.335633-10.510831-6.904531-14.862134-4.86244-8.234447-10.389363-16.70834-13.969002-25.595896-2.861567-7.104926-.197036-15.983399 7.871579-18.521521 4.450228-1.400344 9.198073 1.345848 12.094266 4.562675 6.07269 6.74328 9.992815 16.777697 14.401823 24.692609l34.394873 61.925556c2.920926 5.243856 5.848447 10.481933 8.836976 15.687808 1.165732 2.031158 2.352075 5.167068 4.740424 6.0332 2.127008.77118 5.033095-.325315 7.148561-.748886 5.492297-1.099798 10.97635-2.287117 16.488434-3.28288 6.605266-1.193099 16.673928-.969342 21.434964-6.129805-6.963066-2.205375-15.011895-2.074919-22.259386-1.577863-4.352947.298894-9.178287 1.856116-13.178381-.686135-5.953149-3.783239-9.910373-12.522173-13.552668-18.377854-8.980425-14.439388-17.441465-29.095929-26.041008-43.760726l-1.376261-2.335014-2.765943-4.665258c-1.380597-2.334387-2.750786-4.67476-4.079753-7.036188-1.02723-1.826391-2.549937-4.233231-1.078344-6.24705 1.545791-2.114476 4.91472-2.239146 7.956473-2.243117l.603351.000261c1.195428.001526 2.315572.002427 3.222811-.11692 12.27399-1.615019 24.718635-2.952611 37.098976-2.952611-.963749-3.352237-3.719791-7.141255-2.838484-10.73046 1.972017-8.030506 13.526287-10.543033 18.899867-4.780653 3.60767 3.868283 5.704174 9.192229 8.051303 13.859765 3.097352 6.162006 6.624228 12.118418 9.940876 18.16483 5.805578 10.585967 12.146205 20.881297 18.116667 31.375615.49237.865561.999687 1.726685 1.512269 2.587098l.771613 1.290552c2.577138 4.303168 5.164895 8.635123 6.553094 13.461506-20.735854-.9487-36.30176-25.018751-45.343193-41.283704-.721369 2.604176.450959 4.928448 1.388326 7.431066 1.948109 5.197619 4.276275 10.147535 7.20627 14.862134 4.184765 6.732546 8.982075 13.665732 15.313633 18.553722 11.236043 8.673707 26.05255 8.721596 39.572241 7.794364 8.669619-.595311 19.50252-4.542034 28.030338-1.864372 8.513803 2.673532 11.940924 12.063098 6.884745 19.276187-3.787393 5.403211-8.842747 7.443452-15.128962 8.257566 4.445282 9.53571 10.268996 18.385285 14.490036 28.072919 1.758491 4.035895 3.59118 10.22102 7.8048 12.350433 2.805507 1.416857 6.824562.09743 9.85761.034678-3.043765-8.053625-8.742992-14.887729-11.541904-23.118874 8.533589.390544 16.786875 4.843404 24.732651 7.685374 15.630376 5.590144 31.063836 11.701854 46.475333 17.86913l7.112077 2.848685c6.338978 2.538947 12.71588 5.052299 18.961699 7.812528 2.285297 1.009799 5.449427 3.370401 7.975455 1.917215 2.061054-1.186494 3.394144-4.015253 4.665403-5.931643 3.55573-5.361927 6.775921-10.928622 9.965609-16.513481 12.774414-22.36586 22.143967-46.872692 28.402976-71.833646 20.645168-82.323009 2.934117-173.156241-46.677107-241.922507-19.061454-26.420745-43.033164-49.262193-69.46165-68.1783861-66.13923-47.336721-152.911262-66.294198-232.486917-48.7172481zm135.205158 410.5292842c-17.532977 4.570931-35.601827 8.714164-53.58741 11.040088 2.365265 8.052799 8.145286 15.885969 12.376218 23.118874 1.635653 2.796558 3.3859 6.541816 6.618457 7.755557 3.651364 1.370619 8.063669-.853747 11.508927-1.975838-1.595256-4.364513-4.279573-8.292245-6.476657-12.385112-.905215-1.687677-2.305907-3.685809-1.559805-5.68972 1.410585-3.786541 7.266452-3.563609 10.509727-4.221671 8.54678-1.733916 17.004522-3.898008 25.557073-5.611281 3.150939-.631641 7.538512-2.342438 10.705115-1.285575 2.371037.791232 3.800147 2.744743 5.152304 4.781948l.606196.918752c.80912 1.222827 1.637246 2.41754 2.671212 3.351165 3.457625 3.121874 8.628398 3.60159 13.017619 4.453686-2.678546-6.027421-7.130424-11.301001-9.984571-17.339156-1.659561-3.511592-3.023155-8.677834-6.656381-10.707341-5.005064-2.795733-15.341663 2.461334-20.458024 3.795624zm-110.472507-40.151706c-.825246 10.467897-4.036369 18.984725-9.068639 28.072919 5.76683.729896 11.649079.989984 17.312856 2.39363 4.244947 1.051908 8.156828 3.058296 12.366325 4.211763-2.250671-6.157877-6.426367-11.651913-9.661398-17.339156-3.266358-5.740912-6.189758-12.717032-10.949144-17.339156z"/></g></svg>
+190
src/components/Header.tsx
··· 1 + import { Link } from '@tanstack/react-router' 2 + 3 + import { useState } from 'react' 4 + import { 5 + ChevronDown, 6 + ChevronRight, 7 + Home, 8 + Menu, 9 + Network, 10 + SquareFunction, 11 + StickyNote, 12 + X, 13 + } from 'lucide-react' 14 + 15 + export default function Header() { 16 + const [isOpen, setIsOpen] = useState(false) 17 + const [groupedExpanded, setGroupedExpanded] = useState< 18 + Record<string, boolean> 19 + >({}) 20 + 21 + return ( 22 + <> 23 + <header className="p-4 flex items-center bg-gray-800 text-white shadow-lg"> 24 + <button 25 + onClick={() => setIsOpen(true)} 26 + className="p-2 hover:bg-gray-700 rounded-lg transition-colors" 27 + aria-label="Open menu" 28 + > 29 + <Menu size={24} /> 30 + </button> 31 + <h1 className="ml-4 text-xl font-semibold"> 32 + <Link to="/"> 33 + <img 34 + src="/tanstack-word-logo-white.svg" 35 + alt="TanStack Logo" 36 + className="h-10" 37 + /> 38 + </Link> 39 + </h1> 40 + </header> 41 + 42 + <aside 43 + className={`fixed top-0 left-0 h-full w-80 bg-gray-900 text-white shadow-2xl z-50 transform transition-transform duration-300 ease-in-out flex flex-col ${ 44 + isOpen ? 'translate-x-0' : '-translate-x-full' 45 + }`} 46 + > 47 + <div className="flex items-center justify-between p-4 border-b border-gray-700"> 48 + <h2 className="text-xl font-bold">Navigation</h2> 49 + <button 50 + onClick={() => setIsOpen(false)} 51 + className="p-2 hover:bg-gray-800 rounded-lg transition-colors" 52 + aria-label="Close menu" 53 + > 54 + <X size={24} /> 55 + </button> 56 + </div> 57 + 58 + <nav className="flex-1 p-4 overflow-y-auto"> 59 + <Link 60 + to="/" 61 + onClick={() => setIsOpen(false)} 62 + className="flex items-center gap-3 p-3 rounded-lg hover:bg-gray-800 transition-colors mb-2" 63 + activeProps={{ 64 + className: 65 + 'flex items-center gap-3 p-3 rounded-lg bg-cyan-600 hover:bg-cyan-700 transition-colors mb-2', 66 + }} 67 + > 68 + <Home size={20} /> 69 + <span className="font-medium">Home</span> 70 + </Link> 71 + 72 + {/* Demo Links Start */} 73 + 74 + <Link 75 + to="/demo/start/server-funcs" 76 + onClick={() => setIsOpen(false)} 77 + className="flex items-center gap-3 p-3 rounded-lg hover:bg-gray-800 transition-colors mb-2" 78 + activeProps={{ 79 + className: 80 + 'flex items-center gap-3 p-3 rounded-lg bg-cyan-600 hover:bg-cyan-700 transition-colors mb-2', 81 + }} 82 + > 83 + <SquareFunction size={20} /> 84 + <span className="font-medium">Start - Server Functions</span> 85 + </Link> 86 + 87 + <Link 88 + to="/demo/start/api-request" 89 + onClick={() => setIsOpen(false)} 90 + className="flex items-center gap-3 p-3 rounded-lg hover:bg-gray-800 transition-colors mb-2" 91 + activeProps={{ 92 + className: 93 + 'flex items-center gap-3 p-3 rounded-lg bg-cyan-600 hover:bg-cyan-700 transition-colors mb-2', 94 + }} 95 + > 96 + <Network size={20} /> 97 + <span className="font-medium">Start - API Request</span> 98 + </Link> 99 + 100 + <div className="flex flex-row justify-between"> 101 + <Link 102 + to="/demo/start/ssr" 103 + onClick={() => setIsOpen(false)} 104 + className="flex-1 flex items-center gap-3 p-3 rounded-lg hover:bg-gray-800 transition-colors mb-2" 105 + activeProps={{ 106 + className: 107 + 'flex-1 flex items-center gap-3 p-3 rounded-lg bg-cyan-600 hover:bg-cyan-700 transition-colors mb-2', 108 + }} 109 + > 110 + <StickyNote size={20} /> 111 + <span className="font-medium">Start - SSR Demos</span> 112 + </Link> 113 + <button 114 + className="p-2 hover:bg-gray-800 rounded-lg transition-colors" 115 + onClick={() => 116 + setGroupedExpanded((prev) => ({ 117 + ...prev, 118 + StartSSRDemo: !prev.StartSSRDemo, 119 + })) 120 + } 121 + > 122 + {groupedExpanded.StartSSRDemo ? ( 123 + <ChevronDown size={20} /> 124 + ) : ( 125 + <ChevronRight size={20} /> 126 + )} 127 + </button> 128 + </div> 129 + {groupedExpanded.StartSSRDemo && ( 130 + <div className="flex flex-col ml-4"> 131 + <Link 132 + to="/demo/start/ssr/spa-mode" 133 + onClick={() => setIsOpen(false)} 134 + className="flex items-center gap-3 p-3 rounded-lg hover:bg-gray-800 transition-colors mb-2" 135 + activeProps={{ 136 + className: 137 + 'flex items-center gap-3 p-3 rounded-lg bg-cyan-600 hover:bg-cyan-700 transition-colors mb-2', 138 + }} 139 + > 140 + <StickyNote size={20} /> 141 + <span className="font-medium">SPA Mode</span> 142 + </Link> 143 + 144 + <Link 145 + to="/demo/start/ssr/full-ssr" 146 + onClick={() => setIsOpen(false)} 147 + className="flex items-center gap-3 p-3 rounded-lg hover:bg-gray-800 transition-colors mb-2" 148 + activeProps={{ 149 + className: 150 + 'flex items-center gap-3 p-3 rounded-lg bg-cyan-600 hover:bg-cyan-700 transition-colors mb-2', 151 + }} 152 + > 153 + <StickyNote size={20} /> 154 + <span className="font-medium">Full SSR</span> 155 + </Link> 156 + 157 + <Link 158 + to="/demo/start/ssr/data-only" 159 + onClick={() => setIsOpen(false)} 160 + className="flex items-center gap-3 p-3 rounded-lg hover:bg-gray-800 transition-colors mb-2" 161 + activeProps={{ 162 + className: 163 + 'flex items-center gap-3 p-3 rounded-lg bg-cyan-600 hover:bg-cyan-700 transition-colors mb-2', 164 + }} 165 + > 166 + <StickyNote size={20} /> 167 + <span className="font-medium">Data Only</span> 168 + </Link> 169 + </div> 170 + )} 171 + 172 + <Link 173 + to="/demo/tanstack-query" 174 + onClick={() => setIsOpen(false)} 175 + className="flex items-center gap-3 p-3 rounded-lg hover:bg-gray-800 transition-colors mb-2" 176 + activeProps={{ 177 + className: 178 + 'flex items-center gap-3 p-3 rounded-lg bg-cyan-600 hover:bg-cyan-700 transition-colors mb-2', 179 + }} 180 + > 181 + <Network size={20} /> 182 + <span className="font-medium">TanStack Query</span> 183 + </Link> 184 + 185 + {/* Demo Links End */} 186 + </nav> 187 + </aside> 188 + </> 189 + ) 190 + }
+13
src/data/demo.punk-songs.ts
··· 1 + import { createServerFn } from '@tanstack/react-start' 2 + 3 + export const getPunkSongs = createServerFn({ 4 + method: 'GET', 5 + }).handler(async () => [ 6 + { id: 1, name: 'Teenage Dirtbag', artist: 'Wheatus' }, 7 + { id: 2, name: 'Smells Like Teen Spirit', artist: 'Nirvana' }, 8 + { id: 3, name: 'The Middle', artist: 'Jimmy Eat World' }, 9 + { id: 4, name: 'My Own Worst Enemy', artist: 'Lit' }, 10 + { id: 5, name: 'Fat Lip', artist: 'Sum 41' }, 11 + { id: 6, name: 'All the Small Things', artist: 'blink-182' }, 12 + { id: 7, name: 'Beverly Hills', artist: 'Weezer' }, 13 + ])
+6
src/integrations/tanstack-query/devtools.tsx
··· 1 + import { ReactQueryDevtoolsPanel } from '@tanstack/react-query-devtools' 2 + 3 + export default { 4 + name: 'Tanstack Query', 5 + render: <ReactQueryDevtoolsPanel />, 6 + }
+20
src/integrations/tanstack-query/root-provider.tsx
··· 1 + import { QueryClient, QueryClientProvider } from '@tanstack/react-query' 2 + 3 + export function getContext() { 4 + const queryClient = new QueryClient() 5 + return { 6 + queryClient, 7 + } 8 + } 9 + 10 + export function Provider({ 11 + children, 12 + queryClient, 13 + }: { 14 + children: React.ReactNode 15 + queryClient: QueryClient 16 + }) { 17 + return ( 18 + <QueryClientProvider client={queryClient}>{children}</QueryClientProvider> 19 + ) 20 + }
+12
src/logo.svg
··· 1 + <?xml version="1.0" encoding="UTF-8"?> 2 + <svg width="5355px" height="3786px" viewBox="0 0 5355 3786" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 3 + <title>logo</title> 4 + <g id="logo" stroke="none" fill="none" transform="translate(0.9778, 0)" fill-rule="evenodd" stroke-width="1"> 5 + <g id="Layer_1" transform="translate(1117.351, 496.0658)" fill="#61DAFB"> 6 + <g id="Group" fill-rule="nonzero"> 7 + <path d="M3119.93396,1389.62036 C3119.93396,1182.92626 2861.10536,987.043843 2464.27723,865.571309 C2555.85295,461.086847 2515.15263,139.280027 2335.81684,36.2509659 C2294.48058,12.0836553 2246.14895,0.635981858 2193.36572,0.635981858 L2193.36572,142.459936 C2222.61908,142.459936 2246.14895,148.183773 2265.86317,158.995464 C2352.35135,208.602049 2389.87196,397.488661 2360.6186,640.433731 C2353.62323,700.216026 2342.17627,763.178229 2328.18553,827.412397 C2203.5408,796.885268 2067.4491,773.353939 1924.36204,758.090375 C1838.5098,640.433731 1749.47785,533.588779 1659.80995,440.099446 C1867.12721,247.396943 2061.72562,141.823954 2194.00166,141.823954 L2194.00166,0 C2019.11747,0 1790.17817,124.652444 1558.69509,340.886276 C1327.21202,125.924408 1098.27272,2.54392743 923.388526,2.54392743 L923.388526,144.367882 C1055.02863,144.367882 1250.26298,249.304888 1457.58024,440.735428 C1368.54828,534.224761 1279.51633,640.433731 1194.93598,758.090375 C1051.21297,773.353939 915.121273,796.885268 790.476541,828.048379 C775.849863,764.450193 765.038841,702.759953 757.407531,643.61364 C727.518233,400.66857 764.402898,211.781959 850.255137,161.539392 C869.333413,150.091718 894.13517,145.003864 923.388526,145.003864 L923.388526,3.17990929 C869.969355,3.17990929 821.637724,14.6275827 779.665518,38.7948933 C600.965673,141.823954 560.901295,462.994793 653.112959,866.20729 C257.556717,988.315807 0,1183.56224 0,1389.62036 C0,1595.67848 258.828602,1792.19688 655.656729,1913.66941 C564.081007,2318.15387 604.781328,2639.96069 784.117116,2742.98975 C825.453379,2767.15706 873.78501,2778.60474 927.204181,2778.60474 C1102.08837,2778.60474 1331.02768,2653.95229 1562.51075,2437.71846 C1793.99382,2652.68033 2022.93313,2776.06081 2197.81732,2776.06081 C2251.23649,2776.06081 2299.56812,2764.61314 2341.54033,2740.44583 C2520.24017,2637.41676 2560.30455,2316.24593 2468.09289,1913.03343 C2862.37724,1791.56089 3119.93396,1595.67848 3119.93396,1389.62036 L3119.93396,1389.62036 Z M2291.93681,965.42046 C2268.40694,1047.46212 2239.15358,1132.04771 2206.08457,1216.63329 C2180.01093,1165.75475 2152.6654,1114.8762 2122.7761,1063.99765 C2093.52275,1013.1191 2062.36156,963.512515 2031.20038,915.177893 C2121.50422,928.533513 2208.62834,945.069041 2291.93681,965.42046 Z M2000.67514,1642.74114 C1951.07162,1728.59869 1900.19622,1810.00437 1847.41299,1885.68621 C1752.65756,1893.95397 1656.63024,1898.40585 1559.96698,1898.40585 C1463.30372,1898.40585 1367.91234,1893.95397 1273.79285,1886.32219 C1221.00962,1810.64035 1169.49828,1729.87065 1119.89476,1644.64908 C1071.56313,1561.33546 1027.6831,1476.74987 987.61872,1391.52831 C1027.04716,1306.30674 1071.56313,1221.08517 1119.25882,1137.77154 C1168.86234,1051.91399 1219.73774,970.508315 1272.52096,894.826474 C1367.2764,886.55871 1463.30372,882.106837 1559.96698,882.106837 C1656.63024,882.106837 1752.02162,886.55871 1846.14111,894.190492 C1898.92434,969.872333 1950.43568,1050.64203 2000.0392,1135.8636 C2048.37083,1219.17722 2092.25086,1303.76281 2132.31524,1388.98438 C2092.25086,1474.20595 2048.37083,1559.42752 2000.67514,1642.74114 Z M2206.08457,1560.0635 C2240.42547,1645.28507 2269.67882,1730.50664 2293.84464,1813.18428 C2210.53617,1833.5357 2122.7761,1850.70721 2031.83632,1864.06283 C2062.99751,1815.09222 2094.15869,1764.84966 2123.41204,1713.33513 C2152.6654,1662.45658 2180.01093,1610.94205 2206.08457,1560.0635 Z M1561.23886,2238.65614 C1502.09621,2177.60188 1442.95356,2109.55182 1384.44685,2035.14195 C1441.68167,2037.68587 1500.18838,2039.59382 1559.33104,2039.59382 C1618.47369,2039.59382 1678.25229,2038.32185 1736.12305,2035.14195 C1678.88823,2109.55182 1619.74558,2177.60188 1561.23886,2238.65614 Z M1088.09764,1864.06283 C997.7938,1850.70721 910.669676,1834.17168 827.361207,1813.82026 C850.89108,1731.7786 880.144435,1647.19301 913.213446,1562.60742 C939.287089,1613.48597 966.632617,1664.36452 996.521915,1715.24307 C1026.41121,1766.12162 1056.93645,1815.7282 1088.09764,1864.06283 Z M1558.05915,540.584579 C1617.20181,601.638838 1676.34446,669.688896 1734.85117,744.098774 C1677.61634,741.554846 1619.10963,739.646901 1559.96698,739.646901 C1500.82433,739.646901 1441.04573,740.918864 1383.17496,744.098774 C1440.40979,669.688896 1499.55244,601.638838 1558.05915,540.584579 Z M1087.46169,915.177893 C1056.30051,964.148497 1025.13933,1014.39106 995.885972,1065.90559 C966.632617,1116.78414 939.287089,1167.66269 913.213446,1218.54124 C878.87255,1133.31967 849.619195,1048.0981 825.453379,965.42046 C908.761848,945.705023 996.521915,928.533513 1087.46169,915.177893 Z M511.933721,1711.42718 C286.810072,1615.39392 141.179237,1489.46951 141.179237,1389.62036 C141.179237,1289.77121 286.810072,1163.21082 511.933721,1067.81354 C566.624777,1044.28221 626.403373,1023.29481 688.089797,1003.57937 C724.33852,1128.23182 772.034208,1257.97211 831.176862,1390.89232 C772.670151,1523.17655 725.610405,1652.28087 689.997624,1776.29733 C627.039316,1756.58189 567.26072,1734.95851 511.933721,1711.42718 Z M854.070792,2620.24525 C767.582611,2570.63867 730.062003,2381.75206 759.315358,2138.80699 C766.310726,2079.02469 777.757691,2016.06249 791.748426,1951.82832 C916.393158,1982.35545 1052.48486,2005.88678 1195.57192,2021.15034 C1281.42416,2138.80699 1370.45611,2245.65194 1460.12401,2339.14127 C1252.80675,2531.84378 1058.20834,2637.41676 925.932296,2637.41676 C897.314883,2636.78078 873.149068,2631.05695 854.070792,2620.24525 L854.070792,2620.24525 Z M2362.52643,2135.62708 C2392.41573,2378.57215 2355.53106,2567.45876 2269.67882,2617.70133 C2250.60055,2629.149 2225.79879,2634.23686 2196.54543,2634.23686 C2064.90533,2634.23686 1869.67098,2529.29985 1662.35372,2337.86931 C1751.38568,2244.37998 1840.41763,2138.17101 1924.99798,2020.51436 C2068.72099,2005.2508 2204.81269,1981.71947 2329.45742,1950.55636 C2344.0841,2014.79053 2355.53106,2076.48077 2362.52643,2135.62708 L2362.52643,2135.62708 Z M2607.3643,1711.42718 C2552.67324,1734.95851 2492.89464,1755.94591 2431.20822,1775.66135 C2394.9595,1651.0089 2347.26381,1521.2686 2288.12115,1388.3484 C2346.62787,1256.06417 2393.68761,1126.95985 2429.30039,1002.94339 C2492.2587,1022.65883 2552.0373,1044.28221 2608.00024,1067.81354 C2833.12389,1163.8468 2978.75472,1289.77121 2978.75472,1389.62036 C2978.75472,1489.46951 2832.48794,1616.0299 2607.3643,1711.42718 L2607.3643,1711.42718 Z" id="Shape"></path> 8 + </g> 9 + <path d="M1537.37834,1099.4829 C1545.02735,1098.47702 1553.10731,1099.16174 1560.81604,1099.16174 C1589.37451,1099.16174 1617.41357,1103.60261 1644.73816,1112.01928 C1679.60968,1122.76128 1712.08981,1139.93545 1740.75715,1162.52987 C1775.89405,1190.22336 1805.00822,1226.54711 1823.68958,1267.31325 C1858.64201,1343.58359 1858.38571,1436.01692 1822.57667,1511.96611 C1799.42324,1561.07316 1762.27826,1602.17408 1717.31944,1632.14671 C1680.63641,1656.60215 1637.73331,1671.57142 1594.08247,1676.87122 C1538.52074,1683.61849 1478.45443,1673.7589 1428.50641,1648.10898 C1334.7397,1599.95554 1270.99292,1503.04196 1269.73182,1396.83535 C1269.48913,1376.35874 1269.80743,1355.76018 1273.85459,1335.48277 C1280.44663,1302.45918 1291.94018,1270.53691 1309.20168,1241.56031 C1327.87397,1210.21369 1351.99288,1182.55201 1380.87494,1160.24997 C1414.74469,1134.09636 1454.10946,1115.2846 1495.79531,1105.71435 C1505.55336,1103.47438 1515.35011,1102.20236 1525.19388,1100.99838 L1528.67012,1100.57481 C1531.56864,1100.22174 1534.47131,1099.86541 1537.37834,1099.4829 Z M1440.28829,1582.05277 C1427.38628,1583.43854 1413.77812,1585.79095 1402.70469,1593.0505 C1405.19749,1593.65093 1408.05457,1593.05485 1410.65507,1593.0505 C1416.90117,1593.04035 1423.20727,1592.80467 1429.44687,1593.07878 C1445.06719,1593.76551 1461.34234,1596.26875 1476.42637,1600.4123 C1488.01412,1603.59545 1498.77315,1608.6274 1509.54524,1613.66442 L1512.23902,1614.92271 C1518.52742,1617.854 1524.84413,1620.73472 1531.35625,1623.19891 C1550.98501,1630.62598 1570.52415,1632.93415 1591.34546,1632.93415 L1593.25225,1632.93318 C1603.09908,1632.91995 1612.8672,1632.72906 1622.42421,1630.03352 C1617.1148,1627.20106 1609.51424,1627.7326 1603.63241,1626.55277 C1590.87061,1623.99224 1578.32347,1620.86608 1566.04881,1616.47888 C1546.68964,1609.55943 1528.85694,1599.16793 1509.6734,1591.90838 C1487.81565,1583.63651 1463.59446,1579.54953 1440.28829,1582.05277 Z M1459.80285,1527.06119 C1434.23516,1527.06119 1408.3762,1531.57312 1385.35841,1543.19449 C1379.78158,1546.01028 1374.48085,1549.36485 1369.45766,1553.08274 C1367.92685,1554.21616 1365.21288,1555.67227 1364.64696,1557.64252 C1364.07308,1559.64106 1366.125,1561.31545 1367.28937,1562.5939 C1373.04255,1559.52213 1378.5088,1556.27053 1384.63565,1553.93842 C1424.26105,1538.85878 1472.29796,1542.01974 1511.84169,1555.84631 C1531.56224,1562.74183 1549.73174,1573.05357 1568.93985,1581.14052 C1590.42177,1590.18468 1612.36265,1596.04903 1635.43392,1599.05625 C1662.64806,1602.60227 1693.67549,1599.72848 1718.5515,1587.42618 C1727.29258,1583.10352 1739.42919,1576.51619 1743.1254,1566.94484 C1738.56043,1567.3444 1734.45298,1569.30378 1730.11569,1570.65475 C1723.2191,1572.80266 1716.24011,1574.62426 1709.1556,1576.04629 C1685.14474,1580.86496 1659.61174,1581.85988 1635.43392,1577.48645 C1610.81165,1573.03264 1588.07413,1563.72547 1565.31061,1554.26664 L1562.27515,1553.00498 C1550.63735,1548.16833 1538.97057,1543.34664 1527.01968,1539.16769 C1505.55366,1531.66159 1482.54816,1527.06119 1459.80285,1527.06119 Z M1504.61407,1133.60828 C1473.96537,1140.39067 1446.50982,1153.59796 1420.05097,1170.24757 C1404.69012,1179.91319 1389.99637,1189.81522 1376.68527,1202.25529 C1356.89028,1220.75623 1341.76143,1243.24263 1328.5667,1266.72974 C1314.97155,1290.92897 1306.25505,1319.13178 1302.04207,1346.49704 C1297.90932,1373.34381 1297.22848,1401.57056 1301.96257,1428.43981 C1307.88054,1462.03199 1319.14478,1493.55458 1336.93339,1522.71025 C1342.91135,1519.91332 1347.1554,1513.53629 1352.11138,1509.24045 C1362.11874,1500.56685 1372.62552,1492.52776 1383.91289,1485.59018 C1388.09117,1483.02239 1392.38365,1481.02821 1396.9226,1479.20082 C1398.63482,1478.51119 1401.43407,1477.88103 1402.23995,1475.99707 C1403.52069,1473.00507 1401.1522,1467.79772 1400.74528,1464.69767 C1399.58381,1455.83117 1398.88273,1446.81384 1399.10172,1437.86685 C1399.73775,1411.80978 1404.59833,1385.3894 1413.85256,1361.00019 C1420.82649,1342.62325 1431.48,1325.93811 1444.10086,1310.96434 C1448.38322,1305.88316 1452.9359,1301.15368 1457.63457,1296.46192 C1458.21308,1295.88421 1458.82064,1295.32387 1459.43565,1294.76658 L1460.17587,1294.09838 C1462.27545,1292.20409 1464.36137,1290.27877 1465.58495,1287.7593 C1456.52296,1287.76511 1447.45953,1290.38292 1438.84277,1293.04062 C1420.27936,1298.76647 1402.19587,1307.26241 1386.80393,1319.24926 C1379.78303,1324.71767 1374.6413,1331.88512 1368.00129,1337.63997 C1365.96455,1339.40573 1362.31605,1341.77192 1359.50162,1340.4398 C1355.24961,1338.42822 1355.90588,1330.0454 1355.41874,1326.19264 C1353.54534,1311.37332 1359.14891,1292.62874 1366.27028,1279.78257 C1377.7022,1259.16128 1398.84008,1241.55301 1423.66478,1242.16794 C1434.3855,1242.43335 1443.77128,1246.16501 1454.02076,1248.60081 C1451.42171,1244.90179 1447.93728,1242.20565 1444.62486,1239.17377 C1436.50897,1231.74453 1427.63201,1224.95924 1417.88268,1219.82657 C1415.26773,1218.45023 1412.51915,1217.43388 1409.75022,1216.45975 L1408.08733,1215.8778 C1407.25557,1215.58681 1406.42402,1215.29391 1405.59574,1214.9905 C1403.51346,1214.22836 1400.89128,1213.17906 1400.10781,1210.86073 C1398.65722,1206.56707 1406.37487,1202.59031 1409.20954,1200.77959 C1420.16806,1193.78038 1433.60492,1188.02263 1446.79315,1187.69848 C1467.40342,1187.1916 1487.541,1198.64836 1496.03056,1218.14421 C1499.41855,1225.92354 1500.09804,1234.21057 1500.70889,1242.5268 L1500.82326,1244.08631 C1500.88069,1244.86613 1500.93897,1245.64593 1501.00027,1246.42534 C1507.47332,1241.13895 1512.02599,1233.35946 1518.34654,1227.69743 C1533.12846,1214.45461 1553.35856,1208.57576 1572.55366,1214.53728 C1589.90066,1219.92375 1604.97747,1231.9164 1613.85081,1247.87566 C1616.17232,1252.05111 1622.64899,1262.25625 1617.96983,1266.41503 C1614.3076,1269.67098 1609.66313,1267.13366 1605.80069,1265.78341 C1601.8125,1264.38966 1597.64361,1263.69061 1593.51375,1262.86103 C1583.01058,1260.75155 1570.79301,1260.97055 1560.26672,1262.82477 C1553.46119,1264.02346 1546.81034,1266.44983 1540.02939,1267.4549 L1540.02939,1268.90522 C1558.57112,1269.05895 1576.50717,1279.65567 1585.65516,1295.73603 C1589.44532,1302.39805 1591.33824,1310.02308 1592.79026,1317.49075 C1594.5856,1326.72055 1593.32366,1336.77631 1590.80628,1345.77188 C1589.9621,1348.78781 1588.42984,1353.9009 1584.82977,1354.5956 C1582.28492,1355.08653 1580.12387,1352.54848 1578.67112,1350.83711 C1574.86289,1346.35128 1571.2404,1342.08663 1566.77157,1338.21284 C1555.46613,1328.41379 1543.51238,1319.37471 1531.35625,1310.65904 C1524.90199,1306.03109 1517.83266,1300.01446 1510.39617,1297.18635 C1512.48712,1302.23199 1514.53542,1306.92303 1515.24662,1312.41465 C1517.33829,1328.56825 1510.5877,1343.77263 1500.4553,1355.92409 C1497.36333,1359.63254 1494.05597,1363.36782 1490.15884,1366.24887 C1488.54275,1367.44393 1486.51468,1369.00447 1484.37675,1368.66655 C1477.67386,1367.60564 1476.87593,1357.4839 1475.84816,1352.2983 C1472.36734,1334.73427 1473.76516,1317.28988 1478.59466,1300.08698 C1474.29784,1302.2697 1471.19213,1307.04631 1468.49406,1310.96434 C1462.55802,1319.58573 1457.40762,1328.70458 1453.71431,1338.52031 C1439.00539,1377.62006 1439.14705,1423.41664 1458.20194,1461.05811 C1460.32975,1465.26184 1463.55905,1464.69767 1467.75323,1464.69767 C1472.80895,1464.69767 1477.91309,1464.44387 1482.93123,1465.11536 C1484.88413,1465.37642 1487.59593,1465.14364 1489.14192,1466.58526 C1490.99291,1468.31258 1490.00634,1471.27412 1489.57991,1473.39956 C1488.3888,1479.3415 1487.99056,1484.74174 1487.99056,1490.80333 C1495.9019,1489.57492 1498.09476,1476.86871 1500.89908,1470.49893 C1504.07706,1463.28289 1507.3107,1456.0596 1510.25089,1448.74421 C1511.69641,1445.14888 1513.6298,1441.12861 1513.12242,1437.1417 C1512.55289,1432.66095 1509.32142,1427.91044 1507.06929,1424.08887 C1502.80645,1416.85687 1497.96105,1409.41458 1494.82282,1401.60899 C1492.31412,1395.36901 1494.65008,1387.5714 1501.72375,1385.34226 C1505.62522,1384.1124 1509.7876,1386.52427 1512.32666,1389.34948 C1515.93315,1393.3614 1518.67364,1398.69976 1521.26801,1403.88732 L1522.0059,1405.3641 C1522.98612,1407.32427 1523.95508,1409.24214 1524.95258,1411.03604 L1555.1062,1465.42283 C1557.66694,1470.0283 1560.23347,1474.6287 1562.85348,1479.20082 C1563.87546,1480.9847 1564.91552,1483.73885 1567.00936,1484.49954 C1568.87408,1485.17684 1571.42182,1484.21383 1573.27642,1483.84182 C1578.09146,1482.87591 1582.89927,1481.83314 1587.73166,1480.9586 C1593.52242,1479.91074 1602.34951,1480.10726 1606.52346,1475.57503 C1600.41901,1473.63813 1593.36269,1473.75271 1587.00889,1474.18925 C1586.22321,1474.2433 1585.41997,1474.34419 1584.60911,1474.45086 L1583.91244,1474.54275 C1581.00382,1474.92353 1578.03411,1475.22838 1575.45555,1473.58665 C1570.23649,1470.26398 1566.76723,1462.58891 1563.57407,1457.4461 C1555.70103,1444.76455 1548.28333,1431.89228 1540.7442,1419.01276 C1538.34102,1414.90692 1535.86628,1410.83299 1533.5361,1406.68509 C1532.63554,1405.08104 1531.3006,1402.96721 1532.59073,1401.19855 C1533.93235,1399.36006 1536.8405,1399.23436 1539.486,1399.22865 L1540.63853,1399.22883 C1541.48104,1399.22712 1542.26426,1399.21253 1542.92044,1399.12605 C1553.68091,1397.70765 1564.591,1396.53289 1575.44471,1396.53289 C1574.5998,1393.58875 1572.18361,1390.26101 1572.95624,1387.10875 C1574.68509,1380.05587 1584.81459,1377.84921 1589.52555,1382.91009 C1592.68835,1386.30745 1594.52634,1390.98326 1596.58404,1395.08258 C1599.29945,1400.49442 1602.39143,1405.72571 1605.2991,1411.03604 C1610.38879,1420.33328 1615.94754,1429.37526 1621.18178,1438.59201 C1621.64941,1439.41555 1622.13242,1440.23451 1622.62001,1441.05306 L1623.35349,1442.2811 C1625.55616,1445.9674 1627.74247,1449.68746 1628.92907,1453.82031 C1610.75017,1452.98711 1597.1037,1431.84732 1589.17718,1417.56245 C1588.54476,1419.8496 1589.57253,1421.89091 1590.39431,1424.08887 C1592.10219,1428.65373 1594.14327,1433.00105 1596.71197,1437.1417 C1600.38071,1443.05463 1604.58646,1449.14377 1610.13726,1453.4367 C1619.98778,1461.05448 1632.97725,1461.09654 1644.82982,1460.28219 C1652.43038,1459.75935 1661.92747,1456.2931 1669.40371,1458.64478 C1676.86767,1460.99284 1679.87219,1469.23933 1675.4395,1475.5743 C1672.11913,1480.31973 1667.68716,1482.1116 1662.1761,1482.8266 C1666.07323,1491.20144 1671.17882,1498.97368 1674.87936,1507.48195 C1676.42101,1511.02652 1678.02771,1516.45867 1681.72174,1518.32885 C1684.1813,1519.57322 1687.70476,1518.41442 1690.3638,1518.35931 C1687.69536,1511.28612 1682.69891,1505.284 1680.24514,1498.0549 C1687.72644,1498.3979 1694.96201,1502.30868 1701.92799,1504.80467 C1717.73912,1510.4696 1733.32041,1516.74438 1748.90749,1523.00031 C1754.4648,1525.23017 1760.05536,1527.43755 1765.53101,1529.86175 C1767.5345,1530.74862 1770.30846,1532.82184 1772.523,1531.54557 C1774.3299,1530.50352 1775.49861,1528.01913 1776.61311,1526.33604 C1779.73038,1521.62687 1782.55349,1516.73786 1785.34985,1511.83289 C1796.54904,1492.18983 1804.76323,1470.66644 1810.25043,1448.74421 C1828.34983,1376.44313 1812.82274,1296.66786 1769.32912,1236.27314 C1752.61815,1213.06883 1731.60241,1193.00808 1708.43284,1176.39473 C1650.44929,1134.82074 1574.37719,1118.17113 1504.61407,1133.60828 Z M1623.14697,1494.16008 C1607.776,1498.17456 1591.93524,1501.81339 1576.16747,1503.85616 C1578.24107,1510.92862 1583.30835,1517.80819 1587.01757,1524.16056 C1588.45153,1526.61667 1589.98595,1529.90599 1592.8199,1530.97197 C1596.02101,1532.17573 1599.88923,1530.22215 1602.90965,1529.23667 C1601.5111,1525.40348 1599.15779,1521.95391 1597.23163,1518.35931 C1596.43804,1516.87709 1595.21007,1515.1222 1595.86417,1513.36225 C1597.10081,1510.03668 1602.23459,1510.23247 1605.07793,1509.65452 C1612.5708,1508.13169 1619.98561,1506.23105 1627.48354,1504.72635 C1630.24594,1504.17161 1634.09247,1502.66908 1636.8686,1503.59728 C1640.50626,1504.81337 1641.61498,1509.15561 1644.25884,1511.54718 C1647.2901,1514.289 1651.82326,1514.71032 1655.67124,1515.45868 C1653.32299,1510.16503 1649.42008,1505.53345 1646.91788,1500.23038 C1645.46296,1497.14628 1644.26751,1492.60897 1641.0823,1490.82654 C1636.69442,1488.37115 1627.63243,1492.98823 1623.14697,1494.16008 Z M1526.29692,1458.89641 C1525.57344,1468.08996 1522.75828,1475.56995 1518.34654,1483.55176 C1523.40226,1484.1928 1528.55916,1484.42122 1533.52454,1485.65399 C1537.24604,1486.57784 1540.67554,1488.33997 1544.36596,1489.35302 C1542.39282,1483.94479 1538.73203,1479.1196 1535.89592,1474.12472 C1533.03234,1469.0827 1530.46942,1462.95584 1526.29692,1458.89641 Z" id="Combined-Shape-Copy" fill-rule="nonzero"></path> 10 + </g> 11 + </g> 12 + </svg>
+28
src/router.tsx
··· 1 + import { createRouter } from '@tanstack/react-router' 2 + import { setupRouterSsrQueryIntegration } from '@tanstack/react-router-ssr-query' 3 + import * as TanstackQuery from './integrations/tanstack-query/root-provider' 4 + 5 + // Import the generated route tree 6 + import { routeTree } from './routeTree.gen' 7 + 8 + // Create a new router instance 9 + export const getRouter = () => { 10 + const rqContext = TanstackQuery.getContext() 11 + 12 + const router = createRouter({ 13 + routeTree, 14 + context: { ...rqContext }, 15 + defaultPreload: 'intent', 16 + Wrap: (props: { children: React.ReactNode }) => { 17 + return ( 18 + <TanstackQuery.Provider {...rqContext}> 19 + {props.children} 20 + </TanstackQuery.Provider> 21 + ) 22 + }, 23 + }) 24 + 25 + setupRouterSsrQueryIntegration({ router, queryClient: rqContext.queryClient }) 26 + 27 + return router 28 + }
+71
src/routes/__root.tsx
··· 1 + import { 2 + HeadContent, 3 + Scripts, 4 + createRootRouteWithContext, 5 + } from '@tanstack/react-router' 6 + import { TanStackRouterDevtoolsPanel } from '@tanstack/react-router-devtools' 7 + import { TanStackDevtools } from '@tanstack/react-devtools' 8 + 9 + import Header from '../components/Header' 10 + 11 + import TanStackQueryDevtools from '../integrations/tanstack-query/devtools' 12 + 13 + import appCss from '../styles.css?url' 14 + 15 + import type { QueryClient } from '@tanstack/react-query' 16 + 17 + interface MyRouterContext { 18 + queryClient: QueryClient 19 + } 20 + 21 + export const Route = createRootRouteWithContext<MyRouterContext>()({ 22 + head: () => ({ 23 + meta: [ 24 + { 25 + charSet: 'utf-8', 26 + }, 27 + { 28 + name: 'viewport', 29 + content: 'width=device-width, initial-scale=1', 30 + }, 31 + { 32 + title: 'TanStack Start Starter', 33 + }, 34 + ], 35 + links: [ 36 + { 37 + rel: 'stylesheet', 38 + href: appCss, 39 + }, 40 + ], 41 + }), 42 + 43 + shellComponent: RootDocument, 44 + }) 45 + 46 + function RootDocument({ children }: { children: React.ReactNode }) { 47 + return ( 48 + <html lang="en"> 49 + <head> 50 + <HeadContent /> 51 + </head> 52 + <body> 53 + <Header /> 54 + {children} 55 + <TanStackDevtools 56 + config={{ 57 + position: 'bottom-right', 58 + }} 59 + plugins={[ 60 + { 61 + name: 'Tanstack Router', 62 + render: <TanStackRouterDevtoolsPanel />, 63 + }, 64 + TanStackQueryDevtools, 65 + ]} 66 + /> 67 + <Scripts /> 68 + </body> 69 + </html> 70 + ) 71 + }
+10
src/routes/demo/api.names.ts
··· 1 + import { createFileRoute } from '@tanstack/react-router' 2 + import { json } from '@tanstack/react-start' 3 + 4 + export const Route = createFileRoute('/demo/api/names')({ 5 + server: { 6 + handlers: { 7 + GET: () => json(['Alice', 'Bob', 'Charlie']), 8 + }, 9 + }, 10 + })
+35
src/routes/demo/api.tq-todos.ts
··· 1 + import { createFileRoute } from '@tanstack/react-router' 2 + 3 + const todos = [ 4 + { 5 + id: 1, 6 + name: 'Buy groceries', 7 + }, 8 + { 9 + id: 2, 10 + name: 'Buy mobile phone', 11 + }, 12 + { 13 + id: 3, 14 + name: 'Buy laptop', 15 + }, 16 + ] 17 + 18 + export const Route = createFileRoute('/demo/api/tq-todos')({ 19 + server: { 20 + handlers: { 21 + GET: () => { 22 + return Response.json(todos) 23 + }, 24 + POST: async ({ request }) => { 25 + const name = await request.json() 26 + const todo = { 27 + id: todos.length + 1, 28 + name, 29 + } 30 + todos.push(todo) 31 + return Response.json(todo) 32 + }, 33 + }, 34 + }, 35 + })
+43
src/routes/demo/start.api-request.tsx
··· 1 + import { useQuery } from '@tanstack/react-query' 2 + 3 + import { createFileRoute } from '@tanstack/react-router' 4 + 5 + function getNames() { 6 + return fetch('/demo/api/names').then((res) => res.json() as Promise<string[]>) 7 + } 8 + 9 + export const Route = createFileRoute('/demo/start/api-request')({ 10 + component: Home, 11 + }) 12 + 13 + function Home() { 14 + const { data: names = [] } = useQuery({ 15 + queryKey: ['names'], 16 + queryFn: getNames, 17 + }) 18 + 19 + return ( 20 + <div 21 + className="flex items-center justify-center min-h-screen p-4 text-white" 22 + style={{ 23 + backgroundColor: '#000', 24 + backgroundImage: 25 + 'radial-gradient(ellipse 60% 60% at 0% 100%, #444 0%, #222 60%, #000 100%)', 26 + }} 27 + > 28 + <div className="w-full max-w-2xl p-8 rounded-xl backdrop-blur-md bg-black/50 shadow-xl border-8 border-black/10"> 29 + <h1 className="text-2xl mb-4">Start API Request Demo - Names List</h1> 30 + <ul className="mb-4 space-y-2"> 31 + {names.map((name) => ( 32 + <li 33 + key={name} 34 + className="bg-white/10 border border-white/20 rounded-lg p-3 backdrop-blur-sm shadow-md" 35 + > 36 + <span className="text-lg text-white">{name}</span> 37 + </li> 38 + ))} 39 + </ul> 40 + </div> 41 + </div> 42 + ) 43 + }
+109
src/routes/demo/start.server-funcs.tsx
··· 1 + import fs from 'node:fs' 2 + import { useCallback, useState } from 'react' 3 + import { createFileRoute, useRouter } from '@tanstack/react-router' 4 + import { createServerFn } from '@tanstack/react-start' 5 + 6 + /* 7 + const loggingMiddleware = createMiddleware().server( 8 + async ({ next, request }) => { 9 + console.log("Request:", request.url); 10 + return next(); 11 + } 12 + ); 13 + const loggedServerFunction = createServerFn({ method: "GET" }).middleware([ 14 + loggingMiddleware, 15 + ]); 16 + */ 17 + 18 + const TODOS_FILE = 'todos.json' 19 + 20 + async function readTodos() { 21 + return JSON.parse( 22 + await fs.promises.readFile(TODOS_FILE, 'utf-8').catch(() => 23 + JSON.stringify( 24 + [ 25 + { id: 1, name: 'Get groceries' }, 26 + { id: 2, name: 'Buy a new phone' }, 27 + ], 28 + null, 29 + 2, 30 + ), 31 + ), 32 + ) 33 + } 34 + 35 + const getTodos = createServerFn({ 36 + method: 'GET', 37 + }).handler(async () => await readTodos()) 38 + 39 + const addTodo = createServerFn({ method: 'POST' }) 40 + .inputValidator((d: string) => d) 41 + .handler(async ({ data }) => { 42 + const todos = await readTodos() 43 + todos.push({ id: todos.length + 1, name: data }) 44 + await fs.promises.writeFile(TODOS_FILE, JSON.stringify(todos, null, 2)) 45 + return todos 46 + }) 47 + 48 + export const Route = createFileRoute('/demo/start/server-funcs')({ 49 + component: Home, 50 + loader: async () => await getTodos(), 51 + }) 52 + 53 + function Home() { 54 + const router = useRouter() 55 + let todos = Route.useLoaderData() 56 + 57 + const [todo, setTodo] = useState('') 58 + 59 + const submitTodo = useCallback(async () => { 60 + todos = await addTodo({ data: todo }) 61 + setTodo('') 62 + router.invalidate() 63 + }, [addTodo, todo]) 64 + 65 + return ( 66 + <div 67 + className="flex items-center justify-center min-h-screen bg-gradient-to-br from-zinc-800 to-black p-4 text-white" 68 + style={{ 69 + backgroundImage: 70 + 'radial-gradient(50% 50% at 20% 60%, #23272a 0%, #18181b 50%, #000000 100%)', 71 + }} 72 + > 73 + <div className="w-full max-w-2xl p-8 rounded-xl backdrop-blur-md bg-black/50 shadow-xl border-8 border-black/10"> 74 + <h1 className="text-2xl mb-4">Start Server Functions - Todo Example</h1> 75 + <ul className="mb-4 space-y-2"> 76 + {todos?.map((t) => ( 77 + <li 78 + key={t.id} 79 + className="bg-white/10 border border-white/20 rounded-lg p-3 backdrop-blur-sm shadow-md" 80 + > 81 + <span className="text-lg text-white">{t.name}</span> 82 + </li> 83 + ))} 84 + </ul> 85 + <div className="flex flex-col gap-2"> 86 + <input 87 + type="text" 88 + value={todo} 89 + onChange={(e) => setTodo(e.target.value)} 90 + onKeyDown={(e) => { 91 + if (e.key === 'Enter') { 92 + submitTodo() 93 + } 94 + }} 95 + placeholder="Enter a new todo..." 96 + className="w-full px-4 py-3 rounded-lg border border-white/20 bg-white/10 backdrop-blur-sm text-white placeholder-white/60 focus:outline-none focus:ring-2 focus:ring-blue-400 focus:border-transparent" 97 + /> 98 + <button 99 + disabled={todo.trim().length === 0} 100 + onClick={submitTodo} 101 + className="bg-blue-500 hover:bg-blue-600 disabled:bg-blue-500/50 disabled:cursor-not-allowed text-white font-bold py-3 px-4 rounded-lg transition-colors" 102 + > 103 + Add todo 104 + </button> 105 + </div> 106 + </div> 107 + </div> 108 + ) 109 + }
+41
src/routes/demo/start.ssr.data-only.tsx
··· 1 + import { createFileRoute } from '@tanstack/react-router' 2 + import { getPunkSongs } from '@/data/demo.punk-songs' 3 + 4 + export const Route = createFileRoute('/demo/start/ssr/data-only')({ 5 + ssr: 'data-only', 6 + component: RouteComponent, 7 + loader: async () => await getPunkSongs(), 8 + }) 9 + 10 + function RouteComponent() { 11 + const punkSongs = Route.useLoaderData() 12 + 13 + return ( 14 + <div 15 + className="flex items-center justify-center min-h-screen bg-gradient-to-br from-zinc-800 to-black p-4 text-white" 16 + style={{ 17 + backgroundImage: 18 + 'radial-gradient(50% 50% at 20% 60%, #1a1a1a 0%, #0a0a0a 50%, #000000 100%)', 19 + }} 20 + > 21 + <div className="w-full max-w-2xl p-8 rounded-xl backdrop-blur-md bg-black/50 shadow-xl border-8 border-black/10"> 22 + <h1 className="text-3xl font-bold mb-6 text-pink-400"> 23 + Data Only SSR - Punk Songs 24 + </h1> 25 + <ul className="space-y-3"> 26 + {punkSongs.map((song) => ( 27 + <li 28 + key={song.id} 29 + className="bg-white/10 border border-white/20 rounded-lg p-4 backdrop-blur-sm shadow-md" 30 + > 31 + <span className="text-lg text-white font-medium"> 32 + {song.name} 33 + </span> 34 + <span className="text-white/60"> - {song.artist}</span> 35 + </li> 36 + ))} 37 + </ul> 38 + </div> 39 + </div> 40 + ) 41 + }
+40
src/routes/demo/start.ssr.full-ssr.tsx
··· 1 + import { createFileRoute } from '@tanstack/react-router' 2 + import { getPunkSongs } from '@/data/demo.punk-songs' 3 + 4 + export const Route = createFileRoute('/demo/start/ssr/full-ssr')({ 5 + component: RouteComponent, 6 + loader: async () => await getPunkSongs(), 7 + }) 8 + 9 + function RouteComponent() { 10 + const punkSongs = Route.useLoaderData() 11 + 12 + return ( 13 + <div 14 + className="flex items-center justify-center min-h-screen bg-gradient-to-br from-zinc-800 to-black p-4 text-white" 15 + style={{ 16 + backgroundImage: 17 + 'radial-gradient(50% 50% at 20% 60%, #1a1a1a 0%, #0a0a0a 50%, #000000 100%)', 18 + }} 19 + > 20 + <div className="w-full max-w-2xl p-8 rounded-xl backdrop-blur-md bg-black/50 shadow-xl border-8 border-black/10"> 21 + <h1 className="text-3xl font-bold mb-6 text-purple-400"> 22 + Full SSR - Punk Songs 23 + </h1> 24 + <ul className="space-y-3"> 25 + {punkSongs.map((song) => ( 26 + <li 27 + key={song.id} 28 + className="bg-white/10 border border-white/20 rounded-lg p-4 backdrop-blur-sm shadow-md" 29 + > 30 + <span className="text-lg text-white font-medium"> 31 + {song.name} 32 + </span> 33 + <span className="text-white/60"> - {song.artist}</span> 34 + </li> 35 + ))} 36 + </ul> 37 + </div> 38 + </div> 39 + ) 40 + }
+43
src/routes/demo/start.ssr.index.tsx
··· 1 + import { createFileRoute, Link } from '@tanstack/react-router' 2 + 3 + export const Route = createFileRoute('/demo/start/ssr/')({ 4 + component: RouteComponent, 5 + }) 6 + 7 + function RouteComponent() { 8 + return ( 9 + <div 10 + className="flex items-center justify-center min-h-screen bg-gradient-to-br from-zinc-900 to-black p-4 text-white" 11 + style={{ 12 + backgroundImage: 13 + 'radial-gradient(50% 50% at 20% 60%, #1a1a1a 0%, #0a0a0a 50%, #000000 100%)', 14 + }} 15 + > 16 + <div className="w-full max-w-2xl p-8 rounded-xl backdrop-blur-md bg-black/50 shadow-xl border-8 border-black/10"> 17 + <h1 className="text-4xl font-bold mb-8 text-center bg-gradient-to-r from-pink-500 via-purple-500 to-green-400 bg-clip-text text-transparent"> 18 + SSR Demos 19 + </h1> 20 + <div className="flex flex-col gap-4"> 21 + <Link 22 + to="/demo/start/ssr/spa-mode" 23 + className="text-2xl font-bold py-6 px-8 rounded-lg bg-gradient-to-r from-pink-600 to-pink-500 hover:from-pink-700 hover:to-pink-600 text-white text-center shadow-lg transform transition-all hover:scale-105 hover:shadow-pink-500/50 border-2 border-pink-400" 24 + > 25 + SPA Mode 26 + </Link> 27 + <Link 28 + to="/demo/start/ssr/full-ssr" 29 + className="text-2xl font-bold py-6 px-8 rounded-lg bg-gradient-to-r from-purple-600 to-purple-500 hover:from-purple-700 hover:to-purple-600 text-white text-center shadow-lg transform transition-all hover:scale-105 hover:shadow-purple-500/50 border-2 border-purple-400" 30 + > 31 + Full SSR 32 + </Link> 33 + <Link 34 + to="/demo/start/ssr/data-only" 35 + className="text-2xl font-bold py-6 px-8 rounded-lg bg-gradient-to-r from-green-500 to-emerald-500 hover:from-green-600 hover:to-emerald-600 text-white text-center shadow-lg transform transition-all hover:scale-105 hover:shadow-green-500/50 border-2 border-green-400" 36 + > 37 + Data Only 38 + </Link> 39 + </div> 40 + </div> 41 + </div> 42 + ) 43 + }
+47
src/routes/demo/start.ssr.spa-mode.tsx
··· 1 + import { useEffect, useState } from 'react' 2 + import { createFileRoute } from '@tanstack/react-router' 3 + import { getPunkSongs } from '@/data/demo.punk-songs' 4 + 5 + export const Route = createFileRoute('/demo/start/ssr/spa-mode')({ 6 + ssr: false, 7 + component: RouteComponent, 8 + }) 9 + 10 + function RouteComponent() { 11 + const [punkSongs, setPunkSongs] = useState< 12 + Awaited<ReturnType<typeof getPunkSongs>> 13 + >([]) 14 + 15 + useEffect(() => { 16 + getPunkSongs().then(setPunkSongs) 17 + }, []) 18 + 19 + return ( 20 + <div 21 + className="flex items-center justify-center min-h-screen bg-gradient-to-br from-zinc-800 to-black p-4 text-white" 22 + style={{ 23 + backgroundImage: 24 + 'radial-gradient(50% 50% at 20% 60%, #1a1a1a 0%, #0a0a0a 50%, #000000 100%)', 25 + }} 26 + > 27 + <div className="w-full max-w-2xl p-8 rounded-xl backdrop-blur-md bg-black/50 shadow-xl border-8 border-black/10"> 28 + <h1 className="text-3xl font-bold mb-6 text-green-400"> 29 + SPA Mode - Punk Songs 30 + </h1> 31 + <ul className="space-y-3"> 32 + {punkSongs.map((song) => ( 33 + <li 34 + key={song.id} 35 + className="bg-white/10 border border-white/20 rounded-lg p-4 backdrop-blur-sm shadow-md" 36 + > 37 + <span className="text-lg text-white font-medium"> 38 + {song.name} 39 + </span> 40 + <span className="text-white/60"> - {song.artist}</span> 41 + </li> 42 + ))} 43 + </ul> 44 + </div> 45 + </div> 46 + ) 47 + }
+81
src/routes/demo/tanstack-query.tsx
··· 1 + import { useCallback, useState } from 'react' 2 + import { createFileRoute } from '@tanstack/react-router' 3 + import { useQuery, useMutation } from '@tanstack/react-query' 4 + 5 + export const Route = createFileRoute('/demo/tanstack-query')({ 6 + component: TanStackQueryDemo, 7 + }) 8 + 9 + type Todo = { 10 + id: number 11 + name: string 12 + } 13 + 14 + function TanStackQueryDemo() { 15 + const { data, refetch } = useQuery<Todo[]>({ 16 + queryKey: ['todos'], 17 + queryFn: () => fetch('/demo/api/tq-todos').then((res) => res.json()), 18 + initialData: [], 19 + }) 20 + 21 + const { mutate: addTodo } = useMutation({ 22 + mutationFn: (todo: string) => 23 + fetch('/demo/api/tq-todos', { 24 + method: 'POST', 25 + body: JSON.stringify(todo), 26 + }).then((res) => res.json()), 27 + onSuccess: () => refetch(), 28 + }) 29 + 30 + const [todo, setTodo] = useState('') 31 + 32 + const submitTodo = useCallback(async () => { 33 + await addTodo(todo) 34 + setTodo('') 35 + }, [addTodo, todo]) 36 + 37 + return ( 38 + <div 39 + className="flex items-center justify-center min-h-screen bg-gradient-to-br from-red-900 via-red-800 to-black p-4 text-white" 40 + style={{ 41 + backgroundImage: 42 + 'radial-gradient(50% 50% at 80% 20%, #3B021F 0%, #7B1028 60%, #1A000A 100%)', 43 + }} 44 + > 45 + <div className="w-full max-w-2xl p-8 rounded-xl backdrop-blur-md bg-black/50 shadow-xl border-8 border-black/10"> 46 + <h1 className="text-2xl mb-4">TanStack Query Todos list</h1> 47 + <ul className="mb-4 space-y-2"> 48 + {data?.map((t) => ( 49 + <li 50 + key={t.id} 51 + className="bg-white/10 border border-white/20 rounded-lg p-3 backdrop-blur-sm shadow-md" 52 + > 53 + <span className="text-lg text-white">{t.name}</span> 54 + </li> 55 + ))} 56 + </ul> 57 + <div className="flex flex-col gap-2"> 58 + <input 59 + type="text" 60 + value={todo} 61 + onChange={(e) => setTodo(e.target.value)} 62 + onKeyDown={(e) => { 63 + if (e.key === 'Enter') { 64 + submitTodo() 65 + } 66 + }} 67 + placeholder="Enter a new todo..." 68 + className="w-full px-4 py-3 rounded-lg border border-white/20 bg-white/10 backdrop-blur-sm text-white placeholder-white/60 focus:outline-none focus:ring-2 focus:ring-blue-400 focus:border-transparent" 69 + /> 70 + <button 71 + disabled={todo.trim().length === 0} 72 + onClick={submitTodo} 73 + className="bg-blue-500 hover:bg-blue-600 disabled:bg-blue-500/50 disabled:cursor-not-allowed text-white font-bold py-3 px-4 rounded-lg transition-colors" 74 + > 75 + Add todo 76 + </button> 77 + </div> 78 + </div> 79 + </div> 80 + ) 81 + }
+118
src/routes/index.tsx
··· 1 + import { createFileRoute } from '@tanstack/react-router' 2 + import { 3 + Zap, 4 + Server, 5 + Route as RouteIcon, 6 + Shield, 7 + Waves, 8 + Sparkles, 9 + } from 'lucide-react' 10 + 11 + export const Route = createFileRoute('/')({ component: App }) 12 + 13 + function App() { 14 + const features = [ 15 + { 16 + icon: <Zap className="w-12 h-12 text-cyan-400" />, 17 + title: 'Powerful Server Functions', 18 + description: 19 + 'Write server-side code that seamlessly integrates with your client components. Type-safe, secure, and simple.', 20 + }, 21 + { 22 + icon: <Server className="w-12 h-12 text-cyan-400" />, 23 + title: 'Flexible Server Side Rendering', 24 + description: 25 + 'Full-document SSR, streaming, and progressive enhancement out of the box. Control exactly what renders where.', 26 + }, 27 + { 28 + icon: <RouteIcon className="w-12 h-12 text-cyan-400" />, 29 + title: 'API Routes', 30 + description: 31 + 'Build type-safe API endpoints alongside your application. No separate backend needed.', 32 + }, 33 + { 34 + icon: <Shield className="w-12 h-12 text-cyan-400" />, 35 + title: 'Strongly Typed Everything', 36 + description: 37 + 'End-to-end type safety from server to client. Catch errors before they reach production.', 38 + }, 39 + { 40 + icon: <Waves className="w-12 h-12 text-cyan-400" />, 41 + title: 'Full Streaming Support', 42 + description: 43 + 'Stream data from server to client progressively. Perfect for AI applications and real-time updates.', 44 + }, 45 + { 46 + icon: <Sparkles className="w-12 h-12 text-cyan-400" />, 47 + title: 'Next Generation Ready', 48 + description: 49 + 'Built from the ground up for modern web applications. Deploy anywhere JavaScript runs.', 50 + }, 51 + ] 52 + 53 + return ( 54 + <div className="min-h-screen bg-gradient-to-b from-slate-900 via-slate-800 to-slate-900"> 55 + <section className="relative py-20 px-6 text-center overflow-hidden"> 56 + <div className="absolute inset-0 bg-gradient-to-r from-cyan-500/10 via-blue-500/10 to-purple-500/10"></div> 57 + <div className="relative max-w-5xl mx-auto"> 58 + <div className="flex items-center justify-center gap-6 mb-6"> 59 + <img 60 + src="/tanstack-circle-logo.png" 61 + alt="TanStack Logo" 62 + className="w-24 h-24 md:w-32 md:h-32" 63 + /> 64 + <h1 className="text-6xl md:text-7xl font-black text-white [letter-spacing:-0.08em]"> 65 + <span className="text-gray-300">TANSTACK</span>{' '} 66 + <span className="bg-gradient-to-r from-cyan-400 to-blue-400 bg-clip-text text-transparent"> 67 + START 68 + </span> 69 + </h1> 70 + </div> 71 + <p className="text-2xl md:text-3xl text-gray-300 mb-4 font-light"> 72 + The framework for next generation AI applications 73 + </p> 74 + <p className="text-lg text-gray-400 max-w-3xl mx-auto mb-8"> 75 + Full-stack framework powered by TanStack Router for React and Solid. 76 + Build modern applications with server functions, streaming, and type 77 + safety. 78 + </p> 79 + <div className="flex flex-col items-center gap-4"> 80 + <a 81 + href="https://tanstack.com/start" 82 + target="_blank" 83 + rel="noopener noreferrer" 84 + className="px-8 py-3 bg-cyan-500 hover:bg-cyan-600 text-white font-semibold rounded-lg transition-colors shadow-lg shadow-cyan-500/50" 85 + > 86 + Documentation 87 + </a> 88 + <p className="text-gray-400 text-sm mt-2"> 89 + Begin your TanStack Start journey by editing{' '} 90 + <code className="px-2 py-1 bg-slate-700 rounded text-cyan-400"> 91 + /src/routes/index.tsx 92 + </code> 93 + </p> 94 + </div> 95 + </div> 96 + </section> 97 + 98 + <section className="py-16 px-6 max-w-7xl mx-auto"> 99 + <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"> 100 + {features.map((feature, index) => ( 101 + <div 102 + key={index} 103 + className="bg-slate-800/50 backdrop-blur-sm border border-slate-700 rounded-xl p-6 hover:border-cyan-500/50 transition-all duration-300 hover:shadow-lg hover:shadow-cyan-500/10" 104 + > 105 + <div className="mb-4">{feature.icon}</div> 106 + <h3 className="text-xl font-semibold text-white mb-3"> 107 + {feature.title} 108 + </h3> 109 + <p className="text-gray-400 leading-relaxed"> 110 + {feature.description} 111 + </p> 112 + </div> 113 + ))} 114 + </div> 115 + </section> 116 + </div> 117 + ) 118 + }
+15
src/styles.css
··· 1 + @import "tailwindcss"; 2 + 3 + body { 4 + @apply m-0; 5 + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", 6 + "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", 7 + sans-serif; 8 + -webkit-font-smoothing: antialiased; 9 + -moz-osx-font-smoothing: grayscale; 10 + } 11 + 12 + code { 13 + font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", 14 + monospace; 15 + }
+28
tsconfig.json
··· 1 + { 2 + "include": ["**/*.ts", "**/*.tsx"], 3 + "compilerOptions": { 4 + "target": "ES2022", 5 + "jsx": "react-jsx", 6 + "module": "ESNext", 7 + "lib": ["ES2022", "DOM", "DOM.Iterable"], 8 + "types": ["vite/client"], 9 + 10 + /* Bundler mode */ 11 + "moduleResolution": "bundler", 12 + "allowImportingTsExtensions": true, 13 + "verbatimModuleSyntax": false, 14 + "noEmit": true, 15 + 16 + /* Linting */ 17 + "skipLibCheck": true, 18 + "strict": true, 19 + "noUnusedLocals": true, 20 + "noUnusedParameters": true, 21 + "noFallthroughCasesInSwitch": true, 22 + "noUncheckedSideEffectImports": true, 23 + "baseUrl": ".", 24 + "paths": { 25 + "@/*": ["./src/*"], 26 + } 27 + } 28 + }
+19
vite.config.ts
··· 1 + import { defineConfig } from 'vite' 2 + import { tanstackStart } from '@tanstack/react-start/plugin/vite' 3 + import viteReact from '@vitejs/plugin-react' 4 + import viteTsConfigPaths from 'vite-tsconfig-paths' 5 + import tailwindcss from '@tailwindcss/vite' 6 + 7 + const config = defineConfig({ 8 + plugins: [ 9 + // this is the plugin that enables path aliases 10 + viteTsConfigPaths({ 11 + projects: ['./tsconfig.json'], 12 + }), 13 + tailwindcss(), 14 + tanstackStart(), 15 + viteReact(), 16 + ], 17 + }) 18 + 19 + export default config