├── .github └── workflows │ └── codeql-analysis.yml ├── .gitignore ├── LICENSE ├── README.md ├── eslint.config.js ├── index.html ├── jsconfig.json ├── package.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── public ├── favicon.ico ├── manifest.json └── robots.txt ├── src ├── App.css ├── App.jsx ├── App.test.jsx ├── Documentation │ ├── 1. Introduction_to_testing.md │ ├── 2. Testing_strategy.md │ ├── 3. Project_walkthrough.md │ └── 4. Testing_props.md ├── components │ └── starbucks-input │ │ ├── index.jsx │ │ └── index.spec.jsx ├── index.css ├── index.jsx ├── reportWebVitals.js └── setupTests.js ├── vite.config.js └── vitest.config.js /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- 1 | # For most projects, this workflow file will not need changing; you simply need 2 | # to commit it to your repository. 3 | # 4 | # You may wish to alter this file to override the set of languages analyzed, 5 | # or to provide custom queries or build logic. 6 | # 7 | # ******** NOTE ******** 8 | # We have attempted to detect the languages in your repository. Please check 9 | # the `language` matrix defined below to confirm you have the correct set of 10 | # supported CodeQL languages. 11 | # 12 | name: "CodeQL" 13 | 14 | on: 15 | push: 16 | branches: [ develop ] 17 | pull_request: 18 | # The branches below must be a subset of the branches above 19 | branches: [ develop ] 20 | schedule: 21 | - cron: '34 4 * * 2' 22 | 23 | jobs: 24 | analyze: 25 | name: Analyze 26 | runs-on: ubuntu-latest 27 | permissions: 28 | actions: read 29 | contents: read 30 | security-events: write 31 | 32 | strategy: 33 | fail-fast: false 34 | matrix: 35 | language: [ 'javascript' ] 36 | # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] 37 | # Learn more: 38 | # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed 39 | 40 | steps: 41 | - name: Checkout repository 42 | uses: actions/checkout@v2 43 | 44 | # Initializes the CodeQL tools for scanning. 45 | - name: Initialize CodeQL 46 | uses: github/codeql-action/init@v1 47 | with: 48 | languages: ${{ matrix.language }} 49 | # If you wish to specify custom queries, you can do so here or in a config file. 50 | # By default, queries listed here will override any specified in a config file. 51 | # Prefix the list here with "+" to use these queries and those in the config file. 52 | # queries: ./path/to/local/query, your-org/your-repo/queries@main 53 | 54 | # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). 55 | # If this step fails, then you should remove it and run the build manually (see below) 56 | - name: Autobuild 57 | uses: github/codeql-action/autobuild@v1 58 | 59 | # ℹ️ Command-line programs to run using the OS shell. 60 | # 📚 https://git.io/JvXDl 61 | 62 | # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines 63 | # and modify them (or add more) to build your code if your project 64 | # uses a compiled language 65 | 66 | #- run: | 67 | # make bootstrap 68 | # make release 69 | 70 | - name: Perform CodeQL Analysis 71 | uses: github/codeql-action/analyze@v1 72 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | /dist 14 | 15 | # Vite 16 | *.local 17 | .vite 18 | 19 | # misc 20 | .vscode 21 | .DS_Store 22 | .env.local 23 | .env.development.local 24 | .env.test.local 25 | .env.production.local 26 | 27 | npm-debug.log* 28 | yarn-debug.log* 29 | yarn-error.log* 30 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Real Dev Squad 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # React Learning Project with TDD 🧪 2 | 3 | 4 | [![Volta](https://img.shields.io/badge/Volta-Node.js%20version%20manager-blue)](https://volta.sh) 5 | [![pnpm](https://img.shields.io/badge/pnpm-%3E%3D8.0.0-orange.svg)](https://pnpm.io) 6 | 7 | ## 📝 Overview 8 | 9 | This project is designed to help developers learn and practice Test-Driven Development (TDD) with React. It provides a structured approach to building React components while following TDD principles. The project includes pre-written tests that you'll need to make pass by implementing the required functionality. 10 | 11 | Your task is to create a simple React app that has working tests. 12 | 13 | Clone this repo and submit PRs to your fork following the Git Flow conventions; we will not merge direct PRs to this repository. 14 | 15 | ## 🎯 Learning Objectives 16 | 17 | - Understanding and implementing TDD in React 18 | - Writing and running tests using Vitest and React Testing Library 19 | - Building controlled components 20 | - Implementing form validation 21 | - Creating multi-step forms 22 | - Understanding component composition 23 | 24 | ## Requirements 25 | 26 | > **Note** 27 | > This project uses volta, so please [set it up](https://docs.volta.sh/guide/getting-started). Also, read: [Why use Volta?](https://docs.volta.sh/guide/#why-volta) 28 | 29 | Ensure that you follow the TDD approach to writing your code. 30 | The tests are available and marked as `skip`. Enable your tests by removing the `.skip` from test or describe. 31 | 32 | Ensure that your milestone tests are passing before submitting the PR 33 | 34 | ## 📋 Project Structure 35 | 36 | ```text 37 | src/ 38 | ├── components/ # React components 39 | ├── **/*.spec.jsx # Spec test files 40 | └── **/*.test.jsx # Test files 41 | ``` 42 | 43 | ## Running the code 44 | 45 | 1. Install dependencies: 46 | 47 | ```bash 48 | pnpm i 49 | ``` 50 | 51 | 2. Run tests in watch mode: 52 | 53 | To enable watch mode tests, remove `.skip` from your tests and run: 54 | 55 | ```bash 56 | pnpm test 57 | ``` 58 | 59 | 3. Optional: Run tests with UI: 60 | 61 | ```bash 62 | pnpm test:ui 63 | ``` 64 | 65 | ## 🎯 Milestones 66 | 67 | ### Tall 68 | 69 | - [ ] Create a controlled input component 70 | - Implement input validation 71 | - Handle user interactions 72 | - [ ] Build a sign-up form composed component 73 | - Compose using the input components 74 | - Implement form validation 75 | - [ ] Add Next button functionality 76 | - Enable/disable based on validation 77 | - Handle form submission 78 | 79 | ### Grande 80 | 81 | - [ ] Create an OTP component 82 | - Implement OTP input fields 83 | - Add validation 84 | - [ ] Implement multi-step form flow 85 | - Add navigation between steps 86 | - Handle state management 87 | 88 | #### Milestone vocabulary 89 | 90 | Starbucks has the following denotations for sizes: 91 | ``` 92 | Tall - Small glass 93 | Grande - Regular glass 94 | Venti - Big mug 95 | Trenta - Biggest bucket 96 | ``` 97 | 98 | ## 🤝 Contributing 99 | 100 | 1. Fork the repository 101 | 2. Create your feature branch (`git switch -c feature/`) 102 | 3. Follow the [Git Flow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) workflow 103 | 4. Commit your changes (`git commit -m 'Adds some amazing feature'`) 104 | 5. Push to the branch 105 | 6. Open a Pull Request in your own repo 106 | 107 | ## 📚 Learning Resources 108 | 109 | ### Video Tutorials 110 | 111 | - Simple easy to understand video on (watch from 5:46:14): [TDD with React by Eve Porcello](https://youtu.be/K8MF3aDg-bM?t=20774) 112 | - [Testing React by Kent C. Dodds](https://youtu.be/kCR3JAR7CHE) 113 | 114 | ### Documentation 115 | 116 | - [React Testing Documentation](https://reactjs.org/docs/testing.html) 117 | - [Jest Documentation](https://jestjs.io/docs/getting-started) 118 | - [React Testing Library](https://testing-library.com/docs/react-testing-library/intro/) 119 | 120 | ### Additional Resources 121 | 122 | - [Eve's TDD with React Resources](https://github.com/eveporcello/women-of-react-2020) 123 | 124 | ## 📝 License 125 | 126 | This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. 127 | 128 | ## 🙏 Acknowledgments 129 | 130 | - Thanks to all contributors who have helped shape this project. 131 | - Special thanks to Eve Porcello and Kent C. Dodds for their excellent testing resources. 132 | -------------------------------------------------------------------------------- /eslint.config.js: -------------------------------------------------------------------------------- 1 | import js from '@eslint/js'; 2 | import reactHooks from 'eslint-plugin-react-hooks'; 3 | import reactRefresh from 'eslint-plugin-react-refresh'; 4 | import globals from 'globals'; 5 | 6 | export default [ 7 | { ignores: ['dist'] }, 8 | { 9 | files: ['**/*.{js,jsx}'], 10 | languageOptions: { 11 | ecmaVersion: 2020, 12 | globals: globals.browser, 13 | }, 14 | plugins: { 15 | 'react-hooks': reactHooks, 16 | 'react-refresh': reactRefresh, 17 | }, 18 | rules: { 19 | ...reactHooks.configs.recommended.rules, 20 | 'react-refresh/only-export-components': [ 21 | 'warn', 22 | { allowConstantExport: true }, 23 | ], 24 | }, 25 | }, 26 | ]; -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | React App 8 | 9 | 10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "lib": ["ES2020", "DOM", "DOM.Iterable"], 5 | "module": "ESNext", 6 | "skipLibCheck": true, 7 | "moduleResolution": "bundler", 8 | "allowImportingTsExtensions": true, 9 | "resolveJsonModule": true, 10 | "isolatedModules": true, 11 | "noEmit": true, 12 | "jsx": "react-jsx", 13 | "baseUrl": ".", 14 | "paths": { 15 | "@/*": ["./src/*"] 16 | } 17 | }, 18 | "include": ["src"], 19 | "exclude": ["node_modules", "dist"] 20 | } 21 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-sign-up-with-tests", 3 | "version": "0.3.0", 4 | "license": "MIT", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "vite build", 9 | "lint": "eslint .", 10 | "preview": "vite preview", 11 | "test": "vitest --coverage", 12 | "test:run": "vitest run", 13 | "test:coverage": "vitest run --coverage", 14 | "test:watch": "vitest", 15 | "test:ui": "vitest --ui", 16 | "test:silent": "vitest run --silent" 17 | }, 18 | "dependencies": { 19 | "react": "^18.2.0", 20 | "react-dom": "^18.2.0", 21 | "web-vitals": "^3.5.2" 22 | }, 23 | "devDependencies": { 24 | "@testing-library/dom": "^9.3.4", 25 | "@testing-library/jest-dom": "^6.4.2", 26 | "@testing-library/react": "^14.2.1", 27 | "@testing-library/user-event": "^14.5.2", 28 | "@eslint/js": "^9.25.0", 29 | "@types/react": "^19.1.2", 30 | "@types/react-dom": "^19.1.2", 31 | "@vitejs/plugin-react": "^4.4.1", 32 | "@vitest/coverage-v8": "^3.2.2", 33 | "@vitest/ui": "^3.2.2", 34 | "eslint": "^9.25.0", 35 | "eslint-plugin-react-hooks": "^5.2.0", 36 | "eslint-plugin-react-refresh": "^0.4.19", 37 | "globals": "^16.0.0", 38 | "jsdom": "^26.1.0", 39 | "vite": "^6.3.5", 40 | "vitest": "^3.2.2" 41 | }, 42 | "browserslist": { 43 | "production": [ 44 | ">0.2%", 45 | "not dead", 46 | "not op_mini all" 47 | ], 48 | "development": [ 49 | "last 1 chrome version", 50 | "last 1 firefox version", 51 | "last 1 safari version" 52 | ] 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | react: 12 | specifier: ^18.2.0 13 | version: 18.3.1 14 | react-dom: 15 | specifier: ^18.2.0 16 | version: 18.3.1(react@18.3.1) 17 | web-vitals: 18 | specifier: ^3.5.2 19 | version: 3.5.2 20 | devDependencies: 21 | '@eslint/js': 22 | specifier: ^9.25.0 23 | version: 9.28.0 24 | '@testing-library/dom': 25 | specifier: ^9.3.4 26 | version: 9.3.4 27 | '@testing-library/jest-dom': 28 | specifier: ^6.4.2 29 | version: 6.6.3 30 | '@testing-library/react': 31 | specifier: ^14.2.1 32 | version: 14.3.1(@types/react@19.1.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 33 | '@testing-library/user-event': 34 | specifier: ^14.5.2 35 | version: 14.6.1(@testing-library/dom@9.3.4) 36 | '@types/react': 37 | specifier: ^19.1.2 38 | version: 19.1.6 39 | '@types/react-dom': 40 | specifier: ^19.1.2 41 | version: 19.1.6(@types/react@19.1.6) 42 | '@vitejs/plugin-react': 43 | specifier: ^4.4.1 44 | version: 4.5.1(vite@6.3.5(@types/node@22.15.30)(jiti@1.21.7)(terser@5.41.0)(yaml@2.8.0)) 45 | '@vitest/coverage-v8': 46 | specifier: ^3.2.2 47 | version: 3.2.2(vitest@3.2.2) 48 | '@vitest/ui': 49 | specifier: ^3.2.2 50 | version: 3.2.2(vitest@3.2.2) 51 | eslint: 52 | specifier: ^9.25.0 53 | version: 9.28.0(jiti@1.21.7) 54 | eslint-plugin-react-hooks: 55 | specifier: ^5.2.0 56 | version: 5.2.0(eslint@9.28.0(jiti@1.21.7)) 57 | eslint-plugin-react-refresh: 58 | specifier: ^0.4.19 59 | version: 0.4.20(eslint@9.28.0(jiti@1.21.7)) 60 | globals: 61 | specifier: ^16.0.0 62 | version: 16.2.0 63 | jsdom: 64 | specifier: ^26.1.0 65 | version: 26.1.0 66 | vite: 67 | specifier: ^6.3.5 68 | version: 6.3.5(@types/node@22.15.30)(jiti@1.21.7)(terser@5.41.0)(yaml@2.8.0) 69 | vitest: 70 | specifier: ^3.2.2 71 | version: 3.2.2(@types/node@22.15.30)(@vitest/ui@3.2.2)(jiti@1.21.7)(jsdom@26.1.0)(terser@5.41.0)(yaml@2.8.0) 72 | 73 | packages: 74 | 75 | '@adobe/css-tools@4.4.3': 76 | resolution: {integrity: sha512-VQKMkwriZbaOgVCby1UDY/LDk5fIjhQicCvVPFqfe+69fWaPWydbWJ3wRt59/YzIwda1I81loas3oCoHxnqvdA==} 77 | 78 | '@ampproject/remapping@2.3.0': 79 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 80 | engines: {node: '>=6.0.0'} 81 | 82 | '@asamuzakjp/css-color@3.2.0': 83 | resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==} 84 | 85 | '@babel/code-frame@7.27.1': 86 | resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} 87 | engines: {node: '>=6.9.0'} 88 | 89 | '@babel/compat-data@7.27.5': 90 | resolution: {integrity: sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==} 91 | engines: {node: '>=6.9.0'} 92 | 93 | '@babel/core@7.27.4': 94 | resolution: {integrity: sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==} 95 | engines: {node: '>=6.9.0'} 96 | 97 | '@babel/generator@7.27.5': 98 | resolution: {integrity: sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==} 99 | engines: {node: '>=6.9.0'} 100 | 101 | '@babel/helper-compilation-targets@7.27.2': 102 | resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} 103 | engines: {node: '>=6.9.0'} 104 | 105 | '@babel/helper-module-imports@7.27.1': 106 | resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} 107 | engines: {node: '>=6.9.0'} 108 | 109 | '@babel/helper-module-transforms@7.27.3': 110 | resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==} 111 | engines: {node: '>=6.9.0'} 112 | peerDependencies: 113 | '@babel/core': ^7.0.0 114 | 115 | '@babel/helper-plugin-utils@7.27.1': 116 | resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} 117 | engines: {node: '>=6.9.0'} 118 | 119 | '@babel/helper-string-parser@7.27.1': 120 | resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} 121 | engines: {node: '>=6.9.0'} 122 | 123 | '@babel/helper-validator-identifier@7.27.1': 124 | resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} 125 | engines: {node: '>=6.9.0'} 126 | 127 | '@babel/helper-validator-option@7.27.1': 128 | resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} 129 | engines: {node: '>=6.9.0'} 130 | 131 | '@babel/helpers@7.27.6': 132 | resolution: {integrity: sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==} 133 | engines: {node: '>=6.9.0'} 134 | 135 | '@babel/parser@7.27.5': 136 | resolution: {integrity: sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==} 137 | engines: {node: '>=6.0.0'} 138 | hasBin: true 139 | 140 | '@babel/plugin-transform-react-jsx-self@7.27.1': 141 | resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==} 142 | engines: {node: '>=6.9.0'} 143 | peerDependencies: 144 | '@babel/core': ^7.0.0-0 145 | 146 | '@babel/plugin-transform-react-jsx-source@7.27.1': 147 | resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==} 148 | engines: {node: '>=6.9.0'} 149 | peerDependencies: 150 | '@babel/core': ^7.0.0-0 151 | 152 | '@babel/runtime@7.27.6': 153 | resolution: {integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==} 154 | engines: {node: '>=6.9.0'} 155 | 156 | '@babel/template@7.27.2': 157 | resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} 158 | engines: {node: '>=6.9.0'} 159 | 160 | '@babel/traverse@7.27.4': 161 | resolution: {integrity: sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==} 162 | engines: {node: '>=6.9.0'} 163 | 164 | '@babel/types@7.27.6': 165 | resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==} 166 | engines: {node: '>=6.9.0'} 167 | 168 | '@bcoe/v8-coverage@1.0.2': 169 | resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} 170 | engines: {node: '>=18'} 171 | 172 | '@csstools/color-helpers@5.0.2': 173 | resolution: {integrity: sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==} 174 | engines: {node: '>=18'} 175 | 176 | '@csstools/css-calc@2.1.4': 177 | resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} 178 | engines: {node: '>=18'} 179 | peerDependencies: 180 | '@csstools/css-parser-algorithms': ^3.0.5 181 | '@csstools/css-tokenizer': ^3.0.4 182 | 183 | '@csstools/css-color-parser@3.0.10': 184 | resolution: {integrity: sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==} 185 | engines: {node: '>=18'} 186 | peerDependencies: 187 | '@csstools/css-parser-algorithms': ^3.0.5 188 | '@csstools/css-tokenizer': ^3.0.4 189 | 190 | '@csstools/css-parser-algorithms@3.0.5': 191 | resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} 192 | engines: {node: '>=18'} 193 | peerDependencies: 194 | '@csstools/css-tokenizer': ^3.0.4 195 | 196 | '@csstools/css-tokenizer@3.0.4': 197 | resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} 198 | engines: {node: '>=18'} 199 | 200 | '@esbuild/aix-ppc64@0.25.5': 201 | resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==} 202 | engines: {node: '>=18'} 203 | cpu: [ppc64] 204 | os: [aix] 205 | 206 | '@esbuild/android-arm64@0.25.5': 207 | resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==} 208 | engines: {node: '>=18'} 209 | cpu: [arm64] 210 | os: [android] 211 | 212 | '@esbuild/android-arm@0.25.5': 213 | resolution: {integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==} 214 | engines: {node: '>=18'} 215 | cpu: [arm] 216 | os: [android] 217 | 218 | '@esbuild/android-x64@0.25.5': 219 | resolution: {integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==} 220 | engines: {node: '>=18'} 221 | cpu: [x64] 222 | os: [android] 223 | 224 | '@esbuild/darwin-arm64@0.25.5': 225 | resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==} 226 | engines: {node: '>=18'} 227 | cpu: [arm64] 228 | os: [darwin] 229 | 230 | '@esbuild/darwin-x64@0.25.5': 231 | resolution: {integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==} 232 | engines: {node: '>=18'} 233 | cpu: [x64] 234 | os: [darwin] 235 | 236 | '@esbuild/freebsd-arm64@0.25.5': 237 | resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==} 238 | engines: {node: '>=18'} 239 | cpu: [arm64] 240 | os: [freebsd] 241 | 242 | '@esbuild/freebsd-x64@0.25.5': 243 | resolution: {integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==} 244 | engines: {node: '>=18'} 245 | cpu: [x64] 246 | os: [freebsd] 247 | 248 | '@esbuild/linux-arm64@0.25.5': 249 | resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==} 250 | engines: {node: '>=18'} 251 | cpu: [arm64] 252 | os: [linux] 253 | 254 | '@esbuild/linux-arm@0.25.5': 255 | resolution: {integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==} 256 | engines: {node: '>=18'} 257 | cpu: [arm] 258 | os: [linux] 259 | 260 | '@esbuild/linux-ia32@0.25.5': 261 | resolution: {integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==} 262 | engines: {node: '>=18'} 263 | cpu: [ia32] 264 | os: [linux] 265 | 266 | '@esbuild/linux-loong64@0.25.5': 267 | resolution: {integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==} 268 | engines: {node: '>=18'} 269 | cpu: [loong64] 270 | os: [linux] 271 | 272 | '@esbuild/linux-mips64el@0.25.5': 273 | resolution: {integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==} 274 | engines: {node: '>=18'} 275 | cpu: [mips64el] 276 | os: [linux] 277 | 278 | '@esbuild/linux-ppc64@0.25.5': 279 | resolution: {integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==} 280 | engines: {node: '>=18'} 281 | cpu: [ppc64] 282 | os: [linux] 283 | 284 | '@esbuild/linux-riscv64@0.25.5': 285 | resolution: {integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==} 286 | engines: {node: '>=18'} 287 | cpu: [riscv64] 288 | os: [linux] 289 | 290 | '@esbuild/linux-s390x@0.25.5': 291 | resolution: {integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==} 292 | engines: {node: '>=18'} 293 | cpu: [s390x] 294 | os: [linux] 295 | 296 | '@esbuild/linux-x64@0.25.5': 297 | resolution: {integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==} 298 | engines: {node: '>=18'} 299 | cpu: [x64] 300 | os: [linux] 301 | 302 | '@esbuild/netbsd-arm64@0.25.5': 303 | resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==} 304 | engines: {node: '>=18'} 305 | cpu: [arm64] 306 | os: [netbsd] 307 | 308 | '@esbuild/netbsd-x64@0.25.5': 309 | resolution: {integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==} 310 | engines: {node: '>=18'} 311 | cpu: [x64] 312 | os: [netbsd] 313 | 314 | '@esbuild/openbsd-arm64@0.25.5': 315 | resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==} 316 | engines: {node: '>=18'} 317 | cpu: [arm64] 318 | os: [openbsd] 319 | 320 | '@esbuild/openbsd-x64@0.25.5': 321 | resolution: {integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==} 322 | engines: {node: '>=18'} 323 | cpu: [x64] 324 | os: [openbsd] 325 | 326 | '@esbuild/sunos-x64@0.25.5': 327 | resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==} 328 | engines: {node: '>=18'} 329 | cpu: [x64] 330 | os: [sunos] 331 | 332 | '@esbuild/win32-arm64@0.25.5': 333 | resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==} 334 | engines: {node: '>=18'} 335 | cpu: [arm64] 336 | os: [win32] 337 | 338 | '@esbuild/win32-ia32@0.25.5': 339 | resolution: {integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==} 340 | engines: {node: '>=18'} 341 | cpu: [ia32] 342 | os: [win32] 343 | 344 | '@esbuild/win32-x64@0.25.5': 345 | resolution: {integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==} 346 | engines: {node: '>=18'} 347 | cpu: [x64] 348 | os: [win32] 349 | 350 | '@eslint-community/eslint-utils@4.7.0': 351 | resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} 352 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 353 | peerDependencies: 354 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 355 | 356 | '@eslint-community/regexpp@4.12.1': 357 | resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} 358 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 359 | 360 | '@eslint/config-array@0.20.0': 361 | resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==} 362 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 363 | 364 | '@eslint/config-helpers@0.2.2': 365 | resolution: {integrity: sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==} 366 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 367 | 368 | '@eslint/core@0.14.0': 369 | resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==} 370 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 371 | 372 | '@eslint/eslintrc@3.3.1': 373 | resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} 374 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 375 | 376 | '@eslint/js@9.28.0': 377 | resolution: {integrity: sha512-fnqSjGWd/CoIp4EXIxWVK/sHA6DOHN4+8Ix2cX5ycOY7LG0UY8nHCU5pIp2eaE1Mc7Qd8kHspYNzYXT2ojPLzg==} 378 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 379 | 380 | '@eslint/object-schema@2.1.6': 381 | resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} 382 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 383 | 384 | '@eslint/plugin-kit@0.3.1': 385 | resolution: {integrity: sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==} 386 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 387 | 388 | '@humanfs/core@0.19.1': 389 | resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} 390 | engines: {node: '>=18.18.0'} 391 | 392 | '@humanfs/node@0.16.6': 393 | resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} 394 | engines: {node: '>=18.18.0'} 395 | 396 | '@humanwhocodes/module-importer@1.0.1': 397 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 398 | engines: {node: '>=12.22'} 399 | 400 | '@humanwhocodes/retry@0.3.1': 401 | resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} 402 | engines: {node: '>=18.18'} 403 | 404 | '@humanwhocodes/retry@0.4.3': 405 | resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} 406 | engines: {node: '>=18.18'} 407 | 408 | '@isaacs/cliui@8.0.2': 409 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 410 | engines: {node: '>=12'} 411 | 412 | '@istanbuljs/schema@0.1.3': 413 | resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} 414 | engines: {node: '>=8'} 415 | 416 | '@jridgewell/gen-mapping@0.3.8': 417 | resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} 418 | engines: {node: '>=6.0.0'} 419 | 420 | '@jridgewell/resolve-uri@3.1.2': 421 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 422 | engines: {node: '>=6.0.0'} 423 | 424 | '@jridgewell/set-array@1.2.1': 425 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 426 | engines: {node: '>=6.0.0'} 427 | 428 | '@jridgewell/source-map@0.3.6': 429 | resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} 430 | 431 | '@jridgewell/sourcemap-codec@1.5.0': 432 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 433 | 434 | '@jridgewell/trace-mapping@0.3.25': 435 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 436 | 437 | '@pkgjs/parseargs@0.11.0': 438 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 439 | engines: {node: '>=14'} 440 | 441 | '@polka/url@1.0.0-next.29': 442 | resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} 443 | 444 | '@rolldown/pluginutils@1.0.0-beta.9': 445 | resolution: {integrity: sha512-e9MeMtVWo186sgvFFJOPGy7/d2j2mZhLJIdVW0C/xDluuOvymEATqz6zKsP0ZmXGzQtqlyjz5sC1sYQUoJG98w==} 446 | 447 | '@rollup/rollup-android-arm-eabi@4.42.0': 448 | resolution: {integrity: sha512-gldmAyS9hpj+H6LpRNlcjQWbuKUtb94lodB9uCz71Jm+7BxK1VIOo7y62tZZwxhA7j1ylv/yQz080L5WkS+LoQ==} 449 | cpu: [arm] 450 | os: [android] 451 | 452 | '@rollup/rollup-android-arm64@4.42.0': 453 | resolution: {integrity: sha512-bpRipfTgmGFdCZDFLRvIkSNO1/3RGS74aWkJJTFJBH7h3MRV4UijkaEUeOMbi9wxtxYmtAbVcnMtHTPBhLEkaw==} 454 | cpu: [arm64] 455 | os: [android] 456 | 457 | '@rollup/rollup-darwin-arm64@4.42.0': 458 | resolution: {integrity: sha512-JxHtA081izPBVCHLKnl6GEA0w3920mlJPLh89NojpU2GsBSB6ypu4erFg/Wx1qbpUbepn0jY4dVWMGZM8gplgA==} 459 | cpu: [arm64] 460 | os: [darwin] 461 | 462 | '@rollup/rollup-darwin-x64@4.42.0': 463 | resolution: {integrity: sha512-rv5UZaWVIJTDMyQ3dCEK+m0SAn6G7H3PRc2AZmExvbDvtaDc+qXkei0knQWcI3+c9tEs7iL/4I4pTQoPbNL2SA==} 464 | cpu: [x64] 465 | os: [darwin] 466 | 467 | '@rollup/rollup-freebsd-arm64@4.42.0': 468 | resolution: {integrity: sha512-fJcN4uSGPWdpVmvLuMtALUFwCHgb2XiQjuECkHT3lWLZhSQ3MBQ9pq+WoWeJq2PrNxr9rPM1Qx+IjyGj8/c6zQ==} 469 | cpu: [arm64] 470 | os: [freebsd] 471 | 472 | '@rollup/rollup-freebsd-x64@4.42.0': 473 | resolution: {integrity: sha512-CziHfyzpp8hJpCVE/ZdTizw58gr+m7Y2Xq5VOuCSrZR++th2xWAz4Nqk52MoIIrV3JHtVBhbBsJcAxs6NammOQ==} 474 | cpu: [x64] 475 | os: [freebsd] 476 | 477 | '@rollup/rollup-linux-arm-gnueabihf@4.42.0': 478 | resolution: {integrity: sha512-UsQD5fyLWm2Fe5CDM7VPYAo+UC7+2Px4Y+N3AcPh/LdZu23YcuGPegQly++XEVaC8XUTFVPscl5y5Cl1twEI4A==} 479 | cpu: [arm] 480 | os: [linux] 481 | 482 | '@rollup/rollup-linux-arm-musleabihf@4.42.0': 483 | resolution: {integrity: sha512-/i8NIrlgc/+4n1lnoWl1zgH7Uo0XK5xK3EDqVTf38KvyYgCU/Rm04+o1VvvzJZnVS5/cWSd07owkzcVasgfIkQ==} 484 | cpu: [arm] 485 | os: [linux] 486 | 487 | '@rollup/rollup-linux-arm64-gnu@4.42.0': 488 | resolution: {integrity: sha512-eoujJFOvoIBjZEi9hJnXAbWg+Vo1Ov8n/0IKZZcPZ7JhBzxh2A+2NFyeMZIRkY9iwBvSjloKgcvnjTbGKHE44Q==} 489 | cpu: [arm64] 490 | os: [linux] 491 | 492 | '@rollup/rollup-linux-arm64-musl@4.42.0': 493 | resolution: {integrity: sha512-/3NrcOWFSR7RQUQIuZQChLND36aTU9IYE4j+TB40VU78S+RA0IiqHR30oSh6P1S9f9/wVOenHQnacs/Byb824g==} 494 | cpu: [arm64] 495 | os: [linux] 496 | 497 | '@rollup/rollup-linux-loongarch64-gnu@4.42.0': 498 | resolution: {integrity: sha512-O8AplvIeavK5ABmZlKBq9/STdZlnQo7Sle0LLhVA7QT+CiGpNVe197/t8Aph9bhJqbDVGCHpY2i7QyfEDDStDg==} 499 | cpu: [loong64] 500 | os: [linux] 501 | 502 | '@rollup/rollup-linux-powerpc64le-gnu@4.42.0': 503 | resolution: {integrity: sha512-6Qb66tbKVN7VyQrekhEzbHRxXXFFD8QKiFAwX5v9Xt6FiJ3BnCVBuyBxa2fkFGqxOCSGGYNejxd8ht+q5SnmtA==} 504 | cpu: [ppc64] 505 | os: [linux] 506 | 507 | '@rollup/rollup-linux-riscv64-gnu@4.42.0': 508 | resolution: {integrity: sha512-KQETDSEBamQFvg/d8jajtRwLNBlGc3aKpaGiP/LvEbnmVUKlFta1vqJqTrvPtsYsfbE/DLg5CC9zyXRX3fnBiA==} 509 | cpu: [riscv64] 510 | os: [linux] 511 | 512 | '@rollup/rollup-linux-riscv64-musl@4.42.0': 513 | resolution: {integrity: sha512-qMvnyjcU37sCo/tuC+JqeDKSuukGAd+pVlRl/oyDbkvPJ3awk6G6ua7tyum02O3lI+fio+eM5wsVd66X0jQtxw==} 514 | cpu: [riscv64] 515 | os: [linux] 516 | 517 | '@rollup/rollup-linux-s390x-gnu@4.42.0': 518 | resolution: {integrity: sha512-I2Y1ZUgTgU2RLddUHXTIgyrdOwljjkmcZ/VilvaEumtS3Fkuhbw4p4hgHc39Ypwvo2o7sBFNl2MquNvGCa55Iw==} 519 | cpu: [s390x] 520 | os: [linux] 521 | 522 | '@rollup/rollup-linux-x64-gnu@4.42.0': 523 | resolution: {integrity: sha512-Gfm6cV6mj3hCUY8TqWa63DB8Mx3NADoFwiJrMpoZ1uESbK8FQV3LXkhfry+8bOniq9pqY1OdsjFWNsSbfjPugw==} 524 | cpu: [x64] 525 | os: [linux] 526 | 527 | '@rollup/rollup-linux-x64-musl@4.42.0': 528 | resolution: {integrity: sha512-g86PF8YZ9GRqkdi0VoGlcDUb4rYtQKyTD1IVtxxN4Hpe7YqLBShA7oHMKU6oKTCi3uxwW4VkIGnOaH/El8de3w==} 529 | cpu: [x64] 530 | os: [linux] 531 | 532 | '@rollup/rollup-win32-arm64-msvc@4.42.0': 533 | resolution: {integrity: sha512-+axkdyDGSp6hjyzQ5m1pgcvQScfHnMCcsXkx8pTgy/6qBmWVhtRVlgxjWwDp67wEXXUr0x+vD6tp5W4x6V7u1A==} 534 | cpu: [arm64] 535 | os: [win32] 536 | 537 | '@rollup/rollup-win32-ia32-msvc@4.42.0': 538 | resolution: {integrity: sha512-F+5J9pelstXKwRSDq92J0TEBXn2nfUrQGg+HK1+Tk7VOL09e0gBqUHugZv7SW4MGrYj41oNCUe3IKCDGVlis2g==} 539 | cpu: [ia32] 540 | os: [win32] 541 | 542 | '@rollup/rollup-win32-x64-msvc@4.42.0': 543 | resolution: {integrity: sha512-LpHiJRwkaVz/LqjHjK8LCi8osq7elmpwujwbXKNW88bM8eeGxavJIKKjkjpMHAh/2xfnrt1ZSnhTv41WYUHYmA==} 544 | cpu: [x64] 545 | os: [win32] 546 | 547 | '@testing-library/dom@9.3.4': 548 | resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} 549 | engines: {node: '>=14'} 550 | 551 | '@testing-library/jest-dom@6.6.3': 552 | resolution: {integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==} 553 | engines: {node: '>=14', npm: '>=6', yarn: '>=1'} 554 | 555 | '@testing-library/react@14.3.1': 556 | resolution: {integrity: sha512-H99XjUhWQw0lTgyMN05W3xQG1Nh4lq574D8keFf1dDoNTJgp66VbJozRaczoF+wsiaPJNt/TcnfpLGufGxSrZQ==} 557 | engines: {node: '>=14'} 558 | peerDependencies: 559 | react: ^18.0.0 560 | react-dom: ^18.0.0 561 | 562 | '@testing-library/user-event@14.6.1': 563 | resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==} 564 | engines: {node: '>=12', npm: '>=6'} 565 | peerDependencies: 566 | '@testing-library/dom': '>=7.21.4' 567 | 568 | '@types/aria-query@5.0.4': 569 | resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} 570 | 571 | '@types/babel__core@7.20.5': 572 | resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} 573 | 574 | '@types/babel__generator@7.27.0': 575 | resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} 576 | 577 | '@types/babel__template@7.4.4': 578 | resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} 579 | 580 | '@types/babel__traverse@7.20.7': 581 | resolution: {integrity: sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==} 582 | 583 | '@types/chai@5.2.2': 584 | resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} 585 | 586 | '@types/deep-eql@4.0.2': 587 | resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} 588 | 589 | '@types/estree@1.0.7': 590 | resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} 591 | 592 | '@types/estree@1.0.8': 593 | resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} 594 | 595 | '@types/json-schema@7.0.15': 596 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 597 | 598 | '@types/node@22.15.30': 599 | resolution: {integrity: sha512-6Q7lr06bEHdlfplU6YRbgG1SFBdlsfNC4/lX+SkhiTs0cpJkOElmWls8PxDFv4yY/xKb8Y6SO0OmSX4wgqTZbA==} 600 | 601 | '@types/react-dom@18.3.7': 602 | resolution: {integrity: sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==} 603 | peerDependencies: 604 | '@types/react': ^18.0.0 605 | 606 | '@types/react-dom@19.1.6': 607 | resolution: {integrity: sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw==} 608 | peerDependencies: 609 | '@types/react': ^19.0.0 610 | 611 | '@types/react@19.1.6': 612 | resolution: {integrity: sha512-JeG0rEWak0N6Itr6QUx+X60uQmN+5t3j9r/OVDtWzFXKaj6kD1BwJzOksD0FF6iWxZlbE1kB0q9vtnU2ekqa1Q==} 613 | 614 | '@vitejs/plugin-react@4.5.1': 615 | resolution: {integrity: sha512-uPZBqSI0YD4lpkIru6M35sIfylLGTyhGHvDZbNLuMA73lMlwJKz5xweH7FajfcCAc2HnINciejA9qTz0dr0M7A==} 616 | engines: {node: ^14.18.0 || >=16.0.0} 617 | peerDependencies: 618 | vite: ^4.2.0 || ^5.0.0 || ^6.0.0 619 | 620 | '@vitest/coverage-v8@3.2.2': 621 | resolution: {integrity: sha512-RVAi5xnqedSKvaoQyCTWvncMk8eYZcTTOsLK7XmnfOEvdGP/O/upA0/MA8Ss+Qs++mj0GcSRi/whR0S5iBPpTQ==} 622 | peerDependencies: 623 | '@vitest/browser': 3.2.2 624 | vitest: 3.2.2 625 | peerDependenciesMeta: 626 | '@vitest/browser': 627 | optional: true 628 | 629 | '@vitest/expect@3.2.2': 630 | resolution: {integrity: sha512-ipHw0z669vEMjzz3xQE8nJX1s0rQIb7oEl4jjl35qWTwm/KIHERIg/p/zORrjAaZKXfsv7IybcNGHwhOOAPMwQ==} 631 | 632 | '@vitest/mocker@3.2.2': 633 | resolution: {integrity: sha512-jKojcaRyIYpDEf+s7/dD3LJt53c0dPfp5zCPXz9H/kcGrSlovU/t1yEaNzM9oFME3dcd4ULwRI/x0Po1Zf+LTw==} 634 | peerDependencies: 635 | msw: ^2.4.9 636 | vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 637 | peerDependenciesMeta: 638 | msw: 639 | optional: true 640 | vite: 641 | optional: true 642 | 643 | '@vitest/pretty-format@3.2.2': 644 | resolution: {integrity: sha512-FY4o4U1UDhO9KMd2Wee5vumwcaHw7Vg4V7yR4Oq6uK34nhEJOmdRYrk3ClburPRUA09lXD/oXWZ8y/Sdma0aUQ==} 645 | 646 | '@vitest/runner@3.2.2': 647 | resolution: {integrity: sha512-GYcHcaS3ejGRZYed2GAkvsjBeXIEerDKdX3orQrBJqLRiea4NSS9qvn9Nxmuy1IwIB+EjFOaxXnX79l8HFaBwg==} 648 | 649 | '@vitest/snapshot@3.2.2': 650 | resolution: {integrity: sha512-aMEI2XFlR1aNECbBs5C5IZopfi5Lb8QJZGGpzS8ZUHML5La5wCbrbhLOVSME68qwpT05ROEEOAZPRXFpxZV2wA==} 651 | 652 | '@vitest/spy@3.2.2': 653 | resolution: {integrity: sha512-6Utxlx3o7pcTxvp0u8kUiXtRFScMrUg28KjB3R2hon7w4YqOFAEA9QwzPVVS1QNL3smo4xRNOpNZClRVfpMcYg==} 654 | 655 | '@vitest/ui@3.2.2': 656 | resolution: {integrity: sha512-xHif5tkQOZK4YjA44rrzmvXMI1cb1Qato3P+NL/gwyoK5LdZx0f5Q59Il25JtuhN/htBvrT+Copt3Q4Ma4gJbg==} 657 | peerDependencies: 658 | vitest: 3.2.2 659 | 660 | '@vitest/utils@3.2.2': 661 | resolution: {integrity: sha512-qJYMllrWpF/OYfWHP32T31QCaLa3BAzT/n/8mNGhPdVcjY+JYazQFO1nsJvXU12Kp1xMpNY4AGuljPTNjQve6A==} 662 | 663 | acorn-jsx@5.3.2: 664 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 665 | peerDependencies: 666 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 667 | 668 | acorn@8.14.1: 669 | resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} 670 | engines: {node: '>=0.4.0'} 671 | hasBin: true 672 | 673 | agent-base@7.1.3: 674 | resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} 675 | engines: {node: '>= 14'} 676 | 677 | ajv@6.12.6: 678 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 679 | 680 | ansi-regex@5.0.1: 681 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 682 | engines: {node: '>=8'} 683 | 684 | ansi-regex@6.1.0: 685 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} 686 | engines: {node: '>=12'} 687 | 688 | ansi-styles@4.3.0: 689 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 690 | engines: {node: '>=8'} 691 | 692 | ansi-styles@5.2.0: 693 | resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} 694 | engines: {node: '>=10'} 695 | 696 | ansi-styles@6.2.1: 697 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 698 | engines: {node: '>=12'} 699 | 700 | argparse@2.0.1: 701 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 702 | 703 | aria-query@5.1.3: 704 | resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} 705 | 706 | aria-query@5.3.2: 707 | resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} 708 | engines: {node: '>= 0.4'} 709 | 710 | array-buffer-byte-length@1.0.2: 711 | resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} 712 | engines: {node: '>= 0.4'} 713 | 714 | assertion-error@2.0.1: 715 | resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} 716 | engines: {node: '>=12'} 717 | 718 | ast-v8-to-istanbul@0.3.3: 719 | resolution: {integrity: sha512-MuXMrSLVVoA6sYN/6Hke18vMzrT4TZNbZIj/hvh0fnYFpO+/kFXcLIaiPwXXWaQUPg4yJD8fj+lfJ7/1EBconw==} 720 | 721 | available-typed-arrays@1.0.7: 722 | resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} 723 | engines: {node: '>= 0.4'} 724 | 725 | balanced-match@1.0.2: 726 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 727 | 728 | brace-expansion@1.1.11: 729 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 730 | 731 | brace-expansion@2.0.1: 732 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 733 | 734 | browserslist@4.25.0: 735 | resolution: {integrity: sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==} 736 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 737 | hasBin: true 738 | 739 | buffer-from@1.1.2: 740 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 741 | 742 | cac@6.7.14: 743 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 744 | engines: {node: '>=8'} 745 | 746 | call-bind-apply-helpers@1.0.2: 747 | resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} 748 | engines: {node: '>= 0.4'} 749 | 750 | call-bind@1.0.8: 751 | resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} 752 | engines: {node: '>= 0.4'} 753 | 754 | call-bound@1.0.4: 755 | resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} 756 | engines: {node: '>= 0.4'} 757 | 758 | callsites@3.1.0: 759 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 760 | engines: {node: '>=6'} 761 | 762 | caniuse-lite@1.0.30001721: 763 | resolution: {integrity: sha512-cOuvmUVtKrtEaoKiO0rSc29jcjwMwX5tOHDy4MgVFEWiUXj4uBMJkwI8MDySkgXidpMiHUcviogAvFi4pA2hDQ==} 764 | 765 | chai@5.2.0: 766 | resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==} 767 | engines: {node: '>=12'} 768 | 769 | chalk@3.0.0: 770 | resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} 771 | engines: {node: '>=8'} 772 | 773 | chalk@4.1.2: 774 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 775 | engines: {node: '>=10'} 776 | 777 | check-error@2.1.1: 778 | resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} 779 | engines: {node: '>= 16'} 780 | 781 | color-convert@2.0.1: 782 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 783 | engines: {node: '>=7.0.0'} 784 | 785 | color-name@1.1.4: 786 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 787 | 788 | commander@2.20.3: 789 | resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} 790 | 791 | concat-map@0.0.1: 792 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 793 | 794 | convert-source-map@2.0.0: 795 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} 796 | 797 | cross-spawn@7.0.6: 798 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 799 | engines: {node: '>= 8'} 800 | 801 | css.escape@1.5.1: 802 | resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} 803 | 804 | cssstyle@4.3.1: 805 | resolution: {integrity: sha512-ZgW+Jgdd7i52AaLYCriF8Mxqft0gD/R9i9wi6RWBhs1pqdPEzPjym7rvRKi397WmQFf3SlyUsszhw+VVCbx79Q==} 806 | engines: {node: '>=18'} 807 | 808 | csstype@3.1.3: 809 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 810 | 811 | data-urls@5.0.0: 812 | resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} 813 | engines: {node: '>=18'} 814 | 815 | debug@4.4.1: 816 | resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} 817 | engines: {node: '>=6.0'} 818 | peerDependencies: 819 | supports-color: '*' 820 | peerDependenciesMeta: 821 | supports-color: 822 | optional: true 823 | 824 | decimal.js@10.5.0: 825 | resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} 826 | 827 | deep-eql@5.0.2: 828 | resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} 829 | engines: {node: '>=6'} 830 | 831 | deep-equal@2.2.3: 832 | resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} 833 | engines: {node: '>= 0.4'} 834 | 835 | deep-is@0.1.4: 836 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 837 | 838 | define-data-property@1.1.4: 839 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 840 | engines: {node: '>= 0.4'} 841 | 842 | define-properties@1.2.1: 843 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} 844 | engines: {node: '>= 0.4'} 845 | 846 | dom-accessibility-api@0.5.16: 847 | resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} 848 | 849 | dom-accessibility-api@0.6.3: 850 | resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} 851 | 852 | dunder-proto@1.0.1: 853 | resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} 854 | engines: {node: '>= 0.4'} 855 | 856 | eastasianwidth@0.2.0: 857 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 858 | 859 | electron-to-chromium@1.5.165: 860 | resolution: {integrity: sha512-naiMx1Z6Nb2TxPU6fiFrUrDTjyPMLdTtaOd2oLmG8zVSg2hCWGkhPyxwk+qRmZ1ytwVqUv0u7ZcDA5+ALhaUtw==} 861 | 862 | emoji-regex@8.0.0: 863 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 864 | 865 | emoji-regex@9.2.2: 866 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 867 | 868 | entities@6.0.0: 869 | resolution: {integrity: sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==} 870 | engines: {node: '>=0.12'} 871 | 872 | es-define-property@1.0.1: 873 | resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} 874 | engines: {node: '>= 0.4'} 875 | 876 | es-errors@1.3.0: 877 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 878 | engines: {node: '>= 0.4'} 879 | 880 | es-get-iterator@1.1.3: 881 | resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} 882 | 883 | es-module-lexer@1.7.0: 884 | resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} 885 | 886 | es-object-atoms@1.1.1: 887 | resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} 888 | engines: {node: '>= 0.4'} 889 | 890 | esbuild@0.25.5: 891 | resolution: {integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==} 892 | engines: {node: '>=18'} 893 | hasBin: true 894 | 895 | escalade@3.2.0: 896 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 897 | engines: {node: '>=6'} 898 | 899 | escape-string-regexp@4.0.0: 900 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 901 | engines: {node: '>=10'} 902 | 903 | eslint-plugin-react-hooks@5.2.0: 904 | resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==} 905 | engines: {node: '>=10'} 906 | peerDependencies: 907 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 908 | 909 | eslint-plugin-react-refresh@0.4.20: 910 | resolution: {integrity: sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==} 911 | peerDependencies: 912 | eslint: '>=8.40' 913 | 914 | eslint-scope@8.3.0: 915 | resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} 916 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 917 | 918 | eslint-visitor-keys@3.4.3: 919 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 920 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 921 | 922 | eslint-visitor-keys@4.2.0: 923 | resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} 924 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 925 | 926 | eslint@9.28.0: 927 | resolution: {integrity: sha512-ocgh41VhRlf9+fVpe7QKzwLj9c92fDiqOj8Y3Sd4/ZmVA4Btx4PlUYPq4pp9JDyupkf1upbEXecxL2mwNV7jPQ==} 928 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 929 | hasBin: true 930 | peerDependencies: 931 | jiti: '*' 932 | peerDependenciesMeta: 933 | jiti: 934 | optional: true 935 | 936 | espree@10.3.0: 937 | resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} 938 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 939 | 940 | esquery@1.6.0: 941 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} 942 | engines: {node: '>=0.10'} 943 | 944 | esrecurse@4.3.0: 945 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 946 | engines: {node: '>=4.0'} 947 | 948 | estraverse@5.3.0: 949 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 950 | engines: {node: '>=4.0'} 951 | 952 | estree-walker@3.0.3: 953 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} 954 | 955 | esutils@2.0.3: 956 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 957 | engines: {node: '>=0.10.0'} 958 | 959 | expect-type@1.2.1: 960 | resolution: {integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==} 961 | engines: {node: '>=12.0.0'} 962 | 963 | fast-deep-equal@3.1.3: 964 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 965 | 966 | fast-json-stable-stringify@2.1.0: 967 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 968 | 969 | fast-levenshtein@2.0.6: 970 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 971 | 972 | fdir@6.4.5: 973 | resolution: {integrity: sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==} 974 | peerDependencies: 975 | picomatch: ^3 || ^4 976 | peerDependenciesMeta: 977 | picomatch: 978 | optional: true 979 | 980 | fflate@0.8.2: 981 | resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} 982 | 983 | file-entry-cache@8.0.0: 984 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 985 | engines: {node: '>=16.0.0'} 986 | 987 | find-up@5.0.0: 988 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 989 | engines: {node: '>=10'} 990 | 991 | flat-cache@4.0.1: 992 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} 993 | engines: {node: '>=16'} 994 | 995 | flatted@3.3.3: 996 | resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} 997 | 998 | for-each@0.3.5: 999 | resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} 1000 | engines: {node: '>= 0.4'} 1001 | 1002 | foreground-child@3.3.1: 1003 | resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} 1004 | engines: {node: '>=14'} 1005 | 1006 | fsevents@2.3.3: 1007 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1008 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1009 | os: [darwin] 1010 | 1011 | function-bind@1.1.2: 1012 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1013 | 1014 | functions-have-names@1.2.3: 1015 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1016 | 1017 | gensync@1.0.0-beta.2: 1018 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 1019 | engines: {node: '>=6.9.0'} 1020 | 1021 | get-intrinsic@1.3.0: 1022 | resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} 1023 | engines: {node: '>= 0.4'} 1024 | 1025 | get-proto@1.0.1: 1026 | resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} 1027 | engines: {node: '>= 0.4'} 1028 | 1029 | glob-parent@6.0.2: 1030 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1031 | engines: {node: '>=10.13.0'} 1032 | 1033 | glob@10.4.5: 1034 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 1035 | hasBin: true 1036 | 1037 | globals@11.12.0: 1038 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 1039 | engines: {node: '>=4'} 1040 | 1041 | globals@14.0.0: 1042 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} 1043 | engines: {node: '>=18'} 1044 | 1045 | globals@16.2.0: 1046 | resolution: {integrity: sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg==} 1047 | engines: {node: '>=18'} 1048 | 1049 | gopd@1.2.0: 1050 | resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} 1051 | engines: {node: '>= 0.4'} 1052 | 1053 | has-bigints@1.1.0: 1054 | resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} 1055 | engines: {node: '>= 0.4'} 1056 | 1057 | has-flag@4.0.0: 1058 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1059 | engines: {node: '>=8'} 1060 | 1061 | has-property-descriptors@1.0.2: 1062 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} 1063 | 1064 | has-symbols@1.1.0: 1065 | resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} 1066 | engines: {node: '>= 0.4'} 1067 | 1068 | has-tostringtag@1.0.2: 1069 | resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} 1070 | engines: {node: '>= 0.4'} 1071 | 1072 | hasown@2.0.2: 1073 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1074 | engines: {node: '>= 0.4'} 1075 | 1076 | html-encoding-sniffer@4.0.0: 1077 | resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} 1078 | engines: {node: '>=18'} 1079 | 1080 | html-escaper@2.0.2: 1081 | resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} 1082 | 1083 | http-proxy-agent@7.0.2: 1084 | resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} 1085 | engines: {node: '>= 14'} 1086 | 1087 | https-proxy-agent@7.0.6: 1088 | resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} 1089 | engines: {node: '>= 14'} 1090 | 1091 | iconv-lite@0.6.3: 1092 | resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} 1093 | engines: {node: '>=0.10.0'} 1094 | 1095 | ignore@5.3.2: 1096 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 1097 | engines: {node: '>= 4'} 1098 | 1099 | import-fresh@3.3.1: 1100 | resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} 1101 | engines: {node: '>=6'} 1102 | 1103 | imurmurhash@0.1.4: 1104 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1105 | engines: {node: '>=0.8.19'} 1106 | 1107 | indent-string@4.0.0: 1108 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 1109 | engines: {node: '>=8'} 1110 | 1111 | internal-slot@1.1.0: 1112 | resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} 1113 | engines: {node: '>= 0.4'} 1114 | 1115 | is-arguments@1.2.0: 1116 | resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} 1117 | engines: {node: '>= 0.4'} 1118 | 1119 | is-array-buffer@3.0.5: 1120 | resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} 1121 | engines: {node: '>= 0.4'} 1122 | 1123 | is-bigint@1.1.0: 1124 | resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} 1125 | engines: {node: '>= 0.4'} 1126 | 1127 | is-boolean-object@1.2.2: 1128 | resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} 1129 | engines: {node: '>= 0.4'} 1130 | 1131 | is-callable@1.2.7: 1132 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 1133 | engines: {node: '>= 0.4'} 1134 | 1135 | is-date-object@1.1.0: 1136 | resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} 1137 | engines: {node: '>= 0.4'} 1138 | 1139 | is-extglob@2.1.1: 1140 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1141 | engines: {node: '>=0.10.0'} 1142 | 1143 | is-fullwidth-code-point@3.0.0: 1144 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1145 | engines: {node: '>=8'} 1146 | 1147 | is-glob@4.0.3: 1148 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1149 | engines: {node: '>=0.10.0'} 1150 | 1151 | is-map@2.0.3: 1152 | resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} 1153 | engines: {node: '>= 0.4'} 1154 | 1155 | is-number-object@1.1.1: 1156 | resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} 1157 | engines: {node: '>= 0.4'} 1158 | 1159 | is-potential-custom-element-name@1.0.1: 1160 | resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} 1161 | 1162 | is-regex@1.2.1: 1163 | resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} 1164 | engines: {node: '>= 0.4'} 1165 | 1166 | is-set@2.0.3: 1167 | resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} 1168 | engines: {node: '>= 0.4'} 1169 | 1170 | is-shared-array-buffer@1.0.4: 1171 | resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} 1172 | engines: {node: '>= 0.4'} 1173 | 1174 | is-string@1.1.1: 1175 | resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} 1176 | engines: {node: '>= 0.4'} 1177 | 1178 | is-symbol@1.1.1: 1179 | resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} 1180 | engines: {node: '>= 0.4'} 1181 | 1182 | is-weakmap@2.0.2: 1183 | resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} 1184 | engines: {node: '>= 0.4'} 1185 | 1186 | is-weakset@2.0.4: 1187 | resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} 1188 | engines: {node: '>= 0.4'} 1189 | 1190 | isarray@2.0.5: 1191 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} 1192 | 1193 | isexe@2.0.0: 1194 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1195 | 1196 | istanbul-lib-coverage@3.2.2: 1197 | resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} 1198 | engines: {node: '>=8'} 1199 | 1200 | istanbul-lib-report@3.0.1: 1201 | resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} 1202 | engines: {node: '>=10'} 1203 | 1204 | istanbul-lib-source-maps@5.0.6: 1205 | resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} 1206 | engines: {node: '>=10'} 1207 | 1208 | istanbul-reports@3.1.7: 1209 | resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} 1210 | engines: {node: '>=8'} 1211 | 1212 | jackspeak@3.4.3: 1213 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} 1214 | 1215 | jiti@1.21.7: 1216 | resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} 1217 | hasBin: true 1218 | 1219 | js-tokens@4.0.0: 1220 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1221 | 1222 | js-tokens@9.0.1: 1223 | resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} 1224 | 1225 | js-yaml@4.1.0: 1226 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1227 | hasBin: true 1228 | 1229 | jsdom@26.1.0: 1230 | resolution: {integrity: sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==} 1231 | engines: {node: '>=18'} 1232 | peerDependencies: 1233 | canvas: ^3.0.0 1234 | peerDependenciesMeta: 1235 | canvas: 1236 | optional: true 1237 | 1238 | jsesc@3.1.0: 1239 | resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} 1240 | engines: {node: '>=6'} 1241 | hasBin: true 1242 | 1243 | json-buffer@3.0.1: 1244 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1245 | 1246 | json-schema-traverse@0.4.1: 1247 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1248 | 1249 | json-stable-stringify-without-jsonify@1.0.1: 1250 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1251 | 1252 | json5@2.2.3: 1253 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 1254 | engines: {node: '>=6'} 1255 | hasBin: true 1256 | 1257 | keyv@4.5.4: 1258 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1259 | 1260 | levn@0.4.1: 1261 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1262 | engines: {node: '>= 0.8.0'} 1263 | 1264 | locate-path@6.0.0: 1265 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1266 | engines: {node: '>=10'} 1267 | 1268 | lodash.merge@4.6.2: 1269 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1270 | 1271 | lodash@4.17.21: 1272 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1273 | 1274 | loose-envify@1.4.0: 1275 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 1276 | hasBin: true 1277 | 1278 | loupe@3.1.3: 1279 | resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} 1280 | 1281 | lru-cache@10.4.3: 1282 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 1283 | 1284 | lru-cache@5.1.1: 1285 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 1286 | 1287 | lz-string@1.5.0: 1288 | resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} 1289 | hasBin: true 1290 | 1291 | magic-string@0.30.17: 1292 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} 1293 | 1294 | magicast@0.3.5: 1295 | resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} 1296 | 1297 | make-dir@4.0.0: 1298 | resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} 1299 | engines: {node: '>=10'} 1300 | 1301 | math-intrinsics@1.1.0: 1302 | resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 1303 | engines: {node: '>= 0.4'} 1304 | 1305 | min-indent@1.0.1: 1306 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} 1307 | engines: {node: '>=4'} 1308 | 1309 | minimatch@3.1.2: 1310 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1311 | 1312 | minimatch@9.0.5: 1313 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1314 | engines: {node: '>=16 || 14 >=14.17'} 1315 | 1316 | minipass@7.1.2: 1317 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 1318 | engines: {node: '>=16 || 14 >=14.17'} 1319 | 1320 | mrmime@2.0.1: 1321 | resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} 1322 | engines: {node: '>=10'} 1323 | 1324 | ms@2.1.3: 1325 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1326 | 1327 | nanoid@3.3.11: 1328 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} 1329 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1330 | hasBin: true 1331 | 1332 | natural-compare@1.4.0: 1333 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1334 | 1335 | node-releases@2.0.19: 1336 | resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} 1337 | 1338 | nwsapi@2.2.20: 1339 | resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==} 1340 | 1341 | object-inspect@1.13.4: 1342 | resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} 1343 | engines: {node: '>= 0.4'} 1344 | 1345 | object-is@1.1.6: 1346 | resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} 1347 | engines: {node: '>= 0.4'} 1348 | 1349 | object-keys@1.1.1: 1350 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 1351 | engines: {node: '>= 0.4'} 1352 | 1353 | object.assign@4.1.7: 1354 | resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} 1355 | engines: {node: '>= 0.4'} 1356 | 1357 | optionator@0.9.4: 1358 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1359 | engines: {node: '>= 0.8.0'} 1360 | 1361 | p-limit@3.1.0: 1362 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1363 | engines: {node: '>=10'} 1364 | 1365 | p-locate@5.0.0: 1366 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1367 | engines: {node: '>=10'} 1368 | 1369 | package-json-from-dist@1.0.1: 1370 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} 1371 | 1372 | parent-module@1.0.1: 1373 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1374 | engines: {node: '>=6'} 1375 | 1376 | parse5@7.3.0: 1377 | resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} 1378 | 1379 | path-exists@4.0.0: 1380 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1381 | engines: {node: '>=8'} 1382 | 1383 | path-key@3.1.1: 1384 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1385 | engines: {node: '>=8'} 1386 | 1387 | path-scurry@1.11.1: 1388 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 1389 | engines: {node: '>=16 || 14 >=14.18'} 1390 | 1391 | pathe@2.0.3: 1392 | resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} 1393 | 1394 | pathval@2.0.0: 1395 | resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} 1396 | engines: {node: '>= 14.16'} 1397 | 1398 | picocolors@1.1.1: 1399 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1400 | 1401 | picomatch@4.0.2: 1402 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} 1403 | engines: {node: '>=12'} 1404 | 1405 | possible-typed-array-names@1.1.0: 1406 | resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} 1407 | engines: {node: '>= 0.4'} 1408 | 1409 | postcss@8.5.4: 1410 | resolution: {integrity: sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==} 1411 | engines: {node: ^10 || ^12 || >=14} 1412 | 1413 | prelude-ls@1.2.1: 1414 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1415 | engines: {node: '>= 0.8.0'} 1416 | 1417 | pretty-format@27.5.1: 1418 | resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} 1419 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 1420 | 1421 | punycode@2.3.1: 1422 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1423 | engines: {node: '>=6'} 1424 | 1425 | react-dom@18.3.1: 1426 | resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} 1427 | peerDependencies: 1428 | react: ^18.3.1 1429 | 1430 | react-is@17.0.2: 1431 | resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} 1432 | 1433 | react-refresh@0.17.0: 1434 | resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==} 1435 | engines: {node: '>=0.10.0'} 1436 | 1437 | react@18.3.1: 1438 | resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} 1439 | engines: {node: '>=0.10.0'} 1440 | 1441 | redent@3.0.0: 1442 | resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} 1443 | engines: {node: '>=8'} 1444 | 1445 | regexp.prototype.flags@1.5.4: 1446 | resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} 1447 | engines: {node: '>= 0.4'} 1448 | 1449 | resolve-from@4.0.0: 1450 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1451 | engines: {node: '>=4'} 1452 | 1453 | rollup@4.42.0: 1454 | resolution: {integrity: sha512-LW+Vse3BJPyGJGAJt1j8pWDKPd73QM8cRXYK1IxOBgL2AGLu7Xd2YOW0M2sLUBCkF5MshXXtMApyEAEzMVMsnw==} 1455 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1456 | hasBin: true 1457 | 1458 | rrweb-cssom@0.8.0: 1459 | resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==} 1460 | 1461 | safe-regex-test@1.1.0: 1462 | resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} 1463 | engines: {node: '>= 0.4'} 1464 | 1465 | safer-buffer@2.1.2: 1466 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 1467 | 1468 | saxes@6.0.0: 1469 | resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} 1470 | engines: {node: '>=v12.22.7'} 1471 | 1472 | scheduler@0.23.2: 1473 | resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} 1474 | 1475 | semver@6.3.1: 1476 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 1477 | hasBin: true 1478 | 1479 | semver@7.7.2: 1480 | resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} 1481 | engines: {node: '>=10'} 1482 | hasBin: true 1483 | 1484 | set-function-length@1.2.2: 1485 | resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} 1486 | engines: {node: '>= 0.4'} 1487 | 1488 | set-function-name@2.0.2: 1489 | resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} 1490 | engines: {node: '>= 0.4'} 1491 | 1492 | shebang-command@2.0.0: 1493 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1494 | engines: {node: '>=8'} 1495 | 1496 | shebang-regex@3.0.0: 1497 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1498 | engines: {node: '>=8'} 1499 | 1500 | side-channel-list@1.0.0: 1501 | resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} 1502 | engines: {node: '>= 0.4'} 1503 | 1504 | side-channel-map@1.0.1: 1505 | resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} 1506 | engines: {node: '>= 0.4'} 1507 | 1508 | side-channel-weakmap@1.0.2: 1509 | resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} 1510 | engines: {node: '>= 0.4'} 1511 | 1512 | side-channel@1.1.0: 1513 | resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} 1514 | engines: {node: '>= 0.4'} 1515 | 1516 | siginfo@2.0.0: 1517 | resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} 1518 | 1519 | signal-exit@4.1.0: 1520 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1521 | engines: {node: '>=14'} 1522 | 1523 | sirv@3.0.1: 1524 | resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==} 1525 | engines: {node: '>=18'} 1526 | 1527 | source-map-js@1.2.1: 1528 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 1529 | engines: {node: '>=0.10.0'} 1530 | 1531 | source-map-support@0.5.21: 1532 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 1533 | 1534 | source-map@0.6.1: 1535 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1536 | engines: {node: '>=0.10.0'} 1537 | 1538 | stackback@0.0.2: 1539 | resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} 1540 | 1541 | std-env@3.9.0: 1542 | resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} 1543 | 1544 | stop-iteration-iterator@1.1.0: 1545 | resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} 1546 | engines: {node: '>= 0.4'} 1547 | 1548 | string-width@4.2.3: 1549 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1550 | engines: {node: '>=8'} 1551 | 1552 | string-width@5.1.2: 1553 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 1554 | engines: {node: '>=12'} 1555 | 1556 | strip-ansi@6.0.1: 1557 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1558 | engines: {node: '>=8'} 1559 | 1560 | strip-ansi@7.1.0: 1561 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 1562 | engines: {node: '>=12'} 1563 | 1564 | strip-indent@3.0.0: 1565 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} 1566 | engines: {node: '>=8'} 1567 | 1568 | strip-json-comments@3.1.1: 1569 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1570 | engines: {node: '>=8'} 1571 | 1572 | supports-color@7.2.0: 1573 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1574 | engines: {node: '>=8'} 1575 | 1576 | symbol-tree@3.2.4: 1577 | resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} 1578 | 1579 | terser@5.41.0: 1580 | resolution: {integrity: sha512-H406eLPXpZbAX14+B8psIuvIr8+3c+2hkuYzpMkoE0ij+NdsVATbA78vb8neA/eqrj7rywa2pIkdmWRsXW6wmw==} 1581 | engines: {node: '>=10'} 1582 | hasBin: true 1583 | 1584 | test-exclude@7.0.1: 1585 | resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} 1586 | engines: {node: '>=18'} 1587 | 1588 | tinybench@2.9.0: 1589 | resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} 1590 | 1591 | tinyexec@0.3.2: 1592 | resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} 1593 | 1594 | tinyglobby@0.2.14: 1595 | resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} 1596 | engines: {node: '>=12.0.0'} 1597 | 1598 | tinypool@1.1.0: 1599 | resolution: {integrity: sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ==} 1600 | engines: {node: ^18.0.0 || >=20.0.0} 1601 | 1602 | tinyrainbow@2.0.0: 1603 | resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} 1604 | engines: {node: '>=14.0.0'} 1605 | 1606 | tinyspy@4.0.3: 1607 | resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==} 1608 | engines: {node: '>=14.0.0'} 1609 | 1610 | tldts-core@6.1.86: 1611 | resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} 1612 | 1613 | tldts@6.1.86: 1614 | resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==} 1615 | hasBin: true 1616 | 1617 | totalist@3.0.1: 1618 | resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} 1619 | engines: {node: '>=6'} 1620 | 1621 | tough-cookie@5.1.2: 1622 | resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} 1623 | engines: {node: '>=16'} 1624 | 1625 | tr46@5.1.1: 1626 | resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==} 1627 | engines: {node: '>=18'} 1628 | 1629 | type-check@0.4.0: 1630 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1631 | engines: {node: '>= 0.8.0'} 1632 | 1633 | undici-types@6.21.0: 1634 | resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} 1635 | 1636 | update-browserslist-db@1.1.3: 1637 | resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} 1638 | hasBin: true 1639 | peerDependencies: 1640 | browserslist: '>= 4.21.0' 1641 | 1642 | uri-js@4.4.1: 1643 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1644 | 1645 | vite-node@3.2.2: 1646 | resolution: {integrity: sha512-Xj/jovjZvDXOq2FgLXu8NsY4uHUMWtzVmMC2LkCu9HWdr9Qu1Is5sanX3Z4jOFKdohfaWDnEJWp9pRP0vVpAcA==} 1647 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} 1648 | hasBin: true 1649 | 1650 | vite@6.3.5: 1651 | resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} 1652 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} 1653 | hasBin: true 1654 | peerDependencies: 1655 | '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 1656 | jiti: '>=1.21.0' 1657 | less: '*' 1658 | lightningcss: ^1.21.0 1659 | sass: '*' 1660 | sass-embedded: '*' 1661 | stylus: '*' 1662 | sugarss: '*' 1663 | terser: ^5.16.0 1664 | tsx: ^4.8.1 1665 | yaml: ^2.4.2 1666 | peerDependenciesMeta: 1667 | '@types/node': 1668 | optional: true 1669 | jiti: 1670 | optional: true 1671 | less: 1672 | optional: true 1673 | lightningcss: 1674 | optional: true 1675 | sass: 1676 | optional: true 1677 | sass-embedded: 1678 | optional: true 1679 | stylus: 1680 | optional: true 1681 | sugarss: 1682 | optional: true 1683 | terser: 1684 | optional: true 1685 | tsx: 1686 | optional: true 1687 | yaml: 1688 | optional: true 1689 | 1690 | vitest@3.2.2: 1691 | resolution: {integrity: sha512-fyNn/Rp016Bt5qvY0OQvIUCwW2vnaEBLxP42PmKbNIoasSYjML+8xyeADOPvBe+Xfl/ubIw4og7Lt9jflRsCNw==} 1692 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} 1693 | hasBin: true 1694 | peerDependencies: 1695 | '@edge-runtime/vm': '*' 1696 | '@types/debug': ^4.1.12 1697 | '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 1698 | '@vitest/browser': 3.2.2 1699 | '@vitest/ui': 3.2.2 1700 | happy-dom: '*' 1701 | jsdom: '*' 1702 | peerDependenciesMeta: 1703 | '@edge-runtime/vm': 1704 | optional: true 1705 | '@types/debug': 1706 | optional: true 1707 | '@types/node': 1708 | optional: true 1709 | '@vitest/browser': 1710 | optional: true 1711 | '@vitest/ui': 1712 | optional: true 1713 | happy-dom: 1714 | optional: true 1715 | jsdom: 1716 | optional: true 1717 | 1718 | w3c-xmlserializer@5.0.0: 1719 | resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} 1720 | engines: {node: '>=18'} 1721 | 1722 | web-vitals@3.5.2: 1723 | resolution: {integrity: sha512-c0rhqNcHXRkY/ogGDJQxZ9Im9D19hDihbzSQJrsioex+KnFgmMzBiy57Z1EjkhX/+OjyBpclDCzz2ITtjokFmg==} 1724 | 1725 | webidl-conversions@7.0.0: 1726 | resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} 1727 | engines: {node: '>=12'} 1728 | 1729 | whatwg-encoding@3.1.1: 1730 | resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} 1731 | engines: {node: '>=18'} 1732 | 1733 | whatwg-mimetype@4.0.0: 1734 | resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} 1735 | engines: {node: '>=18'} 1736 | 1737 | whatwg-url@14.2.0: 1738 | resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==} 1739 | engines: {node: '>=18'} 1740 | 1741 | which-boxed-primitive@1.1.1: 1742 | resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} 1743 | engines: {node: '>= 0.4'} 1744 | 1745 | which-collection@1.0.2: 1746 | resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} 1747 | engines: {node: '>= 0.4'} 1748 | 1749 | which-typed-array@1.1.19: 1750 | resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} 1751 | engines: {node: '>= 0.4'} 1752 | 1753 | which@2.0.2: 1754 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1755 | engines: {node: '>= 8'} 1756 | hasBin: true 1757 | 1758 | why-is-node-running@2.3.0: 1759 | resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} 1760 | engines: {node: '>=8'} 1761 | hasBin: true 1762 | 1763 | word-wrap@1.2.5: 1764 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 1765 | engines: {node: '>=0.10.0'} 1766 | 1767 | wrap-ansi@7.0.0: 1768 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 1769 | engines: {node: '>=10'} 1770 | 1771 | wrap-ansi@8.1.0: 1772 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 1773 | engines: {node: '>=12'} 1774 | 1775 | ws@8.18.2: 1776 | resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==} 1777 | engines: {node: '>=10.0.0'} 1778 | peerDependencies: 1779 | bufferutil: ^4.0.1 1780 | utf-8-validate: '>=5.0.2' 1781 | peerDependenciesMeta: 1782 | bufferutil: 1783 | optional: true 1784 | utf-8-validate: 1785 | optional: true 1786 | 1787 | xml-name-validator@5.0.0: 1788 | resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} 1789 | engines: {node: '>=18'} 1790 | 1791 | xmlchars@2.2.0: 1792 | resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} 1793 | 1794 | yallist@3.1.1: 1795 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 1796 | 1797 | yaml@2.8.0: 1798 | resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==} 1799 | engines: {node: '>= 14.6'} 1800 | hasBin: true 1801 | 1802 | yocto-queue@0.1.0: 1803 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1804 | engines: {node: '>=10'} 1805 | 1806 | snapshots: 1807 | 1808 | '@adobe/css-tools@4.4.3': {} 1809 | 1810 | '@ampproject/remapping@2.3.0': 1811 | dependencies: 1812 | '@jridgewell/gen-mapping': 0.3.8 1813 | '@jridgewell/trace-mapping': 0.3.25 1814 | 1815 | '@asamuzakjp/css-color@3.2.0': 1816 | dependencies: 1817 | '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) 1818 | '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) 1819 | '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) 1820 | '@csstools/css-tokenizer': 3.0.4 1821 | lru-cache: 10.4.3 1822 | 1823 | '@babel/code-frame@7.27.1': 1824 | dependencies: 1825 | '@babel/helper-validator-identifier': 7.27.1 1826 | js-tokens: 4.0.0 1827 | picocolors: 1.1.1 1828 | 1829 | '@babel/compat-data@7.27.5': {} 1830 | 1831 | '@babel/core@7.27.4': 1832 | dependencies: 1833 | '@ampproject/remapping': 2.3.0 1834 | '@babel/code-frame': 7.27.1 1835 | '@babel/generator': 7.27.5 1836 | '@babel/helper-compilation-targets': 7.27.2 1837 | '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.4) 1838 | '@babel/helpers': 7.27.6 1839 | '@babel/parser': 7.27.5 1840 | '@babel/template': 7.27.2 1841 | '@babel/traverse': 7.27.4 1842 | '@babel/types': 7.27.6 1843 | convert-source-map: 2.0.0 1844 | debug: 4.4.1 1845 | gensync: 1.0.0-beta.2 1846 | json5: 2.2.3 1847 | semver: 6.3.1 1848 | transitivePeerDependencies: 1849 | - supports-color 1850 | 1851 | '@babel/generator@7.27.5': 1852 | dependencies: 1853 | '@babel/parser': 7.27.5 1854 | '@babel/types': 7.27.6 1855 | '@jridgewell/gen-mapping': 0.3.8 1856 | '@jridgewell/trace-mapping': 0.3.25 1857 | jsesc: 3.1.0 1858 | 1859 | '@babel/helper-compilation-targets@7.27.2': 1860 | dependencies: 1861 | '@babel/compat-data': 7.27.5 1862 | '@babel/helper-validator-option': 7.27.1 1863 | browserslist: 4.25.0 1864 | lru-cache: 5.1.1 1865 | semver: 6.3.1 1866 | 1867 | '@babel/helper-module-imports@7.27.1': 1868 | dependencies: 1869 | '@babel/traverse': 7.27.4 1870 | '@babel/types': 7.27.6 1871 | transitivePeerDependencies: 1872 | - supports-color 1873 | 1874 | '@babel/helper-module-transforms@7.27.3(@babel/core@7.27.4)': 1875 | dependencies: 1876 | '@babel/core': 7.27.4 1877 | '@babel/helper-module-imports': 7.27.1 1878 | '@babel/helper-validator-identifier': 7.27.1 1879 | '@babel/traverse': 7.27.4 1880 | transitivePeerDependencies: 1881 | - supports-color 1882 | 1883 | '@babel/helper-plugin-utils@7.27.1': {} 1884 | 1885 | '@babel/helper-string-parser@7.27.1': {} 1886 | 1887 | '@babel/helper-validator-identifier@7.27.1': {} 1888 | 1889 | '@babel/helper-validator-option@7.27.1': {} 1890 | 1891 | '@babel/helpers@7.27.6': 1892 | dependencies: 1893 | '@babel/template': 7.27.2 1894 | '@babel/types': 7.27.6 1895 | 1896 | '@babel/parser@7.27.5': 1897 | dependencies: 1898 | '@babel/types': 7.27.6 1899 | 1900 | '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.27.4)': 1901 | dependencies: 1902 | '@babel/core': 7.27.4 1903 | '@babel/helper-plugin-utils': 7.27.1 1904 | 1905 | '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.27.4)': 1906 | dependencies: 1907 | '@babel/core': 7.27.4 1908 | '@babel/helper-plugin-utils': 7.27.1 1909 | 1910 | '@babel/runtime@7.27.6': {} 1911 | 1912 | '@babel/template@7.27.2': 1913 | dependencies: 1914 | '@babel/code-frame': 7.27.1 1915 | '@babel/parser': 7.27.5 1916 | '@babel/types': 7.27.6 1917 | 1918 | '@babel/traverse@7.27.4': 1919 | dependencies: 1920 | '@babel/code-frame': 7.27.1 1921 | '@babel/generator': 7.27.5 1922 | '@babel/parser': 7.27.5 1923 | '@babel/template': 7.27.2 1924 | '@babel/types': 7.27.6 1925 | debug: 4.4.1 1926 | globals: 11.12.0 1927 | transitivePeerDependencies: 1928 | - supports-color 1929 | 1930 | '@babel/types@7.27.6': 1931 | dependencies: 1932 | '@babel/helper-string-parser': 7.27.1 1933 | '@babel/helper-validator-identifier': 7.27.1 1934 | 1935 | '@bcoe/v8-coverage@1.0.2': {} 1936 | 1937 | '@csstools/color-helpers@5.0.2': {} 1938 | 1939 | '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': 1940 | dependencies: 1941 | '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) 1942 | '@csstools/css-tokenizer': 3.0.4 1943 | 1944 | '@csstools/css-color-parser@3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': 1945 | dependencies: 1946 | '@csstools/color-helpers': 5.0.2 1947 | '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) 1948 | '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) 1949 | '@csstools/css-tokenizer': 3.0.4 1950 | 1951 | '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': 1952 | dependencies: 1953 | '@csstools/css-tokenizer': 3.0.4 1954 | 1955 | '@csstools/css-tokenizer@3.0.4': {} 1956 | 1957 | '@esbuild/aix-ppc64@0.25.5': 1958 | optional: true 1959 | 1960 | '@esbuild/android-arm64@0.25.5': 1961 | optional: true 1962 | 1963 | '@esbuild/android-arm@0.25.5': 1964 | optional: true 1965 | 1966 | '@esbuild/android-x64@0.25.5': 1967 | optional: true 1968 | 1969 | '@esbuild/darwin-arm64@0.25.5': 1970 | optional: true 1971 | 1972 | '@esbuild/darwin-x64@0.25.5': 1973 | optional: true 1974 | 1975 | '@esbuild/freebsd-arm64@0.25.5': 1976 | optional: true 1977 | 1978 | '@esbuild/freebsd-x64@0.25.5': 1979 | optional: true 1980 | 1981 | '@esbuild/linux-arm64@0.25.5': 1982 | optional: true 1983 | 1984 | '@esbuild/linux-arm@0.25.5': 1985 | optional: true 1986 | 1987 | '@esbuild/linux-ia32@0.25.5': 1988 | optional: true 1989 | 1990 | '@esbuild/linux-loong64@0.25.5': 1991 | optional: true 1992 | 1993 | '@esbuild/linux-mips64el@0.25.5': 1994 | optional: true 1995 | 1996 | '@esbuild/linux-ppc64@0.25.5': 1997 | optional: true 1998 | 1999 | '@esbuild/linux-riscv64@0.25.5': 2000 | optional: true 2001 | 2002 | '@esbuild/linux-s390x@0.25.5': 2003 | optional: true 2004 | 2005 | '@esbuild/linux-x64@0.25.5': 2006 | optional: true 2007 | 2008 | '@esbuild/netbsd-arm64@0.25.5': 2009 | optional: true 2010 | 2011 | '@esbuild/netbsd-x64@0.25.5': 2012 | optional: true 2013 | 2014 | '@esbuild/openbsd-arm64@0.25.5': 2015 | optional: true 2016 | 2017 | '@esbuild/openbsd-x64@0.25.5': 2018 | optional: true 2019 | 2020 | '@esbuild/sunos-x64@0.25.5': 2021 | optional: true 2022 | 2023 | '@esbuild/win32-arm64@0.25.5': 2024 | optional: true 2025 | 2026 | '@esbuild/win32-ia32@0.25.5': 2027 | optional: true 2028 | 2029 | '@esbuild/win32-x64@0.25.5': 2030 | optional: true 2031 | 2032 | '@eslint-community/eslint-utils@4.7.0(eslint@9.28.0(jiti@1.21.7))': 2033 | dependencies: 2034 | eslint: 9.28.0(jiti@1.21.7) 2035 | eslint-visitor-keys: 3.4.3 2036 | 2037 | '@eslint-community/regexpp@4.12.1': {} 2038 | 2039 | '@eslint/config-array@0.20.0': 2040 | dependencies: 2041 | '@eslint/object-schema': 2.1.6 2042 | debug: 4.4.1 2043 | minimatch: 3.1.2 2044 | transitivePeerDependencies: 2045 | - supports-color 2046 | 2047 | '@eslint/config-helpers@0.2.2': {} 2048 | 2049 | '@eslint/core@0.14.0': 2050 | dependencies: 2051 | '@types/json-schema': 7.0.15 2052 | 2053 | '@eslint/eslintrc@3.3.1': 2054 | dependencies: 2055 | ajv: 6.12.6 2056 | debug: 4.4.1 2057 | espree: 10.3.0 2058 | globals: 14.0.0 2059 | ignore: 5.3.2 2060 | import-fresh: 3.3.1 2061 | js-yaml: 4.1.0 2062 | minimatch: 3.1.2 2063 | strip-json-comments: 3.1.1 2064 | transitivePeerDependencies: 2065 | - supports-color 2066 | 2067 | '@eslint/js@9.28.0': {} 2068 | 2069 | '@eslint/object-schema@2.1.6': {} 2070 | 2071 | '@eslint/plugin-kit@0.3.1': 2072 | dependencies: 2073 | '@eslint/core': 0.14.0 2074 | levn: 0.4.1 2075 | 2076 | '@humanfs/core@0.19.1': {} 2077 | 2078 | '@humanfs/node@0.16.6': 2079 | dependencies: 2080 | '@humanfs/core': 0.19.1 2081 | '@humanwhocodes/retry': 0.3.1 2082 | 2083 | '@humanwhocodes/module-importer@1.0.1': {} 2084 | 2085 | '@humanwhocodes/retry@0.3.1': {} 2086 | 2087 | '@humanwhocodes/retry@0.4.3': {} 2088 | 2089 | '@isaacs/cliui@8.0.2': 2090 | dependencies: 2091 | string-width: 5.1.2 2092 | string-width-cjs: string-width@4.2.3 2093 | strip-ansi: 7.1.0 2094 | strip-ansi-cjs: strip-ansi@6.0.1 2095 | wrap-ansi: 8.1.0 2096 | wrap-ansi-cjs: wrap-ansi@7.0.0 2097 | 2098 | '@istanbuljs/schema@0.1.3': {} 2099 | 2100 | '@jridgewell/gen-mapping@0.3.8': 2101 | dependencies: 2102 | '@jridgewell/set-array': 1.2.1 2103 | '@jridgewell/sourcemap-codec': 1.5.0 2104 | '@jridgewell/trace-mapping': 0.3.25 2105 | 2106 | '@jridgewell/resolve-uri@3.1.2': {} 2107 | 2108 | '@jridgewell/set-array@1.2.1': {} 2109 | 2110 | '@jridgewell/source-map@0.3.6': 2111 | dependencies: 2112 | '@jridgewell/gen-mapping': 0.3.8 2113 | '@jridgewell/trace-mapping': 0.3.25 2114 | optional: true 2115 | 2116 | '@jridgewell/sourcemap-codec@1.5.0': {} 2117 | 2118 | '@jridgewell/trace-mapping@0.3.25': 2119 | dependencies: 2120 | '@jridgewell/resolve-uri': 3.1.2 2121 | '@jridgewell/sourcemap-codec': 1.5.0 2122 | 2123 | '@pkgjs/parseargs@0.11.0': 2124 | optional: true 2125 | 2126 | '@polka/url@1.0.0-next.29': {} 2127 | 2128 | '@rolldown/pluginutils@1.0.0-beta.9': {} 2129 | 2130 | '@rollup/rollup-android-arm-eabi@4.42.0': 2131 | optional: true 2132 | 2133 | '@rollup/rollup-android-arm64@4.42.0': 2134 | optional: true 2135 | 2136 | '@rollup/rollup-darwin-arm64@4.42.0': 2137 | optional: true 2138 | 2139 | '@rollup/rollup-darwin-x64@4.42.0': 2140 | optional: true 2141 | 2142 | '@rollup/rollup-freebsd-arm64@4.42.0': 2143 | optional: true 2144 | 2145 | '@rollup/rollup-freebsd-x64@4.42.0': 2146 | optional: true 2147 | 2148 | '@rollup/rollup-linux-arm-gnueabihf@4.42.0': 2149 | optional: true 2150 | 2151 | '@rollup/rollup-linux-arm-musleabihf@4.42.0': 2152 | optional: true 2153 | 2154 | '@rollup/rollup-linux-arm64-gnu@4.42.0': 2155 | optional: true 2156 | 2157 | '@rollup/rollup-linux-arm64-musl@4.42.0': 2158 | optional: true 2159 | 2160 | '@rollup/rollup-linux-loongarch64-gnu@4.42.0': 2161 | optional: true 2162 | 2163 | '@rollup/rollup-linux-powerpc64le-gnu@4.42.0': 2164 | optional: true 2165 | 2166 | '@rollup/rollup-linux-riscv64-gnu@4.42.0': 2167 | optional: true 2168 | 2169 | '@rollup/rollup-linux-riscv64-musl@4.42.0': 2170 | optional: true 2171 | 2172 | '@rollup/rollup-linux-s390x-gnu@4.42.0': 2173 | optional: true 2174 | 2175 | '@rollup/rollup-linux-x64-gnu@4.42.0': 2176 | optional: true 2177 | 2178 | '@rollup/rollup-linux-x64-musl@4.42.0': 2179 | optional: true 2180 | 2181 | '@rollup/rollup-win32-arm64-msvc@4.42.0': 2182 | optional: true 2183 | 2184 | '@rollup/rollup-win32-ia32-msvc@4.42.0': 2185 | optional: true 2186 | 2187 | '@rollup/rollup-win32-x64-msvc@4.42.0': 2188 | optional: true 2189 | 2190 | '@testing-library/dom@9.3.4': 2191 | dependencies: 2192 | '@babel/code-frame': 7.27.1 2193 | '@babel/runtime': 7.27.6 2194 | '@types/aria-query': 5.0.4 2195 | aria-query: 5.1.3 2196 | chalk: 4.1.2 2197 | dom-accessibility-api: 0.5.16 2198 | lz-string: 1.5.0 2199 | pretty-format: 27.5.1 2200 | 2201 | '@testing-library/jest-dom@6.6.3': 2202 | dependencies: 2203 | '@adobe/css-tools': 4.4.3 2204 | aria-query: 5.3.2 2205 | chalk: 3.0.0 2206 | css.escape: 1.5.1 2207 | dom-accessibility-api: 0.6.3 2208 | lodash: 4.17.21 2209 | redent: 3.0.0 2210 | 2211 | '@testing-library/react@14.3.1(@types/react@19.1.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2212 | dependencies: 2213 | '@babel/runtime': 7.27.6 2214 | '@testing-library/dom': 9.3.4 2215 | '@types/react-dom': 18.3.7(@types/react@19.1.6) 2216 | react: 18.3.1 2217 | react-dom: 18.3.1(react@18.3.1) 2218 | transitivePeerDependencies: 2219 | - '@types/react' 2220 | 2221 | '@testing-library/user-event@14.6.1(@testing-library/dom@9.3.4)': 2222 | dependencies: 2223 | '@testing-library/dom': 9.3.4 2224 | 2225 | '@types/aria-query@5.0.4': {} 2226 | 2227 | '@types/babel__core@7.20.5': 2228 | dependencies: 2229 | '@babel/parser': 7.27.5 2230 | '@babel/types': 7.27.6 2231 | '@types/babel__generator': 7.27.0 2232 | '@types/babel__template': 7.4.4 2233 | '@types/babel__traverse': 7.20.7 2234 | 2235 | '@types/babel__generator@7.27.0': 2236 | dependencies: 2237 | '@babel/types': 7.27.6 2238 | 2239 | '@types/babel__template@7.4.4': 2240 | dependencies: 2241 | '@babel/parser': 7.27.5 2242 | '@babel/types': 7.27.6 2243 | 2244 | '@types/babel__traverse@7.20.7': 2245 | dependencies: 2246 | '@babel/types': 7.27.6 2247 | 2248 | '@types/chai@5.2.2': 2249 | dependencies: 2250 | '@types/deep-eql': 4.0.2 2251 | 2252 | '@types/deep-eql@4.0.2': {} 2253 | 2254 | '@types/estree@1.0.7': {} 2255 | 2256 | '@types/estree@1.0.8': {} 2257 | 2258 | '@types/json-schema@7.0.15': {} 2259 | 2260 | '@types/node@22.15.30': 2261 | dependencies: 2262 | undici-types: 6.21.0 2263 | optional: true 2264 | 2265 | '@types/react-dom@18.3.7(@types/react@19.1.6)': 2266 | dependencies: 2267 | '@types/react': 19.1.6 2268 | 2269 | '@types/react-dom@19.1.6(@types/react@19.1.6)': 2270 | dependencies: 2271 | '@types/react': 19.1.6 2272 | 2273 | '@types/react@19.1.6': 2274 | dependencies: 2275 | csstype: 3.1.3 2276 | 2277 | '@vitejs/plugin-react@4.5.1(vite@6.3.5(@types/node@22.15.30)(jiti@1.21.7)(terser@5.41.0)(yaml@2.8.0))': 2278 | dependencies: 2279 | '@babel/core': 7.27.4 2280 | '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.27.4) 2281 | '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.27.4) 2282 | '@rolldown/pluginutils': 1.0.0-beta.9 2283 | '@types/babel__core': 7.20.5 2284 | react-refresh: 0.17.0 2285 | vite: 6.3.5(@types/node@22.15.30)(jiti@1.21.7)(terser@5.41.0)(yaml@2.8.0) 2286 | transitivePeerDependencies: 2287 | - supports-color 2288 | 2289 | '@vitest/coverage-v8@3.2.2(vitest@3.2.2)': 2290 | dependencies: 2291 | '@ampproject/remapping': 2.3.0 2292 | '@bcoe/v8-coverage': 1.0.2 2293 | ast-v8-to-istanbul: 0.3.3 2294 | debug: 4.4.1 2295 | istanbul-lib-coverage: 3.2.2 2296 | istanbul-lib-report: 3.0.1 2297 | istanbul-lib-source-maps: 5.0.6 2298 | istanbul-reports: 3.1.7 2299 | magic-string: 0.30.17 2300 | magicast: 0.3.5 2301 | std-env: 3.9.0 2302 | test-exclude: 7.0.1 2303 | tinyrainbow: 2.0.0 2304 | vitest: 3.2.2(@types/node@22.15.30)(@vitest/ui@3.2.2)(jiti@1.21.7)(jsdom@26.1.0)(terser@5.41.0)(yaml@2.8.0) 2305 | transitivePeerDependencies: 2306 | - supports-color 2307 | 2308 | '@vitest/expect@3.2.2': 2309 | dependencies: 2310 | '@types/chai': 5.2.2 2311 | '@vitest/spy': 3.2.2 2312 | '@vitest/utils': 3.2.2 2313 | chai: 5.2.0 2314 | tinyrainbow: 2.0.0 2315 | 2316 | '@vitest/mocker@3.2.2(vite@6.3.5(@types/node@22.15.30)(jiti@1.21.7)(terser@5.41.0)(yaml@2.8.0))': 2317 | dependencies: 2318 | '@vitest/spy': 3.2.2 2319 | estree-walker: 3.0.3 2320 | magic-string: 0.30.17 2321 | optionalDependencies: 2322 | vite: 6.3.5(@types/node@22.15.30)(jiti@1.21.7)(terser@5.41.0)(yaml@2.8.0) 2323 | 2324 | '@vitest/pretty-format@3.2.2': 2325 | dependencies: 2326 | tinyrainbow: 2.0.0 2327 | 2328 | '@vitest/runner@3.2.2': 2329 | dependencies: 2330 | '@vitest/utils': 3.2.2 2331 | pathe: 2.0.3 2332 | 2333 | '@vitest/snapshot@3.2.2': 2334 | dependencies: 2335 | '@vitest/pretty-format': 3.2.2 2336 | magic-string: 0.30.17 2337 | pathe: 2.0.3 2338 | 2339 | '@vitest/spy@3.2.2': 2340 | dependencies: 2341 | tinyspy: 4.0.3 2342 | 2343 | '@vitest/ui@3.2.2(vitest@3.2.2)': 2344 | dependencies: 2345 | '@vitest/utils': 3.2.2 2346 | fflate: 0.8.2 2347 | flatted: 3.3.3 2348 | pathe: 2.0.3 2349 | sirv: 3.0.1 2350 | tinyglobby: 0.2.14 2351 | tinyrainbow: 2.0.0 2352 | vitest: 3.2.2(@types/node@22.15.30)(@vitest/ui@3.2.2)(jiti@1.21.7)(jsdom@26.1.0)(terser@5.41.0)(yaml@2.8.0) 2353 | 2354 | '@vitest/utils@3.2.2': 2355 | dependencies: 2356 | '@vitest/pretty-format': 3.2.2 2357 | loupe: 3.1.3 2358 | tinyrainbow: 2.0.0 2359 | 2360 | acorn-jsx@5.3.2(acorn@8.14.1): 2361 | dependencies: 2362 | acorn: 8.14.1 2363 | 2364 | acorn@8.14.1: {} 2365 | 2366 | agent-base@7.1.3: {} 2367 | 2368 | ajv@6.12.6: 2369 | dependencies: 2370 | fast-deep-equal: 3.1.3 2371 | fast-json-stable-stringify: 2.1.0 2372 | json-schema-traverse: 0.4.1 2373 | uri-js: 4.4.1 2374 | 2375 | ansi-regex@5.0.1: {} 2376 | 2377 | ansi-regex@6.1.0: {} 2378 | 2379 | ansi-styles@4.3.0: 2380 | dependencies: 2381 | color-convert: 2.0.1 2382 | 2383 | ansi-styles@5.2.0: {} 2384 | 2385 | ansi-styles@6.2.1: {} 2386 | 2387 | argparse@2.0.1: {} 2388 | 2389 | aria-query@5.1.3: 2390 | dependencies: 2391 | deep-equal: 2.2.3 2392 | 2393 | aria-query@5.3.2: {} 2394 | 2395 | array-buffer-byte-length@1.0.2: 2396 | dependencies: 2397 | call-bound: 1.0.4 2398 | is-array-buffer: 3.0.5 2399 | 2400 | assertion-error@2.0.1: {} 2401 | 2402 | ast-v8-to-istanbul@0.3.3: 2403 | dependencies: 2404 | '@jridgewell/trace-mapping': 0.3.25 2405 | estree-walker: 3.0.3 2406 | js-tokens: 9.0.1 2407 | 2408 | available-typed-arrays@1.0.7: 2409 | dependencies: 2410 | possible-typed-array-names: 1.1.0 2411 | 2412 | balanced-match@1.0.2: {} 2413 | 2414 | brace-expansion@1.1.11: 2415 | dependencies: 2416 | balanced-match: 1.0.2 2417 | concat-map: 0.0.1 2418 | 2419 | brace-expansion@2.0.1: 2420 | dependencies: 2421 | balanced-match: 1.0.2 2422 | 2423 | browserslist@4.25.0: 2424 | dependencies: 2425 | caniuse-lite: 1.0.30001721 2426 | electron-to-chromium: 1.5.165 2427 | node-releases: 2.0.19 2428 | update-browserslist-db: 1.1.3(browserslist@4.25.0) 2429 | 2430 | buffer-from@1.1.2: 2431 | optional: true 2432 | 2433 | cac@6.7.14: {} 2434 | 2435 | call-bind-apply-helpers@1.0.2: 2436 | dependencies: 2437 | es-errors: 1.3.0 2438 | function-bind: 1.1.2 2439 | 2440 | call-bind@1.0.8: 2441 | dependencies: 2442 | call-bind-apply-helpers: 1.0.2 2443 | es-define-property: 1.0.1 2444 | get-intrinsic: 1.3.0 2445 | set-function-length: 1.2.2 2446 | 2447 | call-bound@1.0.4: 2448 | dependencies: 2449 | call-bind-apply-helpers: 1.0.2 2450 | get-intrinsic: 1.3.0 2451 | 2452 | callsites@3.1.0: {} 2453 | 2454 | caniuse-lite@1.0.30001721: {} 2455 | 2456 | chai@5.2.0: 2457 | dependencies: 2458 | assertion-error: 2.0.1 2459 | check-error: 2.1.1 2460 | deep-eql: 5.0.2 2461 | loupe: 3.1.3 2462 | pathval: 2.0.0 2463 | 2464 | chalk@3.0.0: 2465 | dependencies: 2466 | ansi-styles: 4.3.0 2467 | supports-color: 7.2.0 2468 | 2469 | chalk@4.1.2: 2470 | dependencies: 2471 | ansi-styles: 4.3.0 2472 | supports-color: 7.2.0 2473 | 2474 | check-error@2.1.1: {} 2475 | 2476 | color-convert@2.0.1: 2477 | dependencies: 2478 | color-name: 1.1.4 2479 | 2480 | color-name@1.1.4: {} 2481 | 2482 | commander@2.20.3: 2483 | optional: true 2484 | 2485 | concat-map@0.0.1: {} 2486 | 2487 | convert-source-map@2.0.0: {} 2488 | 2489 | cross-spawn@7.0.6: 2490 | dependencies: 2491 | path-key: 3.1.1 2492 | shebang-command: 2.0.0 2493 | which: 2.0.2 2494 | 2495 | css.escape@1.5.1: {} 2496 | 2497 | cssstyle@4.3.1: 2498 | dependencies: 2499 | '@asamuzakjp/css-color': 3.2.0 2500 | rrweb-cssom: 0.8.0 2501 | 2502 | csstype@3.1.3: {} 2503 | 2504 | data-urls@5.0.0: 2505 | dependencies: 2506 | whatwg-mimetype: 4.0.0 2507 | whatwg-url: 14.2.0 2508 | 2509 | debug@4.4.1: 2510 | dependencies: 2511 | ms: 2.1.3 2512 | 2513 | decimal.js@10.5.0: {} 2514 | 2515 | deep-eql@5.0.2: {} 2516 | 2517 | deep-equal@2.2.3: 2518 | dependencies: 2519 | array-buffer-byte-length: 1.0.2 2520 | call-bind: 1.0.8 2521 | es-get-iterator: 1.1.3 2522 | get-intrinsic: 1.3.0 2523 | is-arguments: 1.2.0 2524 | is-array-buffer: 3.0.5 2525 | is-date-object: 1.1.0 2526 | is-regex: 1.2.1 2527 | is-shared-array-buffer: 1.0.4 2528 | isarray: 2.0.5 2529 | object-is: 1.1.6 2530 | object-keys: 1.1.1 2531 | object.assign: 4.1.7 2532 | regexp.prototype.flags: 1.5.4 2533 | side-channel: 1.1.0 2534 | which-boxed-primitive: 1.1.1 2535 | which-collection: 1.0.2 2536 | which-typed-array: 1.1.19 2537 | 2538 | deep-is@0.1.4: {} 2539 | 2540 | define-data-property@1.1.4: 2541 | dependencies: 2542 | es-define-property: 1.0.1 2543 | es-errors: 1.3.0 2544 | gopd: 1.2.0 2545 | 2546 | define-properties@1.2.1: 2547 | dependencies: 2548 | define-data-property: 1.1.4 2549 | has-property-descriptors: 1.0.2 2550 | object-keys: 1.1.1 2551 | 2552 | dom-accessibility-api@0.5.16: {} 2553 | 2554 | dom-accessibility-api@0.6.3: {} 2555 | 2556 | dunder-proto@1.0.1: 2557 | dependencies: 2558 | call-bind-apply-helpers: 1.0.2 2559 | es-errors: 1.3.0 2560 | gopd: 1.2.0 2561 | 2562 | eastasianwidth@0.2.0: {} 2563 | 2564 | electron-to-chromium@1.5.165: {} 2565 | 2566 | emoji-regex@8.0.0: {} 2567 | 2568 | emoji-regex@9.2.2: {} 2569 | 2570 | entities@6.0.0: {} 2571 | 2572 | es-define-property@1.0.1: {} 2573 | 2574 | es-errors@1.3.0: {} 2575 | 2576 | es-get-iterator@1.1.3: 2577 | dependencies: 2578 | call-bind: 1.0.8 2579 | get-intrinsic: 1.3.0 2580 | has-symbols: 1.1.0 2581 | is-arguments: 1.2.0 2582 | is-map: 2.0.3 2583 | is-set: 2.0.3 2584 | is-string: 1.1.1 2585 | isarray: 2.0.5 2586 | stop-iteration-iterator: 1.1.0 2587 | 2588 | es-module-lexer@1.7.0: {} 2589 | 2590 | es-object-atoms@1.1.1: 2591 | dependencies: 2592 | es-errors: 1.3.0 2593 | 2594 | esbuild@0.25.5: 2595 | optionalDependencies: 2596 | '@esbuild/aix-ppc64': 0.25.5 2597 | '@esbuild/android-arm': 0.25.5 2598 | '@esbuild/android-arm64': 0.25.5 2599 | '@esbuild/android-x64': 0.25.5 2600 | '@esbuild/darwin-arm64': 0.25.5 2601 | '@esbuild/darwin-x64': 0.25.5 2602 | '@esbuild/freebsd-arm64': 0.25.5 2603 | '@esbuild/freebsd-x64': 0.25.5 2604 | '@esbuild/linux-arm': 0.25.5 2605 | '@esbuild/linux-arm64': 0.25.5 2606 | '@esbuild/linux-ia32': 0.25.5 2607 | '@esbuild/linux-loong64': 0.25.5 2608 | '@esbuild/linux-mips64el': 0.25.5 2609 | '@esbuild/linux-ppc64': 0.25.5 2610 | '@esbuild/linux-riscv64': 0.25.5 2611 | '@esbuild/linux-s390x': 0.25.5 2612 | '@esbuild/linux-x64': 0.25.5 2613 | '@esbuild/netbsd-arm64': 0.25.5 2614 | '@esbuild/netbsd-x64': 0.25.5 2615 | '@esbuild/openbsd-arm64': 0.25.5 2616 | '@esbuild/openbsd-x64': 0.25.5 2617 | '@esbuild/sunos-x64': 0.25.5 2618 | '@esbuild/win32-arm64': 0.25.5 2619 | '@esbuild/win32-ia32': 0.25.5 2620 | '@esbuild/win32-x64': 0.25.5 2621 | 2622 | escalade@3.2.0: {} 2623 | 2624 | escape-string-regexp@4.0.0: {} 2625 | 2626 | eslint-plugin-react-hooks@5.2.0(eslint@9.28.0(jiti@1.21.7)): 2627 | dependencies: 2628 | eslint: 9.28.0(jiti@1.21.7) 2629 | 2630 | eslint-plugin-react-refresh@0.4.20(eslint@9.28.0(jiti@1.21.7)): 2631 | dependencies: 2632 | eslint: 9.28.0(jiti@1.21.7) 2633 | 2634 | eslint-scope@8.3.0: 2635 | dependencies: 2636 | esrecurse: 4.3.0 2637 | estraverse: 5.3.0 2638 | 2639 | eslint-visitor-keys@3.4.3: {} 2640 | 2641 | eslint-visitor-keys@4.2.0: {} 2642 | 2643 | eslint@9.28.0(jiti@1.21.7): 2644 | dependencies: 2645 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@1.21.7)) 2646 | '@eslint-community/regexpp': 4.12.1 2647 | '@eslint/config-array': 0.20.0 2648 | '@eslint/config-helpers': 0.2.2 2649 | '@eslint/core': 0.14.0 2650 | '@eslint/eslintrc': 3.3.1 2651 | '@eslint/js': 9.28.0 2652 | '@eslint/plugin-kit': 0.3.1 2653 | '@humanfs/node': 0.16.6 2654 | '@humanwhocodes/module-importer': 1.0.1 2655 | '@humanwhocodes/retry': 0.4.3 2656 | '@types/estree': 1.0.8 2657 | '@types/json-schema': 7.0.15 2658 | ajv: 6.12.6 2659 | chalk: 4.1.2 2660 | cross-spawn: 7.0.6 2661 | debug: 4.4.1 2662 | escape-string-regexp: 4.0.0 2663 | eslint-scope: 8.3.0 2664 | eslint-visitor-keys: 4.2.0 2665 | espree: 10.3.0 2666 | esquery: 1.6.0 2667 | esutils: 2.0.3 2668 | fast-deep-equal: 3.1.3 2669 | file-entry-cache: 8.0.0 2670 | find-up: 5.0.0 2671 | glob-parent: 6.0.2 2672 | ignore: 5.3.2 2673 | imurmurhash: 0.1.4 2674 | is-glob: 4.0.3 2675 | json-stable-stringify-without-jsonify: 1.0.1 2676 | lodash.merge: 4.6.2 2677 | minimatch: 3.1.2 2678 | natural-compare: 1.4.0 2679 | optionator: 0.9.4 2680 | optionalDependencies: 2681 | jiti: 1.21.7 2682 | transitivePeerDependencies: 2683 | - supports-color 2684 | 2685 | espree@10.3.0: 2686 | dependencies: 2687 | acorn: 8.14.1 2688 | acorn-jsx: 5.3.2(acorn@8.14.1) 2689 | eslint-visitor-keys: 4.2.0 2690 | 2691 | esquery@1.6.0: 2692 | dependencies: 2693 | estraverse: 5.3.0 2694 | 2695 | esrecurse@4.3.0: 2696 | dependencies: 2697 | estraverse: 5.3.0 2698 | 2699 | estraverse@5.3.0: {} 2700 | 2701 | estree-walker@3.0.3: 2702 | dependencies: 2703 | '@types/estree': 1.0.8 2704 | 2705 | esutils@2.0.3: {} 2706 | 2707 | expect-type@1.2.1: {} 2708 | 2709 | fast-deep-equal@3.1.3: {} 2710 | 2711 | fast-json-stable-stringify@2.1.0: {} 2712 | 2713 | fast-levenshtein@2.0.6: {} 2714 | 2715 | fdir@6.4.5(picomatch@4.0.2): 2716 | optionalDependencies: 2717 | picomatch: 4.0.2 2718 | 2719 | fflate@0.8.2: {} 2720 | 2721 | file-entry-cache@8.0.0: 2722 | dependencies: 2723 | flat-cache: 4.0.1 2724 | 2725 | find-up@5.0.0: 2726 | dependencies: 2727 | locate-path: 6.0.0 2728 | path-exists: 4.0.0 2729 | 2730 | flat-cache@4.0.1: 2731 | dependencies: 2732 | flatted: 3.3.3 2733 | keyv: 4.5.4 2734 | 2735 | flatted@3.3.3: {} 2736 | 2737 | for-each@0.3.5: 2738 | dependencies: 2739 | is-callable: 1.2.7 2740 | 2741 | foreground-child@3.3.1: 2742 | dependencies: 2743 | cross-spawn: 7.0.6 2744 | signal-exit: 4.1.0 2745 | 2746 | fsevents@2.3.3: 2747 | optional: true 2748 | 2749 | function-bind@1.1.2: {} 2750 | 2751 | functions-have-names@1.2.3: {} 2752 | 2753 | gensync@1.0.0-beta.2: {} 2754 | 2755 | get-intrinsic@1.3.0: 2756 | dependencies: 2757 | call-bind-apply-helpers: 1.0.2 2758 | es-define-property: 1.0.1 2759 | es-errors: 1.3.0 2760 | es-object-atoms: 1.1.1 2761 | function-bind: 1.1.2 2762 | get-proto: 1.0.1 2763 | gopd: 1.2.0 2764 | has-symbols: 1.1.0 2765 | hasown: 2.0.2 2766 | math-intrinsics: 1.1.0 2767 | 2768 | get-proto@1.0.1: 2769 | dependencies: 2770 | dunder-proto: 1.0.1 2771 | es-object-atoms: 1.1.1 2772 | 2773 | glob-parent@6.0.2: 2774 | dependencies: 2775 | is-glob: 4.0.3 2776 | 2777 | glob@10.4.5: 2778 | dependencies: 2779 | foreground-child: 3.3.1 2780 | jackspeak: 3.4.3 2781 | minimatch: 9.0.5 2782 | minipass: 7.1.2 2783 | package-json-from-dist: 1.0.1 2784 | path-scurry: 1.11.1 2785 | 2786 | globals@11.12.0: {} 2787 | 2788 | globals@14.0.0: {} 2789 | 2790 | globals@16.2.0: {} 2791 | 2792 | gopd@1.2.0: {} 2793 | 2794 | has-bigints@1.1.0: {} 2795 | 2796 | has-flag@4.0.0: {} 2797 | 2798 | has-property-descriptors@1.0.2: 2799 | dependencies: 2800 | es-define-property: 1.0.1 2801 | 2802 | has-symbols@1.1.0: {} 2803 | 2804 | has-tostringtag@1.0.2: 2805 | dependencies: 2806 | has-symbols: 1.1.0 2807 | 2808 | hasown@2.0.2: 2809 | dependencies: 2810 | function-bind: 1.1.2 2811 | 2812 | html-encoding-sniffer@4.0.0: 2813 | dependencies: 2814 | whatwg-encoding: 3.1.1 2815 | 2816 | html-escaper@2.0.2: {} 2817 | 2818 | http-proxy-agent@7.0.2: 2819 | dependencies: 2820 | agent-base: 7.1.3 2821 | debug: 4.4.1 2822 | transitivePeerDependencies: 2823 | - supports-color 2824 | 2825 | https-proxy-agent@7.0.6: 2826 | dependencies: 2827 | agent-base: 7.1.3 2828 | debug: 4.4.1 2829 | transitivePeerDependencies: 2830 | - supports-color 2831 | 2832 | iconv-lite@0.6.3: 2833 | dependencies: 2834 | safer-buffer: 2.1.2 2835 | 2836 | ignore@5.3.2: {} 2837 | 2838 | import-fresh@3.3.1: 2839 | dependencies: 2840 | parent-module: 1.0.1 2841 | resolve-from: 4.0.0 2842 | 2843 | imurmurhash@0.1.4: {} 2844 | 2845 | indent-string@4.0.0: {} 2846 | 2847 | internal-slot@1.1.0: 2848 | dependencies: 2849 | es-errors: 1.3.0 2850 | hasown: 2.0.2 2851 | side-channel: 1.1.0 2852 | 2853 | is-arguments@1.2.0: 2854 | dependencies: 2855 | call-bound: 1.0.4 2856 | has-tostringtag: 1.0.2 2857 | 2858 | is-array-buffer@3.0.5: 2859 | dependencies: 2860 | call-bind: 1.0.8 2861 | call-bound: 1.0.4 2862 | get-intrinsic: 1.3.0 2863 | 2864 | is-bigint@1.1.0: 2865 | dependencies: 2866 | has-bigints: 1.1.0 2867 | 2868 | is-boolean-object@1.2.2: 2869 | dependencies: 2870 | call-bound: 1.0.4 2871 | has-tostringtag: 1.0.2 2872 | 2873 | is-callable@1.2.7: {} 2874 | 2875 | is-date-object@1.1.0: 2876 | dependencies: 2877 | call-bound: 1.0.4 2878 | has-tostringtag: 1.0.2 2879 | 2880 | is-extglob@2.1.1: {} 2881 | 2882 | is-fullwidth-code-point@3.0.0: {} 2883 | 2884 | is-glob@4.0.3: 2885 | dependencies: 2886 | is-extglob: 2.1.1 2887 | 2888 | is-map@2.0.3: {} 2889 | 2890 | is-number-object@1.1.1: 2891 | dependencies: 2892 | call-bound: 1.0.4 2893 | has-tostringtag: 1.0.2 2894 | 2895 | is-potential-custom-element-name@1.0.1: {} 2896 | 2897 | is-regex@1.2.1: 2898 | dependencies: 2899 | call-bound: 1.0.4 2900 | gopd: 1.2.0 2901 | has-tostringtag: 1.0.2 2902 | hasown: 2.0.2 2903 | 2904 | is-set@2.0.3: {} 2905 | 2906 | is-shared-array-buffer@1.0.4: 2907 | dependencies: 2908 | call-bound: 1.0.4 2909 | 2910 | is-string@1.1.1: 2911 | dependencies: 2912 | call-bound: 1.0.4 2913 | has-tostringtag: 1.0.2 2914 | 2915 | is-symbol@1.1.1: 2916 | dependencies: 2917 | call-bound: 1.0.4 2918 | has-symbols: 1.1.0 2919 | safe-regex-test: 1.1.0 2920 | 2921 | is-weakmap@2.0.2: {} 2922 | 2923 | is-weakset@2.0.4: 2924 | dependencies: 2925 | call-bound: 1.0.4 2926 | get-intrinsic: 1.3.0 2927 | 2928 | isarray@2.0.5: {} 2929 | 2930 | isexe@2.0.0: {} 2931 | 2932 | istanbul-lib-coverage@3.2.2: {} 2933 | 2934 | istanbul-lib-report@3.0.1: 2935 | dependencies: 2936 | istanbul-lib-coverage: 3.2.2 2937 | make-dir: 4.0.0 2938 | supports-color: 7.2.0 2939 | 2940 | istanbul-lib-source-maps@5.0.6: 2941 | dependencies: 2942 | '@jridgewell/trace-mapping': 0.3.25 2943 | debug: 4.4.1 2944 | istanbul-lib-coverage: 3.2.2 2945 | transitivePeerDependencies: 2946 | - supports-color 2947 | 2948 | istanbul-reports@3.1.7: 2949 | dependencies: 2950 | html-escaper: 2.0.2 2951 | istanbul-lib-report: 3.0.1 2952 | 2953 | jackspeak@3.4.3: 2954 | dependencies: 2955 | '@isaacs/cliui': 8.0.2 2956 | optionalDependencies: 2957 | '@pkgjs/parseargs': 0.11.0 2958 | 2959 | jiti@1.21.7: 2960 | optional: true 2961 | 2962 | js-tokens@4.0.0: {} 2963 | 2964 | js-tokens@9.0.1: {} 2965 | 2966 | js-yaml@4.1.0: 2967 | dependencies: 2968 | argparse: 2.0.1 2969 | 2970 | jsdom@26.1.0: 2971 | dependencies: 2972 | cssstyle: 4.3.1 2973 | data-urls: 5.0.0 2974 | decimal.js: 10.5.0 2975 | html-encoding-sniffer: 4.0.0 2976 | http-proxy-agent: 7.0.2 2977 | https-proxy-agent: 7.0.6 2978 | is-potential-custom-element-name: 1.0.1 2979 | nwsapi: 2.2.20 2980 | parse5: 7.3.0 2981 | rrweb-cssom: 0.8.0 2982 | saxes: 6.0.0 2983 | symbol-tree: 3.2.4 2984 | tough-cookie: 5.1.2 2985 | w3c-xmlserializer: 5.0.0 2986 | webidl-conversions: 7.0.0 2987 | whatwg-encoding: 3.1.1 2988 | whatwg-mimetype: 4.0.0 2989 | whatwg-url: 14.2.0 2990 | ws: 8.18.2 2991 | xml-name-validator: 5.0.0 2992 | transitivePeerDependencies: 2993 | - bufferutil 2994 | - supports-color 2995 | - utf-8-validate 2996 | 2997 | jsesc@3.1.0: {} 2998 | 2999 | json-buffer@3.0.1: {} 3000 | 3001 | json-schema-traverse@0.4.1: {} 3002 | 3003 | json-stable-stringify-without-jsonify@1.0.1: {} 3004 | 3005 | json5@2.2.3: {} 3006 | 3007 | keyv@4.5.4: 3008 | dependencies: 3009 | json-buffer: 3.0.1 3010 | 3011 | levn@0.4.1: 3012 | dependencies: 3013 | prelude-ls: 1.2.1 3014 | type-check: 0.4.0 3015 | 3016 | locate-path@6.0.0: 3017 | dependencies: 3018 | p-locate: 5.0.0 3019 | 3020 | lodash.merge@4.6.2: {} 3021 | 3022 | lodash@4.17.21: {} 3023 | 3024 | loose-envify@1.4.0: 3025 | dependencies: 3026 | js-tokens: 4.0.0 3027 | 3028 | loupe@3.1.3: {} 3029 | 3030 | lru-cache@10.4.3: {} 3031 | 3032 | lru-cache@5.1.1: 3033 | dependencies: 3034 | yallist: 3.1.1 3035 | 3036 | lz-string@1.5.0: {} 3037 | 3038 | magic-string@0.30.17: 3039 | dependencies: 3040 | '@jridgewell/sourcemap-codec': 1.5.0 3041 | 3042 | magicast@0.3.5: 3043 | dependencies: 3044 | '@babel/parser': 7.27.5 3045 | '@babel/types': 7.27.6 3046 | source-map-js: 1.2.1 3047 | 3048 | make-dir@4.0.0: 3049 | dependencies: 3050 | semver: 7.7.2 3051 | 3052 | math-intrinsics@1.1.0: {} 3053 | 3054 | min-indent@1.0.1: {} 3055 | 3056 | minimatch@3.1.2: 3057 | dependencies: 3058 | brace-expansion: 1.1.11 3059 | 3060 | minimatch@9.0.5: 3061 | dependencies: 3062 | brace-expansion: 2.0.1 3063 | 3064 | minipass@7.1.2: {} 3065 | 3066 | mrmime@2.0.1: {} 3067 | 3068 | ms@2.1.3: {} 3069 | 3070 | nanoid@3.3.11: {} 3071 | 3072 | natural-compare@1.4.0: {} 3073 | 3074 | node-releases@2.0.19: {} 3075 | 3076 | nwsapi@2.2.20: {} 3077 | 3078 | object-inspect@1.13.4: {} 3079 | 3080 | object-is@1.1.6: 3081 | dependencies: 3082 | call-bind: 1.0.8 3083 | define-properties: 1.2.1 3084 | 3085 | object-keys@1.1.1: {} 3086 | 3087 | object.assign@4.1.7: 3088 | dependencies: 3089 | call-bind: 1.0.8 3090 | call-bound: 1.0.4 3091 | define-properties: 1.2.1 3092 | es-object-atoms: 1.1.1 3093 | has-symbols: 1.1.0 3094 | object-keys: 1.1.1 3095 | 3096 | optionator@0.9.4: 3097 | dependencies: 3098 | deep-is: 0.1.4 3099 | fast-levenshtein: 2.0.6 3100 | levn: 0.4.1 3101 | prelude-ls: 1.2.1 3102 | type-check: 0.4.0 3103 | word-wrap: 1.2.5 3104 | 3105 | p-limit@3.1.0: 3106 | dependencies: 3107 | yocto-queue: 0.1.0 3108 | 3109 | p-locate@5.0.0: 3110 | dependencies: 3111 | p-limit: 3.1.0 3112 | 3113 | package-json-from-dist@1.0.1: {} 3114 | 3115 | parent-module@1.0.1: 3116 | dependencies: 3117 | callsites: 3.1.0 3118 | 3119 | parse5@7.3.0: 3120 | dependencies: 3121 | entities: 6.0.0 3122 | 3123 | path-exists@4.0.0: {} 3124 | 3125 | path-key@3.1.1: {} 3126 | 3127 | path-scurry@1.11.1: 3128 | dependencies: 3129 | lru-cache: 10.4.3 3130 | minipass: 7.1.2 3131 | 3132 | pathe@2.0.3: {} 3133 | 3134 | pathval@2.0.0: {} 3135 | 3136 | picocolors@1.1.1: {} 3137 | 3138 | picomatch@4.0.2: {} 3139 | 3140 | possible-typed-array-names@1.1.0: {} 3141 | 3142 | postcss@8.5.4: 3143 | dependencies: 3144 | nanoid: 3.3.11 3145 | picocolors: 1.1.1 3146 | source-map-js: 1.2.1 3147 | 3148 | prelude-ls@1.2.1: {} 3149 | 3150 | pretty-format@27.5.1: 3151 | dependencies: 3152 | ansi-regex: 5.0.1 3153 | ansi-styles: 5.2.0 3154 | react-is: 17.0.2 3155 | 3156 | punycode@2.3.1: {} 3157 | 3158 | react-dom@18.3.1(react@18.3.1): 3159 | dependencies: 3160 | loose-envify: 1.4.0 3161 | react: 18.3.1 3162 | scheduler: 0.23.2 3163 | 3164 | react-is@17.0.2: {} 3165 | 3166 | react-refresh@0.17.0: {} 3167 | 3168 | react@18.3.1: 3169 | dependencies: 3170 | loose-envify: 1.4.0 3171 | 3172 | redent@3.0.0: 3173 | dependencies: 3174 | indent-string: 4.0.0 3175 | strip-indent: 3.0.0 3176 | 3177 | regexp.prototype.flags@1.5.4: 3178 | dependencies: 3179 | call-bind: 1.0.8 3180 | define-properties: 1.2.1 3181 | es-errors: 1.3.0 3182 | get-proto: 1.0.1 3183 | gopd: 1.2.0 3184 | set-function-name: 2.0.2 3185 | 3186 | resolve-from@4.0.0: {} 3187 | 3188 | rollup@4.42.0: 3189 | dependencies: 3190 | '@types/estree': 1.0.7 3191 | optionalDependencies: 3192 | '@rollup/rollup-android-arm-eabi': 4.42.0 3193 | '@rollup/rollup-android-arm64': 4.42.0 3194 | '@rollup/rollup-darwin-arm64': 4.42.0 3195 | '@rollup/rollup-darwin-x64': 4.42.0 3196 | '@rollup/rollup-freebsd-arm64': 4.42.0 3197 | '@rollup/rollup-freebsd-x64': 4.42.0 3198 | '@rollup/rollup-linux-arm-gnueabihf': 4.42.0 3199 | '@rollup/rollup-linux-arm-musleabihf': 4.42.0 3200 | '@rollup/rollup-linux-arm64-gnu': 4.42.0 3201 | '@rollup/rollup-linux-arm64-musl': 4.42.0 3202 | '@rollup/rollup-linux-loongarch64-gnu': 4.42.0 3203 | '@rollup/rollup-linux-powerpc64le-gnu': 4.42.0 3204 | '@rollup/rollup-linux-riscv64-gnu': 4.42.0 3205 | '@rollup/rollup-linux-riscv64-musl': 4.42.0 3206 | '@rollup/rollup-linux-s390x-gnu': 4.42.0 3207 | '@rollup/rollup-linux-x64-gnu': 4.42.0 3208 | '@rollup/rollup-linux-x64-musl': 4.42.0 3209 | '@rollup/rollup-win32-arm64-msvc': 4.42.0 3210 | '@rollup/rollup-win32-ia32-msvc': 4.42.0 3211 | '@rollup/rollup-win32-x64-msvc': 4.42.0 3212 | fsevents: 2.3.3 3213 | 3214 | rrweb-cssom@0.8.0: {} 3215 | 3216 | safe-regex-test@1.1.0: 3217 | dependencies: 3218 | call-bound: 1.0.4 3219 | es-errors: 1.3.0 3220 | is-regex: 1.2.1 3221 | 3222 | safer-buffer@2.1.2: {} 3223 | 3224 | saxes@6.0.0: 3225 | dependencies: 3226 | xmlchars: 2.2.0 3227 | 3228 | scheduler@0.23.2: 3229 | dependencies: 3230 | loose-envify: 1.4.0 3231 | 3232 | semver@6.3.1: {} 3233 | 3234 | semver@7.7.2: {} 3235 | 3236 | set-function-length@1.2.2: 3237 | dependencies: 3238 | define-data-property: 1.1.4 3239 | es-errors: 1.3.0 3240 | function-bind: 1.1.2 3241 | get-intrinsic: 1.3.0 3242 | gopd: 1.2.0 3243 | has-property-descriptors: 1.0.2 3244 | 3245 | set-function-name@2.0.2: 3246 | dependencies: 3247 | define-data-property: 1.1.4 3248 | es-errors: 1.3.0 3249 | functions-have-names: 1.2.3 3250 | has-property-descriptors: 1.0.2 3251 | 3252 | shebang-command@2.0.0: 3253 | dependencies: 3254 | shebang-regex: 3.0.0 3255 | 3256 | shebang-regex@3.0.0: {} 3257 | 3258 | side-channel-list@1.0.0: 3259 | dependencies: 3260 | es-errors: 1.3.0 3261 | object-inspect: 1.13.4 3262 | 3263 | side-channel-map@1.0.1: 3264 | dependencies: 3265 | call-bound: 1.0.4 3266 | es-errors: 1.3.0 3267 | get-intrinsic: 1.3.0 3268 | object-inspect: 1.13.4 3269 | 3270 | side-channel-weakmap@1.0.2: 3271 | dependencies: 3272 | call-bound: 1.0.4 3273 | es-errors: 1.3.0 3274 | get-intrinsic: 1.3.0 3275 | object-inspect: 1.13.4 3276 | side-channel-map: 1.0.1 3277 | 3278 | side-channel@1.1.0: 3279 | dependencies: 3280 | es-errors: 1.3.0 3281 | object-inspect: 1.13.4 3282 | side-channel-list: 1.0.0 3283 | side-channel-map: 1.0.1 3284 | side-channel-weakmap: 1.0.2 3285 | 3286 | siginfo@2.0.0: {} 3287 | 3288 | signal-exit@4.1.0: {} 3289 | 3290 | sirv@3.0.1: 3291 | dependencies: 3292 | '@polka/url': 1.0.0-next.29 3293 | mrmime: 2.0.1 3294 | totalist: 3.0.1 3295 | 3296 | source-map-js@1.2.1: {} 3297 | 3298 | source-map-support@0.5.21: 3299 | dependencies: 3300 | buffer-from: 1.1.2 3301 | source-map: 0.6.1 3302 | optional: true 3303 | 3304 | source-map@0.6.1: 3305 | optional: true 3306 | 3307 | stackback@0.0.2: {} 3308 | 3309 | std-env@3.9.0: {} 3310 | 3311 | stop-iteration-iterator@1.1.0: 3312 | dependencies: 3313 | es-errors: 1.3.0 3314 | internal-slot: 1.1.0 3315 | 3316 | string-width@4.2.3: 3317 | dependencies: 3318 | emoji-regex: 8.0.0 3319 | is-fullwidth-code-point: 3.0.0 3320 | strip-ansi: 6.0.1 3321 | 3322 | string-width@5.1.2: 3323 | dependencies: 3324 | eastasianwidth: 0.2.0 3325 | emoji-regex: 9.2.2 3326 | strip-ansi: 7.1.0 3327 | 3328 | strip-ansi@6.0.1: 3329 | dependencies: 3330 | ansi-regex: 5.0.1 3331 | 3332 | strip-ansi@7.1.0: 3333 | dependencies: 3334 | ansi-regex: 6.1.0 3335 | 3336 | strip-indent@3.0.0: 3337 | dependencies: 3338 | min-indent: 1.0.1 3339 | 3340 | strip-json-comments@3.1.1: {} 3341 | 3342 | supports-color@7.2.0: 3343 | dependencies: 3344 | has-flag: 4.0.0 3345 | 3346 | symbol-tree@3.2.4: {} 3347 | 3348 | terser@5.41.0: 3349 | dependencies: 3350 | '@jridgewell/source-map': 0.3.6 3351 | acorn: 8.14.1 3352 | commander: 2.20.3 3353 | source-map-support: 0.5.21 3354 | optional: true 3355 | 3356 | test-exclude@7.0.1: 3357 | dependencies: 3358 | '@istanbuljs/schema': 0.1.3 3359 | glob: 10.4.5 3360 | minimatch: 9.0.5 3361 | 3362 | tinybench@2.9.0: {} 3363 | 3364 | tinyexec@0.3.2: {} 3365 | 3366 | tinyglobby@0.2.14: 3367 | dependencies: 3368 | fdir: 6.4.5(picomatch@4.0.2) 3369 | picomatch: 4.0.2 3370 | 3371 | tinypool@1.1.0: {} 3372 | 3373 | tinyrainbow@2.0.0: {} 3374 | 3375 | tinyspy@4.0.3: {} 3376 | 3377 | tldts-core@6.1.86: {} 3378 | 3379 | tldts@6.1.86: 3380 | dependencies: 3381 | tldts-core: 6.1.86 3382 | 3383 | totalist@3.0.1: {} 3384 | 3385 | tough-cookie@5.1.2: 3386 | dependencies: 3387 | tldts: 6.1.86 3388 | 3389 | tr46@5.1.1: 3390 | dependencies: 3391 | punycode: 2.3.1 3392 | 3393 | type-check@0.4.0: 3394 | dependencies: 3395 | prelude-ls: 1.2.1 3396 | 3397 | undici-types@6.21.0: 3398 | optional: true 3399 | 3400 | update-browserslist-db@1.1.3(browserslist@4.25.0): 3401 | dependencies: 3402 | browserslist: 4.25.0 3403 | escalade: 3.2.0 3404 | picocolors: 1.1.1 3405 | 3406 | uri-js@4.4.1: 3407 | dependencies: 3408 | punycode: 2.3.1 3409 | 3410 | vite-node@3.2.2(@types/node@22.15.30)(jiti@1.21.7)(terser@5.41.0)(yaml@2.8.0): 3411 | dependencies: 3412 | cac: 6.7.14 3413 | debug: 4.4.1 3414 | es-module-lexer: 1.7.0 3415 | pathe: 2.0.3 3416 | vite: 6.3.5(@types/node@22.15.30)(jiti@1.21.7)(terser@5.41.0)(yaml@2.8.0) 3417 | transitivePeerDependencies: 3418 | - '@types/node' 3419 | - jiti 3420 | - less 3421 | - lightningcss 3422 | - sass 3423 | - sass-embedded 3424 | - stylus 3425 | - sugarss 3426 | - supports-color 3427 | - terser 3428 | - tsx 3429 | - yaml 3430 | 3431 | vite@6.3.5(@types/node@22.15.30)(jiti@1.21.7)(terser@5.41.0)(yaml@2.8.0): 3432 | dependencies: 3433 | esbuild: 0.25.5 3434 | fdir: 6.4.5(picomatch@4.0.2) 3435 | picomatch: 4.0.2 3436 | postcss: 8.5.4 3437 | rollup: 4.42.0 3438 | tinyglobby: 0.2.14 3439 | optionalDependencies: 3440 | '@types/node': 22.15.30 3441 | fsevents: 2.3.3 3442 | jiti: 1.21.7 3443 | terser: 5.41.0 3444 | yaml: 2.8.0 3445 | 3446 | vitest@3.2.2(@types/node@22.15.30)(@vitest/ui@3.2.2)(jiti@1.21.7)(jsdom@26.1.0)(terser@5.41.0)(yaml@2.8.0): 3447 | dependencies: 3448 | '@types/chai': 5.2.2 3449 | '@vitest/expect': 3.2.2 3450 | '@vitest/mocker': 3.2.2(vite@6.3.5(@types/node@22.15.30)(jiti@1.21.7)(terser@5.41.0)(yaml@2.8.0)) 3451 | '@vitest/pretty-format': 3.2.2 3452 | '@vitest/runner': 3.2.2 3453 | '@vitest/snapshot': 3.2.2 3454 | '@vitest/spy': 3.2.2 3455 | '@vitest/utils': 3.2.2 3456 | chai: 5.2.0 3457 | debug: 4.4.1 3458 | expect-type: 1.2.1 3459 | magic-string: 0.30.17 3460 | pathe: 2.0.3 3461 | picomatch: 4.0.2 3462 | std-env: 3.9.0 3463 | tinybench: 2.9.0 3464 | tinyexec: 0.3.2 3465 | tinyglobby: 0.2.14 3466 | tinypool: 1.1.0 3467 | tinyrainbow: 2.0.0 3468 | vite: 6.3.5(@types/node@22.15.30)(jiti@1.21.7)(terser@5.41.0)(yaml@2.8.0) 3469 | vite-node: 3.2.2(@types/node@22.15.30)(jiti@1.21.7)(terser@5.41.0)(yaml@2.8.0) 3470 | why-is-node-running: 2.3.0 3471 | optionalDependencies: 3472 | '@types/node': 22.15.30 3473 | '@vitest/ui': 3.2.2(vitest@3.2.2) 3474 | jsdom: 26.1.0 3475 | transitivePeerDependencies: 3476 | - jiti 3477 | - less 3478 | - lightningcss 3479 | - msw 3480 | - sass 3481 | - sass-embedded 3482 | - stylus 3483 | - sugarss 3484 | - supports-color 3485 | - terser 3486 | - tsx 3487 | - yaml 3488 | 3489 | w3c-xmlserializer@5.0.0: 3490 | dependencies: 3491 | xml-name-validator: 5.0.0 3492 | 3493 | web-vitals@3.5.2: {} 3494 | 3495 | webidl-conversions@7.0.0: {} 3496 | 3497 | whatwg-encoding@3.1.1: 3498 | dependencies: 3499 | iconv-lite: 0.6.3 3500 | 3501 | whatwg-mimetype@4.0.0: {} 3502 | 3503 | whatwg-url@14.2.0: 3504 | dependencies: 3505 | tr46: 5.1.1 3506 | webidl-conversions: 7.0.0 3507 | 3508 | which-boxed-primitive@1.1.1: 3509 | dependencies: 3510 | is-bigint: 1.1.0 3511 | is-boolean-object: 1.2.2 3512 | is-number-object: 1.1.1 3513 | is-string: 1.1.1 3514 | is-symbol: 1.1.1 3515 | 3516 | which-collection@1.0.2: 3517 | dependencies: 3518 | is-map: 2.0.3 3519 | is-set: 2.0.3 3520 | is-weakmap: 2.0.2 3521 | is-weakset: 2.0.4 3522 | 3523 | which-typed-array@1.1.19: 3524 | dependencies: 3525 | available-typed-arrays: 1.0.7 3526 | call-bind: 1.0.8 3527 | call-bound: 1.0.4 3528 | for-each: 0.3.5 3529 | get-proto: 1.0.1 3530 | gopd: 1.2.0 3531 | has-tostringtag: 1.0.2 3532 | 3533 | which@2.0.2: 3534 | dependencies: 3535 | isexe: 2.0.0 3536 | 3537 | why-is-node-running@2.3.0: 3538 | dependencies: 3539 | siginfo: 2.0.0 3540 | stackback: 0.0.2 3541 | 3542 | word-wrap@1.2.5: {} 3543 | 3544 | wrap-ansi@7.0.0: 3545 | dependencies: 3546 | ansi-styles: 4.3.0 3547 | string-width: 4.2.3 3548 | strip-ansi: 6.0.1 3549 | 3550 | wrap-ansi@8.1.0: 3551 | dependencies: 3552 | ansi-styles: 6.2.1 3553 | string-width: 5.1.2 3554 | strip-ansi: 7.1.0 3555 | 3556 | ws@8.18.2: {} 3557 | 3558 | xml-name-validator@5.0.0: {} 3559 | 3560 | xmlchars@2.2.0: {} 3561 | 3562 | yallist@3.1.1: {} 3563 | 3564 | yaml@2.8.0: 3565 | optional: true 3566 | 3567 | yocto-queue@0.1.0: {} 3568 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | ignoredBuiltDependencies: 2 | - esbuild 3 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Real-Dev-Squad/react-tests-tdd/0148327af9765f1a9b172c256a5baa2546ee4755/public/favicon.ico -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React 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 | } 26 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /src/App.css: -------------------------------------------------------------------------------- 1 | .App { 2 | text-align: center; 3 | } 4 | 5 | .App-logo { 6 | height: 40vmin; 7 | pointer-events: none; 8 | } 9 | 10 | @media (prefers-reduced-motion: no-preference) { 11 | .App-logo { 12 | animation: App-logo-spin infinite 20s linear; 13 | } 14 | } 15 | 16 | .App-header { 17 | background-color: #282c34; 18 | min-height: 100vh; 19 | display: flex; 20 | flex-direction: column; 21 | align-items: center; 22 | justify-content: center; 23 | font-size: calc(10px + 2vmin); 24 | color: white; 25 | } 26 | 27 | .App-link { 28 | color: #61dafb; 29 | } 30 | 31 | @keyframes App-logo-spin { 32 | from { 33 | transform: rotate(0deg); 34 | } 35 | to { 36 | transform: rotate(360deg); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/App.jsx: -------------------------------------------------------------------------------- 1 | import './App.css'; 2 | import StarbucksInput from './components/starbucks-input'; 3 | 4 | /** 5 | * Renders the main application layout with a header, instructional text, a link to React documentation, and the {@link StarbucksInput} component. 6 | * 7 | * @returns {JSX.Element} The root JSX element for the application. 8 | */ 9 | function App() { 10 | return ( 11 |
12 |
13 |

14 | Edit src/App.jsx and save to reload. 15 |

16 | 22 | Learn React 23 | 24 | 25 |
26 |
27 | ); 28 | } 29 | 30 | export default App; 31 | -------------------------------------------------------------------------------- /src/App.test.jsx: -------------------------------------------------------------------------------- 1 | import { render, screen } from '@testing-library/react'; 2 | import App from './App.jsx'; 3 | 4 | test('renders learn react link', () => { 5 | render(); 6 | const linkElement = screen.getByText(/learn react/i); 7 | expect(linkElement).toBeInTheDocument(); 8 | }); 9 | -------------------------------------------------------------------------------- /src/Documentation/1. Introduction_to_testing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Real-Dev-Squad/react-tests-tdd/0148327af9765f1a9b172c256a5baa2546ee4755/src/Documentation/1. Introduction_to_testing.md -------------------------------------------------------------------------------- /src/Documentation/2. Testing_strategy.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Real-Dev-Squad/react-tests-tdd/0148327af9765f1a9b172c256a5baa2546ee4755/src/Documentation/2. Testing_strategy.md -------------------------------------------------------------------------------- /src/Documentation/3. Project_walkthrough.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Real-Dev-Squad/react-tests-tdd/0148327af9765f1a9b172c256a5baa2546ee4755/src/Documentation/3. Project_walkthrough.md -------------------------------------------------------------------------------- /src/Documentation/4. Testing_props.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Real-Dev-Squad/react-tests-tdd/0148327af9765f1a9b172c256a5baa2546ee4755/src/Documentation/4. Testing_props.md -------------------------------------------------------------------------------- /src/components/starbucks-input/index.jsx: -------------------------------------------------------------------------------- 1 | /** 2 | * A placeholder React component that renders nothing. 3 | * 4 | * Intended for future implementation; currently returns an empty fragment. 5 | */ 6 | export default function StarbucksInput() { 7 | return <>; 8 | } 9 | -------------------------------------------------------------------------------- /src/components/starbucks-input/index.spec.jsx: -------------------------------------------------------------------------------- 1 | import StarbucksInput from './index.jsx'; 2 | import { render, screen } from '@testing-library/react'; 3 | import userEvent from '@testing-library/user-event'; 4 | import { vi } from 'vitest'; 5 | 6 | describe.skip('starbucks input tests', () => { 7 | test('it renders input component', async () => { 8 | // Assemble 9 | const elName = 'nickname'; 10 | 11 | render(); 12 | 13 | // Act 14 | const sbInput = screen.getByRole('textbox', { name: /nickname/i }); 15 | 16 | // Assert 17 | expect(sbInput).toBeInTheDocument(); 18 | }); 19 | 20 | test('it responds with updated input', async () => { 21 | // Assemble 22 | const elName = 'nickname'; 23 | const currentVal = 'Ank'; 24 | const nextChar = 'u'; 25 | const expectedString = `${currentVal}${nextChar}`; 26 | 27 | const onChangeStub = vi.fn(); 28 | 29 | // Act 30 | render(); 31 | 32 | const sbInput = screen.getByRole('textbox', { name: /nickname/i }); 33 | 34 | await userEvent.type(sbInput, nextChar); 35 | 36 | // Assert 37 | expect(onChangeStub).toHaveBeenCalledTimes(1); 38 | expect(onChangeStub).toHaveBeenLastCalledWith(expectedString); 39 | }); 40 | 41 | test('it renders error correctly', async () => { 42 | // Assemble 43 | const error = 'Please provide valid star wars name'; 44 | 45 | render(); 46 | 47 | const sbError = screen.getByText(error) 48 | 49 | // Assert 50 | expect(sbError).toBeInTheDocument(); 51 | }); 52 | }) 53 | -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', 5 | sans-serif; 6 | -webkit-font-smoothing: antialiased; 7 | -moz-osx-font-smoothing: grayscale; 8 | } 9 | 10 | code { 11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', 12 | monospace; 13 | } 14 | -------------------------------------------------------------------------------- /src/index.jsx: -------------------------------------------------------------------------------- 1 | import { createRoot } from 'react-dom/client'; 2 | import './index.css'; 3 | import App from './App'; 4 | import reportWebVitals from './reportWebVitals'; 5 | 6 | const container = document.getElementById('root'); 7 | const root = createRoot(container); 8 | root.render(); 9 | 10 | // If you want to start measuring performance in your app, pass a function 11 | // to log results (for example: reportWebVitals(console.log)) 12 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals 13 | reportWebVitals(); 14 | -------------------------------------------------------------------------------- /src/reportWebVitals.js: -------------------------------------------------------------------------------- 1 | const reportWebVitals = onPerfEntry => { 2 | if (onPerfEntry && onPerfEntry instanceof Function) { 3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { 4 | getCLS(onPerfEntry); 5 | getFID(onPerfEntry); 6 | getFCP(onPerfEntry); 7 | getLCP(onPerfEntry); 8 | getTTFB(onPerfEntry); 9 | }); 10 | } 11 | }; 12 | 13 | export default reportWebVitals; 14 | -------------------------------------------------------------------------------- /src/setupTests.js: -------------------------------------------------------------------------------- 1 | // jest-dom adds custom jest matchers for asserting on DOM nodes. 2 | // allows you to do things like: 3 | // expect(element).toHaveTextContent(/react/i) 4 | // learn more: https://github.com/testing-library/jest-dom 5 | import '@testing-library/jest-dom'; 6 | -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import react from '@vitejs/plugin-react' 3 | 4 | export default defineConfig({ 5 | plugins: [react()], 6 | root: './', 7 | build: { 8 | outDir: 'dist', 9 | rollupOptions: { 10 | input: '/src/index.jsx', // Explicit entry point 11 | }, 12 | }, 13 | server: { 14 | port: 5173, 15 | open: true, 16 | host: true, // Allow external connections 17 | }, 18 | resolve: { 19 | alias: { 20 | '@': '/src' 21 | } 22 | }, 23 | // Add this for better error reporting 24 | esbuild: { 25 | jsxInject: `import React from 'react'`, // Auto-import React if needed 26 | } 27 | }); -------------------------------------------------------------------------------- /vitest.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vitest/config' 2 | import react from '@vitejs/plugin-react' 3 | 4 | export default defineConfig({ 5 | plugins: [react()], 6 | test: { 7 | environment: 'jsdom', 8 | globals: true, 9 | setupFiles: ['./src/setupTests.js'], 10 | coverage: { 11 | exclude: [ 12 | 'src/setupTests.js', 13 | 'src/reportWebVitals.js', 14 | '**/*.config.js', 15 | ] 16 | } 17 | }, 18 | }) --------------------------------------------------------------------------------