├── .node-version ├── .husky ├── pre-commit └── commit-msg ├── .npmrc ├── .prettierignore ├── src ├── vite-env.d.ts ├── assets │ └── profile.png ├── components │ ├── Separator │ │ ├── Separator.css │ │ └── Separator.tsx │ ├── Title │ │ ├── Title.tsx │ │ └── Title.css │ ├── Bubble │ │ ├── Bubble.tsx │ │ └── Bubble.css │ ├── Profile │ │ ├── ProfileLink │ │ │ ├── ProfileLink.css │ │ │ └── ProfileLink.tsx │ │ ├── ProfileImage │ │ │ ├── ProfileImage.css │ │ │ └── ProfileImage.tsx │ │ ├── ProfileLanguages │ │ │ ├── ProfileLanguages.css │ │ │ └── ProfileLanguages.tsx │ │ ├── Profile.css │ │ └── Profile.tsx │ ├── Header │ │ ├── Header.css │ │ └── Header.tsx │ └── Category │ │ ├── Category.css │ │ └── Category.tsx ├── App.css ├── main.tsx ├── index.css ├── hooks │ └── useProfilePicture.ts ├── App.tsx ├── data.json └── normalize.css ├── .lintstagedrc.json ├── .prettierrc.json ├── vite.config.ts ├── tsconfig.node.json ├── index.html ├── .commitlintrc.ts ├── .gitignore ├── .eslintrc.cjs ├── tsconfig.json ├── LICENSE ├── pdf.ts ├── package.json ├── .github └── workflows │ └── ci.yml ├── README.md └── pnpm-lock.yaml /.node-version: -------------------------------------------------------------------------------- 1 | 22.16.0 2 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | lint-staged 2 | -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- 1 | commitlint --edit $1 2 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | registry=https://registry.npmjs.org/ 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Ignore artifacts: 2 | build 3 | coverage -------------------------------------------------------------------------------- /src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /src/assets/profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alcpereira/cv-generator/HEAD/src/assets/profile.png -------------------------------------------------------------------------------- /.lintstagedrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "*.{js,jsx,ts,tsx,json,css,md,mdx,html,yml,yaml}": ["prettier --write"] 3 | } 4 | -------------------------------------------------------------------------------- /src/components/Separator/Separator.css: -------------------------------------------------------------------------------- 1 | .separator { 2 | height: 1px; 3 | width: 100%; 4 | background-color: var(--color-neutral-200); 5 | } 6 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "tabWidth": 2, 3 | "printWidth": 80, 4 | "proseWrap": "never", 5 | "trailingComma": "all", 6 | "singleQuote": false, 7 | "semi": true 8 | } 9 | -------------------------------------------------------------------------------- /src/components/Title/Title.tsx: -------------------------------------------------------------------------------- 1 | import "./Title.css"; 2 | 3 | const Title = ({ text }: { text: string }) => { 4 | return {text}; 5 | }; 6 | 7 | export default Title; 8 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import react from "@vitejs/plugin-react"; 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()], 7 | }); 8 | -------------------------------------------------------------------------------- /src/components/Bubble/Bubble.tsx: -------------------------------------------------------------------------------- 1 | import "./Bubble.css"; 2 | 3 | const Bubble = ({ text }: { text: string }) => { 4 | return {text}; 5 | }; 6 | 7 | export default Bubble; 8 | -------------------------------------------------------------------------------- /src/components/Bubble/Bubble.css: -------------------------------------------------------------------------------- 1 | .bubble { 2 | border: 1px solid var(--color-neutral-400); 3 | color: var(--color-neutral-400); 4 | padding: 0.125em 0.75em; 5 | border-radius: 1.5em; 6 | flex-shrink: 0; 7 | } 8 | -------------------------------------------------------------------------------- /src/components/Title/Title.css: -------------------------------------------------------------------------------- 1 | .title { 2 | background-color: var(--color-primary-500); 3 | color: var(--color-neutral-100); 4 | padding: 0.25em 0.5em; 5 | border-radius: 0.5em; 6 | text-transform: uppercase; 7 | font-weight: 700; 8 | } 9 | -------------------------------------------------------------------------------- /tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "skipLibCheck": true, 5 | "module": "ESNext", 6 | "moduleResolution": "bundler", 7 | "allowSyntheticDefaultImports": true, 8 | "strict": true 9 | }, 10 | "include": ["vite.config.ts"] 11 | } 12 | -------------------------------------------------------------------------------- /src/App.css: -------------------------------------------------------------------------------- 1 | .app__container { 2 | padding: 2em; 3 | display: flex; 4 | flex-direction: column; 5 | gap: 1.1em; 6 | } 7 | 8 | .app__body { 9 | display: flex; 10 | gap: 2em; 11 | } 12 | 13 | .app__body-left { 14 | flex: 0.7; 15 | } 16 | 17 | .app__body-right { 18 | flex: 0.3; 19 | } 20 | -------------------------------------------------------------------------------- /src/components/Profile/ProfileLink/ProfileLink.css: -------------------------------------------------------------------------------- 1 | .profile__header__link { 2 | padding: 0.125em; 3 | 4 | a { 5 | text-decoration: none; 6 | color: inherit; 7 | display: flex; 8 | align-items: center; 9 | gap: 0.5em; 10 | } 11 | 12 | span { 13 | font-size: 14px; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/components/Profile/ProfileImage/ProfileImage.css: -------------------------------------------------------------------------------- 1 | .profile__header__image img { 2 | height: 150px; 3 | overflow: hidden; 4 | } 5 | 6 | .profile__header__image__circular img { 7 | border-radius: 9999px; 8 | } 9 | 10 | .profile__header__image__border img { 11 | border: 3px solid var(--color-primary-500); 12 | } 13 | -------------------------------------------------------------------------------- /src/main.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import ReactDOM from "react-dom/client"; 3 | import App from "./App.tsx"; 4 | import "./index.css"; 5 | import "./normalize.css"; 6 | 7 | ReactDOM.createRoot(document.getElementById("root")!).render( 8 | 9 | 10 | , 11 | ); 12 | -------------------------------------------------------------------------------- /src/components/Separator/Separator.tsx: -------------------------------------------------------------------------------- 1 | import "./Separator.css"; 2 | 3 | const Separator = ({ 4 | marginTop = 10, 5 | marginBottom = 10, 6 | }: { 7 | marginTop?: number; 8 | marginBottom?: number; 9 | }) => { 10 | return
; 11 | }; 12 | 13 | export default Separator; 14 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite + React + TS 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/components/Header/Header.css: -------------------------------------------------------------------------------- 1 | .header__container { 2 | display: flex; 3 | flex-direction: column; 4 | align-items: center; 5 | text-align: center; 6 | } 7 | 8 | .header__lines > p { 9 | margin: 0; 10 | color: var(--color-neutral-400); 11 | font-size: 20px; 12 | line-height: 1.3; 13 | } 14 | 15 | .header__name { 16 | font-family: "Sacramento", cursive; 17 | line-height: 1.1; 18 | margin: 0; 19 | font-size: 80px; 20 | } 21 | -------------------------------------------------------------------------------- /src/components/Profile/ProfileLanguages/ProfileLanguages.css: -------------------------------------------------------------------------------- 1 | .profile__languages-language { 2 | display: flex; 3 | gap: 0.75em; 4 | font-size: 14px; 5 | } 6 | 7 | .profile__languages-abb { 8 | font-weight: 600; 9 | font-family: monospace; 10 | } 11 | 12 | .profile__languages-level { 13 | color: var(--color-neutral-400); 14 | } 15 | 16 | .profile__languages-container { 17 | display: grid; 18 | grid-template-columns: repeat(2, 1fr); 19 | column-gap: 1.5em; 20 | } 21 | -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css2?family=Sacramento&display=swap"); 2 | 3 | :root { 4 | font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; 5 | line-height: 1.5; 6 | font-weight: 400; 7 | -print-color-adjust: exact; 8 | 9 | --color-primary-500: rgb(167, 67, 67); 10 | --color-neutral-100: rgb(255, 255, 255); 11 | --color-neutral-200: rgb(94, 90, 94, 0.3); 12 | --color-neutral-400: rgb(94, 90, 94); 13 | --color-neutral-900: rgb(20, 20, 20); 14 | } 15 | -------------------------------------------------------------------------------- /.commitlintrc.ts: -------------------------------------------------------------------------------- 1 | import type { UserConfig } from "@commitlint/types"; 2 | 3 | const Configuration: UserConfig = { 4 | extends: ["@commitlint/config-conventional"], 5 | helpUrl: `Please refer to the 'Conventional Commits' section in the README. 6 | You can look at 'Conventional Commits' official docs: https://www.conventionalcommits.org/en/ 7 | Here is popular cheat sheet: https://kapeli.com/cheat_sheets/Conventional_Commits.docset/Contents/Resources/Documents/index`, 8 | }; 9 | 10 | export default Configuration; 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | 26 | # Project related 27 | output.pdf 28 | src/assets/profile.* 29 | # Negative glob pattern to ignore example 30 | !src/assets/profile.example.png 31 | src/data.json 32 | -------------------------------------------------------------------------------- /src/components/Header/Header.tsx: -------------------------------------------------------------------------------- 1 | import Separator from "../Separator/Separator"; 2 | import "./Header.css"; 3 | 4 | type HeaderProps = { 5 | name: string; 6 | resume: string[]; 7 | }; 8 | 9 | const Header = ({ name, resume }: HeaderProps) => { 10 | return ( 11 | <> 12 |
13 |

{name}

14 |
15 | {resume.map((line, index) => ( 16 |

{line}

17 | ))} 18 |
19 |
20 | 21 | 22 | ); 23 | }; 24 | 25 | export default Header; 26 | -------------------------------------------------------------------------------- /.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { browser: true, es2020: true }, 4 | extends: [ 5 | "eslint:recommended", 6 | "plugin:@typescript-eslint/recommended", 7 | "plugin:react/recommended", 8 | "plugin:react/jsx-runtime", 9 | "plugin:react-hooks/recommended", 10 | "prettier", 11 | ], 12 | ignorePatterns: ["dist", ".eslintrc.cjs"], 13 | parser: "@typescript-eslint/parser", 14 | plugins: ["react-refresh"], 15 | rules: { 16 | "react-refresh/only-export-components": [ 17 | "warn", 18 | { allowConstantExport: true }, 19 | ], 20 | }, 21 | settings: { 22 | react: { 23 | version: "detect", 24 | }, 25 | }, 26 | }; 27 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "useDefineForClassFields": true, 5 | "lib": ["ES2020", "DOM", "DOM.Iterable"], 6 | "module": "ESNext", 7 | "skipLibCheck": true, 8 | 9 | /* Bundler mode */ 10 | "moduleResolution": "bundler", 11 | "allowImportingTsExtensions": true, 12 | "resolveJsonModule": true, 13 | "isolatedModules": true, 14 | "noEmit": true, 15 | "jsx": "react-jsx", 16 | 17 | /* Linting */ 18 | "strict": true, 19 | "noUnusedLocals": true, 20 | "noUnusedParameters": true, 21 | "noFallthroughCasesInSwitch": true 22 | }, 23 | "include": ["src"], 24 | "references": [{ "path": "./tsconfig.node.json" }] 25 | } 26 | -------------------------------------------------------------------------------- /src/hooks/useProfilePicture.ts: -------------------------------------------------------------------------------- 1 | import { useState, useEffect } from "react"; 2 | 3 | const useProfilePicture = (): string | null => { 4 | const [profilePicture, setProfilePicture] = useState(null); 5 | 6 | useEffect(() => { 7 | const loadProfilePicture = async () => { 8 | const extensions = ["png", "jpeg", "jpg", "gif", "webp", "svg"]; 9 | for (const extension of extensions) { 10 | try { 11 | const module = await import(`../assets/profile.${extension}`); 12 | setProfilePicture(module.default); 13 | break; 14 | } catch (error) { 15 | // Ignore error and try next extension 16 | } 17 | } 18 | }; 19 | 20 | loadProfilePicture(); 21 | }, []); 22 | 23 | return profilePicture; 24 | }; 25 | 26 | export default useProfilePicture; 27 | -------------------------------------------------------------------------------- /src/components/Category/Category.css: -------------------------------------------------------------------------------- 1 | .category { 2 | display: flex; 3 | flex-direction: column; 4 | align-items: flex-start; 5 | gap: 12px; 6 | } 7 | 8 | .category__title { 9 | font-weight: 700; 10 | font-size: 18px; 11 | } 12 | .category__subtitle { 13 | font-size: 14px; 14 | font-weight: 500; 15 | } 16 | 17 | .category__data { 18 | display: flex; 19 | flex-direction: column; 20 | gap: 5px; 21 | } 22 | 23 | .category__bubbles { 24 | display: flex; 25 | gap: 0.5em; 26 | font-size: 12px; 27 | } 28 | 29 | .category__lines { 30 | display: flex; 31 | flex-direction: column; 32 | list-style: none; 33 | padding: 0; 34 | margin: 0; 35 | 36 | li { 37 | font-size: 14px; 38 | } 39 | } 40 | 41 | .category__bulletPoints { 42 | list-style-type: disc; 43 | list-style-position: outside; 44 | margin-left: 1em; 45 | } 46 | -------------------------------------------------------------------------------- /src/components/Profile/ProfileImage/ProfileImage.tsx: -------------------------------------------------------------------------------- 1 | import useProfilePicture from "../../../hooks/useProfilePicture"; 2 | import clsx from "clsx"; 3 | import "./ProfileImage.css"; 4 | 5 | type ImageOptions = { 6 | circular?: boolean; 7 | border?: boolean; 8 | }; 9 | 10 | const ProfileImage = (options: ImageOptions = {}) => { 11 | const profilePicture = useProfilePicture(); 12 | 13 | const profilePictureClasses = clsx( 14 | "profile__header__image", 15 | { profile__header__image__circular: options.circular }, 16 | { profile__header__image__border: options.border }, 17 | ); 18 | 19 | return ( 20 | <> 21 | {profilePicture && ( 22 |
23 | Profile 24 |
25 | )} 26 | 27 | ); 28 | }; 29 | 30 | export default ProfileImage; 31 | -------------------------------------------------------------------------------- /src/App.tsx: -------------------------------------------------------------------------------- 1 | import data from "./data.json"; 2 | import "./App.css"; 3 | 4 | import Category from "./components/Category/Category"; 5 | import Header from "./components/Header/Header"; 6 | import Profile from "./components/Profile/Profile"; 7 | 8 | function App() { 9 | return ( 10 |
11 |
12 |
13 |
21 | 22 | {data?.projects?.length > 0 && } 23 |
24 |
25 | 26 |
27 |
28 |
29 | ); 30 | } 31 | 32 | export default App; 33 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 100devs 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. -------------------------------------------------------------------------------- /pdf.ts: -------------------------------------------------------------------------------- 1 | import puppeteer from "puppeteer"; 2 | import { writeFileSync } from "node:fs"; 3 | import { fileURLToPath } from "node:url"; 4 | import { createServer } from "vite"; 5 | 6 | (async () => { 7 | const __dirname = fileURLToPath(new URL(".", import.meta.url)); 8 | 9 | console.log("⏳ Starting Vite server"); 10 | const server = await createServer({ 11 | configFile: "vite.config.ts", 12 | root: __dirname, 13 | }); 14 | await server.listen(); 15 | 16 | console.log("🐾 Opening Puppeteer"); 17 | const browser = await puppeteer.launch(); 18 | const page = await browser.newPage(); 19 | 20 | await page.goto(server.resolvedUrls?.local[0] as string, { 21 | waitUntil: "networkidle0", 22 | }); 23 | 24 | console.log("🖨️ Generating PDF"); 25 | const pdf = await page.pdf({ 26 | format: "A4", 27 | margin: { top: 0, bottom: 0, left: 0, right: 0 }, 28 | printBackground: true, 29 | scale: 0.8, 30 | }); 31 | 32 | console.log("💾 Saving PDF"); 33 | writeFileSync("output.pdf", pdf); 34 | 35 | await browser.close(); 36 | 37 | await server.close(); 38 | console.log("🏁 Done"); 39 | })(); 40 | -------------------------------------------------------------------------------- /src/components/Profile/ProfileLanguages/ProfileLanguages.tsx: -------------------------------------------------------------------------------- 1 | import Title from "../../Title/Title"; 2 | import "./ProfileLanguages.css"; 3 | 4 | export type Language = { 5 | language: string; 6 | abbreviation: string; 7 | level: string; 8 | }; 9 | 10 | const ProfileLanguages = ({ 11 | languages, 12 | showAbbreviation, 13 | }: { 14 | languages: Language[]; 15 | showAbbreviation: boolean; 16 | }) => { 17 | return ( 18 |
19 | 20 | <div className="profile__languages-container"> 21 | {languages.map((language, index) => { 22 | return ( 23 | <div className="profile__languages-language" key={index}> 24 | <span className="profile__languages-abb"> 25 | {showAbbreviation && language.abbreviation 26 | ? language.abbreviation 27 | : language.language} 28 | </span> 29 | <span className="profile__languages-level">{language.level}</span> 30 | </div> 31 | ); 32 | })} 33 | </div> 34 | </div> 35 | ); 36 | }; 37 | 38 | export default ProfileLanguages; 39 | -------------------------------------------------------------------------------- /src/components/Profile/ProfileLink/ProfileLink.tsx: -------------------------------------------------------------------------------- 1 | import { FaGithub, FaHouseUser, FaLinkedin } from "react-icons/fa"; 2 | import { FaSquareXTwitter, FaBluesky } from "react-icons/fa6"; 3 | import "./ProfileLink.css"; 4 | 5 | export type ProfileLinkProps = { 6 | /** Only GitHub Twitter LinkedIn Website */ 7 | type: string; 8 | /** Please, use without https:// */ 9 | link: string; 10 | /** Custom display name for the link, if not provided the link address will be displayed */ 11 | name?: string; 12 | }; 13 | 14 | const ProfileLink = ({ type, link, name }: ProfileLinkProps) => { 15 | let icon; 16 | 17 | switch (type) { 18 | case "GitHub": 19 | icon = <FaGithub />; 20 | break; 21 | case "Twitter": 22 | icon = <FaSquareXTwitter />; 23 | break; 24 | case "LinkedIn": 25 | icon = <FaLinkedin />; 26 | break; 27 | case "Website": 28 | icon = <FaHouseUser />; 29 | break; 30 | case "Bluesky": 31 | icon = <FaBluesky />; 32 | break; 33 | } 34 | 35 | return ( 36 | <div className="profile__header__link"> 37 | <a href={`https://${link}`} target="_blank" rel="noopener noreferrer"> 38 | {icon} 39 | <span>{name || type}</span> 40 | </a> 41 | </div> 42 | ); 43 | }; 44 | 45 | export default ProfileLink; 46 | -------------------------------------------------------------------------------- /src/components/Profile/Profile.css: -------------------------------------------------------------------------------- 1 | .profile__container { 2 | display: flex; 3 | flex-direction: column; 4 | gap: 1em; 5 | } 6 | 7 | .profile__header { 8 | display: flex; 9 | flex-direction: column; 10 | gap: 0.5em; 11 | font-size: 14px; 12 | } 13 | 14 | .profile__header__lines { 15 | display: flex; 16 | flex-direction: column; 17 | gap: 0.125em; 18 | 19 | p { 20 | margin: 0; 21 | } 22 | } 23 | 24 | .profile__block-container { 25 | display: flex; 26 | flex-direction: column; 27 | align-items: flex-start; 28 | gap: 0.25em; 29 | } 30 | 31 | .profile__education-element { 32 | display: flex; 33 | flex-direction: column; 34 | } 35 | 36 | .profile__education-school { 37 | font-weight: 600; 38 | font-size: 14px; 39 | color: var(--color-neutral-400); 40 | } 41 | 42 | .profile__education-years, 43 | .profile__education-location { 44 | color: var(--color-neutral-400); 45 | font-size: 14px; 46 | } 47 | 48 | .profile__education-degree { 49 | font-size: 16px; 50 | font-weight: 600; 51 | } 52 | 53 | .profile__education-container { 54 | display: flex; 55 | flex-direction: column; 56 | gap: 1em; 57 | } 58 | 59 | .profile__skills-bubbles { 60 | display: flex; 61 | flex-wrap: wrap; 62 | gap: 0.25em; 63 | font-size: 12px; 64 | } 65 | 66 | .profile__skills-span { 67 | font-weight: 500; 68 | font-size: 14px; 69 | } 70 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pdf-generator", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "tsc && vite build", 9 | "format": "prettier . --write", 10 | "prelint": "prettier . --write", 11 | "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", 12 | "preview": "vite preview", 13 | "pdf": "tsx pdf.ts", 14 | "typecheck": "tsc", 15 | "prepare": "husky" 16 | }, 17 | "packageManager": "pnpm@10.11.0", 18 | "dependencies": { 19 | "clsx": "^2.1.0", 20 | "react": "^18.2.0", 21 | "react-dom": "^18.2.0", 22 | "react-icons": "^5.5.0" 23 | }, 24 | "devDependencies": { 25 | "@commitlint/cli": "^19.4.1", 26 | "@commitlint/config-conventional": "^19.4.1", 27 | "@types/node": "^20.11.19", 28 | "@types/react": "^18.2.55", 29 | "@types/react-dom": "^18.2.19", 30 | "@typescript-eslint/eslint-plugin": "^6.21.0", 31 | "@typescript-eslint/parser": "^6.21.0", 32 | "@vitejs/plugin-react": "^4.2.1", 33 | "eslint": "^8.56.0", 34 | "eslint-config-prettier": "^9.1.0", 35 | "eslint-plugin-react-hooks": "^4.6.0", 36 | "eslint-plugin-react-refresh": "^0.4.5", 37 | "husky": "^9.1.5", 38 | "lint-staged": "^15.2.10", 39 | "prettier": "3.3.2", 40 | "puppeteer": "^23.4.1", 41 | "tsx": "^4.7.1", 42 | "typescript": "^5.2.2", 43 | "vite": "^5.4.8" 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: ci 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | pull_request: 8 | branches: 9 | - main 10 | 11 | jobs: 12 | typecheck: 13 | runs-on: ubuntu-latest 14 | 15 | steps: 16 | - name: Checkout code 17 | uses: actions/checkout@v4 18 | 19 | - uses: pnpm/action-setup@v4 20 | name: Install pnpm 21 | 22 | - name: Set up Node.js 23 | uses: actions/setup-node@v4 24 | with: 25 | node-version-file: ".node-version" 26 | 27 | - name: Install dependencies 28 | run: pnpm install 29 | 30 | - name: Run typecheck 31 | run: pnpm run typecheck 32 | 33 | build_deploy: 34 | runs-on: ubuntu-latest 35 | needs: typecheck 36 | permissions: 37 | contents: read 38 | deployments: write 39 | pull-requests: write 40 | 41 | steps: 42 | - name: Checkout code 43 | uses: actions/checkout@v4 44 | 45 | - uses: pnpm/action-setup@v4 46 | name: Install pnpm 47 | 48 | - name: Set up Node.js 49 | uses: actions/setup-node@v4 50 | with: 51 | node-version-file: ".node-version" 52 | 53 | - name: Install dependencies 54 | run: pnpm install 55 | 56 | - name: Build frontend 57 | run: pnpm run build 58 | 59 | - name: Deploy to Cloudflare Pages 60 | id: deploy 61 | uses: cloudflare/wrangler-action@v3 62 | with: 63 | apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} 64 | accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} 65 | gitHubToken: ${{ secrets.GITHUB_TOKEN }} 66 | command: pages deploy ./dist --project-name=cv-generator --branch=${{ github.ref_name }} 67 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # CV PDF Generator 2 | 3 | The CV PDF Generator is a React app used to build a CV and export it as a PDF. 4 | 5 | ## Prerequisites 6 | 7 | Make sure you have the correct version of Node.js installed. You can use a node version manager that supports `.node-version` file such [`fnm`](https://github.com/Schniz/fnm). 8 | 9 | This project uses [pnpm](https://pnpm.io/) as the package manager, managed via [Corepack](https://nodejs.org/api/corepack.html). Corepack comes bundled with recent Node.js versions and ensures everyone uses the same `pnpm` version as specified in `package.json`. 10 | 11 | If you haven't already, enable Corepack: 12 | 13 | ```sh 14 | corepack enable 15 | ``` 16 | 17 | You do not need to install pnpm globally. Corepack will automatically use the correct version. 18 | 19 | ## How To Run 20 | 21 | 1. Add your picture in `src/assets/profile.jpeg` 22 | 2. Fill out your information in `data.json` 23 | 3. Adapt CSS or scale in `pdf.ts` if needed 24 | 4. Run the following commands in the terminal 25 | 26 | ```sh 27 | pnpm install 28 | 29 | pnpm pdf 30 | ``` 31 | 32 | ## Development / Debug 33 | 34 | If you want to tweak your CV or debug some features you are implementing, you can the dev server using: 35 | 36 | ```sh 37 | pnpm dev 38 | ``` 39 | 40 | ## Built With 41 | 42 | - React + Vite 43 | - Puppeteer for PDF generation 44 | 45 | Contributing: Here's a quick guide for writing commit messages: 46 | 47 | 1. Start with a type: Use fix:, feat:, docs:, etc., to indicate the nature of the change. 48 | 2. Add a brief description: Follow the type with a concise summary of the change (2-4 words). 49 | 3. Optional details: Use a blank line to separate the summary from a longer description if needed. 50 | 4. Reference issues: Include issue numbers or tags if applicable 51 | 5. Explore conventional commits documentation here: https://kapeli.com/cheat_sheets/Conventional_Commits.docset/Contents/Resources/Documents/index 52 | -------------------------------------------------------------------------------- /src/components/Category/Category.tsx: -------------------------------------------------------------------------------- 1 | import Bubble from "../Bubble/Bubble"; 2 | import Separator from "../Separator/Separator"; 3 | import Title from "../Title/Title"; 4 | import "./Category.css"; 5 | 6 | type Lines = { text: string; bulletPoint: boolean }[]; 7 | 8 | type WorkExperiences = { 9 | position: string; 10 | company: string; 11 | location: string; 12 | type: string; 13 | years: string; 14 | bubbles: string[]; 15 | lines: Lines; 16 | }; 17 | 18 | type Projects = { 19 | name: string; 20 | duration: string; 21 | bubbles: string[]; 22 | lines: Lines; 23 | }; 24 | 25 | type Data = Projects | WorkExperiences; 26 | 27 | const Category = ({ data }: { data: Data[] }) => { 28 | const isProjectSection = "name" in data[0]; 29 | 30 | const renderSubtitle = (data: Data) => { 31 | if ("duration" in data) { 32 | return <span>{data.duration}</span>; 33 | } else { 34 | return ( 35 | <span> 36 | {data.location} • {data.company} • {data.type} • {data.years} 37 | </span> 38 | ); 39 | } 40 | }; 41 | 42 | const renderTitle = (data: Data) => { 43 | return "duration" in data ? data.name : data.position; 44 | }; 45 | 46 | return ( 47 | <div className="category"> 48 | <Title text={isProjectSection ? "Projects" : "Work Experience"} /> 49 | <div> 50 | {data.map((item, index) => { 51 | return ( 52 | <div className="category__data" key={index}> 53 | <div className="category__title">{renderTitle(item)}</div> 54 | <div className="category__subtitle">{renderSubtitle(item)}</div> 55 | <div className="category__bubbles"> 56 | {item.bubbles.map((bubble, bubble_index) => ( 57 | <Bubble key={bubble_index} text={bubble} /> 58 | ))} 59 | </div> 60 | <ul className="category__lines"> 61 | {item.lines.map((line, line_index) => ( 62 | <li 63 | key={line_index} 64 | className={line.bulletPoint ? "category__bulletPoints" : ""} 65 | > 66 | {line.text} 67 | </li> 68 | ))} 69 | </ul> 70 | {index !== data.length - 1 && ( 71 | <Separator marginBottom={10} marginTop={2} /> 72 | )} 73 | </div> 74 | ); 75 | })} 76 | </div> 77 | </div> 78 | ); 79 | }; 80 | 81 | export default Category; 82 | -------------------------------------------------------------------------------- /src/components/Profile/Profile.tsx: -------------------------------------------------------------------------------- 1 | import "./Profile.css"; 2 | import Title from "../Title/Title"; 3 | import Bubble from "../Bubble/Bubble"; 4 | import ProfileImage from "./ProfileImage/ProfileImage"; 5 | import ProfileLanguages, { 6 | type Language, 7 | } from "./ProfileLanguages/ProfileLanguages"; 8 | import ProfileLink, { ProfileLinkProps } from "./ProfileLink/ProfileLink"; 9 | 10 | type TechnicalCategory = { 11 | category: string; 12 | bubbles: string[]; 13 | }; 14 | 15 | type Education = { 16 | degree: string; 17 | school: string; 18 | location: string; 19 | years: string; 20 | }; 21 | 22 | type Data = { 23 | profile: { 24 | shouldDisplayProfileImage: boolean; 25 | lines: string[]; 26 | links: ProfileLinkProps[]; 27 | }; 28 | technical: TechnicalCategory[]; 29 | languages: Language[]; 30 | education: Education[]; 31 | }; 32 | 33 | const ProfileHeader = ({ 34 | lines, 35 | links, 36 | shouldDisplayProfileImage, 37 | }: Data["profile"]) => { 38 | return ( 39 | <div className="profile__header"> 40 | {shouldDisplayProfileImage && ( 41 | <ProfileImage circular={true} border={true} /> 42 | )} 43 | <div className="profile__header__lines"> 44 | {lines.map((line, index) => ( 45 | <p key={index}>{line}</p> 46 | ))} 47 | </div> 48 | <div className="profile__header__links"> 49 | {links.map((link, index) => { 50 | return <ProfileLink key={index} {...link} />; 51 | })} 52 | </div> 53 | </div> 54 | ); 55 | }; 56 | 57 | const ProfileSkills = ({ technical }: { technical: TechnicalCategory[] }) => { 58 | return ( 59 | <div className="profile__block-container"> 60 | <Title text="Technical Skills" /> 61 | {technical.map((tech, index) => { 62 | return ( 63 | <div className="profile__skills-category" key={index}> 64 | <span className="profile__skills-span">{tech.category}</span> 65 | <div className="profile__skills-bubbles"> 66 | {tech.bubbles.map((bubble, b_index) => ( 67 | <Bubble key={b_index} text={bubble} /> 68 | ))} 69 | </div> 70 | </div> 71 | ); 72 | })} 73 | </div> 74 | ); 75 | }; 76 | 77 | const ProfileEducation = ({ education }: { education: Education[] }) => { 78 | return ( 79 | <div className="profile__block-container"> 80 | <Title text="Education" /> 81 | <div className="profile__education-container"> 82 | {education.map((edu, index) => { 83 | return ( 84 | <div className="profile__education-element" key={index}> 85 | <span className="profile__education-degree">{edu.degree}</span> 86 | <span className="profile__education-school">{edu.school}</span> 87 | <span className="profile__education-location"> 88 | {edu.location} 89 | </span> 90 | <span className="profile__education-years">{edu.years}</span> 91 | </div> 92 | ); 93 | })} 94 | </div> 95 | </div> 96 | ); 97 | }; 98 | 99 | const Profile = ({ data }: { data: Data }) => { 100 | return ( 101 | <div className="profile__container"> 102 | <ProfileHeader {...data.profile} /> 103 | <ProfileSkills technical={data.technical} /> 104 | <ProfileLanguages languages={data.languages} showAbbreviation={false} /> 105 | <ProfileEducation education={data.education} /> 106 | </div> 107 | ); 108 | }; 109 | 110 | export default Profile; 111 | -------------------------------------------------------------------------------- /src/data.json: -------------------------------------------------------------------------------- 1 | { 2 | "header": { 3 | "name": "Lorem Ipsum", 4 | "resume": [ 5 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", 6 | "Vestibulum rutrum mi quis tellus ullamcorper, nec tempus nulla", 7 | "Fusce velit urna, euismod ut nibh ut, finibus vestibulum magna." 8 | ] 9 | }, 10 | 11 | "workExperience": [ 12 | { 13 | "position": "Full Stack Software Lopsum", 14 | "company": "Neque Porro", 15 | "location": "Roma, Roman Empire", 16 | "type": "Remote", 17 | "years": "2022 - Present", 18 | "bubbles": [ 19 | "TypeLorem", 20 | "Reactsum", 21 | "Reactsum Native", 22 | "Ipsum.js", 23 | "ClassQL", 24 | "Phasux", 25 | "AWS Nec" 26 | ], 27 | "lines": [ 28 | { 29 | "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum rutrum mi quis tellus ullamcorper, nec tempus nulla imperdiet.", 30 | "bulletPoint": true 31 | }, 32 | { 33 | "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum rutrum mi quis tellus ullamcorper, nec tempus nulla imperdiet.", 34 | "bulletPoint": true 35 | }, 36 | { 37 | "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum rutrum mi quis tellus ullamcorper, nec tempus nulla imperdiet.", 38 | "bulletPoint": true 39 | } 40 | ] 41 | }, 42 | { 43 | "position": "Full Stack Software Lopsum", 44 | "company": "Neque Porro", 45 | "location": "Roma, Roman Empire", 46 | "type": "Remote", 47 | "years": "2022 - Present", 48 | "bubbles": [ 49 | "TypeLorem", 50 | "Reactsum", 51 | "Reactsum Native", 52 | "Ipsum.js", 53 | "ClassQL", 54 | "Phasux", 55 | "AWS Nec" 56 | ], 57 | "lines": [ 58 | { 59 | "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum rutrum mi quis tellus ullamcorper, nec tempus nulla imperdiet.", 60 | "bulletPoint": true 61 | }, 62 | { 63 | "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum rutrum mi quis tellus ullamcorper, nec tempus nulla imperdiet.", 64 | "bulletPoint": true 65 | }, 66 | { 67 | "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum rutrum mi quis tellus ullamcorper, nec tempus nulla imperdiet.", 68 | "bulletPoint": true 69 | } 70 | ] 71 | }, 72 | { 73 | "position": "Full Stack Software Lopsum", 74 | "company": "Neque Porro", 75 | "location": "Roma, Roman Empire", 76 | "type": "Remote", 77 | "years": "2022 - Present", 78 | "bubbles": [ 79 | "TypeLorem", 80 | "Reactsum", 81 | "Reactsum Native", 82 | "Ipsum.js", 83 | "ClassQL", 84 | "Phasux", 85 | "AWS Nec" 86 | ], 87 | "lines": [ 88 | { 89 | "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum rutrum mi quis tellus ullamcorper, nec tempus nulla imperdiet.", 90 | "bulletPoint": true 91 | }, 92 | { 93 | "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum rutrum mi quis tellus ullamcorper, nec tempus nulla imperdiet.", 94 | "bulletPoint": true 95 | }, 96 | { 97 | "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum rutrum mi quis tellus ullamcorper, nec tempus nulla imperdiet.", 98 | "bulletPoint": true 99 | } 100 | ] 101 | } 102 | ], 103 | "projects": [ 104 | { 105 | "name": "", 106 | "duration": "3 months project", 107 | "bubbles": ["Python", "Flask", "Docker", "Machine Learning", "SQLite"], 108 | "lines": [ 109 | { 110 | "text": "Suspendisse lacinia tristique tortor, at laoreet arcu lobortis id.", 111 | "bulletPoint": false 112 | }, 113 | { 114 | "text": "Vivamus fermentum enim a posuere dapibus. Pellentesque sed enim mi.", 115 | "bulletPoint": true 116 | }, 117 | { 118 | "text": "Cras dictum vestibulum felis vitae consequat. Suspendisse potenti.", 119 | "bulletPoint": true 120 | }, 121 | { 122 | "text": "Phasellus eu sollicitudin nisi. Vivamus ullamcorper facilisis risus, sed hendrerit lacus scelerisque vel.", 123 | "bulletPoint": true 124 | }, 125 | { 126 | "text": "Fusce lobortis eros suscipit, viverra lacus in, ullamcorper purus.", 127 | "bulletPoint": true 128 | } 129 | ] 130 | }, 131 | { 132 | "name": "", 133 | "duration": "3 months project", 134 | "bubbles": ["Python", "Flask", "Docker", "Machine Learning", "SQLite"], 135 | "lines": [ 136 | { 137 | "text": "Suspendisse lacinia tristique tortor, at laoreet arcu lobortis id.", 138 | "bulletPoint": false 139 | }, 140 | { 141 | "text": "Vivamus fermentum enim a posuere dapibus. Pellentesque sed enim mi.", 142 | "bulletPoint": true 143 | }, 144 | { 145 | "text": "Cras dictum vestibulum felis vitae consequat. Suspendisse potenti.", 146 | "bulletPoint": true 147 | }, 148 | { 149 | "text": "Phasellus eu sollicitudin nisi. Vivamus ullamcorper facilisis risus, sed hendrerit lacus scelerisque vel.", 150 | "bulletPoint": true 151 | }, 152 | { 153 | "text": "Fusce lobortis eros suscipit, viverra lacus in, ullamcorper purus.", 154 | "bulletPoint": true 155 | } 156 | ] 157 | } 158 | ], 159 | "profile": { 160 | "shouldDisplayProfileImage": false, 161 | "lines": [ 162 | "Ancient Rome, Roman Empire", 163 | "Roman", 164 | "+39 34 78 00 90 66", 165 | "redacted@gmail.com" 166 | ], 167 | "links": [ 168 | { "type": "LinkedIn", "link": "linkedin.com/in/redacted" }, 169 | { "type": "GitHub", "link": "github.com/redacted" }, 170 | { "type": "Twitter", "link": "x.com/redacted" }, 171 | { "type": "Website", "link": "website/portfolio" } 172 | ] 173 | }, 174 | "technical": [ 175 | { 176 | "category": "Languages", 177 | "bubbles": [ 178 | "TypeLorem", 179 | "JavaScript", 180 | "Python", 181 | "Scribae", 182 | "Architecture" 183 | ] 184 | }, 185 | { 186 | "category": "Web Servers / APIs", 187 | "bubbles": ["Ipsum.js", "Django", "Flask", "ClassQL", "Nest.js"] 188 | } 189 | ], 190 | "languages": [ 191 | { "language": "Latin", "abbreviation": "LT", "level": "Native" }, 192 | { "language": "Greek", "abbreviation": "GK", "level": "Native" } 193 | ], 194 | "education": [ 195 | { 196 | "degree": "MBA Lopsuming", 197 | "school": "Universitae", 198 | "location": "Athens, Roman Empire", 199 | "years": "2014-2015" 200 | }, 201 | { 202 | "degree": "Lopsum's degree", 203 | "school": "School Athens", 204 | "location": "Athens, Roman Empire", 205 | "years": "2009-2014" 206 | } 207 | ] 208 | } 209 | -------------------------------------------------------------------------------- /src/normalize.css: -------------------------------------------------------------------------------- 1 | /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ 2 | 3 | /* Document 4 | ========================================================================== */ 5 | 6 | /** 7 | * 1. Correct the line height in all browsers. 8 | * 2. Prevent adjustments of font size after orientation changes in iOS. 9 | */ 10 | 11 | html { 12 | line-height: 1.15; /* 1 */ 13 | -webkit-text-size-adjust: 100%; /* 2 */ 14 | } 15 | 16 | /* Sections 17 | ========================================================================== */ 18 | 19 | /** 20 | * Remove the margin in all browsers. 21 | */ 22 | 23 | body { 24 | margin: 0; 25 | } 26 | 27 | /** 28 | * Render the `main` element consistently in IE. 29 | */ 30 | 31 | main { 32 | display: block; 33 | } 34 | 35 | /** 36 | * Correct the font size and margin on `h1` elements within `section` and 37 | * `article` contexts in Chrome, Firefox, and Safari. 38 | */ 39 | 40 | h1 { 41 | font-size: 2em; 42 | margin: 0.67em 0; 43 | } 44 | 45 | /* Grouping content 46 | ========================================================================== */ 47 | 48 | /** 49 | * 1. Add the correct box sizing in Firefox. 50 | * 2. Show the overflow in Edge and IE. 51 | */ 52 | 53 | hr { 54 | box-sizing: content-box; /* 1 */ 55 | height: 0; /* 1 */ 56 | overflow: visible; /* 2 */ 57 | } 58 | 59 | /** 60 | * 1. Correct the inheritance and scaling of font size in all browsers. 61 | * 2. Correct the odd `em` font sizing in all browsers. 62 | */ 63 | 64 | pre { 65 | font-family: monospace, monospace; /* 1 */ 66 | font-size: 1em; /* 2 */ 67 | } 68 | 69 | /* Text-level semantics 70 | ========================================================================== */ 71 | 72 | /** 73 | * Remove the gray background on active links in IE 10. 74 | */ 75 | 76 | a { 77 | background-color: transparent; 78 | } 79 | 80 | /** 81 | * 1. Remove the bottom border in Chrome 57- 82 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. 83 | */ 84 | 85 | abbr[title] { 86 | border-bottom: none; /* 1 */ 87 | text-decoration: underline; /* 2 */ 88 | text-decoration: underline dotted; /* 2 */ 89 | } 90 | 91 | /** 92 | * Add the correct font weight in Chrome, Edge, and Safari. 93 | */ 94 | 95 | b, 96 | strong { 97 | font-weight: bolder; 98 | } 99 | 100 | /** 101 | * 1. Correct the inheritance and scaling of font size in all browsers. 102 | * 2. Correct the odd `em` font sizing in all browsers. 103 | */ 104 | 105 | code, 106 | kbd, 107 | samp { 108 | font-family: monospace, monospace; /* 1 */ 109 | font-size: 1em; /* 2 */ 110 | } 111 | 112 | /** 113 | * Add the correct font size in all browsers. 114 | */ 115 | 116 | small { 117 | font-size: 80%; 118 | } 119 | 120 | /** 121 | * Prevent `sub` and `sup` elements from affecting the line height in 122 | * all browsers. 123 | */ 124 | 125 | sub, 126 | sup { 127 | font-size: 75%; 128 | line-height: 0; 129 | position: relative; 130 | vertical-align: baseline; 131 | } 132 | 133 | sub { 134 | bottom: -0.25em; 135 | } 136 | 137 | sup { 138 | top: -0.5em; 139 | } 140 | 141 | /* Embedded content 142 | ========================================================================== */ 143 | 144 | /** 145 | * Remove the border on images inside links in IE 10. 146 | */ 147 | 148 | img { 149 | border-style: none; 150 | } 151 | 152 | /* Forms 153 | ========================================================================== */ 154 | 155 | /** 156 | * 1. Change the font styles in all browsers. 157 | * 2. Remove the margin in Firefox and Safari. 158 | */ 159 | 160 | button, 161 | input, 162 | optgroup, 163 | select, 164 | textarea { 165 | font-family: inherit; /* 1 */ 166 | font-size: 100%; /* 1 */ 167 | line-height: 1.15; /* 1 */ 168 | margin: 0; /* 2 */ 169 | } 170 | 171 | /** 172 | * Show the overflow in IE. 173 | * 1. Show the overflow in Edge. 174 | */ 175 | 176 | button, 177 | input { 178 | /* 1 */ 179 | overflow: visible; 180 | } 181 | 182 | /** 183 | * Remove the inheritance of text transform in Edge, Firefox, and IE. 184 | * 1. Remove the inheritance of text transform in Firefox. 185 | */ 186 | 187 | button, 188 | select { 189 | /* 1 */ 190 | text-transform: none; 191 | } 192 | 193 | /** 194 | * Correct the inability to style clickable types in iOS and Safari. 195 | */ 196 | 197 | button, 198 | [type="button"], 199 | [type="reset"], 200 | [type="submit"] { 201 | -webkit-appearance: button; 202 | } 203 | 204 | /** 205 | * Remove the inner border and padding in Firefox. 206 | */ 207 | 208 | button::-moz-focus-inner, 209 | [type="button"]::-moz-focus-inner, 210 | [type="reset"]::-moz-focus-inner, 211 | [type="submit"]::-moz-focus-inner { 212 | border-style: none; 213 | padding: 0; 214 | } 215 | 216 | /** 217 | * Restore the focus styles unset by the previous rule. 218 | */ 219 | 220 | button:-moz-focusring, 221 | [type="button"]:-moz-focusring, 222 | [type="reset"]:-moz-focusring, 223 | [type="submit"]:-moz-focusring { 224 | outline: 1px dotted ButtonText; 225 | } 226 | 227 | /** 228 | * Correct the padding in Firefox. 229 | */ 230 | 231 | fieldset { 232 | padding: 0.35em 0.75em 0.625em; 233 | } 234 | 235 | /** 236 | * 1. Correct the text wrapping in Edge and IE. 237 | * 2. Correct the color inheritance from `fieldset` elements in IE. 238 | * 3. Remove the padding so developers are not caught out when they zero out 239 | * `fieldset` elements in all browsers. 240 | */ 241 | 242 | legend { 243 | box-sizing: border-box; /* 1 */ 244 | color: inherit; /* 2 */ 245 | display: table; /* 1 */ 246 | max-width: 100%; /* 1 */ 247 | padding: 0; /* 3 */ 248 | white-space: normal; /* 1 */ 249 | } 250 | 251 | /** 252 | * Add the correct vertical alignment in Chrome, Firefox, and Opera. 253 | */ 254 | 255 | progress { 256 | vertical-align: baseline; 257 | } 258 | 259 | /** 260 | * Remove the default vertical scrollbar in IE 10+. 261 | */ 262 | 263 | textarea { 264 | overflow: auto; 265 | } 266 | 267 | /** 268 | * 1. Add the correct box sizing in IE 10. 269 | * 2. Remove the padding in IE 10. 270 | */ 271 | 272 | [type="checkbox"], 273 | [type="radio"] { 274 | box-sizing: border-box; /* 1 */ 275 | padding: 0; /* 2 */ 276 | } 277 | 278 | /** 279 | * Correct the cursor style of increment and decrement buttons in Chrome. 280 | */ 281 | 282 | [type="number"]::-webkit-inner-spin-button, 283 | [type="number"]::-webkit-outer-spin-button { 284 | height: auto; 285 | } 286 | 287 | /** 288 | * 1. Correct the odd appearance in Chrome and Safari. 289 | * 2. Correct the outline style in Safari. 290 | */ 291 | 292 | [type="search"] { 293 | -webkit-appearance: textfield; /* 1 */ 294 | outline-offset: -2px; /* 2 */ 295 | } 296 | 297 | /** 298 | * Remove the inner padding in Chrome and Safari on macOS. 299 | */ 300 | 301 | [type="search"]::-webkit-search-decoration { 302 | -webkit-appearance: none; 303 | } 304 | 305 | /** 306 | * 1. Correct the inability to style clickable types in iOS and Safari. 307 | * 2. Change font properties to `inherit` in Safari. 308 | */ 309 | 310 | ::-webkit-file-upload-button { 311 | -webkit-appearance: button; /* 1 */ 312 | font: inherit; /* 2 */ 313 | } 314 | 315 | /* Interactive 316 | ========================================================================== */ 317 | 318 | /* 319 | * Add the correct display in Edge, IE 10+, and Firefox. 320 | */ 321 | 322 | details { 323 | display: block; 324 | } 325 | 326 | /* 327 | * Add the correct display in all browsers. 328 | */ 329 | 330 | summary { 331 | display: list-item; 332 | } 333 | 334 | /* Misc 335 | ========================================================================== */ 336 | 337 | /** 338 | * Add the correct display in IE 10+. 339 | */ 340 | 341 | template { 342 | display: none; 343 | } 344 | 345 | /** 346 | * Add the correct display in IE 10. 347 | */ 348 | 349 | [hidden] { 350 | display: none; 351 | } 352 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: "9.0" 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | .: 9 | dependencies: 10 | clsx: 11 | specifier: ^2.1.0 12 | version: 2.1.1 13 | react: 14 | specifier: ^18.2.0 15 | version: 18.3.1 16 | react-dom: 17 | specifier: ^18.2.0 18 | version: 18.3.1(react@18.3.1) 19 | react-icons: 20 | specifier: ^5.5.0 21 | version: 5.5.0(react@18.3.1) 22 | devDependencies: 23 | "@commitlint/cli": 24 | specifier: ^19.4.1 25 | version: 19.8.1(@types/node@20.19.1)(typescript@5.8.3) 26 | "@commitlint/config-conventional": 27 | specifier: ^19.4.1 28 | version: 19.8.1 29 | "@types/node": 30 | specifier: ^20.11.19 31 | version: 20.19.1 32 | "@types/react": 33 | specifier: ^18.2.55 34 | version: 18.3.23 35 | "@types/react-dom": 36 | specifier: ^18.2.19 37 | version: 18.3.7(@types/react@18.3.23) 38 | "@typescript-eslint/eslint-plugin": 39 | specifier: ^6.21.0 40 | version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3) 41 | "@typescript-eslint/parser": 42 | specifier: ^6.21.0 43 | version: 6.21.0(eslint@8.57.1)(typescript@5.8.3) 44 | "@vitejs/plugin-react": 45 | specifier: ^4.2.1 46 | version: 4.5.2(vite@5.4.19(@types/node@20.19.1)(lightningcss@1.30.1)) 47 | eslint: 48 | specifier: ^8.56.0 49 | version: 8.57.1 50 | eslint-config-prettier: 51 | specifier: ^9.1.0 52 | version: 9.1.0(eslint@8.57.1) 53 | eslint-plugin-react-hooks: 54 | specifier: ^4.6.0 55 | version: 4.6.2(eslint@8.57.1) 56 | eslint-plugin-react-refresh: 57 | specifier: ^0.4.5 58 | version: 0.4.20(eslint@8.57.1) 59 | husky: 60 | specifier: ^9.1.5 61 | version: 9.1.7 62 | lint-staged: 63 | specifier: ^15.2.10 64 | version: 15.5.2 65 | prettier: 66 | specifier: 3.3.2 67 | version: 3.3.2 68 | puppeteer: 69 | specifier: ^23.4.1 70 | version: 23.11.1(typescript@5.8.3) 71 | tsx: 72 | specifier: ^4.7.1 73 | version: 4.20.3 74 | typescript: 75 | specifier: ^5.2.2 76 | version: 5.8.3 77 | vite: 78 | specifier: ^5.4.8 79 | version: 5.4.19(@types/node@20.19.1)(lightningcss@1.30.1) 80 | 81 | packages: 82 | "@ampproject/remapping@2.3.0": 83 | resolution: 84 | { 85 | integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==, 86 | } 87 | engines: { node: ">=6.0.0" } 88 | 89 | "@babel/code-frame@7.27.1": 90 | resolution: 91 | { 92 | integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==, 93 | } 94 | engines: { node: ">=6.9.0" } 95 | 96 | "@babel/compat-data@7.27.5": 97 | resolution: 98 | { 99 | integrity: sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==, 100 | } 101 | engines: { node: ">=6.9.0" } 102 | 103 | "@babel/core@7.27.4": 104 | resolution: 105 | { 106 | integrity: sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==, 107 | } 108 | engines: { node: ">=6.9.0" } 109 | 110 | "@babel/generator@7.27.5": 111 | resolution: 112 | { 113 | integrity: sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==, 114 | } 115 | engines: { node: ">=6.9.0" } 116 | 117 | "@babel/helper-compilation-targets@7.27.2": 118 | resolution: 119 | { 120 | integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==, 121 | } 122 | engines: { node: ">=6.9.0" } 123 | 124 | "@babel/helper-module-imports@7.27.1": 125 | resolution: 126 | { 127 | integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==, 128 | } 129 | engines: { node: ">=6.9.0" } 130 | 131 | "@babel/helper-module-transforms@7.27.3": 132 | resolution: 133 | { 134 | integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==, 135 | } 136 | engines: { node: ">=6.9.0" } 137 | peerDependencies: 138 | "@babel/core": ^7.0.0 139 | 140 | "@babel/helper-plugin-utils@7.27.1": 141 | resolution: 142 | { 143 | integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==, 144 | } 145 | engines: { node: ">=6.9.0" } 146 | 147 | "@babel/helper-string-parser@7.27.1": 148 | resolution: 149 | { 150 | integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==, 151 | } 152 | engines: { node: ">=6.9.0" } 153 | 154 | "@babel/helper-validator-identifier@7.27.1": 155 | resolution: 156 | { 157 | integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==, 158 | } 159 | engines: { node: ">=6.9.0" } 160 | 161 | "@babel/helper-validator-option@7.27.1": 162 | resolution: 163 | { 164 | integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==, 165 | } 166 | engines: { node: ">=6.9.0" } 167 | 168 | "@babel/helpers@7.27.6": 169 | resolution: 170 | { 171 | integrity: sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==, 172 | } 173 | engines: { node: ">=6.9.0" } 174 | 175 | "@babel/parser@7.27.5": 176 | resolution: 177 | { 178 | integrity: sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==, 179 | } 180 | engines: { node: ">=6.0.0" } 181 | hasBin: true 182 | 183 | "@babel/plugin-transform-react-jsx-self@7.27.1": 184 | resolution: 185 | { 186 | integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==, 187 | } 188 | engines: { node: ">=6.9.0" } 189 | peerDependencies: 190 | "@babel/core": ^7.0.0-0 191 | 192 | "@babel/plugin-transform-react-jsx-source@7.27.1": 193 | resolution: 194 | { 195 | integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==, 196 | } 197 | engines: { node: ">=6.9.0" } 198 | peerDependencies: 199 | "@babel/core": ^7.0.0-0 200 | 201 | "@babel/template@7.27.2": 202 | resolution: 203 | { 204 | integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==, 205 | } 206 | engines: { node: ">=6.9.0" } 207 | 208 | "@babel/traverse@7.27.4": 209 | resolution: 210 | { 211 | integrity: sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==, 212 | } 213 | engines: { node: ">=6.9.0" } 214 | 215 | "@babel/types@7.27.6": 216 | resolution: 217 | { 218 | integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==, 219 | } 220 | engines: { node: ">=6.9.0" } 221 | 222 | "@commitlint/cli@19.8.1": 223 | resolution: 224 | { 225 | integrity: sha512-LXUdNIkspyxrlV6VDHWBmCZRtkEVRpBKxi2Gtw3J54cGWhLCTouVD/Q6ZSaSvd2YaDObWK8mDjrz3TIKtaQMAA==, 226 | } 227 | engines: { node: ">=v18" } 228 | hasBin: true 229 | 230 | "@commitlint/config-conventional@19.8.1": 231 | resolution: 232 | { 233 | integrity: sha512-/AZHJL6F6B/G959CsMAzrPKKZjeEiAVifRyEwXxcT6qtqbPwGw+iQxmNS+Bu+i09OCtdNRW6pNpBvgPrtMr9EQ==, 234 | } 235 | engines: { node: ">=v18" } 236 | 237 | "@commitlint/config-validator@19.8.1": 238 | resolution: 239 | { 240 | integrity: sha512-0jvJ4u+eqGPBIzzSdqKNX1rvdbSU1lPNYlfQQRIFnBgLy26BtC0cFnr7c/AyuzExMxWsMOte6MkTi9I3SQ3iGQ==, 241 | } 242 | engines: { node: ">=v18" } 243 | 244 | "@commitlint/ensure@19.8.1": 245 | resolution: 246 | { 247 | integrity: sha512-mXDnlJdvDzSObafjYrOSvZBwkD01cqB4gbnnFuVyNpGUM5ijwU/r/6uqUmBXAAOKRfyEjpkGVZxaDsCVnHAgyw==, 248 | } 249 | engines: { node: ">=v18" } 250 | 251 | "@commitlint/execute-rule@19.8.1": 252 | resolution: 253 | { 254 | integrity: sha512-YfJyIqIKWI64Mgvn/sE7FXvVMQER/Cd+s3hZke6cI1xgNT/f6ZAz5heND0QtffH+KbcqAwXDEE1/5niYayYaQA==, 255 | } 256 | engines: { node: ">=v18" } 257 | 258 | "@commitlint/format@19.8.1": 259 | resolution: 260 | { 261 | integrity: sha512-kSJj34Rp10ItP+Eh9oCItiuN/HwGQMXBnIRk69jdOwEW9llW9FlyqcWYbHPSGofmjsqeoxa38UaEA5tsbm2JWw==, 262 | } 263 | engines: { node: ">=v18" } 264 | 265 | "@commitlint/is-ignored@19.8.1": 266 | resolution: 267 | { 268 | integrity: sha512-AceOhEhekBUQ5dzrVhDDsbMaY5LqtN8s1mqSnT2Kz1ERvVZkNihrs3Sfk1Je/rxRNbXYFzKZSHaPsEJJDJV8dg==, 269 | } 270 | engines: { node: ">=v18" } 271 | 272 | "@commitlint/lint@19.8.1": 273 | resolution: 274 | { 275 | integrity: sha512-52PFbsl+1EvMuokZXLRlOsdcLHf10isTPlWwoY1FQIidTsTvjKXVXYb7AvtpWkDzRO2ZsqIgPK7bI98x8LRUEw==, 276 | } 277 | engines: { node: ">=v18" } 278 | 279 | "@commitlint/load@19.8.1": 280 | resolution: 281 | { 282 | integrity: sha512-9V99EKG3u7z+FEoe4ikgq7YGRCSukAcvmKQuTtUyiYPnOd9a2/H9Ak1J9nJA1HChRQp9OA/sIKPugGS+FK/k1A==, 283 | } 284 | engines: { node: ">=v18" } 285 | 286 | "@commitlint/message@19.8.1": 287 | resolution: 288 | { 289 | integrity: sha512-+PMLQvjRXiU+Ae0Wc+p99EoGEutzSXFVwQfa3jRNUZLNW5odZAyseb92OSBTKCu+9gGZiJASt76Cj3dLTtcTdg==, 290 | } 291 | engines: { node: ">=v18" } 292 | 293 | "@commitlint/parse@19.8.1": 294 | resolution: 295 | { 296 | integrity: sha512-mmAHYcMBmAgJDKWdkjIGq50X4yB0pSGpxyOODwYmoexxxiUCy5JJT99t1+PEMK7KtsCtzuWYIAXYAiKR+k+/Jw==, 297 | } 298 | engines: { node: ">=v18" } 299 | 300 | "@commitlint/read@19.8.1": 301 | resolution: 302 | { 303 | integrity: sha512-03Jbjb1MqluaVXKHKRuGhcKWtSgh3Jizqy2lJCRbRrnWpcM06MYm8th59Xcns8EqBYvo0Xqb+2DoZFlga97uXQ==, 304 | } 305 | engines: { node: ">=v18" } 306 | 307 | "@commitlint/resolve-extends@19.8.1": 308 | resolution: 309 | { 310 | integrity: sha512-GM0mAhFk49I+T/5UCYns5ayGStkTt4XFFrjjf0L4S26xoMTSkdCf9ZRO8en1kuopC4isDFuEm7ZOm/WRVeElVg==, 311 | } 312 | engines: { node: ">=v18" } 313 | 314 | "@commitlint/rules@19.8.1": 315 | resolution: 316 | { 317 | integrity: sha512-Hnlhd9DyvGiGwjfjfToMi1dsnw1EXKGJNLTcsuGORHz6SS9swRgkBsou33MQ2n51/boIDrbsg4tIBbRpEWK2kw==, 318 | } 319 | engines: { node: ">=v18" } 320 | 321 | "@commitlint/to-lines@19.8.1": 322 | resolution: 323 | { 324 | integrity: sha512-98Mm5inzbWTKuZQr2aW4SReY6WUukdWXuZhrqf1QdKPZBCCsXuG87c+iP0bwtD6DBnmVVQjgp4whoHRVixyPBg==, 325 | } 326 | engines: { node: ">=v18" } 327 | 328 | "@commitlint/top-level@19.8.1": 329 | resolution: 330 | { 331 | integrity: sha512-Ph8IN1IOHPSDhURCSXBz44+CIu+60duFwRsg6HqaISFHQHbmBtxVw4ZrFNIYUzEP7WwrNPxa2/5qJ//NK1FGcw==, 332 | } 333 | engines: { node: ">=v18" } 334 | 335 | "@commitlint/types@19.8.1": 336 | resolution: 337 | { 338 | integrity: sha512-/yCrWGCoA1SVKOks25EGadP9Pnj0oAIHGpl2wH2M2Y46dPM2ueb8wyCVOD7O3WCTkaJ0IkKvzhl1JY7+uCT2Dw==, 339 | } 340 | engines: { node: ">=v18" } 341 | 342 | "@esbuild/aix-ppc64@0.21.5": 343 | resolution: 344 | { 345 | integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==, 346 | } 347 | engines: { node: ">=12" } 348 | cpu: [ppc64] 349 | os: [aix] 350 | 351 | "@esbuild/aix-ppc64@0.25.5": 352 | resolution: 353 | { 354 | integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==, 355 | } 356 | engines: { node: ">=18" } 357 | cpu: [ppc64] 358 | os: [aix] 359 | 360 | "@esbuild/android-arm64@0.21.5": 361 | resolution: 362 | { 363 | integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==, 364 | } 365 | engines: { node: ">=12" } 366 | cpu: [arm64] 367 | os: [android] 368 | 369 | "@esbuild/android-arm64@0.25.5": 370 | resolution: 371 | { 372 | integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==, 373 | } 374 | engines: { node: ">=18" } 375 | cpu: [arm64] 376 | os: [android] 377 | 378 | "@esbuild/android-arm@0.21.5": 379 | resolution: 380 | { 381 | integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==, 382 | } 383 | engines: { node: ">=12" } 384 | cpu: [arm] 385 | os: [android] 386 | 387 | "@esbuild/android-arm@0.25.5": 388 | resolution: 389 | { 390 | integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==, 391 | } 392 | engines: { node: ">=18" } 393 | cpu: [arm] 394 | os: [android] 395 | 396 | "@esbuild/android-x64@0.21.5": 397 | resolution: 398 | { 399 | integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==, 400 | } 401 | engines: { node: ">=12" } 402 | cpu: [x64] 403 | os: [android] 404 | 405 | "@esbuild/android-x64@0.25.5": 406 | resolution: 407 | { 408 | integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==, 409 | } 410 | engines: { node: ">=18" } 411 | cpu: [x64] 412 | os: [android] 413 | 414 | "@esbuild/darwin-arm64@0.21.5": 415 | resolution: 416 | { 417 | integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==, 418 | } 419 | engines: { node: ">=12" } 420 | cpu: [arm64] 421 | os: [darwin] 422 | 423 | "@esbuild/darwin-arm64@0.25.5": 424 | resolution: 425 | { 426 | integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==, 427 | } 428 | engines: { node: ">=18" } 429 | cpu: [arm64] 430 | os: [darwin] 431 | 432 | "@esbuild/darwin-x64@0.21.5": 433 | resolution: 434 | { 435 | integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==, 436 | } 437 | engines: { node: ">=12" } 438 | cpu: [x64] 439 | os: [darwin] 440 | 441 | "@esbuild/darwin-x64@0.25.5": 442 | resolution: 443 | { 444 | integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==, 445 | } 446 | engines: { node: ">=18" } 447 | cpu: [x64] 448 | os: [darwin] 449 | 450 | "@esbuild/freebsd-arm64@0.21.5": 451 | resolution: 452 | { 453 | integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==, 454 | } 455 | engines: { node: ">=12" } 456 | cpu: [arm64] 457 | os: [freebsd] 458 | 459 | "@esbuild/freebsd-arm64@0.25.5": 460 | resolution: 461 | { 462 | integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==, 463 | } 464 | engines: { node: ">=18" } 465 | cpu: [arm64] 466 | os: [freebsd] 467 | 468 | "@esbuild/freebsd-x64@0.21.5": 469 | resolution: 470 | { 471 | integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==, 472 | } 473 | engines: { node: ">=12" } 474 | cpu: [x64] 475 | os: [freebsd] 476 | 477 | "@esbuild/freebsd-x64@0.25.5": 478 | resolution: 479 | { 480 | integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==, 481 | } 482 | engines: { node: ">=18" } 483 | cpu: [x64] 484 | os: [freebsd] 485 | 486 | "@esbuild/linux-arm64@0.21.5": 487 | resolution: 488 | { 489 | integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==, 490 | } 491 | engines: { node: ">=12" } 492 | cpu: [arm64] 493 | os: [linux] 494 | 495 | "@esbuild/linux-arm64@0.25.5": 496 | resolution: 497 | { 498 | integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==, 499 | } 500 | engines: { node: ">=18" } 501 | cpu: [arm64] 502 | os: [linux] 503 | 504 | "@esbuild/linux-arm@0.21.5": 505 | resolution: 506 | { 507 | integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==, 508 | } 509 | engines: { node: ">=12" } 510 | cpu: [arm] 511 | os: [linux] 512 | 513 | "@esbuild/linux-arm@0.25.5": 514 | resolution: 515 | { 516 | integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==, 517 | } 518 | engines: { node: ">=18" } 519 | cpu: [arm] 520 | os: [linux] 521 | 522 | "@esbuild/linux-ia32@0.21.5": 523 | resolution: 524 | { 525 | integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==, 526 | } 527 | engines: { node: ">=12" } 528 | cpu: [ia32] 529 | os: [linux] 530 | 531 | "@esbuild/linux-ia32@0.25.5": 532 | resolution: 533 | { 534 | integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==, 535 | } 536 | engines: { node: ">=18" } 537 | cpu: [ia32] 538 | os: [linux] 539 | 540 | "@esbuild/linux-loong64@0.21.5": 541 | resolution: 542 | { 543 | integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==, 544 | } 545 | engines: { node: ">=12" } 546 | cpu: [loong64] 547 | os: [linux] 548 | 549 | "@esbuild/linux-loong64@0.25.5": 550 | resolution: 551 | { 552 | integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==, 553 | } 554 | engines: { node: ">=18" } 555 | cpu: [loong64] 556 | os: [linux] 557 | 558 | "@esbuild/linux-mips64el@0.21.5": 559 | resolution: 560 | { 561 | integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==, 562 | } 563 | engines: { node: ">=12" } 564 | cpu: [mips64el] 565 | os: [linux] 566 | 567 | "@esbuild/linux-mips64el@0.25.5": 568 | resolution: 569 | { 570 | integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==, 571 | } 572 | engines: { node: ">=18" } 573 | cpu: [mips64el] 574 | os: [linux] 575 | 576 | "@esbuild/linux-ppc64@0.21.5": 577 | resolution: 578 | { 579 | integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==, 580 | } 581 | engines: { node: ">=12" } 582 | cpu: [ppc64] 583 | os: [linux] 584 | 585 | "@esbuild/linux-ppc64@0.25.5": 586 | resolution: 587 | { 588 | integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==, 589 | } 590 | engines: { node: ">=18" } 591 | cpu: [ppc64] 592 | os: [linux] 593 | 594 | "@esbuild/linux-riscv64@0.21.5": 595 | resolution: 596 | { 597 | integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==, 598 | } 599 | engines: { node: ">=12" } 600 | cpu: [riscv64] 601 | os: [linux] 602 | 603 | "@esbuild/linux-riscv64@0.25.5": 604 | resolution: 605 | { 606 | integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==, 607 | } 608 | engines: { node: ">=18" } 609 | cpu: [riscv64] 610 | os: [linux] 611 | 612 | "@esbuild/linux-s390x@0.21.5": 613 | resolution: 614 | { 615 | integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==, 616 | } 617 | engines: { node: ">=12" } 618 | cpu: [s390x] 619 | os: [linux] 620 | 621 | "@esbuild/linux-s390x@0.25.5": 622 | resolution: 623 | { 624 | integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==, 625 | } 626 | engines: { node: ">=18" } 627 | cpu: [s390x] 628 | os: [linux] 629 | 630 | "@esbuild/linux-x64@0.21.5": 631 | resolution: 632 | { 633 | integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==, 634 | } 635 | engines: { node: ">=12" } 636 | cpu: [x64] 637 | os: [linux] 638 | 639 | "@esbuild/linux-x64@0.25.5": 640 | resolution: 641 | { 642 | integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==, 643 | } 644 | engines: { node: ">=18" } 645 | cpu: [x64] 646 | os: [linux] 647 | 648 | "@esbuild/netbsd-arm64@0.25.5": 649 | resolution: 650 | { 651 | integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==, 652 | } 653 | engines: { node: ">=18" } 654 | cpu: [arm64] 655 | os: [netbsd] 656 | 657 | "@esbuild/netbsd-x64@0.21.5": 658 | resolution: 659 | { 660 | integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==, 661 | } 662 | engines: { node: ">=12" } 663 | cpu: [x64] 664 | os: [netbsd] 665 | 666 | "@esbuild/netbsd-x64@0.25.5": 667 | resolution: 668 | { 669 | integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==, 670 | } 671 | engines: { node: ">=18" } 672 | cpu: [x64] 673 | os: [netbsd] 674 | 675 | "@esbuild/openbsd-arm64@0.25.5": 676 | resolution: 677 | { 678 | integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==, 679 | } 680 | engines: { node: ">=18" } 681 | cpu: [arm64] 682 | os: [openbsd] 683 | 684 | "@esbuild/openbsd-x64@0.21.5": 685 | resolution: 686 | { 687 | integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==, 688 | } 689 | engines: { node: ">=12" } 690 | cpu: [x64] 691 | os: [openbsd] 692 | 693 | "@esbuild/openbsd-x64@0.25.5": 694 | resolution: 695 | { 696 | integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==, 697 | } 698 | engines: { node: ">=18" } 699 | cpu: [x64] 700 | os: [openbsd] 701 | 702 | "@esbuild/sunos-x64@0.21.5": 703 | resolution: 704 | { 705 | integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==, 706 | } 707 | engines: { node: ">=12" } 708 | cpu: [x64] 709 | os: [sunos] 710 | 711 | "@esbuild/sunos-x64@0.25.5": 712 | resolution: 713 | { 714 | integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==, 715 | } 716 | engines: { node: ">=18" } 717 | cpu: [x64] 718 | os: [sunos] 719 | 720 | "@esbuild/win32-arm64@0.21.5": 721 | resolution: 722 | { 723 | integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==, 724 | } 725 | engines: { node: ">=12" } 726 | cpu: [arm64] 727 | os: [win32] 728 | 729 | "@esbuild/win32-arm64@0.25.5": 730 | resolution: 731 | { 732 | integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==, 733 | } 734 | engines: { node: ">=18" } 735 | cpu: [arm64] 736 | os: [win32] 737 | 738 | "@esbuild/win32-ia32@0.21.5": 739 | resolution: 740 | { 741 | integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==, 742 | } 743 | engines: { node: ">=12" } 744 | cpu: [ia32] 745 | os: [win32] 746 | 747 | "@esbuild/win32-ia32@0.25.5": 748 | resolution: 749 | { 750 | integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==, 751 | } 752 | engines: { node: ">=18" } 753 | cpu: [ia32] 754 | os: [win32] 755 | 756 | "@esbuild/win32-x64@0.21.5": 757 | resolution: 758 | { 759 | integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==, 760 | } 761 | engines: { node: ">=12" } 762 | cpu: [x64] 763 | os: [win32] 764 | 765 | "@esbuild/win32-x64@0.25.5": 766 | resolution: 767 | { 768 | integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==, 769 | } 770 | engines: { node: ">=18" } 771 | cpu: [x64] 772 | os: [win32] 773 | 774 | "@eslint-community/eslint-utils@4.7.0": 775 | resolution: 776 | { 777 | integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==, 778 | } 779 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 780 | peerDependencies: 781 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 782 | 783 | "@eslint-community/regexpp@4.12.1": 784 | resolution: 785 | { 786 | integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==, 787 | } 788 | engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } 789 | 790 | "@eslint/eslintrc@2.1.4": 791 | resolution: 792 | { 793 | integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, 794 | } 795 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 796 | 797 | "@eslint/js@8.57.1": 798 | resolution: 799 | { 800 | integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==, 801 | } 802 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 803 | 804 | "@humanwhocodes/config-array@0.13.0": 805 | resolution: 806 | { 807 | integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==, 808 | } 809 | engines: { node: ">=10.10.0" } 810 | deprecated: Use @eslint/config-array instead 811 | 812 | "@humanwhocodes/module-importer@1.0.1": 813 | resolution: 814 | { 815 | integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, 816 | } 817 | engines: { node: ">=12.22" } 818 | 819 | "@humanwhocodes/object-schema@2.0.3": 820 | resolution: 821 | { 822 | integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==, 823 | } 824 | deprecated: Use @eslint/object-schema instead 825 | 826 | "@jridgewell/gen-mapping@0.3.8": 827 | resolution: 828 | { 829 | integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==, 830 | } 831 | engines: { node: ">=6.0.0" } 832 | 833 | "@jridgewell/resolve-uri@3.1.2": 834 | resolution: 835 | { 836 | integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, 837 | } 838 | engines: { node: ">=6.0.0" } 839 | 840 | "@jridgewell/set-array@1.2.1": 841 | resolution: 842 | { 843 | integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==, 844 | } 845 | engines: { node: ">=6.0.0" } 846 | 847 | "@jridgewell/sourcemap-codec@1.5.0": 848 | resolution: 849 | { 850 | integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==, 851 | } 852 | 853 | "@jridgewell/trace-mapping@0.3.25": 854 | resolution: 855 | { 856 | integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==, 857 | } 858 | 859 | "@nodelib/fs.scandir@2.1.5": 860 | resolution: 861 | { 862 | integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, 863 | } 864 | engines: { node: ">= 8" } 865 | 866 | "@nodelib/fs.stat@2.0.5": 867 | resolution: 868 | { 869 | integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, 870 | } 871 | engines: { node: ">= 8" } 872 | 873 | "@nodelib/fs.walk@1.2.8": 874 | resolution: 875 | { 876 | integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, 877 | } 878 | engines: { node: ">= 8" } 879 | 880 | "@puppeteer/browsers@2.6.1": 881 | resolution: 882 | { 883 | integrity: sha512-aBSREisdsGH890S2rQqK82qmQYU3uFpSH8wcZWHgHzl3LfzsxAKbLNiAG9mO8v1Y0UICBeClICxPJvyr0rcuxg==, 884 | } 885 | engines: { node: ">=18" } 886 | hasBin: true 887 | 888 | "@rolldown/pluginutils@1.0.0-beta.11": 889 | resolution: 890 | { 891 | integrity: sha512-L/gAA/hyCSuzTF1ftlzUSI/IKr2POHsv1Dd78GfqkR83KMNuswWD61JxGV2L7nRwBBBSDr6R1gCkdTmoN7W4ag==, 892 | } 893 | 894 | "@rollup/rollup-android-arm-eabi@4.44.0": 895 | resolution: 896 | { 897 | integrity: sha512-xEiEE5oDW6tK4jXCAyliuntGR+amEMO7HLtdSshVuhFnKTYoeYMyXQK7pLouAJJj5KHdwdn87bfHAR2nSdNAUA==, 898 | } 899 | cpu: [arm] 900 | os: [android] 901 | 902 | "@rollup/rollup-android-arm64@4.44.0": 903 | resolution: 904 | { 905 | integrity: sha512-uNSk/TgvMbskcHxXYHzqwiyBlJ/lGcv8DaUfcnNwict8ba9GTTNxfn3/FAoFZYgkaXXAdrAA+SLyKplyi349Jw==, 906 | } 907 | cpu: [arm64] 908 | os: [android] 909 | 910 | "@rollup/rollup-darwin-arm64@4.44.0": 911 | resolution: 912 | { 913 | integrity: sha512-VGF3wy0Eq1gcEIkSCr8Ke03CWT+Pm2yveKLaDvq51pPpZza3JX/ClxXOCmTYYq3us5MvEuNRTaeyFThCKRQhOA==, 914 | } 915 | cpu: [arm64] 916 | os: [darwin] 917 | 918 | "@rollup/rollup-darwin-x64@4.44.0": 919 | resolution: 920 | { 921 | integrity: sha512-fBkyrDhwquRvrTxSGH/qqt3/T0w5Rg0L7ZIDypvBPc1/gzjJle6acCpZ36blwuwcKD/u6oCE/sRWlUAcxLWQbQ==, 922 | } 923 | cpu: [x64] 924 | os: [darwin] 925 | 926 | "@rollup/rollup-freebsd-arm64@4.44.0": 927 | resolution: 928 | { 929 | integrity: sha512-u5AZzdQJYJXByB8giQ+r4VyfZP+walV+xHWdaFx/1VxsOn6eWJhK2Vl2eElvDJFKQBo/hcYIBg/jaKS8ZmKeNQ==, 930 | } 931 | cpu: [arm64] 932 | os: [freebsd] 933 | 934 | "@rollup/rollup-freebsd-x64@4.44.0": 935 | resolution: 936 | { 937 | integrity: sha512-qC0kS48c/s3EtdArkimctY7h3nHicQeEUdjJzYVJYR3ct3kWSafmn6jkNCA8InbUdge6PVx6keqjk5lVGJf99g==, 938 | } 939 | cpu: [x64] 940 | os: [freebsd] 941 | 942 | "@rollup/rollup-linux-arm-gnueabihf@4.44.0": 943 | resolution: 944 | { 945 | integrity: sha512-x+e/Z9H0RAWckn4V2OZZl6EmV0L2diuX3QB0uM1r6BvhUIv6xBPL5mrAX2E3e8N8rEHVPwFfz/ETUbV4oW9+lQ==, 946 | } 947 | cpu: [arm] 948 | os: [linux] 949 | 950 | "@rollup/rollup-linux-arm-musleabihf@4.44.0": 951 | resolution: 952 | { 953 | integrity: sha512-1exwiBFf4PU/8HvI8s80icyCcnAIB86MCBdst51fwFmH5dyeoWVPVgmQPcKrMtBQ0W5pAs7jBCWuRXgEpRzSCg==, 954 | } 955 | cpu: [arm] 956 | os: [linux] 957 | 958 | "@rollup/rollup-linux-arm64-gnu@4.44.0": 959 | resolution: 960 | { 961 | integrity: sha512-ZTR2mxBHb4tK4wGf9b8SYg0Y6KQPjGpR4UWwTFdnmjB4qRtoATZ5dWn3KsDwGa5Z2ZBOE7K52L36J9LueKBdOQ==, 962 | } 963 | cpu: [arm64] 964 | os: [linux] 965 | 966 | "@rollup/rollup-linux-arm64-musl@4.44.0": 967 | resolution: 968 | { 969 | integrity: sha512-GFWfAhVhWGd4r6UxmnKRTBwP1qmModHtd5gkraeW2G490BpFOZkFtem8yuX2NyafIP/mGpRJgTJ2PwohQkUY/Q==, 970 | } 971 | cpu: [arm64] 972 | os: [linux] 973 | 974 | "@rollup/rollup-linux-loongarch64-gnu@4.44.0": 975 | resolution: 976 | { 977 | integrity: sha512-xw+FTGcov/ejdusVOqKgMGW3c4+AgqrfvzWEVXcNP6zq2ue+lsYUgJ+5Rtn/OTJf7e2CbgTFvzLW2j0YAtj0Gg==, 978 | } 979 | cpu: [loong64] 980 | os: [linux] 981 | 982 | "@rollup/rollup-linux-powerpc64le-gnu@4.44.0": 983 | resolution: 984 | { 985 | integrity: sha512-bKGibTr9IdF0zr21kMvkZT4K6NV+jjRnBoVMt2uNMG0BYWm3qOVmYnXKzx7UhwrviKnmK46IKMByMgvpdQlyJQ==, 986 | } 987 | cpu: [ppc64] 988 | os: [linux] 989 | 990 | "@rollup/rollup-linux-riscv64-gnu@4.44.0": 991 | resolution: 992 | { 993 | integrity: sha512-vV3cL48U5kDaKZtXrti12YRa7TyxgKAIDoYdqSIOMOFBXqFj2XbChHAtXquEn2+n78ciFgr4KIqEbydEGPxXgA==, 994 | } 995 | cpu: [riscv64] 996 | os: [linux] 997 | 998 | "@rollup/rollup-linux-riscv64-musl@4.44.0": 999 | resolution: 1000 | { 1001 | integrity: sha512-TDKO8KlHJuvTEdfw5YYFBjhFts2TR0VpZsnLLSYmB7AaohJhM8ctDSdDnUGq77hUh4m/djRafw+9zQpkOanE2Q==, 1002 | } 1003 | cpu: [riscv64] 1004 | os: [linux] 1005 | 1006 | "@rollup/rollup-linux-s390x-gnu@4.44.0": 1007 | resolution: 1008 | { 1009 | integrity: sha512-8541GEyktXaw4lvnGp9m84KENcxInhAt6vPWJ9RodsB/iGjHoMB2Pp5MVBCiKIRxrxzJhGCxmNzdu+oDQ7kwRA==, 1010 | } 1011 | cpu: [s390x] 1012 | os: [linux] 1013 | 1014 | "@rollup/rollup-linux-x64-gnu@4.44.0": 1015 | resolution: 1016 | { 1017 | integrity: sha512-iUVJc3c0o8l9Sa/qlDL2Z9UP92UZZW1+EmQ4xfjTc1akr0iUFZNfxrXJ/R1T90h/ILm9iXEY6+iPrmYB3pXKjw==, 1018 | } 1019 | cpu: [x64] 1020 | os: [linux] 1021 | 1022 | "@rollup/rollup-linux-x64-musl@4.44.0": 1023 | resolution: 1024 | { 1025 | integrity: sha512-PQUobbhLTQT5yz/SPg116VJBgz+XOtXt8D1ck+sfJJhuEsMj2jSej5yTdp8CvWBSceu+WW+ibVL6dm0ptG5fcA==, 1026 | } 1027 | cpu: [x64] 1028 | os: [linux] 1029 | 1030 | "@rollup/rollup-win32-arm64-msvc@4.44.0": 1031 | resolution: 1032 | { 1033 | integrity: sha512-M0CpcHf8TWn+4oTxJfh7LQuTuaYeXGbk0eageVjQCKzYLsajWS/lFC94qlRqOlyC2KvRT90ZrfXULYmukeIy7w==, 1034 | } 1035 | cpu: [arm64] 1036 | os: [win32] 1037 | 1038 | "@rollup/rollup-win32-ia32-msvc@4.44.0": 1039 | resolution: 1040 | { 1041 | integrity: sha512-3XJ0NQtMAXTWFW8FqZKcw3gOQwBtVWP/u8TpHP3CRPXD7Pd6s8lLdH3sHWh8vqKCyyiI8xW5ltJScQmBU9j7WA==, 1042 | } 1043 | cpu: [ia32] 1044 | os: [win32] 1045 | 1046 | "@rollup/rollup-win32-x64-msvc@4.44.0": 1047 | resolution: 1048 | { 1049 | integrity: sha512-Q2Mgwt+D8hd5FIPUuPDsvPR7Bguza6yTkJxspDGkZj7tBRn2y4KSWYuIXpftFSjBra76TbKerCV7rgFPQrn+wQ==, 1050 | } 1051 | cpu: [x64] 1052 | os: [win32] 1053 | 1054 | "@tootallnate/quickjs-emscripten@0.23.0": 1055 | resolution: 1056 | { 1057 | integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==, 1058 | } 1059 | 1060 | "@types/babel__core@7.20.5": 1061 | resolution: 1062 | { 1063 | integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==, 1064 | } 1065 | 1066 | "@types/babel__generator@7.27.0": 1067 | resolution: 1068 | { 1069 | integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==, 1070 | } 1071 | 1072 | "@types/babel__template@7.4.4": 1073 | resolution: 1074 | { 1075 | integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==, 1076 | } 1077 | 1078 | "@types/babel__traverse@7.20.7": 1079 | resolution: 1080 | { 1081 | integrity: sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==, 1082 | } 1083 | 1084 | "@types/conventional-commits-parser@5.0.1": 1085 | resolution: 1086 | { 1087 | integrity: sha512-7uz5EHdzz2TqoMfV7ee61Egf5y6NkcO4FB/1iCCQnbeiI1F3xzv3vK5dBCXUCLQgGYS+mUeigK1iKQzvED+QnQ==, 1088 | } 1089 | 1090 | "@types/estree@1.0.8": 1091 | resolution: 1092 | { 1093 | integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==, 1094 | } 1095 | 1096 | "@types/json-schema@7.0.15": 1097 | resolution: 1098 | { 1099 | integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==, 1100 | } 1101 | 1102 | "@types/node@20.19.1": 1103 | resolution: 1104 | { 1105 | integrity: sha512-jJD50LtlD2dodAEO653i3YF04NWak6jN3ky+Ri3Em3mGR39/glWiboM/IePaRbgwSfqM1TpGXfAg8ohn/4dTgA==, 1106 | } 1107 | 1108 | "@types/prop-types@15.7.15": 1109 | resolution: 1110 | { 1111 | integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==, 1112 | } 1113 | 1114 | "@types/react-dom@18.3.7": 1115 | resolution: 1116 | { 1117 | integrity: sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==, 1118 | } 1119 | peerDependencies: 1120 | "@types/react": ^18.0.0 1121 | 1122 | "@types/react@18.3.23": 1123 | resolution: 1124 | { 1125 | integrity: sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==, 1126 | } 1127 | 1128 | "@types/semver@7.7.0": 1129 | resolution: 1130 | { 1131 | integrity: sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==, 1132 | } 1133 | 1134 | "@types/yauzl@2.10.3": 1135 | resolution: 1136 | { 1137 | integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==, 1138 | } 1139 | 1140 | "@typescript-eslint/eslint-plugin@6.21.0": 1141 | resolution: 1142 | { 1143 | integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==, 1144 | } 1145 | engines: { node: ^16.0.0 || >=18.0.0 } 1146 | peerDependencies: 1147 | "@typescript-eslint/parser": ^6.0.0 || ^6.0.0-alpha 1148 | eslint: ^7.0.0 || ^8.0.0 1149 | typescript: "*" 1150 | peerDependenciesMeta: 1151 | typescript: 1152 | optional: true 1153 | 1154 | "@typescript-eslint/parser@6.21.0": 1155 | resolution: 1156 | { 1157 | integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==, 1158 | } 1159 | engines: { node: ^16.0.0 || >=18.0.0 } 1160 | peerDependencies: 1161 | eslint: ^7.0.0 || ^8.0.0 1162 | typescript: "*" 1163 | peerDependenciesMeta: 1164 | typescript: 1165 | optional: true 1166 | 1167 | "@typescript-eslint/scope-manager@6.21.0": 1168 | resolution: 1169 | { 1170 | integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==, 1171 | } 1172 | engines: { node: ^16.0.0 || >=18.0.0 } 1173 | 1174 | "@typescript-eslint/type-utils@6.21.0": 1175 | resolution: 1176 | { 1177 | integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==, 1178 | } 1179 | engines: { node: ^16.0.0 || >=18.0.0 } 1180 | peerDependencies: 1181 | eslint: ^7.0.0 || ^8.0.0 1182 | typescript: "*" 1183 | peerDependenciesMeta: 1184 | typescript: 1185 | optional: true 1186 | 1187 | "@typescript-eslint/types@6.21.0": 1188 | resolution: 1189 | { 1190 | integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==, 1191 | } 1192 | engines: { node: ^16.0.0 || >=18.0.0 } 1193 | 1194 | "@typescript-eslint/typescript-estree@6.21.0": 1195 | resolution: 1196 | { 1197 | integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==, 1198 | } 1199 | engines: { node: ^16.0.0 || >=18.0.0 } 1200 | peerDependencies: 1201 | typescript: "*" 1202 | peerDependenciesMeta: 1203 | typescript: 1204 | optional: true 1205 | 1206 | "@typescript-eslint/utils@6.21.0": 1207 | resolution: 1208 | { 1209 | integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==, 1210 | } 1211 | engines: { node: ^16.0.0 || >=18.0.0 } 1212 | peerDependencies: 1213 | eslint: ^7.0.0 || ^8.0.0 1214 | 1215 | "@typescript-eslint/visitor-keys@6.21.0": 1216 | resolution: 1217 | { 1218 | integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==, 1219 | } 1220 | engines: { node: ^16.0.0 || >=18.0.0 } 1221 | 1222 | "@ungap/structured-clone@1.3.0": 1223 | resolution: 1224 | { 1225 | integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==, 1226 | } 1227 | 1228 | "@vitejs/plugin-react@4.5.2": 1229 | resolution: 1230 | { 1231 | integrity: sha512-QNVT3/Lxx99nMQWJWF7K4N6apUEuT0KlZA3mx/mVaoGj3smm/8rc8ezz15J1pcbcjDK0V15rpHetVfya08r76Q==, 1232 | } 1233 | engines: { node: ^14.18.0 || >=16.0.0 } 1234 | peerDependencies: 1235 | vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0 1236 | 1237 | JSONStream@1.3.5: 1238 | resolution: 1239 | { 1240 | integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==, 1241 | } 1242 | hasBin: true 1243 | 1244 | acorn-jsx@5.3.2: 1245 | resolution: 1246 | { 1247 | integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, 1248 | } 1249 | peerDependencies: 1250 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 1251 | 1252 | acorn@8.15.0: 1253 | resolution: 1254 | { 1255 | integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==, 1256 | } 1257 | engines: { node: ">=0.4.0" } 1258 | hasBin: true 1259 | 1260 | agent-base@7.1.3: 1261 | resolution: 1262 | { 1263 | integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==, 1264 | } 1265 | engines: { node: ">= 14" } 1266 | 1267 | ajv@6.12.6: 1268 | resolution: 1269 | { 1270 | integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, 1271 | } 1272 | 1273 | ajv@8.17.1: 1274 | resolution: 1275 | { 1276 | integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==, 1277 | } 1278 | 1279 | ansi-escapes@7.0.0: 1280 | resolution: 1281 | { 1282 | integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==, 1283 | } 1284 | engines: { node: ">=18" } 1285 | 1286 | ansi-regex@5.0.1: 1287 | resolution: 1288 | { 1289 | integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, 1290 | } 1291 | engines: { node: ">=8" } 1292 | 1293 | ansi-regex@6.1.0: 1294 | resolution: 1295 | { 1296 | integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==, 1297 | } 1298 | engines: { node: ">=12" } 1299 | 1300 | ansi-styles@4.3.0: 1301 | resolution: 1302 | { 1303 | integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, 1304 | } 1305 | engines: { node: ">=8" } 1306 | 1307 | ansi-styles@6.2.1: 1308 | resolution: 1309 | { 1310 | integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==, 1311 | } 1312 | engines: { node: ">=12" } 1313 | 1314 | argparse@2.0.1: 1315 | resolution: 1316 | { 1317 | integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, 1318 | } 1319 | 1320 | array-ify@1.0.0: 1321 | resolution: 1322 | { 1323 | integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==, 1324 | } 1325 | 1326 | array-union@2.1.0: 1327 | resolution: 1328 | { 1329 | integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==, 1330 | } 1331 | engines: { node: ">=8" } 1332 | 1333 | ast-types@0.13.4: 1334 | resolution: 1335 | { 1336 | integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==, 1337 | } 1338 | engines: { node: ">=4" } 1339 | 1340 | b4a@1.6.7: 1341 | resolution: 1342 | { 1343 | integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==, 1344 | } 1345 | 1346 | balanced-match@1.0.2: 1347 | resolution: 1348 | { 1349 | integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, 1350 | } 1351 | 1352 | bare-events@2.5.4: 1353 | resolution: 1354 | { 1355 | integrity: sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==, 1356 | } 1357 | 1358 | bare-fs@4.1.5: 1359 | resolution: 1360 | { 1361 | integrity: sha512-1zccWBMypln0jEE05LzZt+V/8y8AQsQQqxtklqaIyg5nu6OAYFhZxPXinJTSG+kU5qyNmeLgcn9AW7eHiCHVLA==, 1362 | } 1363 | engines: { bare: ">=1.16.0" } 1364 | peerDependencies: 1365 | bare-buffer: "*" 1366 | peerDependenciesMeta: 1367 | bare-buffer: 1368 | optional: true 1369 | 1370 | bare-os@3.6.1: 1371 | resolution: 1372 | { 1373 | integrity: sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==, 1374 | } 1375 | engines: { bare: ">=1.14.0" } 1376 | 1377 | bare-path@3.0.0: 1378 | resolution: 1379 | { 1380 | integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==, 1381 | } 1382 | 1383 | bare-stream@2.6.5: 1384 | resolution: 1385 | { 1386 | integrity: sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==, 1387 | } 1388 | peerDependencies: 1389 | bare-buffer: "*" 1390 | bare-events: "*" 1391 | peerDependenciesMeta: 1392 | bare-buffer: 1393 | optional: true 1394 | bare-events: 1395 | optional: true 1396 | 1397 | base64-js@1.5.1: 1398 | resolution: 1399 | { 1400 | integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, 1401 | } 1402 | 1403 | basic-ftp@5.0.5: 1404 | resolution: 1405 | { 1406 | integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==, 1407 | } 1408 | engines: { node: ">=10.0.0" } 1409 | 1410 | brace-expansion@1.1.12: 1411 | resolution: 1412 | { 1413 | integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==, 1414 | } 1415 | 1416 | brace-expansion@2.0.2: 1417 | resolution: 1418 | { 1419 | integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==, 1420 | } 1421 | 1422 | braces@3.0.3: 1423 | resolution: 1424 | { 1425 | integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==, 1426 | } 1427 | engines: { node: ">=8" } 1428 | 1429 | browserslist@4.25.0: 1430 | resolution: 1431 | { 1432 | integrity: sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==, 1433 | } 1434 | engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } 1435 | hasBin: true 1436 | 1437 | buffer-crc32@0.2.13: 1438 | resolution: 1439 | { 1440 | integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==, 1441 | } 1442 | 1443 | buffer@5.7.1: 1444 | resolution: 1445 | { 1446 | integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==, 1447 | } 1448 | 1449 | callsites@3.1.0: 1450 | resolution: 1451 | { 1452 | integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, 1453 | } 1454 | engines: { node: ">=6" } 1455 | 1456 | caniuse-lite@1.0.30001723: 1457 | resolution: 1458 | { 1459 | integrity: sha512-1R/elMjtehrFejxwmexeXAtae5UO9iSyFn6G/I806CYC/BLyyBk1EPhrKBkWhy6wM6Xnm47dSJQec+tLJ39WHw==, 1460 | } 1461 | 1462 | chalk@4.1.2: 1463 | resolution: 1464 | { 1465 | integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, 1466 | } 1467 | engines: { node: ">=10" } 1468 | 1469 | chalk@5.4.1: 1470 | resolution: 1471 | { 1472 | integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==, 1473 | } 1474 | engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } 1475 | 1476 | chromium-bidi@0.11.0: 1477 | resolution: 1478 | { 1479 | integrity: sha512-6CJWHkNRoyZyjV9Rwv2lYONZf1Xm0IuDyNq97nwSsxxP3wf5Bwy15K5rOvVKMtJ127jJBmxFUanSAOjgFRxgrA==, 1480 | } 1481 | peerDependencies: 1482 | devtools-protocol: "*" 1483 | 1484 | cli-cursor@5.0.0: 1485 | resolution: 1486 | { 1487 | integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==, 1488 | } 1489 | engines: { node: ">=18" } 1490 | 1491 | cli-truncate@4.0.0: 1492 | resolution: 1493 | { 1494 | integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==, 1495 | } 1496 | engines: { node: ">=18" } 1497 | 1498 | cliui@8.0.1: 1499 | resolution: 1500 | { 1501 | integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==, 1502 | } 1503 | engines: { node: ">=12" } 1504 | 1505 | clsx@2.1.1: 1506 | resolution: 1507 | { 1508 | integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==, 1509 | } 1510 | engines: { node: ">=6" } 1511 | 1512 | color-convert@2.0.1: 1513 | resolution: 1514 | { 1515 | integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, 1516 | } 1517 | engines: { node: ">=7.0.0" } 1518 | 1519 | color-name@1.1.4: 1520 | resolution: 1521 | { 1522 | integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, 1523 | } 1524 | 1525 | colorette@2.0.20: 1526 | resolution: 1527 | { 1528 | integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, 1529 | } 1530 | 1531 | commander@13.1.0: 1532 | resolution: 1533 | { 1534 | integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==, 1535 | } 1536 | engines: { node: ">=18" } 1537 | 1538 | compare-func@2.0.0: 1539 | resolution: 1540 | { 1541 | integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==, 1542 | } 1543 | 1544 | concat-map@0.0.1: 1545 | resolution: 1546 | { 1547 | integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, 1548 | } 1549 | 1550 | conventional-changelog-angular@7.0.0: 1551 | resolution: 1552 | { 1553 | integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==, 1554 | } 1555 | engines: { node: ">=16" } 1556 | 1557 | conventional-changelog-conventionalcommits@7.0.2: 1558 | resolution: 1559 | { 1560 | integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==, 1561 | } 1562 | engines: { node: ">=16" } 1563 | 1564 | conventional-commits-parser@5.0.0: 1565 | resolution: 1566 | { 1567 | integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==, 1568 | } 1569 | engines: { node: ">=16" } 1570 | hasBin: true 1571 | 1572 | convert-source-map@2.0.0: 1573 | resolution: 1574 | { 1575 | integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, 1576 | } 1577 | 1578 | cosmiconfig-typescript-loader@6.1.0: 1579 | resolution: 1580 | { 1581 | integrity: sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g==, 1582 | } 1583 | engines: { node: ">=v18" } 1584 | peerDependencies: 1585 | "@types/node": "*" 1586 | cosmiconfig: ">=9" 1587 | typescript: ">=5" 1588 | 1589 | cosmiconfig@9.0.0: 1590 | resolution: 1591 | { 1592 | integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==, 1593 | } 1594 | engines: { node: ">=14" } 1595 | peerDependencies: 1596 | typescript: ">=4.9.5" 1597 | peerDependenciesMeta: 1598 | typescript: 1599 | optional: true 1600 | 1601 | cross-spawn@7.0.6: 1602 | resolution: 1603 | { 1604 | integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==, 1605 | } 1606 | engines: { node: ">= 8" } 1607 | 1608 | csstype@3.1.3: 1609 | resolution: 1610 | { 1611 | integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==, 1612 | } 1613 | 1614 | dargs@8.1.0: 1615 | resolution: 1616 | { 1617 | integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==, 1618 | } 1619 | engines: { node: ">=12" } 1620 | 1621 | data-uri-to-buffer@6.0.2: 1622 | resolution: 1623 | { 1624 | integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==, 1625 | } 1626 | engines: { node: ">= 14" } 1627 | 1628 | debug@4.4.1: 1629 | resolution: 1630 | { 1631 | integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==, 1632 | } 1633 | engines: { node: ">=6.0" } 1634 | peerDependencies: 1635 | supports-color: "*" 1636 | peerDependenciesMeta: 1637 | supports-color: 1638 | optional: true 1639 | 1640 | deep-is@0.1.4: 1641 | resolution: 1642 | { 1643 | integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, 1644 | } 1645 | 1646 | degenerator@5.0.1: 1647 | resolution: 1648 | { 1649 | integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==, 1650 | } 1651 | engines: { node: ">= 14" } 1652 | 1653 | detect-libc@2.0.4: 1654 | resolution: 1655 | { 1656 | integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==, 1657 | } 1658 | engines: { node: ">=8" } 1659 | 1660 | devtools-protocol@0.0.1367902: 1661 | resolution: 1662 | { 1663 | integrity: sha512-XxtPuC3PGakY6PD7dG66/o8KwJ/LkH2/EKe19Dcw58w53dv4/vSQEkn/SzuyhHE2q4zPgCkxQBxus3VV4ql+Pg==, 1664 | } 1665 | 1666 | dir-glob@3.0.1: 1667 | resolution: 1668 | { 1669 | integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==, 1670 | } 1671 | engines: { node: ">=8" } 1672 | 1673 | doctrine@3.0.0: 1674 | resolution: 1675 | { 1676 | integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, 1677 | } 1678 | engines: { node: ">=6.0.0" } 1679 | 1680 | dot-prop@5.3.0: 1681 | resolution: 1682 | { 1683 | integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==, 1684 | } 1685 | engines: { node: ">=8" } 1686 | 1687 | electron-to-chromium@1.5.171: 1688 | resolution: 1689 | { 1690 | integrity: sha512-scWpzXEJEMrGJa4Y6m/tVotb0WuvNmasv3wWVzUAeCgKU0ToFOhUW6Z+xWnRQANMYGxN4ngJXIThgBJOqzVPCQ==, 1691 | } 1692 | 1693 | emoji-regex@10.4.0: 1694 | resolution: 1695 | { 1696 | integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==, 1697 | } 1698 | 1699 | emoji-regex@8.0.0: 1700 | resolution: 1701 | { 1702 | integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, 1703 | } 1704 | 1705 | end-of-stream@1.4.5: 1706 | resolution: 1707 | { 1708 | integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==, 1709 | } 1710 | 1711 | env-paths@2.2.1: 1712 | resolution: 1713 | { 1714 | integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==, 1715 | } 1716 | engines: { node: ">=6" } 1717 | 1718 | environment@1.1.0: 1719 | resolution: 1720 | { 1721 | integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==, 1722 | } 1723 | engines: { node: ">=18" } 1724 | 1725 | error-ex@1.3.2: 1726 | resolution: 1727 | { 1728 | integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, 1729 | } 1730 | 1731 | esbuild@0.21.5: 1732 | resolution: 1733 | { 1734 | integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==, 1735 | } 1736 | engines: { node: ">=12" } 1737 | hasBin: true 1738 | 1739 | esbuild@0.25.5: 1740 | resolution: 1741 | { 1742 | integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==, 1743 | } 1744 | engines: { node: ">=18" } 1745 | hasBin: true 1746 | 1747 | escalade@3.2.0: 1748 | resolution: 1749 | { 1750 | integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==, 1751 | } 1752 | engines: { node: ">=6" } 1753 | 1754 | escape-string-regexp@4.0.0: 1755 | resolution: 1756 | { 1757 | integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, 1758 | } 1759 | engines: { node: ">=10" } 1760 | 1761 | escodegen@2.1.0: 1762 | resolution: 1763 | { 1764 | integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==, 1765 | } 1766 | engines: { node: ">=6.0" } 1767 | hasBin: true 1768 | 1769 | eslint-config-prettier@9.1.0: 1770 | resolution: 1771 | { 1772 | integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==, 1773 | } 1774 | hasBin: true 1775 | peerDependencies: 1776 | eslint: ">=7.0.0" 1777 | 1778 | eslint-plugin-react-hooks@4.6.2: 1779 | resolution: 1780 | { 1781 | integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==, 1782 | } 1783 | engines: { node: ">=10" } 1784 | peerDependencies: 1785 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 1786 | 1787 | eslint-plugin-react-refresh@0.4.20: 1788 | resolution: 1789 | { 1790 | integrity: sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==, 1791 | } 1792 | peerDependencies: 1793 | eslint: ">=8.40" 1794 | 1795 | eslint-scope@7.2.2: 1796 | resolution: 1797 | { 1798 | integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, 1799 | } 1800 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 1801 | 1802 | eslint-visitor-keys@3.4.3: 1803 | resolution: 1804 | { 1805 | integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, 1806 | } 1807 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 1808 | 1809 | eslint@8.57.1: 1810 | resolution: 1811 | { 1812 | integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==, 1813 | } 1814 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 1815 | deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. 1816 | hasBin: true 1817 | 1818 | espree@9.6.1: 1819 | resolution: 1820 | { 1821 | integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, 1822 | } 1823 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 1824 | 1825 | esprima@4.0.1: 1826 | resolution: 1827 | { 1828 | integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, 1829 | } 1830 | engines: { node: ">=4" } 1831 | hasBin: true 1832 | 1833 | esquery@1.6.0: 1834 | resolution: 1835 | { 1836 | integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==, 1837 | } 1838 | engines: { node: ">=0.10" } 1839 | 1840 | esrecurse@4.3.0: 1841 | resolution: 1842 | { 1843 | integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, 1844 | } 1845 | engines: { node: ">=4.0" } 1846 | 1847 | estraverse@5.3.0: 1848 | resolution: 1849 | { 1850 | integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, 1851 | } 1852 | engines: { node: ">=4.0" } 1853 | 1854 | esutils@2.0.3: 1855 | resolution: 1856 | { 1857 | integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, 1858 | } 1859 | engines: { node: ">=0.10.0" } 1860 | 1861 | eventemitter3@5.0.1: 1862 | resolution: 1863 | { 1864 | integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==, 1865 | } 1866 | 1867 | execa@8.0.1: 1868 | resolution: 1869 | { 1870 | integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==, 1871 | } 1872 | engines: { node: ">=16.17" } 1873 | 1874 | extract-zip@2.0.1: 1875 | resolution: 1876 | { 1877 | integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==, 1878 | } 1879 | engines: { node: ">= 10.17.0" } 1880 | hasBin: true 1881 | 1882 | fast-deep-equal@3.1.3: 1883 | resolution: 1884 | { 1885 | integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, 1886 | } 1887 | 1888 | fast-fifo@1.3.2: 1889 | resolution: 1890 | { 1891 | integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==, 1892 | } 1893 | 1894 | fast-glob@3.3.3: 1895 | resolution: 1896 | { 1897 | integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==, 1898 | } 1899 | engines: { node: ">=8.6.0" } 1900 | 1901 | fast-json-stable-stringify@2.1.0: 1902 | resolution: 1903 | { 1904 | integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, 1905 | } 1906 | 1907 | fast-levenshtein@2.0.6: 1908 | resolution: 1909 | { 1910 | integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, 1911 | } 1912 | 1913 | fast-uri@3.0.6: 1914 | resolution: 1915 | { 1916 | integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==, 1917 | } 1918 | 1919 | fastq@1.19.1: 1920 | resolution: 1921 | { 1922 | integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==, 1923 | } 1924 | 1925 | fd-slicer@1.1.0: 1926 | resolution: 1927 | { 1928 | integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==, 1929 | } 1930 | 1931 | file-entry-cache@6.0.1: 1932 | resolution: 1933 | { 1934 | integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, 1935 | } 1936 | engines: { node: ^10.12.0 || >=12.0.0 } 1937 | 1938 | fill-range@7.1.1: 1939 | resolution: 1940 | { 1941 | integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==, 1942 | } 1943 | engines: { node: ">=8" } 1944 | 1945 | find-up@5.0.0: 1946 | resolution: 1947 | { 1948 | integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, 1949 | } 1950 | engines: { node: ">=10" } 1951 | 1952 | find-up@7.0.0: 1953 | resolution: 1954 | { 1955 | integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==, 1956 | } 1957 | engines: { node: ">=18" } 1958 | 1959 | flat-cache@3.2.0: 1960 | resolution: 1961 | { 1962 | integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, 1963 | } 1964 | engines: { node: ^10.12.0 || >=12.0.0 } 1965 | 1966 | flatted@3.3.3: 1967 | resolution: 1968 | { 1969 | integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==, 1970 | } 1971 | 1972 | fs.realpath@1.0.0: 1973 | resolution: 1974 | { 1975 | integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, 1976 | } 1977 | 1978 | fsevents@2.3.3: 1979 | resolution: 1980 | { 1981 | integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, 1982 | } 1983 | engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } 1984 | os: [darwin] 1985 | 1986 | gensync@1.0.0-beta.2: 1987 | resolution: 1988 | { 1989 | integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, 1990 | } 1991 | engines: { node: ">=6.9.0" } 1992 | 1993 | get-caller-file@2.0.5: 1994 | resolution: 1995 | { 1996 | integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, 1997 | } 1998 | engines: { node: 6.* || 8.* || >= 10.* } 1999 | 2000 | get-east-asian-width@1.3.0: 2001 | resolution: 2002 | { 2003 | integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==, 2004 | } 2005 | engines: { node: ">=18" } 2006 | 2007 | get-stream@5.2.0: 2008 | resolution: 2009 | { 2010 | integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==, 2011 | } 2012 | engines: { node: ">=8" } 2013 | 2014 | get-stream@8.0.1: 2015 | resolution: 2016 | { 2017 | integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==, 2018 | } 2019 | engines: { node: ">=16" } 2020 | 2021 | get-tsconfig@4.10.1: 2022 | resolution: 2023 | { 2024 | integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==, 2025 | } 2026 | 2027 | get-uri@6.0.4: 2028 | resolution: 2029 | { 2030 | integrity: sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==, 2031 | } 2032 | engines: { node: ">= 14" } 2033 | 2034 | git-raw-commits@4.0.0: 2035 | resolution: 2036 | { 2037 | integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==, 2038 | } 2039 | engines: { node: ">=16" } 2040 | hasBin: true 2041 | 2042 | glob-parent@5.1.2: 2043 | resolution: 2044 | { 2045 | integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, 2046 | } 2047 | engines: { node: ">= 6" } 2048 | 2049 | glob-parent@6.0.2: 2050 | resolution: 2051 | { 2052 | integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, 2053 | } 2054 | engines: { node: ">=10.13.0" } 2055 | 2056 | glob@7.2.3: 2057 | resolution: 2058 | { 2059 | integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, 2060 | } 2061 | deprecated: Glob versions prior to v9 are no longer supported 2062 | 2063 | global-directory@4.0.1: 2064 | resolution: 2065 | { 2066 | integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==, 2067 | } 2068 | engines: { node: ">=18" } 2069 | 2070 | globals@11.12.0: 2071 | resolution: 2072 | { 2073 | integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==, 2074 | } 2075 | engines: { node: ">=4" } 2076 | 2077 | globals@13.24.0: 2078 | resolution: 2079 | { 2080 | integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, 2081 | } 2082 | engines: { node: ">=8" } 2083 | 2084 | globby@11.1.0: 2085 | resolution: 2086 | { 2087 | integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==, 2088 | } 2089 | engines: { node: ">=10" } 2090 | 2091 | graphemer@1.4.0: 2092 | resolution: 2093 | { 2094 | integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, 2095 | } 2096 | 2097 | has-flag@4.0.0: 2098 | resolution: 2099 | { 2100 | integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, 2101 | } 2102 | engines: { node: ">=8" } 2103 | 2104 | http-proxy-agent@7.0.2: 2105 | resolution: 2106 | { 2107 | integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==, 2108 | } 2109 | engines: { node: ">= 14" } 2110 | 2111 | https-proxy-agent@7.0.6: 2112 | resolution: 2113 | { 2114 | integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==, 2115 | } 2116 | engines: { node: ">= 14" } 2117 | 2118 | human-signals@5.0.0: 2119 | resolution: 2120 | { 2121 | integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==, 2122 | } 2123 | engines: { node: ">=16.17.0" } 2124 | 2125 | husky@9.1.7: 2126 | resolution: 2127 | { 2128 | integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==, 2129 | } 2130 | engines: { node: ">=18" } 2131 | hasBin: true 2132 | 2133 | ieee754@1.2.1: 2134 | resolution: 2135 | { 2136 | integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, 2137 | } 2138 | 2139 | ignore@5.3.2: 2140 | resolution: 2141 | { 2142 | integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==, 2143 | } 2144 | engines: { node: ">= 4" } 2145 | 2146 | import-fresh@3.3.1: 2147 | resolution: 2148 | { 2149 | integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==, 2150 | } 2151 | engines: { node: ">=6" } 2152 | 2153 | import-meta-resolve@4.1.0: 2154 | resolution: 2155 | { 2156 | integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==, 2157 | } 2158 | 2159 | imurmurhash@0.1.4: 2160 | resolution: 2161 | { 2162 | integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, 2163 | } 2164 | engines: { node: ">=0.8.19" } 2165 | 2166 | inflight@1.0.6: 2167 | resolution: 2168 | { 2169 | integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, 2170 | } 2171 | deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. 2172 | 2173 | inherits@2.0.4: 2174 | resolution: 2175 | { 2176 | integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, 2177 | } 2178 | 2179 | ini@4.1.1: 2180 | resolution: 2181 | { 2182 | integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==, 2183 | } 2184 | engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } 2185 | 2186 | ip-address@9.0.5: 2187 | resolution: 2188 | { 2189 | integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==, 2190 | } 2191 | engines: { node: ">= 12" } 2192 | 2193 | is-arrayish@0.2.1: 2194 | resolution: 2195 | { 2196 | integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, 2197 | } 2198 | 2199 | is-extglob@2.1.1: 2200 | resolution: 2201 | { 2202 | integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, 2203 | } 2204 | engines: { node: ">=0.10.0" } 2205 | 2206 | is-fullwidth-code-point@3.0.0: 2207 | resolution: 2208 | { 2209 | integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, 2210 | } 2211 | engines: { node: ">=8" } 2212 | 2213 | is-fullwidth-code-point@4.0.0: 2214 | resolution: 2215 | { 2216 | integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==, 2217 | } 2218 | engines: { node: ">=12" } 2219 | 2220 | is-fullwidth-code-point@5.0.0: 2221 | resolution: 2222 | { 2223 | integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==, 2224 | } 2225 | engines: { node: ">=18" } 2226 | 2227 | is-glob@4.0.3: 2228 | resolution: 2229 | { 2230 | integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, 2231 | } 2232 | engines: { node: ">=0.10.0" } 2233 | 2234 | is-number@7.0.0: 2235 | resolution: 2236 | { 2237 | integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, 2238 | } 2239 | engines: { node: ">=0.12.0" } 2240 | 2241 | is-obj@2.0.0: 2242 | resolution: 2243 | { 2244 | integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==, 2245 | } 2246 | engines: { node: ">=8" } 2247 | 2248 | is-path-inside@3.0.3: 2249 | resolution: 2250 | { 2251 | integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, 2252 | } 2253 | engines: { node: ">=8" } 2254 | 2255 | is-stream@3.0.0: 2256 | resolution: 2257 | { 2258 | integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, 2259 | } 2260 | engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } 2261 | 2262 | is-text-path@2.0.0: 2263 | resolution: 2264 | { 2265 | integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==, 2266 | } 2267 | engines: { node: ">=8" } 2268 | 2269 | isexe@2.0.0: 2270 | resolution: 2271 | { 2272 | integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, 2273 | } 2274 | 2275 | jiti@2.4.2: 2276 | resolution: 2277 | { 2278 | integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==, 2279 | } 2280 | hasBin: true 2281 | 2282 | js-tokens@4.0.0: 2283 | resolution: 2284 | { 2285 | integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, 2286 | } 2287 | 2288 | js-yaml@4.1.0: 2289 | resolution: 2290 | { 2291 | integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, 2292 | } 2293 | hasBin: true 2294 | 2295 | jsbn@1.1.0: 2296 | resolution: 2297 | { 2298 | integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==, 2299 | } 2300 | 2301 | jsesc@3.1.0: 2302 | resolution: 2303 | { 2304 | integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==, 2305 | } 2306 | engines: { node: ">=6" } 2307 | hasBin: true 2308 | 2309 | json-buffer@3.0.1: 2310 | resolution: 2311 | { 2312 | integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, 2313 | } 2314 | 2315 | json-parse-even-better-errors@2.3.1: 2316 | resolution: 2317 | { 2318 | integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==, 2319 | } 2320 | 2321 | json-schema-traverse@0.4.1: 2322 | resolution: 2323 | { 2324 | integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, 2325 | } 2326 | 2327 | json-schema-traverse@1.0.0: 2328 | resolution: 2329 | { 2330 | integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, 2331 | } 2332 | 2333 | json-stable-stringify-without-jsonify@1.0.1: 2334 | resolution: 2335 | { 2336 | integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, 2337 | } 2338 | 2339 | json5@2.2.3: 2340 | resolution: 2341 | { 2342 | integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, 2343 | } 2344 | engines: { node: ">=6" } 2345 | hasBin: true 2346 | 2347 | jsonparse@1.3.1: 2348 | resolution: 2349 | { 2350 | integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==, 2351 | } 2352 | engines: { "0": node >= 0.2.0 } 2353 | 2354 | keyv@4.5.4: 2355 | resolution: 2356 | { 2357 | integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, 2358 | } 2359 | 2360 | levn@0.4.1: 2361 | resolution: 2362 | { 2363 | integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, 2364 | } 2365 | engines: { node: ">= 0.8.0" } 2366 | 2367 | lightningcss-darwin-arm64@1.30.1: 2368 | resolution: 2369 | { 2370 | integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==, 2371 | } 2372 | engines: { node: ">= 12.0.0" } 2373 | cpu: [arm64] 2374 | os: [darwin] 2375 | 2376 | lightningcss-darwin-x64@1.30.1: 2377 | resolution: 2378 | { 2379 | integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==, 2380 | } 2381 | engines: { node: ">= 12.0.0" } 2382 | cpu: [x64] 2383 | os: [darwin] 2384 | 2385 | lightningcss-freebsd-x64@1.30.1: 2386 | resolution: 2387 | { 2388 | integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==, 2389 | } 2390 | engines: { node: ">= 12.0.0" } 2391 | cpu: [x64] 2392 | os: [freebsd] 2393 | 2394 | lightningcss-linux-arm-gnueabihf@1.30.1: 2395 | resolution: 2396 | { 2397 | integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==, 2398 | } 2399 | engines: { node: ">= 12.0.0" } 2400 | cpu: [arm] 2401 | os: [linux] 2402 | 2403 | lightningcss-linux-arm64-gnu@1.30.1: 2404 | resolution: 2405 | { 2406 | integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==, 2407 | } 2408 | engines: { node: ">= 12.0.0" } 2409 | cpu: [arm64] 2410 | os: [linux] 2411 | 2412 | lightningcss-linux-arm64-musl@1.30.1: 2413 | resolution: 2414 | { 2415 | integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==, 2416 | } 2417 | engines: { node: ">= 12.0.0" } 2418 | cpu: [arm64] 2419 | os: [linux] 2420 | 2421 | lightningcss-linux-x64-gnu@1.30.1: 2422 | resolution: 2423 | { 2424 | integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==, 2425 | } 2426 | engines: { node: ">= 12.0.0" } 2427 | cpu: [x64] 2428 | os: [linux] 2429 | 2430 | lightningcss-linux-x64-musl@1.30.1: 2431 | resolution: 2432 | { 2433 | integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==, 2434 | } 2435 | engines: { node: ">= 12.0.0" } 2436 | cpu: [x64] 2437 | os: [linux] 2438 | 2439 | lightningcss-win32-arm64-msvc@1.30.1: 2440 | resolution: 2441 | { 2442 | integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==, 2443 | } 2444 | engines: { node: ">= 12.0.0" } 2445 | cpu: [arm64] 2446 | os: [win32] 2447 | 2448 | lightningcss-win32-x64-msvc@1.30.1: 2449 | resolution: 2450 | { 2451 | integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==, 2452 | } 2453 | engines: { node: ">= 12.0.0" } 2454 | cpu: [x64] 2455 | os: [win32] 2456 | 2457 | lightningcss@1.30.1: 2458 | resolution: 2459 | { 2460 | integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==, 2461 | } 2462 | engines: { node: ">= 12.0.0" } 2463 | 2464 | lilconfig@3.1.3: 2465 | resolution: 2466 | { 2467 | integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==, 2468 | } 2469 | engines: { node: ">=14" } 2470 | 2471 | lines-and-columns@1.2.4: 2472 | resolution: 2473 | { 2474 | integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, 2475 | } 2476 | 2477 | lint-staged@15.5.2: 2478 | resolution: 2479 | { 2480 | integrity: sha512-YUSOLq9VeRNAo/CTaVmhGDKG+LBtA8KF1X4K5+ykMSwWST1vDxJRB2kv2COgLb1fvpCo+A/y9A0G0znNVmdx4w==, 2481 | } 2482 | engines: { node: ">=18.12.0" } 2483 | hasBin: true 2484 | 2485 | listr2@8.3.3: 2486 | resolution: 2487 | { 2488 | integrity: sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ==, 2489 | } 2490 | engines: { node: ">=18.0.0" } 2491 | 2492 | locate-path@6.0.0: 2493 | resolution: 2494 | { 2495 | integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, 2496 | } 2497 | engines: { node: ">=10" } 2498 | 2499 | locate-path@7.2.0: 2500 | resolution: 2501 | { 2502 | integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==, 2503 | } 2504 | engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } 2505 | 2506 | lodash.camelcase@4.3.0: 2507 | resolution: 2508 | { 2509 | integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==, 2510 | } 2511 | 2512 | lodash.isplainobject@4.0.6: 2513 | resolution: 2514 | { 2515 | integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==, 2516 | } 2517 | 2518 | lodash.kebabcase@4.1.1: 2519 | resolution: 2520 | { 2521 | integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==, 2522 | } 2523 | 2524 | lodash.merge@4.6.2: 2525 | resolution: 2526 | { 2527 | integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, 2528 | } 2529 | 2530 | lodash.mergewith@4.6.2: 2531 | resolution: 2532 | { 2533 | integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==, 2534 | } 2535 | 2536 | lodash.snakecase@4.1.1: 2537 | resolution: 2538 | { 2539 | integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==, 2540 | } 2541 | 2542 | lodash.startcase@4.4.0: 2543 | resolution: 2544 | { 2545 | integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==, 2546 | } 2547 | 2548 | lodash.uniq@4.5.0: 2549 | resolution: 2550 | { 2551 | integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==, 2552 | } 2553 | 2554 | lodash.upperfirst@4.3.1: 2555 | resolution: 2556 | { 2557 | integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==, 2558 | } 2559 | 2560 | log-update@6.1.0: 2561 | resolution: 2562 | { 2563 | integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==, 2564 | } 2565 | engines: { node: ">=18" } 2566 | 2567 | loose-envify@1.4.0: 2568 | resolution: 2569 | { 2570 | integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==, 2571 | } 2572 | hasBin: true 2573 | 2574 | lru-cache@5.1.1: 2575 | resolution: 2576 | { 2577 | integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, 2578 | } 2579 | 2580 | lru-cache@7.18.3: 2581 | resolution: 2582 | { 2583 | integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==, 2584 | } 2585 | engines: { node: ">=12" } 2586 | 2587 | meow@12.1.1: 2588 | resolution: 2589 | { 2590 | integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==, 2591 | } 2592 | engines: { node: ">=16.10" } 2593 | 2594 | merge-stream@2.0.0: 2595 | resolution: 2596 | { 2597 | integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, 2598 | } 2599 | 2600 | merge2@1.4.1: 2601 | resolution: 2602 | { 2603 | integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, 2604 | } 2605 | engines: { node: ">= 8" } 2606 | 2607 | micromatch@4.0.8: 2608 | resolution: 2609 | { 2610 | integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==, 2611 | } 2612 | engines: { node: ">=8.6" } 2613 | 2614 | mimic-fn@4.0.0: 2615 | resolution: 2616 | { 2617 | integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, 2618 | } 2619 | engines: { node: ">=12" } 2620 | 2621 | mimic-function@5.0.1: 2622 | resolution: 2623 | { 2624 | integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==, 2625 | } 2626 | engines: { node: ">=18" } 2627 | 2628 | minimatch@3.1.2: 2629 | resolution: 2630 | { 2631 | integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, 2632 | } 2633 | 2634 | minimatch@9.0.3: 2635 | resolution: 2636 | { 2637 | integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==, 2638 | } 2639 | engines: { node: ">=16 || 14 >=14.17" } 2640 | 2641 | minimist@1.2.8: 2642 | resolution: 2643 | { 2644 | integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, 2645 | } 2646 | 2647 | mitt@3.0.1: 2648 | resolution: 2649 | { 2650 | integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==, 2651 | } 2652 | 2653 | ms@2.1.3: 2654 | resolution: 2655 | { 2656 | integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, 2657 | } 2658 | 2659 | nanoid@3.3.11: 2660 | resolution: 2661 | { 2662 | integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==, 2663 | } 2664 | engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } 2665 | hasBin: true 2666 | 2667 | natural-compare@1.4.0: 2668 | resolution: 2669 | { 2670 | integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, 2671 | } 2672 | 2673 | netmask@2.0.2: 2674 | resolution: 2675 | { 2676 | integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==, 2677 | } 2678 | engines: { node: ">= 0.4.0" } 2679 | 2680 | node-releases@2.0.19: 2681 | resolution: 2682 | { 2683 | integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==, 2684 | } 2685 | 2686 | npm-run-path@5.3.0: 2687 | resolution: 2688 | { 2689 | integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==, 2690 | } 2691 | engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } 2692 | 2693 | once@1.4.0: 2694 | resolution: 2695 | { 2696 | integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, 2697 | } 2698 | 2699 | onetime@6.0.0: 2700 | resolution: 2701 | { 2702 | integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, 2703 | } 2704 | engines: { node: ">=12" } 2705 | 2706 | onetime@7.0.0: 2707 | resolution: 2708 | { 2709 | integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==, 2710 | } 2711 | engines: { node: ">=18" } 2712 | 2713 | optionator@0.9.4: 2714 | resolution: 2715 | { 2716 | integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==, 2717 | } 2718 | engines: { node: ">= 0.8.0" } 2719 | 2720 | p-limit@3.1.0: 2721 | resolution: 2722 | { 2723 | integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, 2724 | } 2725 | engines: { node: ">=10" } 2726 | 2727 | p-limit@4.0.0: 2728 | resolution: 2729 | { 2730 | integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==, 2731 | } 2732 | engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } 2733 | 2734 | p-locate@5.0.0: 2735 | resolution: 2736 | { 2737 | integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, 2738 | } 2739 | engines: { node: ">=10" } 2740 | 2741 | p-locate@6.0.0: 2742 | resolution: 2743 | { 2744 | integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==, 2745 | } 2746 | engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } 2747 | 2748 | pac-proxy-agent@7.2.0: 2749 | resolution: 2750 | { 2751 | integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==, 2752 | } 2753 | engines: { node: ">= 14" } 2754 | 2755 | pac-resolver@7.0.1: 2756 | resolution: 2757 | { 2758 | integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==, 2759 | } 2760 | engines: { node: ">= 14" } 2761 | 2762 | parent-module@1.0.1: 2763 | resolution: 2764 | { 2765 | integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, 2766 | } 2767 | engines: { node: ">=6" } 2768 | 2769 | parse-json@5.2.0: 2770 | resolution: 2771 | { 2772 | integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==, 2773 | } 2774 | engines: { node: ">=8" } 2775 | 2776 | path-exists@4.0.0: 2777 | resolution: 2778 | { 2779 | integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, 2780 | } 2781 | engines: { node: ">=8" } 2782 | 2783 | path-exists@5.0.0: 2784 | resolution: 2785 | { 2786 | integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==, 2787 | } 2788 | engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } 2789 | 2790 | path-is-absolute@1.0.1: 2791 | resolution: 2792 | { 2793 | integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, 2794 | } 2795 | engines: { node: ">=0.10.0" } 2796 | 2797 | path-key@3.1.1: 2798 | resolution: 2799 | { 2800 | integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, 2801 | } 2802 | engines: { node: ">=8" } 2803 | 2804 | path-key@4.0.0: 2805 | resolution: 2806 | { 2807 | integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, 2808 | } 2809 | engines: { node: ">=12" } 2810 | 2811 | path-type@4.0.0: 2812 | resolution: 2813 | { 2814 | integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==, 2815 | } 2816 | engines: { node: ">=8" } 2817 | 2818 | pend@1.2.0: 2819 | resolution: 2820 | { 2821 | integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==, 2822 | } 2823 | 2824 | picocolors@1.1.1: 2825 | resolution: 2826 | { 2827 | integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==, 2828 | } 2829 | 2830 | picomatch@2.3.1: 2831 | resolution: 2832 | { 2833 | integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, 2834 | } 2835 | engines: { node: ">=8.6" } 2836 | 2837 | pidtree@0.6.0: 2838 | resolution: 2839 | { 2840 | integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==, 2841 | } 2842 | engines: { node: ">=0.10" } 2843 | hasBin: true 2844 | 2845 | postcss@8.5.6: 2846 | resolution: 2847 | { 2848 | integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==, 2849 | } 2850 | engines: { node: ^10 || ^12 || >=14 } 2851 | 2852 | prelude-ls@1.2.1: 2853 | resolution: 2854 | { 2855 | integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, 2856 | } 2857 | engines: { node: ">= 0.8.0" } 2858 | 2859 | prettier@3.3.2: 2860 | resolution: 2861 | { 2862 | integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==, 2863 | } 2864 | engines: { node: ">=14" } 2865 | hasBin: true 2866 | 2867 | progress@2.0.3: 2868 | resolution: 2869 | { 2870 | integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==, 2871 | } 2872 | engines: { node: ">=0.4.0" } 2873 | 2874 | proxy-agent@6.5.0: 2875 | resolution: 2876 | { 2877 | integrity: sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==, 2878 | } 2879 | engines: { node: ">= 14" } 2880 | 2881 | proxy-from-env@1.1.0: 2882 | resolution: 2883 | { 2884 | integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, 2885 | } 2886 | 2887 | pump@3.0.3: 2888 | resolution: 2889 | { 2890 | integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==, 2891 | } 2892 | 2893 | punycode@2.3.1: 2894 | resolution: 2895 | { 2896 | integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, 2897 | } 2898 | engines: { node: ">=6" } 2899 | 2900 | puppeteer-core@23.11.1: 2901 | resolution: 2902 | { 2903 | integrity: sha512-3HZ2/7hdDKZvZQ7dhhITOUg4/wOrDRjyK2ZBllRB0ZCOi9u0cwq1ACHDjBB+nX+7+kltHjQvBRdeY7+W0T+7Gg==, 2904 | } 2905 | engines: { node: ">=18" } 2906 | 2907 | puppeteer@23.11.1: 2908 | resolution: 2909 | { 2910 | integrity: sha512-53uIX3KR5en8l7Vd8n5DUv90Ae9QDQsyIthaUFVzwV6yU750RjqRznEtNMBT20VthqAdemnJN+hxVdmMHKt7Zw==, 2911 | } 2912 | engines: { node: ">=18" } 2913 | hasBin: true 2914 | 2915 | queue-microtask@1.2.3: 2916 | resolution: 2917 | { 2918 | integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, 2919 | } 2920 | 2921 | react-dom@18.3.1: 2922 | resolution: 2923 | { 2924 | integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==, 2925 | } 2926 | peerDependencies: 2927 | react: ^18.3.1 2928 | 2929 | react-icons@5.5.0: 2930 | resolution: 2931 | { 2932 | integrity: sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==, 2933 | } 2934 | peerDependencies: 2935 | react: "*" 2936 | 2937 | react-refresh@0.17.0: 2938 | resolution: 2939 | { 2940 | integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==, 2941 | } 2942 | engines: { node: ">=0.10.0" } 2943 | 2944 | react@18.3.1: 2945 | resolution: 2946 | { 2947 | integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==, 2948 | } 2949 | engines: { node: ">=0.10.0" } 2950 | 2951 | require-directory@2.1.1: 2952 | resolution: 2953 | { 2954 | integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, 2955 | } 2956 | engines: { node: ">=0.10.0" } 2957 | 2958 | require-from-string@2.0.2: 2959 | resolution: 2960 | { 2961 | integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, 2962 | } 2963 | engines: { node: ">=0.10.0" } 2964 | 2965 | resolve-from@4.0.0: 2966 | resolution: 2967 | { 2968 | integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, 2969 | } 2970 | engines: { node: ">=4" } 2971 | 2972 | resolve-from@5.0.0: 2973 | resolution: 2974 | { 2975 | integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==, 2976 | } 2977 | engines: { node: ">=8" } 2978 | 2979 | resolve-pkg-maps@1.0.0: 2980 | resolution: 2981 | { 2982 | integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, 2983 | } 2984 | 2985 | restore-cursor@5.1.0: 2986 | resolution: 2987 | { 2988 | integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==, 2989 | } 2990 | engines: { node: ">=18" } 2991 | 2992 | reusify@1.1.0: 2993 | resolution: 2994 | { 2995 | integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==, 2996 | } 2997 | engines: { iojs: ">=1.0.0", node: ">=0.10.0" } 2998 | 2999 | rfdc@1.4.1: 3000 | resolution: 3001 | { 3002 | integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==, 3003 | } 3004 | 3005 | rimraf@3.0.2: 3006 | resolution: 3007 | { 3008 | integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, 3009 | } 3010 | deprecated: Rimraf versions prior to v4 are no longer supported 3011 | hasBin: true 3012 | 3013 | rollup@4.44.0: 3014 | resolution: 3015 | { 3016 | integrity: sha512-qHcdEzLCiktQIfwBq420pn2dP+30uzqYxv9ETm91wdt2R9AFcWfjNAmje4NWlnCIQ5RMTzVf0ZyisOKqHR6RwA==, 3017 | } 3018 | engines: { node: ">=18.0.0", npm: ">=8.0.0" } 3019 | hasBin: true 3020 | 3021 | run-parallel@1.2.0: 3022 | resolution: 3023 | { 3024 | integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, 3025 | } 3026 | 3027 | scheduler@0.23.2: 3028 | resolution: 3029 | { 3030 | integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==, 3031 | } 3032 | 3033 | semver@6.3.1: 3034 | resolution: 3035 | { 3036 | integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==, 3037 | } 3038 | hasBin: true 3039 | 3040 | semver@7.7.2: 3041 | resolution: 3042 | { 3043 | integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==, 3044 | } 3045 | engines: { node: ">=10" } 3046 | hasBin: true 3047 | 3048 | shebang-command@2.0.0: 3049 | resolution: 3050 | { 3051 | integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, 3052 | } 3053 | engines: { node: ">=8" } 3054 | 3055 | shebang-regex@3.0.0: 3056 | resolution: 3057 | { 3058 | integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, 3059 | } 3060 | engines: { node: ">=8" } 3061 | 3062 | signal-exit@4.1.0: 3063 | resolution: 3064 | { 3065 | integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, 3066 | } 3067 | engines: { node: ">=14" } 3068 | 3069 | slash@3.0.0: 3070 | resolution: 3071 | { 3072 | integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, 3073 | } 3074 | engines: { node: ">=8" } 3075 | 3076 | slice-ansi@5.0.0: 3077 | resolution: 3078 | { 3079 | integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==, 3080 | } 3081 | engines: { node: ">=12" } 3082 | 3083 | slice-ansi@7.1.0: 3084 | resolution: 3085 | { 3086 | integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==, 3087 | } 3088 | engines: { node: ">=18" } 3089 | 3090 | smart-buffer@4.2.0: 3091 | resolution: 3092 | { 3093 | integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==, 3094 | } 3095 | engines: { node: ">= 6.0.0", npm: ">= 3.0.0" } 3096 | 3097 | socks-proxy-agent@8.0.5: 3098 | resolution: 3099 | { 3100 | integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==, 3101 | } 3102 | engines: { node: ">= 14" } 3103 | 3104 | socks@2.8.5: 3105 | resolution: 3106 | { 3107 | integrity: sha512-iF+tNDQla22geJdTyJB1wM/qrX9DMRwWrciEPwWLPRWAUEM8sQiyxgckLxWT1f7+9VabJS0jTGGr4QgBuvi6Ww==, 3108 | } 3109 | engines: { node: ">= 10.0.0", npm: ">= 3.0.0" } 3110 | 3111 | source-map-js@1.2.1: 3112 | resolution: 3113 | { 3114 | integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==, 3115 | } 3116 | engines: { node: ">=0.10.0" } 3117 | 3118 | source-map@0.6.1: 3119 | resolution: 3120 | { 3121 | integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, 3122 | } 3123 | engines: { node: ">=0.10.0" } 3124 | 3125 | split2@4.2.0: 3126 | resolution: 3127 | { 3128 | integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==, 3129 | } 3130 | engines: { node: ">= 10.x" } 3131 | 3132 | sprintf-js@1.1.3: 3133 | resolution: 3134 | { 3135 | integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==, 3136 | } 3137 | 3138 | streamx@2.22.1: 3139 | resolution: 3140 | { 3141 | integrity: sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA==, 3142 | } 3143 | 3144 | string-argv@0.3.2: 3145 | resolution: 3146 | { 3147 | integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==, 3148 | } 3149 | engines: { node: ">=0.6.19" } 3150 | 3151 | string-width@4.2.3: 3152 | resolution: 3153 | { 3154 | integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, 3155 | } 3156 | engines: { node: ">=8" } 3157 | 3158 | string-width@7.2.0: 3159 | resolution: 3160 | { 3161 | integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==, 3162 | } 3163 | engines: { node: ">=18" } 3164 | 3165 | strip-ansi@6.0.1: 3166 | resolution: 3167 | { 3168 | integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, 3169 | } 3170 | engines: { node: ">=8" } 3171 | 3172 | strip-ansi@7.1.0: 3173 | resolution: 3174 | { 3175 | integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==, 3176 | } 3177 | engines: { node: ">=12" } 3178 | 3179 | strip-final-newline@3.0.0: 3180 | resolution: 3181 | { 3182 | integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, 3183 | } 3184 | engines: { node: ">=12" } 3185 | 3186 | strip-json-comments@3.1.1: 3187 | resolution: 3188 | { 3189 | integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, 3190 | } 3191 | engines: { node: ">=8" } 3192 | 3193 | supports-color@7.2.0: 3194 | resolution: 3195 | { 3196 | integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, 3197 | } 3198 | engines: { node: ">=8" } 3199 | 3200 | tar-fs@3.0.10: 3201 | resolution: 3202 | { 3203 | integrity: sha512-C1SwlQGNLe/jPNqapK8epDsXME7CAJR5RL3GcE6KWx1d9OUByzoHVcbu1VPI8tevg9H8Alae0AApHHFGzrD5zA==, 3204 | } 3205 | 3206 | tar-stream@3.1.7: 3207 | resolution: 3208 | { 3209 | integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==, 3210 | } 3211 | 3212 | text-decoder@1.2.3: 3213 | resolution: 3214 | { 3215 | integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==, 3216 | } 3217 | 3218 | text-extensions@2.4.0: 3219 | resolution: 3220 | { 3221 | integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==, 3222 | } 3223 | engines: { node: ">=8" } 3224 | 3225 | text-table@0.2.0: 3226 | resolution: 3227 | { 3228 | integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, 3229 | } 3230 | 3231 | through@2.3.8: 3232 | resolution: 3233 | { 3234 | integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, 3235 | } 3236 | 3237 | tinyexec@1.0.1: 3238 | resolution: 3239 | { 3240 | integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==, 3241 | } 3242 | 3243 | to-regex-range@5.0.1: 3244 | resolution: 3245 | { 3246 | integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, 3247 | } 3248 | engines: { node: ">=8.0" } 3249 | 3250 | ts-api-utils@1.4.3: 3251 | resolution: 3252 | { 3253 | integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==, 3254 | } 3255 | engines: { node: ">=16" } 3256 | peerDependencies: 3257 | typescript: ">=4.2.0" 3258 | 3259 | tslib@2.8.1: 3260 | resolution: 3261 | { 3262 | integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==, 3263 | } 3264 | 3265 | tsx@4.20.3: 3266 | resolution: 3267 | { 3268 | integrity: sha512-qjbnuR9Tr+FJOMBqJCW5ehvIo/buZq7vH7qD7JziU98h6l3qGy0a/yPFjwO+y0/T7GFpNgNAvEcPPVfyT8rrPQ==, 3269 | } 3270 | engines: { node: ">=18.0.0" } 3271 | hasBin: true 3272 | 3273 | type-check@0.4.0: 3274 | resolution: 3275 | { 3276 | integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, 3277 | } 3278 | engines: { node: ">= 0.8.0" } 3279 | 3280 | type-fest@0.20.2: 3281 | resolution: 3282 | { 3283 | integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, 3284 | } 3285 | engines: { node: ">=10" } 3286 | 3287 | typed-query-selector@2.12.0: 3288 | resolution: 3289 | { 3290 | integrity: sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==, 3291 | } 3292 | 3293 | typescript@5.8.3: 3294 | resolution: 3295 | { 3296 | integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==, 3297 | } 3298 | engines: { node: ">=14.17" } 3299 | hasBin: true 3300 | 3301 | unbzip2-stream@1.4.3: 3302 | resolution: 3303 | { 3304 | integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==, 3305 | } 3306 | 3307 | undici-types@6.21.0: 3308 | resolution: 3309 | { 3310 | integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==, 3311 | } 3312 | 3313 | unicorn-magic@0.1.0: 3314 | resolution: 3315 | { 3316 | integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==, 3317 | } 3318 | engines: { node: ">=18" } 3319 | 3320 | update-browserslist-db@1.1.3: 3321 | resolution: 3322 | { 3323 | integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==, 3324 | } 3325 | hasBin: true 3326 | peerDependencies: 3327 | browserslist: ">= 4.21.0" 3328 | 3329 | uri-js@4.4.1: 3330 | resolution: 3331 | { 3332 | integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, 3333 | } 3334 | 3335 | vite@5.4.19: 3336 | resolution: 3337 | { 3338 | integrity: sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==, 3339 | } 3340 | engines: { node: ^18.0.0 || >=20.0.0 } 3341 | hasBin: true 3342 | peerDependencies: 3343 | "@types/node": ^18.0.0 || >=20.0.0 3344 | less: "*" 3345 | lightningcss: ^1.21.0 3346 | sass: "*" 3347 | sass-embedded: "*" 3348 | stylus: "*" 3349 | sugarss: "*" 3350 | terser: ^5.4.0 3351 | peerDependenciesMeta: 3352 | "@types/node": 3353 | optional: true 3354 | less: 3355 | optional: true 3356 | lightningcss: 3357 | optional: true 3358 | sass: 3359 | optional: true 3360 | sass-embedded: 3361 | optional: true 3362 | stylus: 3363 | optional: true 3364 | sugarss: 3365 | optional: true 3366 | terser: 3367 | optional: true 3368 | 3369 | which@2.0.2: 3370 | resolution: 3371 | { 3372 | integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, 3373 | } 3374 | engines: { node: ">= 8" } 3375 | hasBin: true 3376 | 3377 | word-wrap@1.2.5: 3378 | resolution: 3379 | { 3380 | integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==, 3381 | } 3382 | engines: { node: ">=0.10.0" } 3383 | 3384 | wrap-ansi@7.0.0: 3385 | resolution: 3386 | { 3387 | integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, 3388 | } 3389 | engines: { node: ">=10" } 3390 | 3391 | wrap-ansi@9.0.0: 3392 | resolution: 3393 | { 3394 | integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==, 3395 | } 3396 | engines: { node: ">=18" } 3397 | 3398 | wrappy@1.0.2: 3399 | resolution: 3400 | { 3401 | integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, 3402 | } 3403 | 3404 | ws@8.18.2: 3405 | resolution: 3406 | { 3407 | integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==, 3408 | } 3409 | engines: { node: ">=10.0.0" } 3410 | peerDependencies: 3411 | bufferutil: ^4.0.1 3412 | utf-8-validate: ">=5.0.2" 3413 | peerDependenciesMeta: 3414 | bufferutil: 3415 | optional: true 3416 | utf-8-validate: 3417 | optional: true 3418 | 3419 | y18n@5.0.8: 3420 | resolution: 3421 | { 3422 | integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, 3423 | } 3424 | engines: { node: ">=10" } 3425 | 3426 | yallist@3.1.1: 3427 | resolution: 3428 | { 3429 | integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, 3430 | } 3431 | 3432 | yaml@2.8.0: 3433 | resolution: 3434 | { 3435 | integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==, 3436 | } 3437 | engines: { node: ">= 14.6" } 3438 | hasBin: true 3439 | 3440 | yargs-parser@21.1.1: 3441 | resolution: 3442 | { 3443 | integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==, 3444 | } 3445 | engines: { node: ">=12" } 3446 | 3447 | yargs@17.7.2: 3448 | resolution: 3449 | { 3450 | integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==, 3451 | } 3452 | engines: { node: ">=12" } 3453 | 3454 | yauzl@2.10.0: 3455 | resolution: 3456 | { 3457 | integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==, 3458 | } 3459 | 3460 | yocto-queue@0.1.0: 3461 | resolution: 3462 | { 3463 | integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, 3464 | } 3465 | engines: { node: ">=10" } 3466 | 3467 | yocto-queue@1.2.1: 3468 | resolution: 3469 | { 3470 | integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==, 3471 | } 3472 | engines: { node: ">=12.20" } 3473 | 3474 | zod@3.23.8: 3475 | resolution: 3476 | { 3477 | integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==, 3478 | } 3479 | 3480 | snapshots: 3481 | "@ampproject/remapping@2.3.0": 3482 | dependencies: 3483 | "@jridgewell/gen-mapping": 0.3.8 3484 | "@jridgewell/trace-mapping": 0.3.25 3485 | 3486 | "@babel/code-frame@7.27.1": 3487 | dependencies: 3488 | "@babel/helper-validator-identifier": 7.27.1 3489 | js-tokens: 4.0.0 3490 | picocolors: 1.1.1 3491 | 3492 | "@babel/compat-data@7.27.5": {} 3493 | 3494 | "@babel/core@7.27.4": 3495 | dependencies: 3496 | "@ampproject/remapping": 2.3.0 3497 | "@babel/code-frame": 7.27.1 3498 | "@babel/generator": 7.27.5 3499 | "@babel/helper-compilation-targets": 7.27.2 3500 | "@babel/helper-module-transforms": 7.27.3(@babel/core@7.27.4) 3501 | "@babel/helpers": 7.27.6 3502 | "@babel/parser": 7.27.5 3503 | "@babel/template": 7.27.2 3504 | "@babel/traverse": 7.27.4 3505 | "@babel/types": 7.27.6 3506 | convert-source-map: 2.0.0 3507 | debug: 4.4.1 3508 | gensync: 1.0.0-beta.2 3509 | json5: 2.2.3 3510 | semver: 6.3.1 3511 | transitivePeerDependencies: 3512 | - supports-color 3513 | 3514 | "@babel/generator@7.27.5": 3515 | dependencies: 3516 | "@babel/parser": 7.27.5 3517 | "@babel/types": 7.27.6 3518 | "@jridgewell/gen-mapping": 0.3.8 3519 | "@jridgewell/trace-mapping": 0.3.25 3520 | jsesc: 3.1.0 3521 | 3522 | "@babel/helper-compilation-targets@7.27.2": 3523 | dependencies: 3524 | "@babel/compat-data": 7.27.5 3525 | "@babel/helper-validator-option": 7.27.1 3526 | browserslist: 4.25.0 3527 | lru-cache: 5.1.1 3528 | semver: 6.3.1 3529 | 3530 | "@babel/helper-module-imports@7.27.1": 3531 | dependencies: 3532 | "@babel/traverse": 7.27.4 3533 | "@babel/types": 7.27.6 3534 | transitivePeerDependencies: 3535 | - supports-color 3536 | 3537 | "@babel/helper-module-transforms@7.27.3(@babel/core@7.27.4)": 3538 | dependencies: 3539 | "@babel/core": 7.27.4 3540 | "@babel/helper-module-imports": 7.27.1 3541 | "@babel/helper-validator-identifier": 7.27.1 3542 | "@babel/traverse": 7.27.4 3543 | transitivePeerDependencies: 3544 | - supports-color 3545 | 3546 | "@babel/helper-plugin-utils@7.27.1": {} 3547 | 3548 | "@babel/helper-string-parser@7.27.1": {} 3549 | 3550 | "@babel/helper-validator-identifier@7.27.1": {} 3551 | 3552 | "@babel/helper-validator-option@7.27.1": {} 3553 | 3554 | "@babel/helpers@7.27.6": 3555 | dependencies: 3556 | "@babel/template": 7.27.2 3557 | "@babel/types": 7.27.6 3558 | 3559 | "@babel/parser@7.27.5": 3560 | dependencies: 3561 | "@babel/types": 7.27.6 3562 | 3563 | "@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.27.4)": 3564 | dependencies: 3565 | "@babel/core": 7.27.4 3566 | "@babel/helper-plugin-utils": 7.27.1 3567 | 3568 | "@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.27.4)": 3569 | dependencies: 3570 | "@babel/core": 7.27.4 3571 | "@babel/helper-plugin-utils": 7.27.1 3572 | 3573 | "@babel/template@7.27.2": 3574 | dependencies: 3575 | "@babel/code-frame": 7.27.1 3576 | "@babel/parser": 7.27.5 3577 | "@babel/types": 7.27.6 3578 | 3579 | "@babel/traverse@7.27.4": 3580 | dependencies: 3581 | "@babel/code-frame": 7.27.1 3582 | "@babel/generator": 7.27.5 3583 | "@babel/parser": 7.27.5 3584 | "@babel/template": 7.27.2 3585 | "@babel/types": 7.27.6 3586 | debug: 4.4.1 3587 | globals: 11.12.0 3588 | transitivePeerDependencies: 3589 | - supports-color 3590 | 3591 | "@babel/types@7.27.6": 3592 | dependencies: 3593 | "@babel/helper-string-parser": 7.27.1 3594 | "@babel/helper-validator-identifier": 7.27.1 3595 | 3596 | "@commitlint/cli@19.8.1(@types/node@20.19.1)(typescript@5.8.3)": 3597 | dependencies: 3598 | "@commitlint/format": 19.8.1 3599 | "@commitlint/lint": 19.8.1 3600 | "@commitlint/load": 19.8.1(@types/node@20.19.1)(typescript@5.8.3) 3601 | "@commitlint/read": 19.8.1 3602 | "@commitlint/types": 19.8.1 3603 | tinyexec: 1.0.1 3604 | yargs: 17.7.2 3605 | transitivePeerDependencies: 3606 | - "@types/node" 3607 | - typescript 3608 | 3609 | "@commitlint/config-conventional@19.8.1": 3610 | dependencies: 3611 | "@commitlint/types": 19.8.1 3612 | conventional-changelog-conventionalcommits: 7.0.2 3613 | 3614 | "@commitlint/config-validator@19.8.1": 3615 | dependencies: 3616 | "@commitlint/types": 19.8.1 3617 | ajv: 8.17.1 3618 | 3619 | "@commitlint/ensure@19.8.1": 3620 | dependencies: 3621 | "@commitlint/types": 19.8.1 3622 | lodash.camelcase: 4.3.0 3623 | lodash.kebabcase: 4.1.1 3624 | lodash.snakecase: 4.1.1 3625 | lodash.startcase: 4.4.0 3626 | lodash.upperfirst: 4.3.1 3627 | 3628 | "@commitlint/execute-rule@19.8.1": {} 3629 | 3630 | "@commitlint/format@19.8.1": 3631 | dependencies: 3632 | "@commitlint/types": 19.8.1 3633 | chalk: 5.4.1 3634 | 3635 | "@commitlint/is-ignored@19.8.1": 3636 | dependencies: 3637 | "@commitlint/types": 19.8.1 3638 | semver: 7.7.2 3639 | 3640 | "@commitlint/lint@19.8.1": 3641 | dependencies: 3642 | "@commitlint/is-ignored": 19.8.1 3643 | "@commitlint/parse": 19.8.1 3644 | "@commitlint/rules": 19.8.1 3645 | "@commitlint/types": 19.8.1 3646 | 3647 | "@commitlint/load@19.8.1(@types/node@20.19.1)(typescript@5.8.3)": 3648 | dependencies: 3649 | "@commitlint/config-validator": 19.8.1 3650 | "@commitlint/execute-rule": 19.8.1 3651 | "@commitlint/resolve-extends": 19.8.1 3652 | "@commitlint/types": 19.8.1 3653 | chalk: 5.4.1 3654 | cosmiconfig: 9.0.0(typescript@5.8.3) 3655 | cosmiconfig-typescript-loader: 6.1.0(@types/node@20.19.1)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3) 3656 | lodash.isplainobject: 4.0.6 3657 | lodash.merge: 4.6.2 3658 | lodash.uniq: 4.5.0 3659 | transitivePeerDependencies: 3660 | - "@types/node" 3661 | - typescript 3662 | 3663 | "@commitlint/message@19.8.1": {} 3664 | 3665 | "@commitlint/parse@19.8.1": 3666 | dependencies: 3667 | "@commitlint/types": 19.8.1 3668 | conventional-changelog-angular: 7.0.0 3669 | conventional-commits-parser: 5.0.0 3670 | 3671 | "@commitlint/read@19.8.1": 3672 | dependencies: 3673 | "@commitlint/top-level": 19.8.1 3674 | "@commitlint/types": 19.8.1 3675 | git-raw-commits: 4.0.0 3676 | minimist: 1.2.8 3677 | tinyexec: 1.0.1 3678 | 3679 | "@commitlint/resolve-extends@19.8.1": 3680 | dependencies: 3681 | "@commitlint/config-validator": 19.8.1 3682 | "@commitlint/types": 19.8.1 3683 | global-directory: 4.0.1 3684 | import-meta-resolve: 4.1.0 3685 | lodash.mergewith: 4.6.2 3686 | resolve-from: 5.0.0 3687 | 3688 | "@commitlint/rules@19.8.1": 3689 | dependencies: 3690 | "@commitlint/ensure": 19.8.1 3691 | "@commitlint/message": 19.8.1 3692 | "@commitlint/to-lines": 19.8.1 3693 | "@commitlint/types": 19.8.1 3694 | 3695 | "@commitlint/to-lines@19.8.1": {} 3696 | 3697 | "@commitlint/top-level@19.8.1": 3698 | dependencies: 3699 | find-up: 7.0.0 3700 | 3701 | "@commitlint/types@19.8.1": 3702 | dependencies: 3703 | "@types/conventional-commits-parser": 5.0.1 3704 | chalk: 5.4.1 3705 | 3706 | "@esbuild/aix-ppc64@0.21.5": 3707 | optional: true 3708 | 3709 | "@esbuild/aix-ppc64@0.25.5": 3710 | optional: true 3711 | 3712 | "@esbuild/android-arm64@0.21.5": 3713 | optional: true 3714 | 3715 | "@esbuild/android-arm64@0.25.5": 3716 | optional: true 3717 | 3718 | "@esbuild/android-arm@0.21.5": 3719 | optional: true 3720 | 3721 | "@esbuild/android-arm@0.25.5": 3722 | optional: true 3723 | 3724 | "@esbuild/android-x64@0.21.5": 3725 | optional: true 3726 | 3727 | "@esbuild/android-x64@0.25.5": 3728 | optional: true 3729 | 3730 | "@esbuild/darwin-arm64@0.21.5": 3731 | optional: true 3732 | 3733 | "@esbuild/darwin-arm64@0.25.5": 3734 | optional: true 3735 | 3736 | "@esbuild/darwin-x64@0.21.5": 3737 | optional: true 3738 | 3739 | "@esbuild/darwin-x64@0.25.5": 3740 | optional: true 3741 | 3742 | "@esbuild/freebsd-arm64@0.21.5": 3743 | optional: true 3744 | 3745 | "@esbuild/freebsd-arm64@0.25.5": 3746 | optional: true 3747 | 3748 | "@esbuild/freebsd-x64@0.21.5": 3749 | optional: true 3750 | 3751 | "@esbuild/freebsd-x64@0.25.5": 3752 | optional: true 3753 | 3754 | "@esbuild/linux-arm64@0.21.5": 3755 | optional: true 3756 | 3757 | "@esbuild/linux-arm64@0.25.5": 3758 | optional: true 3759 | 3760 | "@esbuild/linux-arm@0.21.5": 3761 | optional: true 3762 | 3763 | "@esbuild/linux-arm@0.25.5": 3764 | optional: true 3765 | 3766 | "@esbuild/linux-ia32@0.21.5": 3767 | optional: true 3768 | 3769 | "@esbuild/linux-ia32@0.25.5": 3770 | optional: true 3771 | 3772 | "@esbuild/linux-loong64@0.21.5": 3773 | optional: true 3774 | 3775 | "@esbuild/linux-loong64@0.25.5": 3776 | optional: true 3777 | 3778 | "@esbuild/linux-mips64el@0.21.5": 3779 | optional: true 3780 | 3781 | "@esbuild/linux-mips64el@0.25.5": 3782 | optional: true 3783 | 3784 | "@esbuild/linux-ppc64@0.21.5": 3785 | optional: true 3786 | 3787 | "@esbuild/linux-ppc64@0.25.5": 3788 | optional: true 3789 | 3790 | "@esbuild/linux-riscv64@0.21.5": 3791 | optional: true 3792 | 3793 | "@esbuild/linux-riscv64@0.25.5": 3794 | optional: true 3795 | 3796 | "@esbuild/linux-s390x@0.21.5": 3797 | optional: true 3798 | 3799 | "@esbuild/linux-s390x@0.25.5": 3800 | optional: true 3801 | 3802 | "@esbuild/linux-x64@0.21.5": 3803 | optional: true 3804 | 3805 | "@esbuild/linux-x64@0.25.5": 3806 | optional: true 3807 | 3808 | "@esbuild/netbsd-arm64@0.25.5": 3809 | optional: true 3810 | 3811 | "@esbuild/netbsd-x64@0.21.5": 3812 | optional: true 3813 | 3814 | "@esbuild/netbsd-x64@0.25.5": 3815 | optional: true 3816 | 3817 | "@esbuild/openbsd-arm64@0.25.5": 3818 | optional: true 3819 | 3820 | "@esbuild/openbsd-x64@0.21.5": 3821 | optional: true 3822 | 3823 | "@esbuild/openbsd-x64@0.25.5": 3824 | optional: true 3825 | 3826 | "@esbuild/sunos-x64@0.21.5": 3827 | optional: true 3828 | 3829 | "@esbuild/sunos-x64@0.25.5": 3830 | optional: true 3831 | 3832 | "@esbuild/win32-arm64@0.21.5": 3833 | optional: true 3834 | 3835 | "@esbuild/win32-arm64@0.25.5": 3836 | optional: true 3837 | 3838 | "@esbuild/win32-ia32@0.21.5": 3839 | optional: true 3840 | 3841 | "@esbuild/win32-ia32@0.25.5": 3842 | optional: true 3843 | 3844 | "@esbuild/win32-x64@0.21.5": 3845 | optional: true 3846 | 3847 | "@esbuild/win32-x64@0.25.5": 3848 | optional: true 3849 | 3850 | "@eslint-community/eslint-utils@4.7.0(eslint@8.57.1)": 3851 | dependencies: 3852 | eslint: 8.57.1 3853 | eslint-visitor-keys: 3.4.3 3854 | 3855 | "@eslint-community/regexpp@4.12.1": {} 3856 | 3857 | "@eslint/eslintrc@2.1.4": 3858 | dependencies: 3859 | ajv: 6.12.6 3860 | debug: 4.4.1 3861 | espree: 9.6.1 3862 | globals: 13.24.0 3863 | ignore: 5.3.2 3864 | import-fresh: 3.3.1 3865 | js-yaml: 4.1.0 3866 | minimatch: 3.1.2 3867 | strip-json-comments: 3.1.1 3868 | transitivePeerDependencies: 3869 | - supports-color 3870 | 3871 | "@eslint/js@8.57.1": {} 3872 | 3873 | "@humanwhocodes/config-array@0.13.0": 3874 | dependencies: 3875 | "@humanwhocodes/object-schema": 2.0.3 3876 | debug: 4.4.1 3877 | minimatch: 3.1.2 3878 | transitivePeerDependencies: 3879 | - supports-color 3880 | 3881 | "@humanwhocodes/module-importer@1.0.1": {} 3882 | 3883 | "@humanwhocodes/object-schema@2.0.3": {} 3884 | 3885 | "@jridgewell/gen-mapping@0.3.8": 3886 | dependencies: 3887 | "@jridgewell/set-array": 1.2.1 3888 | "@jridgewell/sourcemap-codec": 1.5.0 3889 | "@jridgewell/trace-mapping": 0.3.25 3890 | 3891 | "@jridgewell/resolve-uri@3.1.2": {} 3892 | 3893 | "@jridgewell/set-array@1.2.1": {} 3894 | 3895 | "@jridgewell/sourcemap-codec@1.5.0": {} 3896 | 3897 | "@jridgewell/trace-mapping@0.3.25": 3898 | dependencies: 3899 | "@jridgewell/resolve-uri": 3.1.2 3900 | "@jridgewell/sourcemap-codec": 1.5.0 3901 | 3902 | "@nodelib/fs.scandir@2.1.5": 3903 | dependencies: 3904 | "@nodelib/fs.stat": 2.0.5 3905 | run-parallel: 1.2.0 3906 | 3907 | "@nodelib/fs.stat@2.0.5": {} 3908 | 3909 | "@nodelib/fs.walk@1.2.8": 3910 | dependencies: 3911 | "@nodelib/fs.scandir": 2.1.5 3912 | fastq: 1.19.1 3913 | 3914 | "@puppeteer/browsers@2.6.1": 3915 | dependencies: 3916 | debug: 4.4.1 3917 | extract-zip: 2.0.1 3918 | progress: 2.0.3 3919 | proxy-agent: 6.5.0 3920 | semver: 7.7.2 3921 | tar-fs: 3.0.10 3922 | unbzip2-stream: 1.4.3 3923 | yargs: 17.7.2 3924 | transitivePeerDependencies: 3925 | - bare-buffer 3926 | - supports-color 3927 | 3928 | "@rolldown/pluginutils@1.0.0-beta.11": {} 3929 | 3930 | "@rollup/rollup-android-arm-eabi@4.44.0": 3931 | optional: true 3932 | 3933 | "@rollup/rollup-android-arm64@4.44.0": 3934 | optional: true 3935 | 3936 | "@rollup/rollup-darwin-arm64@4.44.0": 3937 | optional: true 3938 | 3939 | "@rollup/rollup-darwin-x64@4.44.0": 3940 | optional: true 3941 | 3942 | "@rollup/rollup-freebsd-arm64@4.44.0": 3943 | optional: true 3944 | 3945 | "@rollup/rollup-freebsd-x64@4.44.0": 3946 | optional: true 3947 | 3948 | "@rollup/rollup-linux-arm-gnueabihf@4.44.0": 3949 | optional: true 3950 | 3951 | "@rollup/rollup-linux-arm-musleabihf@4.44.0": 3952 | optional: true 3953 | 3954 | "@rollup/rollup-linux-arm64-gnu@4.44.0": 3955 | optional: true 3956 | 3957 | "@rollup/rollup-linux-arm64-musl@4.44.0": 3958 | optional: true 3959 | 3960 | "@rollup/rollup-linux-loongarch64-gnu@4.44.0": 3961 | optional: true 3962 | 3963 | "@rollup/rollup-linux-powerpc64le-gnu@4.44.0": 3964 | optional: true 3965 | 3966 | "@rollup/rollup-linux-riscv64-gnu@4.44.0": 3967 | optional: true 3968 | 3969 | "@rollup/rollup-linux-riscv64-musl@4.44.0": 3970 | optional: true 3971 | 3972 | "@rollup/rollup-linux-s390x-gnu@4.44.0": 3973 | optional: true 3974 | 3975 | "@rollup/rollup-linux-x64-gnu@4.44.0": 3976 | optional: true 3977 | 3978 | "@rollup/rollup-linux-x64-musl@4.44.0": 3979 | optional: true 3980 | 3981 | "@rollup/rollup-win32-arm64-msvc@4.44.0": 3982 | optional: true 3983 | 3984 | "@rollup/rollup-win32-ia32-msvc@4.44.0": 3985 | optional: true 3986 | 3987 | "@rollup/rollup-win32-x64-msvc@4.44.0": 3988 | optional: true 3989 | 3990 | "@tootallnate/quickjs-emscripten@0.23.0": {} 3991 | 3992 | "@types/babel__core@7.20.5": 3993 | dependencies: 3994 | "@babel/parser": 7.27.5 3995 | "@babel/types": 7.27.6 3996 | "@types/babel__generator": 7.27.0 3997 | "@types/babel__template": 7.4.4 3998 | "@types/babel__traverse": 7.20.7 3999 | 4000 | "@types/babel__generator@7.27.0": 4001 | dependencies: 4002 | "@babel/types": 7.27.6 4003 | 4004 | "@types/babel__template@7.4.4": 4005 | dependencies: 4006 | "@babel/parser": 7.27.5 4007 | "@babel/types": 7.27.6 4008 | 4009 | "@types/babel__traverse@7.20.7": 4010 | dependencies: 4011 | "@babel/types": 7.27.6 4012 | 4013 | "@types/conventional-commits-parser@5.0.1": 4014 | dependencies: 4015 | "@types/node": 20.19.1 4016 | 4017 | "@types/estree@1.0.8": {} 4018 | 4019 | "@types/json-schema@7.0.15": {} 4020 | 4021 | "@types/node@20.19.1": 4022 | dependencies: 4023 | undici-types: 6.21.0 4024 | 4025 | "@types/prop-types@15.7.15": {} 4026 | 4027 | "@types/react-dom@18.3.7(@types/react@18.3.23)": 4028 | dependencies: 4029 | "@types/react": 18.3.23 4030 | 4031 | "@types/react@18.3.23": 4032 | dependencies: 4033 | "@types/prop-types": 15.7.15 4034 | csstype: 3.1.3 4035 | 4036 | "@types/semver@7.7.0": {} 4037 | 4038 | "@types/yauzl@2.10.3": 4039 | dependencies: 4040 | "@types/node": 20.19.1 4041 | optional: true 4042 | 4043 | "@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3)": 4044 | dependencies: 4045 | "@eslint-community/regexpp": 4.12.1 4046 | "@typescript-eslint/parser": 6.21.0(eslint@8.57.1)(typescript@5.8.3) 4047 | "@typescript-eslint/scope-manager": 6.21.0 4048 | "@typescript-eslint/type-utils": 6.21.0(eslint@8.57.1)(typescript@5.8.3) 4049 | "@typescript-eslint/utils": 6.21.0(eslint@8.57.1)(typescript@5.8.3) 4050 | "@typescript-eslint/visitor-keys": 6.21.0 4051 | debug: 4.4.1 4052 | eslint: 8.57.1 4053 | graphemer: 1.4.0 4054 | ignore: 5.3.2 4055 | natural-compare: 1.4.0 4056 | semver: 7.7.2 4057 | ts-api-utils: 1.4.3(typescript@5.8.3) 4058 | optionalDependencies: 4059 | typescript: 5.8.3 4060 | transitivePeerDependencies: 4061 | - supports-color 4062 | 4063 | "@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.3)": 4064 | dependencies: 4065 | "@typescript-eslint/scope-manager": 6.21.0 4066 | "@typescript-eslint/types": 6.21.0 4067 | "@typescript-eslint/typescript-estree": 6.21.0(typescript@5.8.3) 4068 | "@typescript-eslint/visitor-keys": 6.21.0 4069 | debug: 4.4.1 4070 | eslint: 8.57.1 4071 | optionalDependencies: 4072 | typescript: 5.8.3 4073 | transitivePeerDependencies: 4074 | - supports-color 4075 | 4076 | "@typescript-eslint/scope-manager@6.21.0": 4077 | dependencies: 4078 | "@typescript-eslint/types": 6.21.0 4079 | "@typescript-eslint/visitor-keys": 6.21.0 4080 | 4081 | "@typescript-eslint/type-utils@6.21.0(eslint@8.57.1)(typescript@5.8.3)": 4082 | dependencies: 4083 | "@typescript-eslint/typescript-estree": 6.21.0(typescript@5.8.3) 4084 | "@typescript-eslint/utils": 6.21.0(eslint@8.57.1)(typescript@5.8.3) 4085 | debug: 4.4.1 4086 | eslint: 8.57.1 4087 | ts-api-utils: 1.4.3(typescript@5.8.3) 4088 | optionalDependencies: 4089 | typescript: 5.8.3 4090 | transitivePeerDependencies: 4091 | - supports-color 4092 | 4093 | "@typescript-eslint/types@6.21.0": {} 4094 | 4095 | "@typescript-eslint/typescript-estree@6.21.0(typescript@5.8.3)": 4096 | dependencies: 4097 | "@typescript-eslint/types": 6.21.0 4098 | "@typescript-eslint/visitor-keys": 6.21.0 4099 | debug: 4.4.1 4100 | globby: 11.1.0 4101 | is-glob: 4.0.3 4102 | minimatch: 9.0.3 4103 | semver: 7.7.2 4104 | ts-api-utils: 1.4.3(typescript@5.8.3) 4105 | optionalDependencies: 4106 | typescript: 5.8.3 4107 | transitivePeerDependencies: 4108 | - supports-color 4109 | 4110 | "@typescript-eslint/utils@6.21.0(eslint@8.57.1)(typescript@5.8.3)": 4111 | dependencies: 4112 | "@eslint-community/eslint-utils": 4.7.0(eslint@8.57.1) 4113 | "@types/json-schema": 7.0.15 4114 | "@types/semver": 7.7.0 4115 | "@typescript-eslint/scope-manager": 6.21.0 4116 | "@typescript-eslint/types": 6.21.0 4117 | "@typescript-eslint/typescript-estree": 6.21.0(typescript@5.8.3) 4118 | eslint: 8.57.1 4119 | semver: 7.7.2 4120 | transitivePeerDependencies: 4121 | - supports-color 4122 | - typescript 4123 | 4124 | "@typescript-eslint/visitor-keys@6.21.0": 4125 | dependencies: 4126 | "@typescript-eslint/types": 6.21.0 4127 | eslint-visitor-keys: 3.4.3 4128 | 4129 | "@ungap/structured-clone@1.3.0": {} 4130 | 4131 | "@vitejs/plugin-react@4.5.2(vite@5.4.19(@types/node@20.19.1)(lightningcss@1.30.1))": 4132 | dependencies: 4133 | "@babel/core": 7.27.4 4134 | "@babel/plugin-transform-react-jsx-self": 7.27.1(@babel/core@7.27.4) 4135 | "@babel/plugin-transform-react-jsx-source": 7.27.1(@babel/core@7.27.4) 4136 | "@rolldown/pluginutils": 1.0.0-beta.11 4137 | "@types/babel__core": 7.20.5 4138 | react-refresh: 0.17.0 4139 | vite: 5.4.19(@types/node@20.19.1)(lightningcss@1.30.1) 4140 | transitivePeerDependencies: 4141 | - supports-color 4142 | 4143 | JSONStream@1.3.5: 4144 | dependencies: 4145 | jsonparse: 1.3.1 4146 | through: 2.3.8 4147 | 4148 | acorn-jsx@5.3.2(acorn@8.15.0): 4149 | dependencies: 4150 | acorn: 8.15.0 4151 | 4152 | acorn@8.15.0: {} 4153 | 4154 | agent-base@7.1.3: {} 4155 | 4156 | ajv@6.12.6: 4157 | dependencies: 4158 | fast-deep-equal: 3.1.3 4159 | fast-json-stable-stringify: 2.1.0 4160 | json-schema-traverse: 0.4.1 4161 | uri-js: 4.4.1 4162 | 4163 | ajv@8.17.1: 4164 | dependencies: 4165 | fast-deep-equal: 3.1.3 4166 | fast-uri: 3.0.6 4167 | json-schema-traverse: 1.0.0 4168 | require-from-string: 2.0.2 4169 | 4170 | ansi-escapes@7.0.0: 4171 | dependencies: 4172 | environment: 1.1.0 4173 | 4174 | ansi-regex@5.0.1: {} 4175 | 4176 | ansi-regex@6.1.0: {} 4177 | 4178 | ansi-styles@4.3.0: 4179 | dependencies: 4180 | color-convert: 2.0.1 4181 | 4182 | ansi-styles@6.2.1: {} 4183 | 4184 | argparse@2.0.1: {} 4185 | 4186 | array-ify@1.0.0: {} 4187 | 4188 | array-union@2.1.0: {} 4189 | 4190 | ast-types@0.13.4: 4191 | dependencies: 4192 | tslib: 2.8.1 4193 | 4194 | b4a@1.6.7: {} 4195 | 4196 | balanced-match@1.0.2: {} 4197 | 4198 | bare-events@2.5.4: 4199 | optional: true 4200 | 4201 | bare-fs@4.1.5: 4202 | dependencies: 4203 | bare-events: 2.5.4 4204 | bare-path: 3.0.0 4205 | bare-stream: 2.6.5(bare-events@2.5.4) 4206 | optional: true 4207 | 4208 | bare-os@3.6.1: 4209 | optional: true 4210 | 4211 | bare-path@3.0.0: 4212 | dependencies: 4213 | bare-os: 3.6.1 4214 | optional: true 4215 | 4216 | bare-stream@2.6.5(bare-events@2.5.4): 4217 | dependencies: 4218 | streamx: 2.22.1 4219 | optionalDependencies: 4220 | bare-events: 2.5.4 4221 | optional: true 4222 | 4223 | base64-js@1.5.1: {} 4224 | 4225 | basic-ftp@5.0.5: {} 4226 | 4227 | brace-expansion@1.1.12: 4228 | dependencies: 4229 | balanced-match: 1.0.2 4230 | concat-map: 0.0.1 4231 | 4232 | brace-expansion@2.0.2: 4233 | dependencies: 4234 | balanced-match: 1.0.2 4235 | 4236 | braces@3.0.3: 4237 | dependencies: 4238 | fill-range: 7.1.1 4239 | 4240 | browserslist@4.25.0: 4241 | dependencies: 4242 | caniuse-lite: 1.0.30001723 4243 | electron-to-chromium: 1.5.171 4244 | node-releases: 2.0.19 4245 | update-browserslist-db: 1.1.3(browserslist@4.25.0) 4246 | 4247 | buffer-crc32@0.2.13: {} 4248 | 4249 | buffer@5.7.1: 4250 | dependencies: 4251 | base64-js: 1.5.1 4252 | ieee754: 1.2.1 4253 | 4254 | callsites@3.1.0: {} 4255 | 4256 | caniuse-lite@1.0.30001723: {} 4257 | 4258 | chalk@4.1.2: 4259 | dependencies: 4260 | ansi-styles: 4.3.0 4261 | supports-color: 7.2.0 4262 | 4263 | chalk@5.4.1: {} 4264 | 4265 | chromium-bidi@0.11.0(devtools-protocol@0.0.1367902): 4266 | dependencies: 4267 | devtools-protocol: 0.0.1367902 4268 | mitt: 3.0.1 4269 | zod: 3.23.8 4270 | 4271 | cli-cursor@5.0.0: 4272 | dependencies: 4273 | restore-cursor: 5.1.0 4274 | 4275 | cli-truncate@4.0.0: 4276 | dependencies: 4277 | slice-ansi: 5.0.0 4278 | string-width: 7.2.0 4279 | 4280 | cliui@8.0.1: 4281 | dependencies: 4282 | string-width: 4.2.3 4283 | strip-ansi: 6.0.1 4284 | wrap-ansi: 7.0.0 4285 | 4286 | clsx@2.1.1: {} 4287 | 4288 | color-convert@2.0.1: 4289 | dependencies: 4290 | color-name: 1.1.4 4291 | 4292 | color-name@1.1.4: {} 4293 | 4294 | colorette@2.0.20: {} 4295 | 4296 | commander@13.1.0: {} 4297 | 4298 | compare-func@2.0.0: 4299 | dependencies: 4300 | array-ify: 1.0.0 4301 | dot-prop: 5.3.0 4302 | 4303 | concat-map@0.0.1: {} 4304 | 4305 | conventional-changelog-angular@7.0.0: 4306 | dependencies: 4307 | compare-func: 2.0.0 4308 | 4309 | conventional-changelog-conventionalcommits@7.0.2: 4310 | dependencies: 4311 | compare-func: 2.0.0 4312 | 4313 | conventional-commits-parser@5.0.0: 4314 | dependencies: 4315 | JSONStream: 1.3.5 4316 | is-text-path: 2.0.0 4317 | meow: 12.1.1 4318 | split2: 4.2.0 4319 | 4320 | convert-source-map@2.0.0: {} 4321 | 4322 | cosmiconfig-typescript-loader@6.1.0(@types/node@20.19.1)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3): 4323 | dependencies: 4324 | "@types/node": 20.19.1 4325 | cosmiconfig: 9.0.0(typescript@5.8.3) 4326 | jiti: 2.4.2 4327 | typescript: 5.8.3 4328 | 4329 | cosmiconfig@9.0.0(typescript@5.8.3): 4330 | dependencies: 4331 | env-paths: 2.2.1 4332 | import-fresh: 3.3.1 4333 | js-yaml: 4.1.0 4334 | parse-json: 5.2.0 4335 | optionalDependencies: 4336 | typescript: 5.8.3 4337 | 4338 | cross-spawn@7.0.6: 4339 | dependencies: 4340 | path-key: 3.1.1 4341 | shebang-command: 2.0.0 4342 | which: 2.0.2 4343 | 4344 | csstype@3.1.3: {} 4345 | 4346 | dargs@8.1.0: {} 4347 | 4348 | data-uri-to-buffer@6.0.2: {} 4349 | 4350 | debug@4.4.1: 4351 | dependencies: 4352 | ms: 2.1.3 4353 | 4354 | deep-is@0.1.4: {} 4355 | 4356 | degenerator@5.0.1: 4357 | dependencies: 4358 | ast-types: 0.13.4 4359 | escodegen: 2.1.0 4360 | esprima: 4.0.1 4361 | 4362 | detect-libc@2.0.4: 4363 | optional: true 4364 | 4365 | devtools-protocol@0.0.1367902: {} 4366 | 4367 | dir-glob@3.0.1: 4368 | dependencies: 4369 | path-type: 4.0.0 4370 | 4371 | doctrine@3.0.0: 4372 | dependencies: 4373 | esutils: 2.0.3 4374 | 4375 | dot-prop@5.3.0: 4376 | dependencies: 4377 | is-obj: 2.0.0 4378 | 4379 | electron-to-chromium@1.5.171: {} 4380 | 4381 | emoji-regex@10.4.0: {} 4382 | 4383 | emoji-regex@8.0.0: {} 4384 | 4385 | end-of-stream@1.4.5: 4386 | dependencies: 4387 | once: 1.4.0 4388 | 4389 | env-paths@2.2.1: {} 4390 | 4391 | environment@1.1.0: {} 4392 | 4393 | error-ex@1.3.2: 4394 | dependencies: 4395 | is-arrayish: 0.2.1 4396 | 4397 | esbuild@0.21.5: 4398 | optionalDependencies: 4399 | "@esbuild/aix-ppc64": 0.21.5 4400 | "@esbuild/android-arm": 0.21.5 4401 | "@esbuild/android-arm64": 0.21.5 4402 | "@esbuild/android-x64": 0.21.5 4403 | "@esbuild/darwin-arm64": 0.21.5 4404 | "@esbuild/darwin-x64": 0.21.5 4405 | "@esbuild/freebsd-arm64": 0.21.5 4406 | "@esbuild/freebsd-x64": 0.21.5 4407 | "@esbuild/linux-arm": 0.21.5 4408 | "@esbuild/linux-arm64": 0.21.5 4409 | "@esbuild/linux-ia32": 0.21.5 4410 | "@esbuild/linux-loong64": 0.21.5 4411 | "@esbuild/linux-mips64el": 0.21.5 4412 | "@esbuild/linux-ppc64": 0.21.5 4413 | "@esbuild/linux-riscv64": 0.21.5 4414 | "@esbuild/linux-s390x": 0.21.5 4415 | "@esbuild/linux-x64": 0.21.5 4416 | "@esbuild/netbsd-x64": 0.21.5 4417 | "@esbuild/openbsd-x64": 0.21.5 4418 | "@esbuild/sunos-x64": 0.21.5 4419 | "@esbuild/win32-arm64": 0.21.5 4420 | "@esbuild/win32-ia32": 0.21.5 4421 | "@esbuild/win32-x64": 0.21.5 4422 | 4423 | esbuild@0.25.5: 4424 | optionalDependencies: 4425 | "@esbuild/aix-ppc64": 0.25.5 4426 | "@esbuild/android-arm": 0.25.5 4427 | "@esbuild/android-arm64": 0.25.5 4428 | "@esbuild/android-x64": 0.25.5 4429 | "@esbuild/darwin-arm64": 0.25.5 4430 | "@esbuild/darwin-x64": 0.25.5 4431 | "@esbuild/freebsd-arm64": 0.25.5 4432 | "@esbuild/freebsd-x64": 0.25.5 4433 | "@esbuild/linux-arm": 0.25.5 4434 | "@esbuild/linux-arm64": 0.25.5 4435 | "@esbuild/linux-ia32": 0.25.5 4436 | "@esbuild/linux-loong64": 0.25.5 4437 | "@esbuild/linux-mips64el": 0.25.5 4438 | "@esbuild/linux-ppc64": 0.25.5 4439 | "@esbuild/linux-riscv64": 0.25.5 4440 | "@esbuild/linux-s390x": 0.25.5 4441 | "@esbuild/linux-x64": 0.25.5 4442 | "@esbuild/netbsd-arm64": 0.25.5 4443 | "@esbuild/netbsd-x64": 0.25.5 4444 | "@esbuild/openbsd-arm64": 0.25.5 4445 | "@esbuild/openbsd-x64": 0.25.5 4446 | "@esbuild/sunos-x64": 0.25.5 4447 | "@esbuild/win32-arm64": 0.25.5 4448 | "@esbuild/win32-ia32": 0.25.5 4449 | "@esbuild/win32-x64": 0.25.5 4450 | 4451 | escalade@3.2.0: {} 4452 | 4453 | escape-string-regexp@4.0.0: {} 4454 | 4455 | escodegen@2.1.0: 4456 | dependencies: 4457 | esprima: 4.0.1 4458 | estraverse: 5.3.0 4459 | esutils: 2.0.3 4460 | optionalDependencies: 4461 | source-map: 0.6.1 4462 | 4463 | eslint-config-prettier@9.1.0(eslint@8.57.1): 4464 | dependencies: 4465 | eslint: 8.57.1 4466 | 4467 | eslint-plugin-react-hooks@4.6.2(eslint@8.57.1): 4468 | dependencies: 4469 | eslint: 8.57.1 4470 | 4471 | eslint-plugin-react-refresh@0.4.20(eslint@8.57.1): 4472 | dependencies: 4473 | eslint: 8.57.1 4474 | 4475 | eslint-scope@7.2.2: 4476 | dependencies: 4477 | esrecurse: 4.3.0 4478 | estraverse: 5.3.0 4479 | 4480 | eslint-visitor-keys@3.4.3: {} 4481 | 4482 | eslint@8.57.1: 4483 | dependencies: 4484 | "@eslint-community/eslint-utils": 4.7.0(eslint@8.57.1) 4485 | "@eslint-community/regexpp": 4.12.1 4486 | "@eslint/eslintrc": 2.1.4 4487 | "@eslint/js": 8.57.1 4488 | "@humanwhocodes/config-array": 0.13.0 4489 | "@humanwhocodes/module-importer": 1.0.1 4490 | "@nodelib/fs.walk": 1.2.8 4491 | "@ungap/structured-clone": 1.3.0 4492 | ajv: 6.12.6 4493 | chalk: 4.1.2 4494 | cross-spawn: 7.0.6 4495 | debug: 4.4.1 4496 | doctrine: 3.0.0 4497 | escape-string-regexp: 4.0.0 4498 | eslint-scope: 7.2.2 4499 | eslint-visitor-keys: 3.4.3 4500 | espree: 9.6.1 4501 | esquery: 1.6.0 4502 | esutils: 2.0.3 4503 | fast-deep-equal: 3.1.3 4504 | file-entry-cache: 6.0.1 4505 | find-up: 5.0.0 4506 | glob-parent: 6.0.2 4507 | globals: 13.24.0 4508 | graphemer: 1.4.0 4509 | ignore: 5.3.2 4510 | imurmurhash: 0.1.4 4511 | is-glob: 4.0.3 4512 | is-path-inside: 3.0.3 4513 | js-yaml: 4.1.0 4514 | json-stable-stringify-without-jsonify: 1.0.1 4515 | levn: 0.4.1 4516 | lodash.merge: 4.6.2 4517 | minimatch: 3.1.2 4518 | natural-compare: 1.4.0 4519 | optionator: 0.9.4 4520 | strip-ansi: 6.0.1 4521 | text-table: 0.2.0 4522 | transitivePeerDependencies: 4523 | - supports-color 4524 | 4525 | espree@9.6.1: 4526 | dependencies: 4527 | acorn: 8.15.0 4528 | acorn-jsx: 5.3.2(acorn@8.15.0) 4529 | eslint-visitor-keys: 3.4.3 4530 | 4531 | esprima@4.0.1: {} 4532 | 4533 | esquery@1.6.0: 4534 | dependencies: 4535 | estraverse: 5.3.0 4536 | 4537 | esrecurse@4.3.0: 4538 | dependencies: 4539 | estraverse: 5.3.0 4540 | 4541 | estraverse@5.3.0: {} 4542 | 4543 | esutils@2.0.3: {} 4544 | 4545 | eventemitter3@5.0.1: {} 4546 | 4547 | execa@8.0.1: 4548 | dependencies: 4549 | cross-spawn: 7.0.6 4550 | get-stream: 8.0.1 4551 | human-signals: 5.0.0 4552 | is-stream: 3.0.0 4553 | merge-stream: 2.0.0 4554 | npm-run-path: 5.3.0 4555 | onetime: 6.0.0 4556 | signal-exit: 4.1.0 4557 | strip-final-newline: 3.0.0 4558 | 4559 | extract-zip@2.0.1: 4560 | dependencies: 4561 | debug: 4.4.1 4562 | get-stream: 5.2.0 4563 | yauzl: 2.10.0 4564 | optionalDependencies: 4565 | "@types/yauzl": 2.10.3 4566 | transitivePeerDependencies: 4567 | - supports-color 4568 | 4569 | fast-deep-equal@3.1.3: {} 4570 | 4571 | fast-fifo@1.3.2: {} 4572 | 4573 | fast-glob@3.3.3: 4574 | dependencies: 4575 | "@nodelib/fs.stat": 2.0.5 4576 | "@nodelib/fs.walk": 1.2.8 4577 | glob-parent: 5.1.2 4578 | merge2: 1.4.1 4579 | micromatch: 4.0.8 4580 | 4581 | fast-json-stable-stringify@2.1.0: {} 4582 | 4583 | fast-levenshtein@2.0.6: {} 4584 | 4585 | fast-uri@3.0.6: {} 4586 | 4587 | fastq@1.19.1: 4588 | dependencies: 4589 | reusify: 1.1.0 4590 | 4591 | fd-slicer@1.1.0: 4592 | dependencies: 4593 | pend: 1.2.0 4594 | 4595 | file-entry-cache@6.0.1: 4596 | dependencies: 4597 | flat-cache: 3.2.0 4598 | 4599 | fill-range@7.1.1: 4600 | dependencies: 4601 | to-regex-range: 5.0.1 4602 | 4603 | find-up@5.0.0: 4604 | dependencies: 4605 | locate-path: 6.0.0 4606 | path-exists: 4.0.0 4607 | 4608 | find-up@7.0.0: 4609 | dependencies: 4610 | locate-path: 7.2.0 4611 | path-exists: 5.0.0 4612 | unicorn-magic: 0.1.0 4613 | 4614 | flat-cache@3.2.0: 4615 | dependencies: 4616 | flatted: 3.3.3 4617 | keyv: 4.5.4 4618 | rimraf: 3.0.2 4619 | 4620 | flatted@3.3.3: {} 4621 | 4622 | fs.realpath@1.0.0: {} 4623 | 4624 | fsevents@2.3.3: 4625 | optional: true 4626 | 4627 | gensync@1.0.0-beta.2: {} 4628 | 4629 | get-caller-file@2.0.5: {} 4630 | 4631 | get-east-asian-width@1.3.0: {} 4632 | 4633 | get-stream@5.2.0: 4634 | dependencies: 4635 | pump: 3.0.3 4636 | 4637 | get-stream@8.0.1: {} 4638 | 4639 | get-tsconfig@4.10.1: 4640 | dependencies: 4641 | resolve-pkg-maps: 1.0.0 4642 | 4643 | get-uri@6.0.4: 4644 | dependencies: 4645 | basic-ftp: 5.0.5 4646 | data-uri-to-buffer: 6.0.2 4647 | debug: 4.4.1 4648 | transitivePeerDependencies: 4649 | - supports-color 4650 | 4651 | git-raw-commits@4.0.0: 4652 | dependencies: 4653 | dargs: 8.1.0 4654 | meow: 12.1.1 4655 | split2: 4.2.0 4656 | 4657 | glob-parent@5.1.2: 4658 | dependencies: 4659 | is-glob: 4.0.3 4660 | 4661 | glob-parent@6.0.2: 4662 | dependencies: 4663 | is-glob: 4.0.3 4664 | 4665 | glob@7.2.3: 4666 | dependencies: 4667 | fs.realpath: 1.0.0 4668 | inflight: 1.0.6 4669 | inherits: 2.0.4 4670 | minimatch: 3.1.2 4671 | once: 1.4.0 4672 | path-is-absolute: 1.0.1 4673 | 4674 | global-directory@4.0.1: 4675 | dependencies: 4676 | ini: 4.1.1 4677 | 4678 | globals@11.12.0: {} 4679 | 4680 | globals@13.24.0: 4681 | dependencies: 4682 | type-fest: 0.20.2 4683 | 4684 | globby@11.1.0: 4685 | dependencies: 4686 | array-union: 2.1.0 4687 | dir-glob: 3.0.1 4688 | fast-glob: 3.3.3 4689 | ignore: 5.3.2 4690 | merge2: 1.4.1 4691 | slash: 3.0.0 4692 | 4693 | graphemer@1.4.0: {} 4694 | 4695 | has-flag@4.0.0: {} 4696 | 4697 | http-proxy-agent@7.0.2: 4698 | dependencies: 4699 | agent-base: 7.1.3 4700 | debug: 4.4.1 4701 | transitivePeerDependencies: 4702 | - supports-color 4703 | 4704 | https-proxy-agent@7.0.6: 4705 | dependencies: 4706 | agent-base: 7.1.3 4707 | debug: 4.4.1 4708 | transitivePeerDependencies: 4709 | - supports-color 4710 | 4711 | human-signals@5.0.0: {} 4712 | 4713 | husky@9.1.7: {} 4714 | 4715 | ieee754@1.2.1: {} 4716 | 4717 | ignore@5.3.2: {} 4718 | 4719 | import-fresh@3.3.1: 4720 | dependencies: 4721 | parent-module: 1.0.1 4722 | resolve-from: 4.0.0 4723 | 4724 | import-meta-resolve@4.1.0: {} 4725 | 4726 | imurmurhash@0.1.4: {} 4727 | 4728 | inflight@1.0.6: 4729 | dependencies: 4730 | once: 1.4.0 4731 | wrappy: 1.0.2 4732 | 4733 | inherits@2.0.4: {} 4734 | 4735 | ini@4.1.1: {} 4736 | 4737 | ip-address@9.0.5: 4738 | dependencies: 4739 | jsbn: 1.1.0 4740 | sprintf-js: 1.1.3 4741 | 4742 | is-arrayish@0.2.1: {} 4743 | 4744 | is-extglob@2.1.1: {} 4745 | 4746 | is-fullwidth-code-point@3.0.0: {} 4747 | 4748 | is-fullwidth-code-point@4.0.0: {} 4749 | 4750 | is-fullwidth-code-point@5.0.0: 4751 | dependencies: 4752 | get-east-asian-width: 1.3.0 4753 | 4754 | is-glob@4.0.3: 4755 | dependencies: 4756 | is-extglob: 2.1.1 4757 | 4758 | is-number@7.0.0: {} 4759 | 4760 | is-obj@2.0.0: {} 4761 | 4762 | is-path-inside@3.0.3: {} 4763 | 4764 | is-stream@3.0.0: {} 4765 | 4766 | is-text-path@2.0.0: 4767 | dependencies: 4768 | text-extensions: 2.4.0 4769 | 4770 | isexe@2.0.0: {} 4771 | 4772 | jiti@2.4.2: {} 4773 | 4774 | js-tokens@4.0.0: {} 4775 | 4776 | js-yaml@4.1.0: 4777 | dependencies: 4778 | argparse: 2.0.1 4779 | 4780 | jsbn@1.1.0: {} 4781 | 4782 | jsesc@3.1.0: {} 4783 | 4784 | json-buffer@3.0.1: {} 4785 | 4786 | json-parse-even-better-errors@2.3.1: {} 4787 | 4788 | json-schema-traverse@0.4.1: {} 4789 | 4790 | json-schema-traverse@1.0.0: {} 4791 | 4792 | json-stable-stringify-without-jsonify@1.0.1: {} 4793 | 4794 | json5@2.2.3: {} 4795 | 4796 | jsonparse@1.3.1: {} 4797 | 4798 | keyv@4.5.4: 4799 | dependencies: 4800 | json-buffer: 3.0.1 4801 | 4802 | levn@0.4.1: 4803 | dependencies: 4804 | prelude-ls: 1.2.1 4805 | type-check: 0.4.0 4806 | 4807 | lightningcss-darwin-arm64@1.30.1: 4808 | optional: true 4809 | 4810 | lightningcss-darwin-x64@1.30.1: 4811 | optional: true 4812 | 4813 | lightningcss-freebsd-x64@1.30.1: 4814 | optional: true 4815 | 4816 | lightningcss-linux-arm-gnueabihf@1.30.1: 4817 | optional: true 4818 | 4819 | lightningcss-linux-arm64-gnu@1.30.1: 4820 | optional: true 4821 | 4822 | lightningcss-linux-arm64-musl@1.30.1: 4823 | optional: true 4824 | 4825 | lightningcss-linux-x64-gnu@1.30.1: 4826 | optional: true 4827 | 4828 | lightningcss-linux-x64-musl@1.30.1: 4829 | optional: true 4830 | 4831 | lightningcss-win32-arm64-msvc@1.30.1: 4832 | optional: true 4833 | 4834 | lightningcss-win32-x64-msvc@1.30.1: 4835 | optional: true 4836 | 4837 | lightningcss@1.30.1: 4838 | dependencies: 4839 | detect-libc: 2.0.4 4840 | optionalDependencies: 4841 | lightningcss-darwin-arm64: 1.30.1 4842 | lightningcss-darwin-x64: 1.30.1 4843 | lightningcss-freebsd-x64: 1.30.1 4844 | lightningcss-linux-arm-gnueabihf: 1.30.1 4845 | lightningcss-linux-arm64-gnu: 1.30.1 4846 | lightningcss-linux-arm64-musl: 1.30.1 4847 | lightningcss-linux-x64-gnu: 1.30.1 4848 | lightningcss-linux-x64-musl: 1.30.1 4849 | lightningcss-win32-arm64-msvc: 1.30.1 4850 | lightningcss-win32-x64-msvc: 1.30.1 4851 | optional: true 4852 | 4853 | lilconfig@3.1.3: {} 4854 | 4855 | lines-and-columns@1.2.4: {} 4856 | 4857 | lint-staged@15.5.2: 4858 | dependencies: 4859 | chalk: 5.4.1 4860 | commander: 13.1.0 4861 | debug: 4.4.1 4862 | execa: 8.0.1 4863 | lilconfig: 3.1.3 4864 | listr2: 8.3.3 4865 | micromatch: 4.0.8 4866 | pidtree: 0.6.0 4867 | string-argv: 0.3.2 4868 | yaml: 2.8.0 4869 | transitivePeerDependencies: 4870 | - supports-color 4871 | 4872 | listr2@8.3.3: 4873 | dependencies: 4874 | cli-truncate: 4.0.0 4875 | colorette: 2.0.20 4876 | eventemitter3: 5.0.1 4877 | log-update: 6.1.0 4878 | rfdc: 1.4.1 4879 | wrap-ansi: 9.0.0 4880 | 4881 | locate-path@6.0.0: 4882 | dependencies: 4883 | p-locate: 5.0.0 4884 | 4885 | locate-path@7.2.0: 4886 | dependencies: 4887 | p-locate: 6.0.0 4888 | 4889 | lodash.camelcase@4.3.0: {} 4890 | 4891 | lodash.isplainobject@4.0.6: {} 4892 | 4893 | lodash.kebabcase@4.1.1: {} 4894 | 4895 | lodash.merge@4.6.2: {} 4896 | 4897 | lodash.mergewith@4.6.2: {} 4898 | 4899 | lodash.snakecase@4.1.1: {} 4900 | 4901 | lodash.startcase@4.4.0: {} 4902 | 4903 | lodash.uniq@4.5.0: {} 4904 | 4905 | lodash.upperfirst@4.3.1: {} 4906 | 4907 | log-update@6.1.0: 4908 | dependencies: 4909 | ansi-escapes: 7.0.0 4910 | cli-cursor: 5.0.0 4911 | slice-ansi: 7.1.0 4912 | strip-ansi: 7.1.0 4913 | wrap-ansi: 9.0.0 4914 | 4915 | loose-envify@1.4.0: 4916 | dependencies: 4917 | js-tokens: 4.0.0 4918 | 4919 | lru-cache@5.1.1: 4920 | dependencies: 4921 | yallist: 3.1.1 4922 | 4923 | lru-cache@7.18.3: {} 4924 | 4925 | meow@12.1.1: {} 4926 | 4927 | merge-stream@2.0.0: {} 4928 | 4929 | merge2@1.4.1: {} 4930 | 4931 | micromatch@4.0.8: 4932 | dependencies: 4933 | braces: 3.0.3 4934 | picomatch: 2.3.1 4935 | 4936 | mimic-fn@4.0.0: {} 4937 | 4938 | mimic-function@5.0.1: {} 4939 | 4940 | minimatch@3.1.2: 4941 | dependencies: 4942 | brace-expansion: 1.1.12 4943 | 4944 | minimatch@9.0.3: 4945 | dependencies: 4946 | brace-expansion: 2.0.2 4947 | 4948 | minimist@1.2.8: {} 4949 | 4950 | mitt@3.0.1: {} 4951 | 4952 | ms@2.1.3: {} 4953 | 4954 | nanoid@3.3.11: {} 4955 | 4956 | natural-compare@1.4.0: {} 4957 | 4958 | netmask@2.0.2: {} 4959 | 4960 | node-releases@2.0.19: {} 4961 | 4962 | npm-run-path@5.3.0: 4963 | dependencies: 4964 | path-key: 4.0.0 4965 | 4966 | once@1.4.0: 4967 | dependencies: 4968 | wrappy: 1.0.2 4969 | 4970 | onetime@6.0.0: 4971 | dependencies: 4972 | mimic-fn: 4.0.0 4973 | 4974 | onetime@7.0.0: 4975 | dependencies: 4976 | mimic-function: 5.0.1 4977 | 4978 | optionator@0.9.4: 4979 | dependencies: 4980 | deep-is: 0.1.4 4981 | fast-levenshtein: 2.0.6 4982 | levn: 0.4.1 4983 | prelude-ls: 1.2.1 4984 | type-check: 0.4.0 4985 | word-wrap: 1.2.5 4986 | 4987 | p-limit@3.1.0: 4988 | dependencies: 4989 | yocto-queue: 0.1.0 4990 | 4991 | p-limit@4.0.0: 4992 | dependencies: 4993 | yocto-queue: 1.2.1 4994 | 4995 | p-locate@5.0.0: 4996 | dependencies: 4997 | p-limit: 3.1.0 4998 | 4999 | p-locate@6.0.0: 5000 | dependencies: 5001 | p-limit: 4.0.0 5002 | 5003 | pac-proxy-agent@7.2.0: 5004 | dependencies: 5005 | "@tootallnate/quickjs-emscripten": 0.23.0 5006 | agent-base: 7.1.3 5007 | debug: 4.4.1 5008 | get-uri: 6.0.4 5009 | http-proxy-agent: 7.0.2 5010 | https-proxy-agent: 7.0.6 5011 | pac-resolver: 7.0.1 5012 | socks-proxy-agent: 8.0.5 5013 | transitivePeerDependencies: 5014 | - supports-color 5015 | 5016 | pac-resolver@7.0.1: 5017 | dependencies: 5018 | degenerator: 5.0.1 5019 | netmask: 2.0.2 5020 | 5021 | parent-module@1.0.1: 5022 | dependencies: 5023 | callsites: 3.1.0 5024 | 5025 | parse-json@5.2.0: 5026 | dependencies: 5027 | "@babel/code-frame": 7.27.1 5028 | error-ex: 1.3.2 5029 | json-parse-even-better-errors: 2.3.1 5030 | lines-and-columns: 1.2.4 5031 | 5032 | path-exists@4.0.0: {} 5033 | 5034 | path-exists@5.0.0: {} 5035 | 5036 | path-is-absolute@1.0.1: {} 5037 | 5038 | path-key@3.1.1: {} 5039 | 5040 | path-key@4.0.0: {} 5041 | 5042 | path-type@4.0.0: {} 5043 | 5044 | pend@1.2.0: {} 5045 | 5046 | picocolors@1.1.1: {} 5047 | 5048 | picomatch@2.3.1: {} 5049 | 5050 | pidtree@0.6.0: {} 5051 | 5052 | postcss@8.5.6: 5053 | dependencies: 5054 | nanoid: 3.3.11 5055 | picocolors: 1.1.1 5056 | source-map-js: 1.2.1 5057 | 5058 | prelude-ls@1.2.1: {} 5059 | 5060 | prettier@3.3.2: {} 5061 | 5062 | progress@2.0.3: {} 5063 | 5064 | proxy-agent@6.5.0: 5065 | dependencies: 5066 | agent-base: 7.1.3 5067 | debug: 4.4.1 5068 | http-proxy-agent: 7.0.2 5069 | https-proxy-agent: 7.0.6 5070 | lru-cache: 7.18.3 5071 | pac-proxy-agent: 7.2.0 5072 | proxy-from-env: 1.1.0 5073 | socks-proxy-agent: 8.0.5 5074 | transitivePeerDependencies: 5075 | - supports-color 5076 | 5077 | proxy-from-env@1.1.0: {} 5078 | 5079 | pump@3.0.3: 5080 | dependencies: 5081 | end-of-stream: 1.4.5 5082 | once: 1.4.0 5083 | 5084 | punycode@2.3.1: {} 5085 | 5086 | puppeteer-core@23.11.1: 5087 | dependencies: 5088 | "@puppeteer/browsers": 2.6.1 5089 | chromium-bidi: 0.11.0(devtools-protocol@0.0.1367902) 5090 | debug: 4.4.1 5091 | devtools-protocol: 0.0.1367902 5092 | typed-query-selector: 2.12.0 5093 | ws: 8.18.2 5094 | transitivePeerDependencies: 5095 | - bare-buffer 5096 | - bufferutil 5097 | - supports-color 5098 | - utf-8-validate 5099 | 5100 | puppeteer@23.11.1(typescript@5.8.3): 5101 | dependencies: 5102 | "@puppeteer/browsers": 2.6.1 5103 | chromium-bidi: 0.11.0(devtools-protocol@0.0.1367902) 5104 | cosmiconfig: 9.0.0(typescript@5.8.3) 5105 | devtools-protocol: 0.0.1367902 5106 | puppeteer-core: 23.11.1 5107 | typed-query-selector: 2.12.0 5108 | transitivePeerDependencies: 5109 | - bare-buffer 5110 | - bufferutil 5111 | - supports-color 5112 | - typescript 5113 | - utf-8-validate 5114 | 5115 | queue-microtask@1.2.3: {} 5116 | 5117 | react-dom@18.3.1(react@18.3.1): 5118 | dependencies: 5119 | loose-envify: 1.4.0 5120 | react: 18.3.1 5121 | scheduler: 0.23.2 5122 | 5123 | react-icons@5.5.0(react@18.3.1): 5124 | dependencies: 5125 | react: 18.3.1 5126 | 5127 | react-refresh@0.17.0: {} 5128 | 5129 | react@18.3.1: 5130 | dependencies: 5131 | loose-envify: 1.4.0 5132 | 5133 | require-directory@2.1.1: {} 5134 | 5135 | require-from-string@2.0.2: {} 5136 | 5137 | resolve-from@4.0.0: {} 5138 | 5139 | resolve-from@5.0.0: {} 5140 | 5141 | resolve-pkg-maps@1.0.0: {} 5142 | 5143 | restore-cursor@5.1.0: 5144 | dependencies: 5145 | onetime: 7.0.0 5146 | signal-exit: 4.1.0 5147 | 5148 | reusify@1.1.0: {} 5149 | 5150 | rfdc@1.4.1: {} 5151 | 5152 | rimraf@3.0.2: 5153 | dependencies: 5154 | glob: 7.2.3 5155 | 5156 | rollup@4.44.0: 5157 | dependencies: 5158 | "@types/estree": 1.0.8 5159 | optionalDependencies: 5160 | "@rollup/rollup-android-arm-eabi": 4.44.0 5161 | "@rollup/rollup-android-arm64": 4.44.0 5162 | "@rollup/rollup-darwin-arm64": 4.44.0 5163 | "@rollup/rollup-darwin-x64": 4.44.0 5164 | "@rollup/rollup-freebsd-arm64": 4.44.0 5165 | "@rollup/rollup-freebsd-x64": 4.44.0 5166 | "@rollup/rollup-linux-arm-gnueabihf": 4.44.0 5167 | "@rollup/rollup-linux-arm-musleabihf": 4.44.0 5168 | "@rollup/rollup-linux-arm64-gnu": 4.44.0 5169 | "@rollup/rollup-linux-arm64-musl": 4.44.0 5170 | "@rollup/rollup-linux-loongarch64-gnu": 4.44.0 5171 | "@rollup/rollup-linux-powerpc64le-gnu": 4.44.0 5172 | "@rollup/rollup-linux-riscv64-gnu": 4.44.0 5173 | "@rollup/rollup-linux-riscv64-musl": 4.44.0 5174 | "@rollup/rollup-linux-s390x-gnu": 4.44.0 5175 | "@rollup/rollup-linux-x64-gnu": 4.44.0 5176 | "@rollup/rollup-linux-x64-musl": 4.44.0 5177 | "@rollup/rollup-win32-arm64-msvc": 4.44.0 5178 | "@rollup/rollup-win32-ia32-msvc": 4.44.0 5179 | "@rollup/rollup-win32-x64-msvc": 4.44.0 5180 | fsevents: 2.3.3 5181 | 5182 | run-parallel@1.2.0: 5183 | dependencies: 5184 | queue-microtask: 1.2.3 5185 | 5186 | scheduler@0.23.2: 5187 | dependencies: 5188 | loose-envify: 1.4.0 5189 | 5190 | semver@6.3.1: {} 5191 | 5192 | semver@7.7.2: {} 5193 | 5194 | shebang-command@2.0.0: 5195 | dependencies: 5196 | shebang-regex: 3.0.0 5197 | 5198 | shebang-regex@3.0.0: {} 5199 | 5200 | signal-exit@4.1.0: {} 5201 | 5202 | slash@3.0.0: {} 5203 | 5204 | slice-ansi@5.0.0: 5205 | dependencies: 5206 | ansi-styles: 6.2.1 5207 | is-fullwidth-code-point: 4.0.0 5208 | 5209 | slice-ansi@7.1.0: 5210 | dependencies: 5211 | ansi-styles: 6.2.1 5212 | is-fullwidth-code-point: 5.0.0 5213 | 5214 | smart-buffer@4.2.0: {} 5215 | 5216 | socks-proxy-agent@8.0.5: 5217 | dependencies: 5218 | agent-base: 7.1.3 5219 | debug: 4.4.1 5220 | socks: 2.8.5 5221 | transitivePeerDependencies: 5222 | - supports-color 5223 | 5224 | socks@2.8.5: 5225 | dependencies: 5226 | ip-address: 9.0.5 5227 | smart-buffer: 4.2.0 5228 | 5229 | source-map-js@1.2.1: {} 5230 | 5231 | source-map@0.6.1: 5232 | optional: true 5233 | 5234 | split2@4.2.0: {} 5235 | 5236 | sprintf-js@1.1.3: {} 5237 | 5238 | streamx@2.22.1: 5239 | dependencies: 5240 | fast-fifo: 1.3.2 5241 | text-decoder: 1.2.3 5242 | optionalDependencies: 5243 | bare-events: 2.5.4 5244 | 5245 | string-argv@0.3.2: {} 5246 | 5247 | string-width@4.2.3: 5248 | dependencies: 5249 | emoji-regex: 8.0.0 5250 | is-fullwidth-code-point: 3.0.0 5251 | strip-ansi: 6.0.1 5252 | 5253 | string-width@7.2.0: 5254 | dependencies: 5255 | emoji-regex: 10.4.0 5256 | get-east-asian-width: 1.3.0 5257 | strip-ansi: 7.1.0 5258 | 5259 | strip-ansi@6.0.1: 5260 | dependencies: 5261 | ansi-regex: 5.0.1 5262 | 5263 | strip-ansi@7.1.0: 5264 | dependencies: 5265 | ansi-regex: 6.1.0 5266 | 5267 | strip-final-newline@3.0.0: {} 5268 | 5269 | strip-json-comments@3.1.1: {} 5270 | 5271 | supports-color@7.2.0: 5272 | dependencies: 5273 | has-flag: 4.0.0 5274 | 5275 | tar-fs@3.0.10: 5276 | dependencies: 5277 | pump: 3.0.3 5278 | tar-stream: 3.1.7 5279 | optionalDependencies: 5280 | bare-fs: 4.1.5 5281 | bare-path: 3.0.0 5282 | transitivePeerDependencies: 5283 | - bare-buffer 5284 | 5285 | tar-stream@3.1.7: 5286 | dependencies: 5287 | b4a: 1.6.7 5288 | fast-fifo: 1.3.2 5289 | streamx: 2.22.1 5290 | 5291 | text-decoder@1.2.3: 5292 | dependencies: 5293 | b4a: 1.6.7 5294 | 5295 | text-extensions@2.4.0: {} 5296 | 5297 | text-table@0.2.0: {} 5298 | 5299 | through@2.3.8: {} 5300 | 5301 | tinyexec@1.0.1: {} 5302 | 5303 | to-regex-range@5.0.1: 5304 | dependencies: 5305 | is-number: 7.0.0 5306 | 5307 | ts-api-utils@1.4.3(typescript@5.8.3): 5308 | dependencies: 5309 | typescript: 5.8.3 5310 | 5311 | tslib@2.8.1: {} 5312 | 5313 | tsx@4.20.3: 5314 | dependencies: 5315 | esbuild: 0.25.5 5316 | get-tsconfig: 4.10.1 5317 | optionalDependencies: 5318 | fsevents: 2.3.3 5319 | 5320 | type-check@0.4.0: 5321 | dependencies: 5322 | prelude-ls: 1.2.1 5323 | 5324 | type-fest@0.20.2: {} 5325 | 5326 | typed-query-selector@2.12.0: {} 5327 | 5328 | typescript@5.8.3: {} 5329 | 5330 | unbzip2-stream@1.4.3: 5331 | dependencies: 5332 | buffer: 5.7.1 5333 | through: 2.3.8 5334 | 5335 | undici-types@6.21.0: {} 5336 | 5337 | unicorn-magic@0.1.0: {} 5338 | 5339 | update-browserslist-db@1.1.3(browserslist@4.25.0): 5340 | dependencies: 5341 | browserslist: 4.25.0 5342 | escalade: 3.2.0 5343 | picocolors: 1.1.1 5344 | 5345 | uri-js@4.4.1: 5346 | dependencies: 5347 | punycode: 2.3.1 5348 | 5349 | vite@5.4.19(@types/node@20.19.1)(lightningcss@1.30.1): 5350 | dependencies: 5351 | esbuild: 0.21.5 5352 | postcss: 8.5.6 5353 | rollup: 4.44.0 5354 | optionalDependencies: 5355 | "@types/node": 20.19.1 5356 | fsevents: 2.3.3 5357 | lightningcss: 1.30.1 5358 | 5359 | which@2.0.2: 5360 | dependencies: 5361 | isexe: 2.0.0 5362 | 5363 | word-wrap@1.2.5: {} 5364 | 5365 | wrap-ansi@7.0.0: 5366 | dependencies: 5367 | ansi-styles: 4.3.0 5368 | string-width: 4.2.3 5369 | strip-ansi: 6.0.1 5370 | 5371 | wrap-ansi@9.0.0: 5372 | dependencies: 5373 | ansi-styles: 6.2.1 5374 | string-width: 7.2.0 5375 | strip-ansi: 7.1.0 5376 | 5377 | wrappy@1.0.2: {} 5378 | 5379 | ws@8.18.2: {} 5380 | 5381 | y18n@5.0.8: {} 5382 | 5383 | yallist@3.1.1: {} 5384 | 5385 | yaml@2.8.0: {} 5386 | 5387 | yargs-parser@21.1.1: {} 5388 | 5389 | yargs@17.7.2: 5390 | dependencies: 5391 | cliui: 8.0.1 5392 | escalade: 3.2.0 5393 | get-caller-file: 2.0.5 5394 | require-directory: 2.1.1 5395 | string-width: 4.2.3 5396 | y18n: 5.0.8 5397 | yargs-parser: 21.1.1 5398 | 5399 | yauzl@2.10.0: 5400 | dependencies: 5401 | buffer-crc32: 0.2.13 5402 | fd-slicer: 1.1.0 5403 | 5404 | yocto-queue@0.1.0: {} 5405 | 5406 | yocto-queue@1.2.1: {} 5407 | 5408 | zod@3.23.8: {} 5409 | --------------------------------------------------------------------------------