├── .gitignore
├── README.md
├── eslint.config.js
├── index.html
├── package.json
├── pnpm-lock.yaml
├── preview.png
├── public
└── vite.svg
├── src
├── react-app
│ ├── App.tsx
│ ├── index.css
│ ├── main.tsx
│ └── vite-env.d.ts
└── worker
│ └── index.ts
├── tsconfig.app.json
├── tsconfig.json
├── tsconfig.node.json
├── tsconfig.worker.json
├── vite.config.ts
├── worker-configuration.d.ts
└── wrangler.json
/.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 | # wrangler files
27 | .wrangler
28 | .dev.vars*
29 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Telegram 图片上传工具
2 |
3 | [](https://deploy.workers.cloudflare.com/?url=https://github.com/houhoz/cf-workers-telegram-image)
4 |
5 | 一个基于 Cloudflare Workers 的图片上传工具,可以将图片直接上传到 Telegram 频道或群组,并获取图片的 file_id,方便后续使用。
6 |
7 | 
8 |
9 | ## ✨ 功能特点
10 |
11 | - 🖼️ 图片上传预览 - 选择图片后可在上传前预览
12 | - 🚀 一键上传到 Telegram - 直接发送图片到配置的 Telegram 频道/群组
13 | - 📋 自动获取 file_id - 上传成功后显示图片信息和 file_id,支持一键复制
14 | - 🌐 全球加速 - 基于 Cloudflare Workers 的全球边缘网络,上传速度更快
15 | - 🔒 安全可靠 - 使用 Telegram Bot API,无需存储图片,安全且稳定
16 |
17 | ## 🛠️ 技术栈
18 |
19 | - [**React**](https://react.dev/) - 用户界面库
20 | - [**Vite**](https://vite.dev/) - 前端构建工具
21 | - [**Hono**](https://hono.dev/) - 轻量级后端框架
22 | - [**Cloudflare Workers**](https://developers.cloudflare.com/workers/) - 边缘计算平台
23 | - [**TailwindCSS**](https://tailwindcss.com/) - 实用优先的 CSS 框架
24 |
25 | ## 🚀 快速开始
26 |
27 | ### 本地开发
28 |
29 | 1. 克隆项目并安装依赖:
30 |
31 | ```bash
32 | git clone https://github.com/houhoz/cf-workers-telegram-image.git
33 | cd cf-workers-telegram-image
34 | npm install
35 | ```
36 |
37 | 2. 创建 `.dev.vars` 文件,添加以下环境变量:
38 |
39 | ```
40 | TG_BOT_TOKEN=your_telegram_bot_token
41 | TG_CHAT_ID=your_telegram_chat_id
42 | ```
43 |
44 | 3. 启动开发服务器:
45 |
46 | ```bash
47 | npm run dev
48 | ```
49 |
50 | 应用将在 [http://localhost:5173](http://localhost:5173) 上运行。
51 |
52 | ### 部署到 Cloudflare Workers
53 |
54 | 1. 构建项目:
55 |
56 | ```bash
57 | npm run build
58 | ```
59 |
60 | 2. 配置 Cloudflare Workers 密钥:
61 |
62 | ```bash
63 | wrangler secret put TG_BOT_TOKEN
64 | # 输入你的 Telegram Bot Token
65 |
66 | wrangler secret put TG_CHAT_ID
67 | # 输入你的 Telegram Chat ID
68 | ```
69 |
70 | 3. 部署到 Cloudflare Workers:
71 |
72 | ```bash
73 | npm run deploy
74 | ```
75 |
76 | ## ⚙️ 配置说明
77 |
78 | ### 必要配置
79 |
80 | | 环境变量 | 说明 |
81 | |---------|------|
82 | | `TG_BOT_TOKEN` | Telegram Bot 的 API Token,可以从 [@BotFather](https://t.me/BotFather) 获取 |
83 | | `TG_CHAT_ID` | 目标 Telegram 频道或群组的 ID,可以使用 [@userinfobot](https://t.me/userinfobot) 获取 |
84 |
85 | ### Telegram Bot 设置
86 |
87 | 1. 在 Telegram 中联系 [@BotFather](https://t.me/BotFather) 创建一个新的机器人
88 | 2. 获取 API Token
89 | 3. 将机器人添加到你的目标频道或群组,并授予管理员权限(至少需要发送消息权限)
90 |
91 | ## 📝 使用方法
92 |
93 | 1. 打开应用后,点击"选择图片"按钮上传本地图片
94 | 2. 上传前可以预览图片
95 | 3. 点击"上传到 Telegram"按钮将图片发送到配置的 Telegram 频道/群组
96 | 4. 上传成功后,可以查看图片信息并复制 file_id 供其他应用使用
97 |
98 | ## 🔗 在线演示
99 |
100 | 访问 [cf-workers-telegram-image.houyazhao.workers.dev](https://cf-workers-telegram-image.houyazhao.workers.dev/) 查看在线演示。
101 |
102 | ## 🤝 贡献
103 |
104 | 欢迎提交 Issue 或 Pull Request 来改进这个项目!
105 |
106 | 项目仓库:[https://github.com/houhoz/cf-workers-telegram-image](https://github.com/houhoz/cf-workers-telegram-image)
107 |
108 | ## 📄 许可证
109 |
110 | MIT
111 |
112 | ## 🔗 相关资源
113 |
114 | - [Telegram Bot API 文档](https://core.telegram.org/bots/api)
115 | - [Cloudflare Workers 文档](https://developers.cloudflare.com/workers/)
116 | - [Hono 文档](https://hono.dev/)
117 |
--------------------------------------------------------------------------------
/eslint.config.js:
--------------------------------------------------------------------------------
1 | import js from "@eslint/js";
2 | import globals from "globals";
3 | import reactHooks from "eslint-plugin-react-hooks";
4 | import reactRefresh from "eslint-plugin-react-refresh";
5 | import tseslint from "typescript-eslint";
6 |
7 | export default tseslint.config(
8 | { ignores: ["dist"] },
9 | {
10 | extends: [js.configs.recommended, ...tseslint.configs.recommended],
11 | files: ["**/*.{ts,tsx}"],
12 | languageOptions: {
13 | ecmaVersion: 2020,
14 | globals: globals.browser,
15 | },
16 | plugins: {
17 | "react-hooks": reactHooks,
18 | "react-refresh": reactRefresh,
19 | },
20 | rules: {
21 | ...reactHooks.configs.recommended.rules,
22 | "react-refresh/only-export-components": [
23 | "warn",
24 | { allowConstantExport: true },
25 | ],
26 | },
27 | },
28 | );
29 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Vite + React + TS
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "cf-workers-telegram-image",
3 | "description": "A template for building a React application with Vite, Hono, and Cloudflare Workers",
4 | "version": "0.0.0",
5 | "cloudflare": {
6 | "label": "Vite React Template",
7 | "products": [
8 | "Workers"
9 | ],
10 | "categories": [],
11 | "icon_urls": [
12 | "https://imagedelivery.net/wSMYJvS3Xw-n339CbDyDIA/5ca0ca32-e897-4699-d4c1-6b680512f000/public"
13 | ],
14 | "preview_image_url": "https://imagedelivery.net/wSMYJvS3Xw-n339CbDyDIA/fc7b4b62-442b-4769-641b-ad4422d74300/public",
15 | "publish": true
16 | },
17 | "dependencies": {
18 | "@tailwindcss/vite": "^4.1.8",
19 | "hono": "4.7.7",
20 | "react": "19.0.0",
21 | "react-dom": "19.0.0",
22 | "tailwindcss": "^4.1.8"
23 | },
24 | "devDependencies": {
25 | "@cloudflare/vite-plugin": "1.2.4",
26 | "@eslint/js": "9.25.1",
27 | "@types/node": "22.15.19",
28 | "@types/react": "19.0.10",
29 | "@types/react-dom": "19.0.4",
30 | "@vitejs/plugin-react": "4.4.1",
31 | "eslint": "9.27.0",
32 | "eslint-plugin-react-hooks": "5.2.0",
33 | "eslint-plugin-react-refresh": "0.4.20",
34 | "globals": "15.15.0",
35 | "typescript": "5.8.3",
36 | "typescript-eslint": "8.31.0",
37 | "vite": "6.3.5",
38 | "wrangler": "4.18.0"
39 | },
40 | "scripts": {
41 | "build": "tsc -b && vite build",
42 | "cf-typegen": "wrangler types",
43 | "check": "tsc && vite build && wrangler deploy --dry-run",
44 | "deploy": "wrangler deploy",
45 | "dev": "vite",
46 | "lint": "eslint .",
47 | "preview": "npm run build && vite preview"
48 | },
49 | "type": "module",
50 | "packageManager": "pnpm@10.11.0+sha512.6540583f41cc5f628eb3d9773ecee802f4f9ef9923cc45b69890fb47991d4b092964694ec3a4f738a420c918a333062c8b925d312f42e4f0c263eb603551f977"
51 | }
52 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | dependencies:
11 | '@tailwindcss/vite':
12 | specifier: ^4.1.8
13 | version: 4.1.8(vite@6.3.5(@types/node@22.15.19)(jiti@2.4.2)(lightningcss@1.30.1))
14 | hono:
15 | specifier: 4.7.7
16 | version: 4.7.7
17 | react:
18 | specifier: 19.0.0
19 | version: 19.0.0
20 | react-dom:
21 | specifier: 19.0.0
22 | version: 19.0.0(react@19.0.0)
23 | tailwindcss:
24 | specifier: ^4.1.8
25 | version: 4.1.8
26 | devDependencies:
27 | '@cloudflare/vite-plugin':
28 | specifier: 1.2.4
29 | version: 1.2.4(rollup@4.41.1)(vite@6.3.5(@types/node@22.15.19)(jiti@2.4.2)(lightningcss@1.30.1))(workerd@1.20250525.0)(wrangler@4.18.0)
30 | '@eslint/js':
31 | specifier: 9.25.1
32 | version: 9.25.1
33 | '@types/node':
34 | specifier: 22.15.19
35 | version: 22.15.19
36 | '@types/react':
37 | specifier: 19.0.10
38 | version: 19.0.10
39 | '@types/react-dom':
40 | specifier: 19.0.4
41 | version: 19.0.4(@types/react@19.0.10)
42 | '@vitejs/plugin-react':
43 | specifier: 4.4.1
44 | version: 4.4.1(vite@6.3.5(@types/node@22.15.19)(jiti@2.4.2)(lightningcss@1.30.1))
45 | eslint:
46 | specifier: 9.27.0
47 | version: 9.27.0(jiti@2.4.2)
48 | eslint-plugin-react-hooks:
49 | specifier: 5.2.0
50 | version: 5.2.0(eslint@9.27.0(jiti@2.4.2))
51 | eslint-plugin-react-refresh:
52 | specifier: 0.4.20
53 | version: 0.4.20(eslint@9.27.0(jiti@2.4.2))
54 | globals:
55 | specifier: 15.15.0
56 | version: 15.15.0
57 | typescript:
58 | specifier: 5.8.3
59 | version: 5.8.3
60 | typescript-eslint:
61 | specifier: 8.31.0
62 | version: 8.31.0(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3)
63 | vite:
64 | specifier: 6.3.5
65 | version: 6.3.5(@types/node@22.15.19)(jiti@2.4.2)(lightningcss@1.30.1)
66 | wrangler:
67 | specifier: 4.18.0
68 | version: 4.18.0
69 |
70 | packages:
71 |
72 | '@ampproject/remapping@2.3.0':
73 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
74 | engines: {node: '>=6.0.0'}
75 |
76 | '@babel/code-frame@7.27.1':
77 | resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
78 | engines: {node: '>=6.9.0'}
79 |
80 | '@babel/compat-data@7.27.3':
81 | resolution: {integrity: sha512-V42wFfx1ymFte+ecf6iXghnnP8kWTO+ZLXIyZq+1LAXHHvTZdVxicn4yiVYdYMGaCO3tmqub11AorKkv+iodqw==}
82 | engines: {node: '>=6.9.0'}
83 |
84 | '@babel/core@7.27.4':
85 | resolution: {integrity: sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==}
86 | engines: {node: '>=6.9.0'}
87 |
88 | '@babel/generator@7.27.3':
89 | resolution: {integrity: sha512-xnlJYj5zepml8NXtjkG0WquFUv8RskFqyFcVgTBp5k+NaA/8uw/K+OSVf8AMGw5e9HKP2ETd5xpK5MLZQD6b4Q==}
90 | engines: {node: '>=6.9.0'}
91 |
92 | '@babel/helper-compilation-targets@7.27.2':
93 | resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==}
94 | engines: {node: '>=6.9.0'}
95 |
96 | '@babel/helper-module-imports@7.27.1':
97 | resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==}
98 | engines: {node: '>=6.9.0'}
99 |
100 | '@babel/helper-module-transforms@7.27.3':
101 | resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==}
102 | engines: {node: '>=6.9.0'}
103 | peerDependencies:
104 | '@babel/core': ^7.0.0
105 |
106 | '@babel/helper-plugin-utils@7.27.1':
107 | resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==}
108 | engines: {node: '>=6.9.0'}
109 |
110 | '@babel/helper-string-parser@7.27.1':
111 | resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
112 | engines: {node: '>=6.9.0'}
113 |
114 | '@babel/helper-validator-identifier@7.27.1':
115 | resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
116 | engines: {node: '>=6.9.0'}
117 |
118 | '@babel/helper-validator-option@7.27.1':
119 | resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
120 | engines: {node: '>=6.9.0'}
121 |
122 | '@babel/helpers@7.27.4':
123 | resolution: {integrity: sha512-Y+bO6U+I7ZKaM5G5rDUZiYfUvQPUibYmAFe7EnKdnKBbVXDZxvp+MWOH5gYciY0EPk4EScsuFMQBbEfpdRKSCQ==}
124 | engines: {node: '>=6.9.0'}
125 |
126 | '@babel/parser@7.27.4':
127 | resolution: {integrity: sha512-BRmLHGwpUqLFR2jzx9orBuX/ABDkj2jLKOXrHDTN2aOKL+jFDDKaRNo9nyYsIl9h/UE/7lMKdDjKQQyxKKDZ7g==}
128 | engines: {node: '>=6.0.0'}
129 | hasBin: true
130 |
131 | '@babel/plugin-transform-react-jsx-self@7.27.1':
132 | resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==}
133 | engines: {node: '>=6.9.0'}
134 | peerDependencies:
135 | '@babel/core': ^7.0.0-0
136 |
137 | '@babel/plugin-transform-react-jsx-source@7.27.1':
138 | resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==}
139 | engines: {node: '>=6.9.0'}
140 | peerDependencies:
141 | '@babel/core': ^7.0.0-0
142 |
143 | '@babel/template@7.27.2':
144 | resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
145 | engines: {node: '>=6.9.0'}
146 |
147 | '@babel/traverse@7.27.4':
148 | resolution: {integrity: sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==}
149 | engines: {node: '>=6.9.0'}
150 |
151 | '@babel/types@7.27.3':
152 | resolution: {integrity: sha512-Y1GkI4ktrtvmawoSq+4FCVHNryea6uR+qUQy0AGxLSsjCX0nVmkYQMBLHDkXZuo5hGx7eYdnIaslsdBFm7zbUw==}
153 | engines: {node: '>=6.9.0'}
154 |
155 | '@cloudflare/kv-asset-handler@0.4.0':
156 | resolution: {integrity: sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA==}
157 | engines: {node: '>=18.0.0'}
158 |
159 | '@cloudflare/unenv-preset@2.3.2':
160 | resolution: {integrity: sha512-MtUgNl+QkQyhQvv5bbWP+BpBC1N0me4CHHuP2H4ktmOMKdB/6kkz/lo+zqiA4mEazb4y+1cwyNjVrQ2DWeE4mg==}
161 | peerDependencies:
162 | unenv: 2.0.0-rc.17
163 | workerd: ^1.20250508.0
164 | peerDependenciesMeta:
165 | workerd:
166 | optional: true
167 |
168 | '@cloudflare/vite-plugin@1.2.4':
169 | resolution: {integrity: sha512-Oc5P4cicZrqGAmlCX9DA8KmMK85rXczZBZU7IjnUeOxsPqh/KVgDy2XOVqYvXbbznm1LHceTG6fPMCMcAcj7DQ==}
170 | peerDependencies:
171 | vite: ^6.1.0
172 | wrangler: ^3.101.0 || ^4.0.0
173 |
174 | '@cloudflare/workerd-darwin-64@1.20250508.0':
175 | resolution: {integrity: sha512-9x09MrA9Y5RQs3zqWvWns8xHgM2pVNXWpeJ+3hQYu4PrwPFZXtTD6b/iMmOnlYKzINlREq1RGeEybMFyWEUlUg==}
176 | engines: {node: '>=16'}
177 | cpu: [x64]
178 | os: [darwin]
179 |
180 | '@cloudflare/workerd-darwin-64@1.20250525.0':
181 | resolution: {integrity: sha512-L5l+7sSJJT2+riR5rS3Q3PKNNySPjWfRIeaNGMVRi1dPO6QPi4lwuxfRUFNoeUdilZJUVPfSZvTtj9RedsKznQ==}
182 | engines: {node: '>=16'}
183 | cpu: [x64]
184 | os: [darwin]
185 |
186 | '@cloudflare/workerd-darwin-arm64@1.20250508.0':
187 | resolution: {integrity: sha512-0Ili+nE2LLRzYue/yPc1pepSyNNg6LxR3/ng/rlQzVQUxPXIXldHFkJ/ynsYwQnAcf6OxasSi/kbTm6yvDoSAQ==}
188 | engines: {node: '>=16'}
189 | cpu: [arm64]
190 | os: [darwin]
191 |
192 | '@cloudflare/workerd-darwin-arm64@1.20250525.0':
193 | resolution: {integrity: sha512-Y3IbIdrF/vJWh/WBvshwcSyUh175VAiLRW7963S1dXChrZ1N5wuKGQm9xY69cIGVtitpMJWWW3jLq7J/Xxwm0Q==}
194 | engines: {node: '>=16'}
195 | cpu: [arm64]
196 | os: [darwin]
197 |
198 | '@cloudflare/workerd-linux-64@1.20250508.0':
199 | resolution: {integrity: sha512-5saVrZ3uVwYxvBa7BaonXjeqB6X0YF3ak05qvBaWcmZ3FNmnarMm2W8842cnbhnckDVBpB/iDo51Sy6Y7y1jcw==}
200 | engines: {node: '>=16'}
201 | cpu: [x64]
202 | os: [linux]
203 |
204 | '@cloudflare/workerd-linux-64@1.20250525.0':
205 | resolution: {integrity: sha512-KSyQPAby+c6cpENoO0ayCQlY6QIh28l/+QID7VC1SLXfiNHy+hPNsH1vVBTST6CilHVAQSsy9tCZ9O9XECB8yg==}
206 | engines: {node: '>=16'}
207 | cpu: [x64]
208 | os: [linux]
209 |
210 | '@cloudflare/workerd-linux-arm64@1.20250508.0':
211 | resolution: {integrity: sha512-muQe1pkxRi3eaq1Q417xvfGd2SlktbLTzNhT5Yftsx8OecWrYuB8i4ttR6Nr5ER06bfEj0FqQjqJJhcp6wLLUQ==}
212 | engines: {node: '>=16'}
213 | cpu: [arm64]
214 | os: [linux]
215 |
216 | '@cloudflare/workerd-linux-arm64@1.20250525.0':
217 | resolution: {integrity: sha512-Nt0FUxS2kQhJUea4hMCNPaetkrAFDhPnNX/ntwcqVlGgnGt75iaAhupWJbU0GB+gIWlKeuClUUnDZqKbicoKyg==}
218 | engines: {node: '>=16'}
219 | cpu: [arm64]
220 | os: [linux]
221 |
222 | '@cloudflare/workerd-windows-64@1.20250508.0':
223 | resolution: {integrity: sha512-EJj8iTWFMqjgvZUxxNvzK7frA1JMFi3y/9eDIdZPL/OaQh3cmk5Lai5DCXsKYUxfooMBZWYTp53zOLrvuJI8VQ==}
224 | engines: {node: '>=16'}
225 | cpu: [x64]
226 | os: [win32]
227 |
228 | '@cloudflare/workerd-windows-64@1.20250525.0':
229 | resolution: {integrity: sha512-mwTj+9f3uIa4NEXR1cOa82PjLa6dbrb3J+KCVJFYIaq7e63VxEzOchCXS4tublT2pmOhmFqkgBMXrxozxNkR2Q==}
230 | engines: {node: '>=16'}
231 | cpu: [x64]
232 | os: [win32]
233 |
234 | '@cspotcode/source-map-support@0.8.1':
235 | resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
236 | engines: {node: '>=12'}
237 |
238 | '@emnapi/runtime@1.4.3':
239 | resolution: {integrity: sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==}
240 |
241 | '@esbuild/aix-ppc64@0.25.4':
242 | resolution: {integrity: sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==}
243 | engines: {node: '>=18'}
244 | cpu: [ppc64]
245 | os: [aix]
246 |
247 | '@esbuild/aix-ppc64@0.25.5':
248 | resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==}
249 | engines: {node: '>=18'}
250 | cpu: [ppc64]
251 | os: [aix]
252 |
253 | '@esbuild/android-arm64@0.25.4':
254 | resolution: {integrity: sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==}
255 | engines: {node: '>=18'}
256 | cpu: [arm64]
257 | os: [android]
258 |
259 | '@esbuild/android-arm64@0.25.5':
260 | resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==}
261 | engines: {node: '>=18'}
262 | cpu: [arm64]
263 | os: [android]
264 |
265 | '@esbuild/android-arm@0.25.4':
266 | resolution: {integrity: sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==}
267 | engines: {node: '>=18'}
268 | cpu: [arm]
269 | os: [android]
270 |
271 | '@esbuild/android-arm@0.25.5':
272 | resolution: {integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==}
273 | engines: {node: '>=18'}
274 | cpu: [arm]
275 | os: [android]
276 |
277 | '@esbuild/android-x64@0.25.4':
278 | resolution: {integrity: sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==}
279 | engines: {node: '>=18'}
280 | cpu: [x64]
281 | os: [android]
282 |
283 | '@esbuild/android-x64@0.25.5':
284 | resolution: {integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==}
285 | engines: {node: '>=18'}
286 | cpu: [x64]
287 | os: [android]
288 |
289 | '@esbuild/darwin-arm64@0.25.4':
290 | resolution: {integrity: sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==}
291 | engines: {node: '>=18'}
292 | cpu: [arm64]
293 | os: [darwin]
294 |
295 | '@esbuild/darwin-arm64@0.25.5':
296 | resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==}
297 | engines: {node: '>=18'}
298 | cpu: [arm64]
299 | os: [darwin]
300 |
301 | '@esbuild/darwin-x64@0.25.4':
302 | resolution: {integrity: sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==}
303 | engines: {node: '>=18'}
304 | cpu: [x64]
305 | os: [darwin]
306 |
307 | '@esbuild/darwin-x64@0.25.5':
308 | resolution: {integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==}
309 | engines: {node: '>=18'}
310 | cpu: [x64]
311 | os: [darwin]
312 |
313 | '@esbuild/freebsd-arm64@0.25.4':
314 | resolution: {integrity: sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==}
315 | engines: {node: '>=18'}
316 | cpu: [arm64]
317 | os: [freebsd]
318 |
319 | '@esbuild/freebsd-arm64@0.25.5':
320 | resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==}
321 | engines: {node: '>=18'}
322 | cpu: [arm64]
323 | os: [freebsd]
324 |
325 | '@esbuild/freebsd-x64@0.25.4':
326 | resolution: {integrity: sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==}
327 | engines: {node: '>=18'}
328 | cpu: [x64]
329 | os: [freebsd]
330 |
331 | '@esbuild/freebsd-x64@0.25.5':
332 | resolution: {integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==}
333 | engines: {node: '>=18'}
334 | cpu: [x64]
335 | os: [freebsd]
336 |
337 | '@esbuild/linux-arm64@0.25.4':
338 | resolution: {integrity: sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==}
339 | engines: {node: '>=18'}
340 | cpu: [arm64]
341 | os: [linux]
342 |
343 | '@esbuild/linux-arm64@0.25.5':
344 | resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==}
345 | engines: {node: '>=18'}
346 | cpu: [arm64]
347 | os: [linux]
348 |
349 | '@esbuild/linux-arm@0.25.4':
350 | resolution: {integrity: sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==}
351 | engines: {node: '>=18'}
352 | cpu: [arm]
353 | os: [linux]
354 |
355 | '@esbuild/linux-arm@0.25.5':
356 | resolution: {integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==}
357 | engines: {node: '>=18'}
358 | cpu: [arm]
359 | os: [linux]
360 |
361 | '@esbuild/linux-ia32@0.25.4':
362 | resolution: {integrity: sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==}
363 | engines: {node: '>=18'}
364 | cpu: [ia32]
365 | os: [linux]
366 |
367 | '@esbuild/linux-ia32@0.25.5':
368 | resolution: {integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==}
369 | engines: {node: '>=18'}
370 | cpu: [ia32]
371 | os: [linux]
372 |
373 | '@esbuild/linux-loong64@0.25.4':
374 | resolution: {integrity: sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==}
375 | engines: {node: '>=18'}
376 | cpu: [loong64]
377 | os: [linux]
378 |
379 | '@esbuild/linux-loong64@0.25.5':
380 | resolution: {integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==}
381 | engines: {node: '>=18'}
382 | cpu: [loong64]
383 | os: [linux]
384 |
385 | '@esbuild/linux-mips64el@0.25.4':
386 | resolution: {integrity: sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==}
387 | engines: {node: '>=18'}
388 | cpu: [mips64el]
389 | os: [linux]
390 |
391 | '@esbuild/linux-mips64el@0.25.5':
392 | resolution: {integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==}
393 | engines: {node: '>=18'}
394 | cpu: [mips64el]
395 | os: [linux]
396 |
397 | '@esbuild/linux-ppc64@0.25.4':
398 | resolution: {integrity: sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==}
399 | engines: {node: '>=18'}
400 | cpu: [ppc64]
401 | os: [linux]
402 |
403 | '@esbuild/linux-ppc64@0.25.5':
404 | resolution: {integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==}
405 | engines: {node: '>=18'}
406 | cpu: [ppc64]
407 | os: [linux]
408 |
409 | '@esbuild/linux-riscv64@0.25.4':
410 | resolution: {integrity: sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==}
411 | engines: {node: '>=18'}
412 | cpu: [riscv64]
413 | os: [linux]
414 |
415 | '@esbuild/linux-riscv64@0.25.5':
416 | resolution: {integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==}
417 | engines: {node: '>=18'}
418 | cpu: [riscv64]
419 | os: [linux]
420 |
421 | '@esbuild/linux-s390x@0.25.4':
422 | resolution: {integrity: sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==}
423 | engines: {node: '>=18'}
424 | cpu: [s390x]
425 | os: [linux]
426 |
427 | '@esbuild/linux-s390x@0.25.5':
428 | resolution: {integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==}
429 | engines: {node: '>=18'}
430 | cpu: [s390x]
431 | os: [linux]
432 |
433 | '@esbuild/linux-x64@0.25.4':
434 | resolution: {integrity: sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==}
435 | engines: {node: '>=18'}
436 | cpu: [x64]
437 | os: [linux]
438 |
439 | '@esbuild/linux-x64@0.25.5':
440 | resolution: {integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==}
441 | engines: {node: '>=18'}
442 | cpu: [x64]
443 | os: [linux]
444 |
445 | '@esbuild/netbsd-arm64@0.25.4':
446 | resolution: {integrity: sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==}
447 | engines: {node: '>=18'}
448 | cpu: [arm64]
449 | os: [netbsd]
450 |
451 | '@esbuild/netbsd-arm64@0.25.5':
452 | resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==}
453 | engines: {node: '>=18'}
454 | cpu: [arm64]
455 | os: [netbsd]
456 |
457 | '@esbuild/netbsd-x64@0.25.4':
458 | resolution: {integrity: sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==}
459 | engines: {node: '>=18'}
460 | cpu: [x64]
461 | os: [netbsd]
462 |
463 | '@esbuild/netbsd-x64@0.25.5':
464 | resolution: {integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==}
465 | engines: {node: '>=18'}
466 | cpu: [x64]
467 | os: [netbsd]
468 |
469 | '@esbuild/openbsd-arm64@0.25.4':
470 | resolution: {integrity: sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==}
471 | engines: {node: '>=18'}
472 | cpu: [arm64]
473 | os: [openbsd]
474 |
475 | '@esbuild/openbsd-arm64@0.25.5':
476 | resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==}
477 | engines: {node: '>=18'}
478 | cpu: [arm64]
479 | os: [openbsd]
480 |
481 | '@esbuild/openbsd-x64@0.25.4':
482 | resolution: {integrity: sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==}
483 | engines: {node: '>=18'}
484 | cpu: [x64]
485 | os: [openbsd]
486 |
487 | '@esbuild/openbsd-x64@0.25.5':
488 | resolution: {integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==}
489 | engines: {node: '>=18'}
490 | cpu: [x64]
491 | os: [openbsd]
492 |
493 | '@esbuild/sunos-x64@0.25.4':
494 | resolution: {integrity: sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==}
495 | engines: {node: '>=18'}
496 | cpu: [x64]
497 | os: [sunos]
498 |
499 | '@esbuild/sunos-x64@0.25.5':
500 | resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==}
501 | engines: {node: '>=18'}
502 | cpu: [x64]
503 | os: [sunos]
504 |
505 | '@esbuild/win32-arm64@0.25.4':
506 | resolution: {integrity: sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==}
507 | engines: {node: '>=18'}
508 | cpu: [arm64]
509 | os: [win32]
510 |
511 | '@esbuild/win32-arm64@0.25.5':
512 | resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==}
513 | engines: {node: '>=18'}
514 | cpu: [arm64]
515 | os: [win32]
516 |
517 | '@esbuild/win32-ia32@0.25.4':
518 | resolution: {integrity: sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==}
519 | engines: {node: '>=18'}
520 | cpu: [ia32]
521 | os: [win32]
522 |
523 | '@esbuild/win32-ia32@0.25.5':
524 | resolution: {integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==}
525 | engines: {node: '>=18'}
526 | cpu: [ia32]
527 | os: [win32]
528 |
529 | '@esbuild/win32-x64@0.25.4':
530 | resolution: {integrity: sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==}
531 | engines: {node: '>=18'}
532 | cpu: [x64]
533 | os: [win32]
534 |
535 | '@esbuild/win32-x64@0.25.5':
536 | resolution: {integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==}
537 | engines: {node: '>=18'}
538 | cpu: [x64]
539 | os: [win32]
540 |
541 | '@eslint-community/eslint-utils@4.7.0':
542 | resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==}
543 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
544 | peerDependencies:
545 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
546 |
547 | '@eslint-community/regexpp@4.12.1':
548 | resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
549 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
550 |
551 | '@eslint/config-array@0.20.0':
552 | resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==}
553 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
554 |
555 | '@eslint/config-helpers@0.2.2':
556 | resolution: {integrity: sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==}
557 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
558 |
559 | '@eslint/core@0.14.0':
560 | resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==}
561 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
562 |
563 | '@eslint/eslintrc@3.3.1':
564 | resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
565 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
566 |
567 | '@eslint/js@9.25.1':
568 | resolution: {integrity: sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg==}
569 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
570 |
571 | '@eslint/js@9.27.0':
572 | resolution: {integrity: sha512-G5JD9Tu5HJEu4z2Uo4aHY2sLV64B7CDMXxFzqzjl3NKd6RVzSXNoE80jk7Y0lJkTTkjiIhBAqmlYwjuBY3tvpA==}
573 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
574 |
575 | '@eslint/object-schema@2.1.6':
576 | resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
577 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
578 |
579 | '@eslint/plugin-kit@0.3.1':
580 | resolution: {integrity: sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==}
581 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
582 |
583 | '@fastify/busboy@2.1.1':
584 | resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==}
585 | engines: {node: '>=14'}
586 |
587 | '@humanfs/core@0.19.1':
588 | resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
589 | engines: {node: '>=18.18.0'}
590 |
591 | '@humanfs/node@0.16.6':
592 | resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
593 | engines: {node: '>=18.18.0'}
594 |
595 | '@humanwhocodes/module-importer@1.0.1':
596 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
597 | engines: {node: '>=12.22'}
598 |
599 | '@humanwhocodes/retry@0.3.1':
600 | resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
601 | engines: {node: '>=18.18'}
602 |
603 | '@humanwhocodes/retry@0.4.3':
604 | resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
605 | engines: {node: '>=18.18'}
606 |
607 | '@img/sharp-darwin-arm64@0.33.5':
608 | resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
609 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
610 | cpu: [arm64]
611 | os: [darwin]
612 |
613 | '@img/sharp-darwin-x64@0.33.5':
614 | resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==}
615 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
616 | cpu: [x64]
617 | os: [darwin]
618 |
619 | '@img/sharp-libvips-darwin-arm64@1.0.4':
620 | resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==}
621 | cpu: [arm64]
622 | os: [darwin]
623 |
624 | '@img/sharp-libvips-darwin-x64@1.0.4':
625 | resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==}
626 | cpu: [x64]
627 | os: [darwin]
628 |
629 | '@img/sharp-libvips-linux-arm64@1.0.4':
630 | resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==}
631 | cpu: [arm64]
632 | os: [linux]
633 |
634 | '@img/sharp-libvips-linux-arm@1.0.5':
635 | resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==}
636 | cpu: [arm]
637 | os: [linux]
638 |
639 | '@img/sharp-libvips-linux-s390x@1.0.4':
640 | resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==}
641 | cpu: [s390x]
642 | os: [linux]
643 |
644 | '@img/sharp-libvips-linux-x64@1.0.4':
645 | resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==}
646 | cpu: [x64]
647 | os: [linux]
648 |
649 | '@img/sharp-libvips-linuxmusl-arm64@1.0.4':
650 | resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==}
651 | cpu: [arm64]
652 | os: [linux]
653 |
654 | '@img/sharp-libvips-linuxmusl-x64@1.0.4':
655 | resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==}
656 | cpu: [x64]
657 | os: [linux]
658 |
659 | '@img/sharp-linux-arm64@0.33.5':
660 | resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==}
661 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
662 | cpu: [arm64]
663 | os: [linux]
664 |
665 | '@img/sharp-linux-arm@0.33.5':
666 | resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==}
667 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
668 | cpu: [arm]
669 | os: [linux]
670 |
671 | '@img/sharp-linux-s390x@0.33.5':
672 | resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==}
673 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
674 | cpu: [s390x]
675 | os: [linux]
676 |
677 | '@img/sharp-linux-x64@0.33.5':
678 | resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==}
679 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
680 | cpu: [x64]
681 | os: [linux]
682 |
683 | '@img/sharp-linuxmusl-arm64@0.33.5':
684 | resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==}
685 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
686 | cpu: [arm64]
687 | os: [linux]
688 |
689 | '@img/sharp-linuxmusl-x64@0.33.5':
690 | resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==}
691 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
692 | cpu: [x64]
693 | os: [linux]
694 |
695 | '@img/sharp-wasm32@0.33.5':
696 | resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==}
697 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
698 | cpu: [wasm32]
699 |
700 | '@img/sharp-win32-ia32@0.33.5':
701 | resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==}
702 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
703 | cpu: [ia32]
704 | os: [win32]
705 |
706 | '@img/sharp-win32-x64@0.33.5':
707 | resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==}
708 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
709 | cpu: [x64]
710 | os: [win32]
711 |
712 | '@isaacs/fs-minipass@4.0.1':
713 | resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
714 | engines: {node: '>=18.0.0'}
715 |
716 | '@jridgewell/gen-mapping@0.3.8':
717 | resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
718 | engines: {node: '>=6.0.0'}
719 |
720 | '@jridgewell/resolve-uri@3.1.2':
721 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
722 | engines: {node: '>=6.0.0'}
723 |
724 | '@jridgewell/set-array@1.2.1':
725 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
726 | engines: {node: '>=6.0.0'}
727 |
728 | '@jridgewell/sourcemap-codec@1.5.0':
729 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
730 |
731 | '@jridgewell/trace-mapping@0.3.25':
732 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
733 |
734 | '@jridgewell/trace-mapping@0.3.9':
735 | resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
736 |
737 | '@mjackson/node-fetch-server@0.6.1':
738 | resolution: {integrity: sha512-9ZJnk/DJjt805uv5PPv11haJIW+HHf3YEEyVXv+8iLQxLD/iXA68FH220XoiTPBC4gCg5q+IMadDw8qPqlA5wg==}
739 |
740 | '@nodelib/fs.scandir@2.1.5':
741 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
742 | engines: {node: '>= 8'}
743 |
744 | '@nodelib/fs.stat@2.0.5':
745 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
746 | engines: {node: '>= 8'}
747 |
748 | '@nodelib/fs.walk@1.2.8':
749 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
750 | engines: {node: '>= 8'}
751 |
752 | '@rollup/plugin-replace@6.0.2':
753 | resolution: {integrity: sha512-7QaYCf8bqF04dOy7w/eHmJeNExxTYwvKAmlSAH/EaWWUzbT0h5sbF6bktFoX/0F/0qwng5/dWFMyf3gzaM8DsQ==}
754 | engines: {node: '>=14.0.0'}
755 | peerDependencies:
756 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
757 | peerDependenciesMeta:
758 | rollup:
759 | optional: true
760 |
761 | '@rollup/pluginutils@5.1.4':
762 | resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==}
763 | engines: {node: '>=14.0.0'}
764 | peerDependencies:
765 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
766 | peerDependenciesMeta:
767 | rollup:
768 | optional: true
769 |
770 | '@rollup/rollup-android-arm-eabi@4.41.1':
771 | resolution: {integrity: sha512-NELNvyEWZ6R9QMkiytB4/L4zSEaBC03KIXEghptLGLZWJ6VPrL63ooZQCOnlx36aQPGhzuOMwDerC1Eb2VmrLw==}
772 | cpu: [arm]
773 | os: [android]
774 |
775 | '@rollup/rollup-android-arm64@4.41.1':
776 | resolution: {integrity: sha512-DXdQe1BJ6TK47ukAoZLehRHhfKnKg9BjnQYUu9gzhI8Mwa1d2fzxA1aw2JixHVl403bwp1+/o/NhhHtxWJBgEA==}
777 | cpu: [arm64]
778 | os: [android]
779 |
780 | '@rollup/rollup-darwin-arm64@4.41.1':
781 | resolution: {integrity: sha512-5afxvwszzdulsU2w8JKWwY8/sJOLPzf0e1bFuvcW5h9zsEg+RQAojdW0ux2zyYAz7R8HvvzKCjLNJhVq965U7w==}
782 | cpu: [arm64]
783 | os: [darwin]
784 |
785 | '@rollup/rollup-darwin-x64@4.41.1':
786 | resolution: {integrity: sha512-egpJACny8QOdHNNMZKf8xY0Is6gIMz+tuqXlusxquWu3F833DcMwmGM7WlvCO9sB3OsPjdC4U0wHw5FabzCGZg==}
787 | cpu: [x64]
788 | os: [darwin]
789 |
790 | '@rollup/rollup-freebsd-arm64@4.41.1':
791 | resolution: {integrity: sha512-DBVMZH5vbjgRk3r0OzgjS38z+atlupJ7xfKIDJdZZL6sM6wjfDNo64aowcLPKIx7LMQi8vybB56uh1Ftck/Atg==}
792 | cpu: [arm64]
793 | os: [freebsd]
794 |
795 | '@rollup/rollup-freebsd-x64@4.41.1':
796 | resolution: {integrity: sha512-3FkydeohozEskBxNWEIbPfOE0aqQgB6ttTkJ159uWOFn42VLyfAiyD9UK5mhu+ItWzft60DycIN1Xdgiy8o/SA==}
797 | cpu: [x64]
798 | os: [freebsd]
799 |
800 | '@rollup/rollup-linux-arm-gnueabihf@4.41.1':
801 | resolution: {integrity: sha512-wC53ZNDgt0pqx5xCAgNunkTzFE8GTgdZ9EwYGVcg+jEjJdZGtq9xPjDnFgfFozQI/Xm1mh+D9YlYtl+ueswNEg==}
802 | cpu: [arm]
803 | os: [linux]
804 |
805 | '@rollup/rollup-linux-arm-musleabihf@4.41.1':
806 | resolution: {integrity: sha512-jwKCca1gbZkZLhLRtsrka5N8sFAaxrGz/7wRJ8Wwvq3jug7toO21vWlViihG85ei7uJTpzbXZRcORotE+xyrLA==}
807 | cpu: [arm]
808 | os: [linux]
809 |
810 | '@rollup/rollup-linux-arm64-gnu@4.41.1':
811 | resolution: {integrity: sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA==}
812 | cpu: [arm64]
813 | os: [linux]
814 |
815 | '@rollup/rollup-linux-arm64-musl@4.41.1':
816 | resolution: {integrity: sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg==}
817 | cpu: [arm64]
818 | os: [linux]
819 |
820 | '@rollup/rollup-linux-loongarch64-gnu@4.41.1':
821 | resolution: {integrity: sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==}
822 | cpu: [loong64]
823 | os: [linux]
824 |
825 | '@rollup/rollup-linux-powerpc64le-gnu@4.41.1':
826 | resolution: {integrity: sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==}
827 | cpu: [ppc64]
828 | os: [linux]
829 |
830 | '@rollup/rollup-linux-riscv64-gnu@4.41.1':
831 | resolution: {integrity: sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==}
832 | cpu: [riscv64]
833 | os: [linux]
834 |
835 | '@rollup/rollup-linux-riscv64-musl@4.41.1':
836 | resolution: {integrity: sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==}
837 | cpu: [riscv64]
838 | os: [linux]
839 |
840 | '@rollup/rollup-linux-s390x-gnu@4.41.1':
841 | resolution: {integrity: sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==}
842 | cpu: [s390x]
843 | os: [linux]
844 |
845 | '@rollup/rollup-linux-x64-gnu@4.41.1':
846 | resolution: {integrity: sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==}
847 | cpu: [x64]
848 | os: [linux]
849 |
850 | '@rollup/rollup-linux-x64-musl@4.41.1':
851 | resolution: {integrity: sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==}
852 | cpu: [x64]
853 | os: [linux]
854 |
855 | '@rollup/rollup-win32-arm64-msvc@4.41.1':
856 | resolution: {integrity: sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==}
857 | cpu: [arm64]
858 | os: [win32]
859 |
860 | '@rollup/rollup-win32-ia32-msvc@4.41.1':
861 | resolution: {integrity: sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==}
862 | cpu: [ia32]
863 | os: [win32]
864 |
865 | '@rollup/rollup-win32-x64-msvc@4.41.1':
866 | resolution: {integrity: sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==}
867 | cpu: [x64]
868 | os: [win32]
869 |
870 | '@tailwindcss/node@4.1.8':
871 | resolution: {integrity: sha512-OWwBsbC9BFAJelmnNcrKuf+bka2ZxCE2A4Ft53Tkg4uoiE67r/PMEYwCsourC26E+kmxfwE0hVzMdxqeW+xu7Q==}
872 |
873 | '@tailwindcss/oxide-android-arm64@4.1.8':
874 | resolution: {integrity: sha512-Fbz7qni62uKYceWYvUjRqhGfZKwhZDQhlrJKGtnZfuNtHFqa8wmr+Wn74CTWERiW2hn3mN5gTpOoxWKk0jRxjg==}
875 | engines: {node: '>= 10'}
876 | cpu: [arm64]
877 | os: [android]
878 |
879 | '@tailwindcss/oxide-darwin-arm64@4.1.8':
880 | resolution: {integrity: sha512-RdRvedGsT0vwVVDztvyXhKpsU2ark/BjgG0huo4+2BluxdXo8NDgzl77qh0T1nUxmM11eXwR8jA39ibvSTbi7A==}
881 | engines: {node: '>= 10'}
882 | cpu: [arm64]
883 | os: [darwin]
884 |
885 | '@tailwindcss/oxide-darwin-x64@4.1.8':
886 | resolution: {integrity: sha512-t6PgxjEMLp5Ovf7uMb2OFmb3kqzVTPPakWpBIFzppk4JE4ix0yEtbtSjPbU8+PZETpaYMtXvss2Sdkx8Vs4XRw==}
887 | engines: {node: '>= 10'}
888 | cpu: [x64]
889 | os: [darwin]
890 |
891 | '@tailwindcss/oxide-freebsd-x64@4.1.8':
892 | resolution: {integrity: sha512-g8C8eGEyhHTqwPStSwZNSrOlyx0bhK/V/+zX0Y+n7DoRUzyS8eMbVshVOLJTDDC+Qn9IJnilYbIKzpB9n4aBsg==}
893 | engines: {node: '>= 10'}
894 | cpu: [x64]
895 | os: [freebsd]
896 |
897 | '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.8':
898 | resolution: {integrity: sha512-Jmzr3FA4S2tHhaC6yCjac3rGf7hG9R6Gf2z9i9JFcuyy0u79HfQsh/thifbYTF2ic82KJovKKkIB6Z9TdNhCXQ==}
899 | engines: {node: '>= 10'}
900 | cpu: [arm]
901 | os: [linux]
902 |
903 | '@tailwindcss/oxide-linux-arm64-gnu@4.1.8':
904 | resolution: {integrity: sha512-qq7jXtO1+UEtCmCeBBIRDrPFIVI4ilEQ97qgBGdwXAARrUqSn/L9fUrkb1XP/mvVtoVeR2bt/0L77xx53bPZ/Q==}
905 | engines: {node: '>= 10'}
906 | cpu: [arm64]
907 | os: [linux]
908 |
909 | '@tailwindcss/oxide-linux-arm64-musl@4.1.8':
910 | resolution: {integrity: sha512-O6b8QesPbJCRshsNApsOIpzKt3ztG35gfX9tEf4arD7mwNinsoCKxkj8TgEE0YRjmjtO3r9FlJnT/ENd9EVefQ==}
911 | engines: {node: '>= 10'}
912 | cpu: [arm64]
913 | os: [linux]
914 |
915 | '@tailwindcss/oxide-linux-x64-gnu@4.1.8':
916 | resolution: {integrity: sha512-32iEXX/pXwikshNOGnERAFwFSfiltmijMIAbUhnNyjFr3tmWmMJWQKU2vNcFX0DACSXJ3ZWcSkzNbaKTdngH6g==}
917 | engines: {node: '>= 10'}
918 | cpu: [x64]
919 | os: [linux]
920 |
921 | '@tailwindcss/oxide-linux-x64-musl@4.1.8':
922 | resolution: {integrity: sha512-s+VSSD+TfZeMEsCaFaHTaY5YNj3Dri8rST09gMvYQKwPphacRG7wbuQ5ZJMIJXN/puxPcg/nU+ucvWguPpvBDg==}
923 | engines: {node: '>= 10'}
924 | cpu: [x64]
925 | os: [linux]
926 |
927 | '@tailwindcss/oxide-wasm32-wasi@4.1.8':
928 | resolution: {integrity: sha512-CXBPVFkpDjM67sS1psWohZ6g/2/cd+cq56vPxK4JeawelxwK4YECgl9Y9TjkE2qfF+9/s1tHHJqrC4SS6cVvSg==}
929 | engines: {node: '>=14.0.0'}
930 | cpu: [wasm32]
931 | bundledDependencies:
932 | - '@napi-rs/wasm-runtime'
933 | - '@emnapi/core'
934 | - '@emnapi/runtime'
935 | - '@tybys/wasm-util'
936 | - '@emnapi/wasi-threads'
937 | - tslib
938 |
939 | '@tailwindcss/oxide-win32-arm64-msvc@4.1.8':
940 | resolution: {integrity: sha512-7GmYk1n28teDHUjPlIx4Z6Z4hHEgvP5ZW2QS9ygnDAdI/myh3HTHjDqtSqgu1BpRoI4OiLx+fThAyA1JePoENA==}
941 | engines: {node: '>= 10'}
942 | cpu: [arm64]
943 | os: [win32]
944 |
945 | '@tailwindcss/oxide-win32-x64-msvc@4.1.8':
946 | resolution: {integrity: sha512-fou+U20j+Jl0EHwK92spoWISON2OBnCazIc038Xj2TdweYV33ZRkS9nwqiUi2d/Wba5xg5UoHfvynnb/UB49cQ==}
947 | engines: {node: '>= 10'}
948 | cpu: [x64]
949 | os: [win32]
950 |
951 | '@tailwindcss/oxide@4.1.8':
952 | resolution: {integrity: sha512-d7qvv9PsM5N3VNKhwVUhpK6r4h9wtLkJ6lz9ZY9aeZgrUWk1Z8VPyqyDT9MZlem7GTGseRQHkeB1j3tC7W1P+A==}
953 | engines: {node: '>= 10'}
954 |
955 | '@tailwindcss/vite@4.1.8':
956 | resolution: {integrity: sha512-CQ+I8yxNV5/6uGaJjiuymgw0kEQiNKRinYbZXPdx1fk5WgiyReG0VaUx/Xq6aVNSUNJFzxm6o8FNKS5aMaim5A==}
957 | peerDependencies:
958 | vite: ^5.2.0 || ^6
959 |
960 | '@types/babel__core@7.20.5':
961 | resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
962 |
963 | '@types/babel__generator@7.27.0':
964 | resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==}
965 |
966 | '@types/babel__template@7.4.4':
967 | resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
968 |
969 | '@types/babel__traverse@7.20.7':
970 | resolution: {integrity: sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==}
971 |
972 | '@types/estree@1.0.7':
973 | resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==}
974 |
975 | '@types/json-schema@7.0.15':
976 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
977 |
978 | '@types/node@22.15.19':
979 | resolution: {integrity: sha512-3vMNr4TzNQyjHcRZadojpRaD9Ofr6LsonZAoQ+HMUa/9ORTPoxVIw0e0mpqWpdjj8xybyCM+oKOUH2vwFu/oEw==}
980 |
981 | '@types/react-dom@19.0.4':
982 | resolution: {integrity: sha512-4fSQ8vWFkg+TGhePfUzVmat3eC14TXYSsiiDSLI0dVLsrm9gZFABjPy/Qu6TKgl1tq1Bu1yDsuQgY3A3DOjCcg==}
983 | peerDependencies:
984 | '@types/react': ^19.0.0
985 |
986 | '@types/react@19.0.10':
987 | resolution: {integrity: sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==}
988 |
989 | '@typescript-eslint/eslint-plugin@8.31.0':
990 | resolution: {integrity: sha512-evaQJZ/J/S4wisevDvC1KFZkPzRetH8kYZbkgcTRyql3mcKsf+ZFDV1BVWUGTCAW5pQHoqn5gK5b8kn7ou9aFQ==}
991 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
992 | peerDependencies:
993 | '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
994 | eslint: ^8.57.0 || ^9.0.0
995 | typescript: '>=4.8.4 <5.9.0'
996 |
997 | '@typescript-eslint/parser@8.31.0':
998 | resolution: {integrity: sha512-67kYYShjBR0jNI5vsf/c3WG4u+zDnCTHTPqVMQguffaWWFs7artgwKmfwdifl+r6XyM5LYLas/dInj2T0SgJyw==}
999 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1000 | peerDependencies:
1001 | eslint: ^8.57.0 || ^9.0.0
1002 | typescript: '>=4.8.4 <5.9.0'
1003 |
1004 | '@typescript-eslint/scope-manager@8.31.0':
1005 | resolution: {integrity: sha512-knO8UyF78Nt8O/B64i7TlGXod69ko7z6vJD9uhSlm0qkAbGeRUSudcm0+K/4CrRjrpiHfBCjMWlc08Vav1xwcw==}
1006 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1007 |
1008 | '@typescript-eslint/type-utils@8.31.0':
1009 | resolution: {integrity: sha512-DJ1N1GdjI7IS7uRlzJuEDCgDQix3ZVYVtgeWEyhyn4iaoitpMBX6Ndd488mXSx0xah/cONAkEaYyylDyAeHMHg==}
1010 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1011 | peerDependencies:
1012 | eslint: ^8.57.0 || ^9.0.0
1013 | typescript: '>=4.8.4 <5.9.0'
1014 |
1015 | '@typescript-eslint/types@8.31.0':
1016 | resolution: {integrity: sha512-Ch8oSjVyYyJxPQk8pMiP2FFGYatqXQfQIaMp+TpuuLlDachRWpUAeEu1u9B/v/8LToehUIWyiKcA/w5hUFRKuQ==}
1017 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1018 |
1019 | '@typescript-eslint/typescript-estree@8.31.0':
1020 | resolution: {integrity: sha512-xLmgn4Yl46xi6aDSZ9KkyfhhtnYI15/CvHbpOy/eR5NWhK/BK8wc709KKwhAR0m4ZKRP7h07bm4BWUYOCuRpQQ==}
1021 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1022 | peerDependencies:
1023 | typescript: '>=4.8.4 <5.9.0'
1024 |
1025 | '@typescript-eslint/utils@8.31.0':
1026 | resolution: {integrity: sha512-qi6uPLt9cjTFxAb1zGNgTob4x9ur7xC6mHQJ8GwEzGMGE9tYniublmJaowOJ9V2jUzxrltTPfdG2nKlWsq0+Ww==}
1027 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1028 | peerDependencies:
1029 | eslint: ^8.57.0 || ^9.0.0
1030 | typescript: '>=4.8.4 <5.9.0'
1031 |
1032 | '@typescript-eslint/visitor-keys@8.31.0':
1033 | resolution: {integrity: sha512-QcGHmlRHWOl93o64ZUMNewCdwKGU6WItOU52H0djgNmn1EOrhVudrDzXz4OycCRSCPwFCDrE2iIt5vmuUdHxuQ==}
1034 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1035 |
1036 | '@vitejs/plugin-react@4.4.1':
1037 | resolution: {integrity: sha512-IpEm5ZmeXAP/osiBXVVP5KjFMzbWOonMs0NaQQl+xYnUAcq4oHUBsF2+p4MgKWG4YMmFYJU8A6sxRPuowllm6w==}
1038 | engines: {node: ^14.18.0 || >=16.0.0}
1039 | peerDependencies:
1040 | vite: ^4.2.0 || ^5.0.0 || ^6.0.0
1041 |
1042 | acorn-jsx@5.3.2:
1043 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
1044 | peerDependencies:
1045 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
1046 |
1047 | acorn-walk@8.3.2:
1048 | resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==}
1049 | engines: {node: '>=0.4.0'}
1050 |
1051 | acorn@8.14.0:
1052 | resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
1053 | engines: {node: '>=0.4.0'}
1054 | hasBin: true
1055 |
1056 | acorn@8.14.1:
1057 | resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==}
1058 | engines: {node: '>=0.4.0'}
1059 | hasBin: true
1060 |
1061 | ajv@6.12.6:
1062 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
1063 |
1064 | ansi-styles@4.3.0:
1065 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
1066 | engines: {node: '>=8'}
1067 |
1068 | argparse@2.0.1:
1069 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
1070 |
1071 | as-table@1.0.55:
1072 | resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==}
1073 |
1074 | balanced-match@1.0.2:
1075 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
1076 |
1077 | blake3-wasm@2.1.5:
1078 | resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==}
1079 |
1080 | brace-expansion@1.1.11:
1081 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
1082 |
1083 | brace-expansion@2.0.1:
1084 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
1085 |
1086 | braces@3.0.3:
1087 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
1088 | engines: {node: '>=8'}
1089 |
1090 | browserslist@4.25.0:
1091 | resolution: {integrity: sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==}
1092 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
1093 | hasBin: true
1094 |
1095 | callsites@3.1.0:
1096 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
1097 | engines: {node: '>=6'}
1098 |
1099 | caniuse-lite@1.0.30001720:
1100 | resolution: {integrity: sha512-Ec/2yV2nNPwb4DnTANEV99ZWwm3ZWfdlfkQbWSDDt+PsXEVYwlhPH8tdMaPunYTKKmz7AnHi2oNEi1GcmKCD8g==}
1101 |
1102 | chalk@4.1.2:
1103 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
1104 | engines: {node: '>=10'}
1105 |
1106 | chownr@3.0.0:
1107 | resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
1108 | engines: {node: '>=18'}
1109 |
1110 | color-convert@2.0.1:
1111 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
1112 | engines: {node: '>=7.0.0'}
1113 |
1114 | color-name@1.1.4:
1115 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
1116 |
1117 | color-string@1.9.1:
1118 | resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
1119 |
1120 | color@4.2.3:
1121 | resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
1122 | engines: {node: '>=12.5.0'}
1123 |
1124 | concat-map@0.0.1:
1125 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
1126 |
1127 | convert-source-map@2.0.0:
1128 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
1129 |
1130 | cookie@0.7.2:
1131 | resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==}
1132 | engines: {node: '>= 0.6'}
1133 |
1134 | cross-spawn@7.0.6:
1135 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
1136 | engines: {node: '>= 8'}
1137 |
1138 | csstype@3.1.3:
1139 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
1140 |
1141 | data-uri-to-buffer@2.0.2:
1142 | resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==}
1143 |
1144 | debug@4.4.1:
1145 | resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==}
1146 | engines: {node: '>=6.0'}
1147 | peerDependencies:
1148 | supports-color: '*'
1149 | peerDependenciesMeta:
1150 | supports-color:
1151 | optional: true
1152 |
1153 | deep-is@0.1.4:
1154 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
1155 |
1156 | defu@6.1.4:
1157 | resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
1158 |
1159 | detect-libc@2.0.4:
1160 | resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==}
1161 | engines: {node: '>=8'}
1162 |
1163 | electron-to-chromium@1.5.161:
1164 | resolution: {integrity: sha512-hwtetwfKNZo/UlwHIVBlKZVdy7o8bIZxxKs0Mv/ROPiQQQmDgdm5a+KvKtBsxM8ZjFzTaCeLoodZ8jiBE3o9rA==}
1165 |
1166 | enhanced-resolve@5.18.1:
1167 | resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==}
1168 | engines: {node: '>=10.13.0'}
1169 |
1170 | esbuild@0.25.4:
1171 | resolution: {integrity: sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==}
1172 | engines: {node: '>=18'}
1173 | hasBin: true
1174 |
1175 | esbuild@0.25.5:
1176 | resolution: {integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==}
1177 | engines: {node: '>=18'}
1178 | hasBin: true
1179 |
1180 | escalade@3.2.0:
1181 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
1182 | engines: {node: '>=6'}
1183 |
1184 | escape-string-regexp@4.0.0:
1185 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
1186 | engines: {node: '>=10'}
1187 |
1188 | eslint-plugin-react-hooks@5.2.0:
1189 | resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==}
1190 | engines: {node: '>=10'}
1191 | peerDependencies:
1192 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
1193 |
1194 | eslint-plugin-react-refresh@0.4.20:
1195 | resolution: {integrity: sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==}
1196 | peerDependencies:
1197 | eslint: '>=8.40'
1198 |
1199 | eslint-scope@8.3.0:
1200 | resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==}
1201 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1202 |
1203 | eslint-visitor-keys@3.4.3:
1204 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
1205 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1206 |
1207 | eslint-visitor-keys@4.2.0:
1208 | resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
1209 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1210 |
1211 | eslint@9.27.0:
1212 | resolution: {integrity: sha512-ixRawFQuMB9DZ7fjU3iGGganFDp3+45bPOdaRurcFHSXO1e/sYwUX/FtQZpLZJR6SjMoJH8hR2pPEAfDyCoU2Q==}
1213 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1214 | hasBin: true
1215 | peerDependencies:
1216 | jiti: '*'
1217 | peerDependenciesMeta:
1218 | jiti:
1219 | optional: true
1220 |
1221 | espree@10.3.0:
1222 | resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
1223 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1224 |
1225 | esquery@1.6.0:
1226 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
1227 | engines: {node: '>=0.10'}
1228 |
1229 | esrecurse@4.3.0:
1230 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
1231 | engines: {node: '>=4.0'}
1232 |
1233 | estraverse@5.3.0:
1234 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
1235 | engines: {node: '>=4.0'}
1236 |
1237 | estree-walker@2.0.2:
1238 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
1239 |
1240 | esutils@2.0.3:
1241 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1242 | engines: {node: '>=0.10.0'}
1243 |
1244 | exit-hook@2.2.1:
1245 | resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==}
1246 | engines: {node: '>=6'}
1247 |
1248 | exsolve@1.0.5:
1249 | resolution: {integrity: sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==}
1250 |
1251 | fast-deep-equal@3.1.3:
1252 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1253 |
1254 | fast-glob@3.3.3:
1255 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
1256 | engines: {node: '>=8.6.0'}
1257 |
1258 | fast-json-stable-stringify@2.1.0:
1259 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1260 |
1261 | fast-levenshtein@2.0.6:
1262 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
1263 |
1264 | fastq@1.19.1:
1265 | resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
1266 |
1267 | fdir@6.4.5:
1268 | resolution: {integrity: sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==}
1269 | peerDependencies:
1270 | picomatch: ^3 || ^4
1271 | peerDependenciesMeta:
1272 | picomatch:
1273 | optional: true
1274 |
1275 | file-entry-cache@8.0.0:
1276 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
1277 | engines: {node: '>=16.0.0'}
1278 |
1279 | fill-range@7.1.1:
1280 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
1281 | engines: {node: '>=8'}
1282 |
1283 | find-up@5.0.0:
1284 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1285 | engines: {node: '>=10'}
1286 |
1287 | flat-cache@4.0.1:
1288 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
1289 | engines: {node: '>=16'}
1290 |
1291 | flatted@3.3.3:
1292 | resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
1293 |
1294 | fsevents@2.3.3:
1295 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
1296 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1297 | os: [darwin]
1298 |
1299 | gensync@1.0.0-beta.2:
1300 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
1301 | engines: {node: '>=6.9.0'}
1302 |
1303 | get-port@7.1.0:
1304 | resolution: {integrity: sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==}
1305 | engines: {node: '>=16'}
1306 |
1307 | get-source@2.0.12:
1308 | resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==}
1309 |
1310 | glob-parent@5.1.2:
1311 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1312 | engines: {node: '>= 6'}
1313 |
1314 | glob-parent@6.0.2:
1315 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1316 | engines: {node: '>=10.13.0'}
1317 |
1318 | glob-to-regexp@0.4.1:
1319 | resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
1320 |
1321 | globals@11.12.0:
1322 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
1323 | engines: {node: '>=4'}
1324 |
1325 | globals@14.0.0:
1326 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
1327 | engines: {node: '>=18'}
1328 |
1329 | globals@15.15.0:
1330 | resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==}
1331 | engines: {node: '>=18'}
1332 |
1333 | graceful-fs@4.2.11:
1334 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
1335 |
1336 | graphemer@1.4.0:
1337 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
1338 |
1339 | has-flag@4.0.0:
1340 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1341 | engines: {node: '>=8'}
1342 |
1343 | hono@4.7.7:
1344 | resolution: {integrity: sha512-2PCpQRbN87Crty8/L/7akZN3UyZIAopSoRxCwRbJgUuV1+MHNFHzYFxZTg4v/03cXUm+jce/qa2VSBZpKBm3Qw==}
1345 | engines: {node: '>=16.9.0'}
1346 |
1347 | ignore@5.3.2:
1348 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
1349 | engines: {node: '>= 4'}
1350 |
1351 | import-fresh@3.3.1:
1352 | resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
1353 | engines: {node: '>=6'}
1354 |
1355 | imurmurhash@0.1.4:
1356 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
1357 | engines: {node: '>=0.8.19'}
1358 |
1359 | is-arrayish@0.3.2:
1360 | resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
1361 |
1362 | is-extglob@2.1.1:
1363 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1364 | engines: {node: '>=0.10.0'}
1365 |
1366 | is-glob@4.0.3:
1367 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1368 | engines: {node: '>=0.10.0'}
1369 |
1370 | is-number@7.0.0:
1371 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1372 | engines: {node: '>=0.12.0'}
1373 |
1374 | isexe@2.0.0:
1375 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1376 |
1377 | jiti@2.4.2:
1378 | resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==}
1379 | hasBin: true
1380 |
1381 | js-tokens@4.0.0:
1382 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1383 |
1384 | js-yaml@4.1.0:
1385 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1386 | hasBin: true
1387 |
1388 | jsesc@3.1.0:
1389 | resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
1390 | engines: {node: '>=6'}
1391 | hasBin: true
1392 |
1393 | json-buffer@3.0.1:
1394 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
1395 |
1396 | json-schema-traverse@0.4.1:
1397 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1398 |
1399 | json-stable-stringify-without-jsonify@1.0.1:
1400 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
1401 |
1402 | json5@2.2.3:
1403 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
1404 | engines: {node: '>=6'}
1405 | hasBin: true
1406 |
1407 | keyv@4.5.4:
1408 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
1409 |
1410 | levn@0.4.1:
1411 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1412 | engines: {node: '>= 0.8.0'}
1413 |
1414 | lightningcss-darwin-arm64@1.30.1:
1415 | resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==}
1416 | engines: {node: '>= 12.0.0'}
1417 | cpu: [arm64]
1418 | os: [darwin]
1419 |
1420 | lightningcss-darwin-x64@1.30.1:
1421 | resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==}
1422 | engines: {node: '>= 12.0.0'}
1423 | cpu: [x64]
1424 | os: [darwin]
1425 |
1426 | lightningcss-freebsd-x64@1.30.1:
1427 | resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==}
1428 | engines: {node: '>= 12.0.0'}
1429 | cpu: [x64]
1430 | os: [freebsd]
1431 |
1432 | lightningcss-linux-arm-gnueabihf@1.30.1:
1433 | resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==}
1434 | engines: {node: '>= 12.0.0'}
1435 | cpu: [arm]
1436 | os: [linux]
1437 |
1438 | lightningcss-linux-arm64-gnu@1.30.1:
1439 | resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==}
1440 | engines: {node: '>= 12.0.0'}
1441 | cpu: [arm64]
1442 | os: [linux]
1443 |
1444 | lightningcss-linux-arm64-musl@1.30.1:
1445 | resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==}
1446 | engines: {node: '>= 12.0.0'}
1447 | cpu: [arm64]
1448 | os: [linux]
1449 |
1450 | lightningcss-linux-x64-gnu@1.30.1:
1451 | resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==}
1452 | engines: {node: '>= 12.0.0'}
1453 | cpu: [x64]
1454 | os: [linux]
1455 |
1456 | lightningcss-linux-x64-musl@1.30.1:
1457 | resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==}
1458 | engines: {node: '>= 12.0.0'}
1459 | cpu: [x64]
1460 | os: [linux]
1461 |
1462 | lightningcss-win32-arm64-msvc@1.30.1:
1463 | resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==}
1464 | engines: {node: '>= 12.0.0'}
1465 | cpu: [arm64]
1466 | os: [win32]
1467 |
1468 | lightningcss-win32-x64-msvc@1.30.1:
1469 | resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==}
1470 | engines: {node: '>= 12.0.0'}
1471 | cpu: [x64]
1472 | os: [win32]
1473 |
1474 | lightningcss@1.30.1:
1475 | resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==}
1476 | engines: {node: '>= 12.0.0'}
1477 |
1478 | locate-path@6.0.0:
1479 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1480 | engines: {node: '>=10'}
1481 |
1482 | lodash.merge@4.6.2:
1483 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1484 |
1485 | lru-cache@5.1.1:
1486 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
1487 |
1488 | magic-string@0.30.17:
1489 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
1490 |
1491 | merge2@1.4.1:
1492 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1493 | engines: {node: '>= 8'}
1494 |
1495 | micromatch@4.0.8:
1496 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
1497 | engines: {node: '>=8.6'}
1498 |
1499 | mime@3.0.0:
1500 | resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==}
1501 | engines: {node: '>=10.0.0'}
1502 | hasBin: true
1503 |
1504 | miniflare@4.20250508.3:
1505 | resolution: {integrity: sha512-43oTmZ0CCmUcieetI5YDDyX0IiwhOcVIWzdBBCqWXK3F1XgQwg4d3fTqRyJnCmHIoaYx9CE1kTEKZC1UahPQhA==}
1506 | engines: {node: '>=18.0.0'}
1507 | hasBin: true
1508 |
1509 | miniflare@4.20250525.0:
1510 | resolution: {integrity: sha512-F5XRDn9WqxUaHphUT8qwy5WXC/3UwbBRJTdjjP5uwHX82vypxIlHNyHziZnplPLhQa1kbSdIY7wfuP1XJyyYZw==}
1511 | engines: {node: '>=18.0.0'}
1512 | hasBin: true
1513 |
1514 | minimatch@3.1.2:
1515 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1516 |
1517 | minimatch@9.0.5:
1518 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
1519 | engines: {node: '>=16 || 14 >=14.17'}
1520 |
1521 | minipass@7.1.2:
1522 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
1523 | engines: {node: '>=16 || 14 >=14.17'}
1524 |
1525 | minizlib@3.0.2:
1526 | resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==}
1527 | engines: {node: '>= 18'}
1528 |
1529 | mkdirp@3.0.1:
1530 | resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==}
1531 | engines: {node: '>=10'}
1532 | hasBin: true
1533 |
1534 | ms@2.1.3:
1535 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1536 |
1537 | mustache@4.2.0:
1538 | resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==}
1539 | hasBin: true
1540 |
1541 | nanoid@3.3.11:
1542 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
1543 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1544 | hasBin: true
1545 |
1546 | natural-compare@1.4.0:
1547 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1548 |
1549 | node-releases@2.0.19:
1550 | resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
1551 |
1552 | ohash@2.0.11:
1553 | resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==}
1554 |
1555 | optionator@0.9.4:
1556 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
1557 | engines: {node: '>= 0.8.0'}
1558 |
1559 | p-limit@3.1.0:
1560 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1561 | engines: {node: '>=10'}
1562 |
1563 | p-locate@5.0.0:
1564 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1565 | engines: {node: '>=10'}
1566 |
1567 | parent-module@1.0.1:
1568 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1569 | engines: {node: '>=6'}
1570 |
1571 | path-exists@4.0.0:
1572 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1573 | engines: {node: '>=8'}
1574 |
1575 | path-key@3.1.1:
1576 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1577 | engines: {node: '>=8'}
1578 |
1579 | path-to-regexp@6.3.0:
1580 | resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==}
1581 |
1582 | pathe@2.0.3:
1583 | resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
1584 |
1585 | picocolors@1.1.1:
1586 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
1587 |
1588 | picomatch@2.3.1:
1589 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1590 | engines: {node: '>=8.6'}
1591 |
1592 | picomatch@4.0.2:
1593 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
1594 | engines: {node: '>=12'}
1595 |
1596 | postcss@8.5.4:
1597 | resolution: {integrity: sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==}
1598 | engines: {node: ^10 || ^12 || >=14}
1599 |
1600 | prelude-ls@1.2.1:
1601 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
1602 | engines: {node: '>= 0.8.0'}
1603 |
1604 | printable-characters@1.0.42:
1605 | resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==}
1606 |
1607 | punycode@2.3.1:
1608 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
1609 | engines: {node: '>=6'}
1610 |
1611 | queue-microtask@1.2.3:
1612 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1613 |
1614 | react-dom@19.0.0:
1615 | resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==}
1616 | peerDependencies:
1617 | react: ^19.0.0
1618 |
1619 | react-refresh@0.17.0:
1620 | resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==}
1621 | engines: {node: '>=0.10.0'}
1622 |
1623 | react@19.0.0:
1624 | resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==}
1625 | engines: {node: '>=0.10.0'}
1626 |
1627 | resolve-from@4.0.0:
1628 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
1629 | engines: {node: '>=4'}
1630 |
1631 | reusify@1.1.0:
1632 | resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
1633 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1634 |
1635 | rollup@4.41.1:
1636 | resolution: {integrity: sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==}
1637 | engines: {node: '>=18.0.0', npm: '>=8.0.0'}
1638 | hasBin: true
1639 |
1640 | run-parallel@1.2.0:
1641 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1642 |
1643 | scheduler@0.25.0:
1644 | resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==}
1645 |
1646 | semver@6.3.1:
1647 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
1648 | hasBin: true
1649 |
1650 | semver@7.7.2:
1651 | resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
1652 | engines: {node: '>=10'}
1653 | hasBin: true
1654 |
1655 | sharp@0.33.5:
1656 | resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==}
1657 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
1658 |
1659 | shebang-command@2.0.0:
1660 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1661 | engines: {node: '>=8'}
1662 |
1663 | shebang-regex@3.0.0:
1664 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1665 | engines: {node: '>=8'}
1666 |
1667 | simple-swizzle@0.2.2:
1668 | resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
1669 |
1670 | source-map-js@1.2.1:
1671 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
1672 | engines: {node: '>=0.10.0'}
1673 |
1674 | source-map@0.6.1:
1675 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
1676 | engines: {node: '>=0.10.0'}
1677 |
1678 | stacktracey@2.1.8:
1679 | resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==}
1680 |
1681 | stoppable@1.1.0:
1682 | resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==}
1683 | engines: {node: '>=4', npm: '>=6'}
1684 |
1685 | strip-json-comments@3.1.1:
1686 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
1687 | engines: {node: '>=8'}
1688 |
1689 | supports-color@7.2.0:
1690 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
1691 | engines: {node: '>=8'}
1692 |
1693 | tailwindcss@4.1.8:
1694 | resolution: {integrity: sha512-kjeW8gjdxasbmFKpVGrGd5T4i40mV5J2Rasw48QARfYeQ8YS9x02ON9SFWax3Qf616rt4Cp3nVNIj6Hd1mP3og==}
1695 |
1696 | tapable@2.2.2:
1697 | resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==}
1698 | engines: {node: '>=6'}
1699 |
1700 | tar@7.4.3:
1701 | resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==}
1702 | engines: {node: '>=18'}
1703 |
1704 | tinyglobby@0.2.14:
1705 | resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==}
1706 | engines: {node: '>=12.0.0'}
1707 |
1708 | to-regex-range@5.0.1:
1709 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1710 | engines: {node: '>=8.0'}
1711 |
1712 | ts-api-utils@2.1.0:
1713 | resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==}
1714 | engines: {node: '>=18.12'}
1715 | peerDependencies:
1716 | typescript: '>=4.8.4'
1717 |
1718 | tslib@2.8.1:
1719 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
1720 |
1721 | type-check@0.4.0:
1722 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
1723 | engines: {node: '>= 0.8.0'}
1724 |
1725 | typescript-eslint@8.31.0:
1726 | resolution: {integrity: sha512-u+93F0sB0An8WEAPtwxVhFby573E8ckdjwUUQUj9QA4v8JAvgtoDdIyYR3XFwFHq2W1KJ1AurwJCO+w+Y1ixyQ==}
1727 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1728 | peerDependencies:
1729 | eslint: ^8.57.0 || ^9.0.0
1730 | typescript: '>=4.8.4 <5.9.0'
1731 |
1732 | typescript@5.8.3:
1733 | resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
1734 | engines: {node: '>=14.17'}
1735 | hasBin: true
1736 |
1737 | ufo@1.6.1:
1738 | resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
1739 |
1740 | undici-types@6.21.0:
1741 | resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
1742 |
1743 | undici@5.29.0:
1744 | resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==}
1745 | engines: {node: '>=14.0'}
1746 |
1747 | unenv@2.0.0-rc.17:
1748 | resolution: {integrity: sha512-B06u0wXkEd+o5gOCMl/ZHl5cfpYbDZKAT+HWTL+Hws6jWu7dCiqBBXXXzMFcFVJb8D4ytAnYmxJA83uwOQRSsg==}
1749 |
1750 | update-browserslist-db@1.1.3:
1751 | resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
1752 | hasBin: true
1753 | peerDependencies:
1754 | browserslist: '>= 4.21.0'
1755 |
1756 | uri-js@4.4.1:
1757 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
1758 |
1759 | vite@6.3.5:
1760 | resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==}
1761 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
1762 | hasBin: true
1763 | peerDependencies:
1764 | '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
1765 | jiti: '>=1.21.0'
1766 | less: '*'
1767 | lightningcss: ^1.21.0
1768 | sass: '*'
1769 | sass-embedded: '*'
1770 | stylus: '*'
1771 | sugarss: '*'
1772 | terser: ^5.16.0
1773 | tsx: ^4.8.1
1774 | yaml: ^2.4.2
1775 | peerDependenciesMeta:
1776 | '@types/node':
1777 | optional: true
1778 | jiti:
1779 | optional: true
1780 | less:
1781 | optional: true
1782 | lightningcss:
1783 | optional: true
1784 | sass:
1785 | optional: true
1786 | sass-embedded:
1787 | optional: true
1788 | stylus:
1789 | optional: true
1790 | sugarss:
1791 | optional: true
1792 | terser:
1793 | optional: true
1794 | tsx:
1795 | optional: true
1796 | yaml:
1797 | optional: true
1798 |
1799 | which@2.0.2:
1800 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
1801 | engines: {node: '>= 8'}
1802 | hasBin: true
1803 |
1804 | word-wrap@1.2.5:
1805 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
1806 | engines: {node: '>=0.10.0'}
1807 |
1808 | workerd@1.20250508.0:
1809 | resolution: {integrity: sha512-ffLxe7dXSuGoA6jb3Qx2SClIV1aLHfJQ6RhGhzYHjQgv7dL6fdUOSIIGgzmu2mRKs+WFSujp6c8WgKquco6w3w==}
1810 | engines: {node: '>=16'}
1811 | hasBin: true
1812 |
1813 | workerd@1.20250525.0:
1814 | resolution: {integrity: sha512-SXJgLREy/Aqw2J71Oah0Pbu+SShbqbTExjVQyRBTM1r7MG7fS5NUlknhnt6sikjA/t4cO09Bi8OJqHdTkrcnYQ==}
1815 | engines: {node: '>=16'}
1816 | hasBin: true
1817 |
1818 | wrangler@4.18.0:
1819 | resolution: {integrity: sha512-/ng0KI9io97SNsBU1rheADBLLTE5Djybgsi4gXuvH1RBKJGpyj1xWvZ2fuWu8vAonit3EiZkwtERTm6kESHP3A==}
1820 | engines: {node: '>=18.0.0'}
1821 | hasBin: true
1822 | peerDependencies:
1823 | '@cloudflare/workers-types': ^4.20250525.0
1824 | peerDependenciesMeta:
1825 | '@cloudflare/workers-types':
1826 | optional: true
1827 |
1828 | ws@8.18.0:
1829 | resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
1830 | engines: {node: '>=10.0.0'}
1831 | peerDependencies:
1832 | bufferutil: ^4.0.1
1833 | utf-8-validate: '>=5.0.2'
1834 | peerDependenciesMeta:
1835 | bufferutil:
1836 | optional: true
1837 | utf-8-validate:
1838 | optional: true
1839 |
1840 | yallist@3.1.1:
1841 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
1842 |
1843 | yallist@5.0.0:
1844 | resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==}
1845 | engines: {node: '>=18'}
1846 |
1847 | yocto-queue@0.1.0:
1848 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
1849 | engines: {node: '>=10'}
1850 |
1851 | youch@3.3.4:
1852 | resolution: {integrity: sha512-UeVBXie8cA35DS6+nBkls68xaBBXCye0CNznrhszZjTbRVnJKQuNsyLKBTTL4ln1o1rh2PKtv35twV7irj5SEg==}
1853 |
1854 | zod@3.22.3:
1855 | resolution: {integrity: sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==}
1856 |
1857 | snapshots:
1858 |
1859 | '@ampproject/remapping@2.3.0':
1860 | dependencies:
1861 | '@jridgewell/gen-mapping': 0.3.8
1862 | '@jridgewell/trace-mapping': 0.3.25
1863 |
1864 | '@babel/code-frame@7.27.1':
1865 | dependencies:
1866 | '@babel/helper-validator-identifier': 7.27.1
1867 | js-tokens: 4.0.0
1868 | picocolors: 1.1.1
1869 |
1870 | '@babel/compat-data@7.27.3': {}
1871 |
1872 | '@babel/core@7.27.4':
1873 | dependencies:
1874 | '@ampproject/remapping': 2.3.0
1875 | '@babel/code-frame': 7.27.1
1876 | '@babel/generator': 7.27.3
1877 | '@babel/helper-compilation-targets': 7.27.2
1878 | '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.4)
1879 | '@babel/helpers': 7.27.4
1880 | '@babel/parser': 7.27.4
1881 | '@babel/template': 7.27.2
1882 | '@babel/traverse': 7.27.4
1883 | '@babel/types': 7.27.3
1884 | convert-source-map: 2.0.0
1885 | debug: 4.4.1
1886 | gensync: 1.0.0-beta.2
1887 | json5: 2.2.3
1888 | semver: 6.3.1
1889 | transitivePeerDependencies:
1890 | - supports-color
1891 |
1892 | '@babel/generator@7.27.3':
1893 | dependencies:
1894 | '@babel/parser': 7.27.4
1895 | '@babel/types': 7.27.3
1896 | '@jridgewell/gen-mapping': 0.3.8
1897 | '@jridgewell/trace-mapping': 0.3.25
1898 | jsesc: 3.1.0
1899 |
1900 | '@babel/helper-compilation-targets@7.27.2':
1901 | dependencies:
1902 | '@babel/compat-data': 7.27.3
1903 | '@babel/helper-validator-option': 7.27.1
1904 | browserslist: 4.25.0
1905 | lru-cache: 5.1.1
1906 | semver: 6.3.1
1907 |
1908 | '@babel/helper-module-imports@7.27.1':
1909 | dependencies:
1910 | '@babel/traverse': 7.27.4
1911 | '@babel/types': 7.27.3
1912 | transitivePeerDependencies:
1913 | - supports-color
1914 |
1915 | '@babel/helper-module-transforms@7.27.3(@babel/core@7.27.4)':
1916 | dependencies:
1917 | '@babel/core': 7.27.4
1918 | '@babel/helper-module-imports': 7.27.1
1919 | '@babel/helper-validator-identifier': 7.27.1
1920 | '@babel/traverse': 7.27.4
1921 | transitivePeerDependencies:
1922 | - supports-color
1923 |
1924 | '@babel/helper-plugin-utils@7.27.1': {}
1925 |
1926 | '@babel/helper-string-parser@7.27.1': {}
1927 |
1928 | '@babel/helper-validator-identifier@7.27.1': {}
1929 |
1930 | '@babel/helper-validator-option@7.27.1': {}
1931 |
1932 | '@babel/helpers@7.27.4':
1933 | dependencies:
1934 | '@babel/template': 7.27.2
1935 | '@babel/types': 7.27.3
1936 |
1937 | '@babel/parser@7.27.4':
1938 | dependencies:
1939 | '@babel/types': 7.27.3
1940 |
1941 | '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.27.4)':
1942 | dependencies:
1943 | '@babel/core': 7.27.4
1944 | '@babel/helper-plugin-utils': 7.27.1
1945 |
1946 | '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.27.4)':
1947 | dependencies:
1948 | '@babel/core': 7.27.4
1949 | '@babel/helper-plugin-utils': 7.27.1
1950 |
1951 | '@babel/template@7.27.2':
1952 | dependencies:
1953 | '@babel/code-frame': 7.27.1
1954 | '@babel/parser': 7.27.4
1955 | '@babel/types': 7.27.3
1956 |
1957 | '@babel/traverse@7.27.4':
1958 | dependencies:
1959 | '@babel/code-frame': 7.27.1
1960 | '@babel/generator': 7.27.3
1961 | '@babel/parser': 7.27.4
1962 | '@babel/template': 7.27.2
1963 | '@babel/types': 7.27.3
1964 | debug: 4.4.1
1965 | globals: 11.12.0
1966 | transitivePeerDependencies:
1967 | - supports-color
1968 |
1969 | '@babel/types@7.27.3':
1970 | dependencies:
1971 | '@babel/helper-string-parser': 7.27.1
1972 | '@babel/helper-validator-identifier': 7.27.1
1973 |
1974 | '@cloudflare/kv-asset-handler@0.4.0':
1975 | dependencies:
1976 | mime: 3.0.0
1977 |
1978 | '@cloudflare/unenv-preset@2.3.2(unenv@2.0.0-rc.17)(workerd@1.20250525.0)':
1979 | dependencies:
1980 | unenv: 2.0.0-rc.17
1981 | optionalDependencies:
1982 | workerd: 1.20250525.0
1983 |
1984 | '@cloudflare/vite-plugin@1.2.4(rollup@4.41.1)(vite@6.3.5(@types/node@22.15.19)(jiti@2.4.2)(lightningcss@1.30.1))(workerd@1.20250525.0)(wrangler@4.18.0)':
1985 | dependencies:
1986 | '@cloudflare/unenv-preset': 2.3.2(unenv@2.0.0-rc.17)(workerd@1.20250525.0)
1987 | '@mjackson/node-fetch-server': 0.6.1
1988 | '@rollup/plugin-replace': 6.0.2(rollup@4.41.1)
1989 | get-port: 7.1.0
1990 | miniflare: 4.20250508.3
1991 | picocolors: 1.1.1
1992 | tinyglobby: 0.2.14
1993 | unenv: 2.0.0-rc.17
1994 | vite: 6.3.5(@types/node@22.15.19)(jiti@2.4.2)(lightningcss@1.30.1)
1995 | wrangler: 4.18.0
1996 | ws: 8.18.0
1997 | transitivePeerDependencies:
1998 | - bufferutil
1999 | - rollup
2000 | - utf-8-validate
2001 | - workerd
2002 |
2003 | '@cloudflare/workerd-darwin-64@1.20250508.0':
2004 | optional: true
2005 |
2006 | '@cloudflare/workerd-darwin-64@1.20250525.0':
2007 | optional: true
2008 |
2009 | '@cloudflare/workerd-darwin-arm64@1.20250508.0':
2010 | optional: true
2011 |
2012 | '@cloudflare/workerd-darwin-arm64@1.20250525.0':
2013 | optional: true
2014 |
2015 | '@cloudflare/workerd-linux-64@1.20250508.0':
2016 | optional: true
2017 |
2018 | '@cloudflare/workerd-linux-64@1.20250525.0':
2019 | optional: true
2020 |
2021 | '@cloudflare/workerd-linux-arm64@1.20250508.0':
2022 | optional: true
2023 |
2024 | '@cloudflare/workerd-linux-arm64@1.20250525.0':
2025 | optional: true
2026 |
2027 | '@cloudflare/workerd-windows-64@1.20250508.0':
2028 | optional: true
2029 |
2030 | '@cloudflare/workerd-windows-64@1.20250525.0':
2031 | optional: true
2032 |
2033 | '@cspotcode/source-map-support@0.8.1':
2034 | dependencies:
2035 | '@jridgewell/trace-mapping': 0.3.9
2036 |
2037 | '@emnapi/runtime@1.4.3':
2038 | dependencies:
2039 | tslib: 2.8.1
2040 | optional: true
2041 |
2042 | '@esbuild/aix-ppc64@0.25.4':
2043 | optional: true
2044 |
2045 | '@esbuild/aix-ppc64@0.25.5':
2046 | optional: true
2047 |
2048 | '@esbuild/android-arm64@0.25.4':
2049 | optional: true
2050 |
2051 | '@esbuild/android-arm64@0.25.5':
2052 | optional: true
2053 |
2054 | '@esbuild/android-arm@0.25.4':
2055 | optional: true
2056 |
2057 | '@esbuild/android-arm@0.25.5':
2058 | optional: true
2059 |
2060 | '@esbuild/android-x64@0.25.4':
2061 | optional: true
2062 |
2063 | '@esbuild/android-x64@0.25.5':
2064 | optional: true
2065 |
2066 | '@esbuild/darwin-arm64@0.25.4':
2067 | optional: true
2068 |
2069 | '@esbuild/darwin-arm64@0.25.5':
2070 | optional: true
2071 |
2072 | '@esbuild/darwin-x64@0.25.4':
2073 | optional: true
2074 |
2075 | '@esbuild/darwin-x64@0.25.5':
2076 | optional: true
2077 |
2078 | '@esbuild/freebsd-arm64@0.25.4':
2079 | optional: true
2080 |
2081 | '@esbuild/freebsd-arm64@0.25.5':
2082 | optional: true
2083 |
2084 | '@esbuild/freebsd-x64@0.25.4':
2085 | optional: true
2086 |
2087 | '@esbuild/freebsd-x64@0.25.5':
2088 | optional: true
2089 |
2090 | '@esbuild/linux-arm64@0.25.4':
2091 | optional: true
2092 |
2093 | '@esbuild/linux-arm64@0.25.5':
2094 | optional: true
2095 |
2096 | '@esbuild/linux-arm@0.25.4':
2097 | optional: true
2098 |
2099 | '@esbuild/linux-arm@0.25.5':
2100 | optional: true
2101 |
2102 | '@esbuild/linux-ia32@0.25.4':
2103 | optional: true
2104 |
2105 | '@esbuild/linux-ia32@0.25.5':
2106 | optional: true
2107 |
2108 | '@esbuild/linux-loong64@0.25.4':
2109 | optional: true
2110 |
2111 | '@esbuild/linux-loong64@0.25.5':
2112 | optional: true
2113 |
2114 | '@esbuild/linux-mips64el@0.25.4':
2115 | optional: true
2116 |
2117 | '@esbuild/linux-mips64el@0.25.5':
2118 | optional: true
2119 |
2120 | '@esbuild/linux-ppc64@0.25.4':
2121 | optional: true
2122 |
2123 | '@esbuild/linux-ppc64@0.25.5':
2124 | optional: true
2125 |
2126 | '@esbuild/linux-riscv64@0.25.4':
2127 | optional: true
2128 |
2129 | '@esbuild/linux-riscv64@0.25.5':
2130 | optional: true
2131 |
2132 | '@esbuild/linux-s390x@0.25.4':
2133 | optional: true
2134 |
2135 | '@esbuild/linux-s390x@0.25.5':
2136 | optional: true
2137 |
2138 | '@esbuild/linux-x64@0.25.4':
2139 | optional: true
2140 |
2141 | '@esbuild/linux-x64@0.25.5':
2142 | optional: true
2143 |
2144 | '@esbuild/netbsd-arm64@0.25.4':
2145 | optional: true
2146 |
2147 | '@esbuild/netbsd-arm64@0.25.5':
2148 | optional: true
2149 |
2150 | '@esbuild/netbsd-x64@0.25.4':
2151 | optional: true
2152 |
2153 | '@esbuild/netbsd-x64@0.25.5':
2154 | optional: true
2155 |
2156 | '@esbuild/openbsd-arm64@0.25.4':
2157 | optional: true
2158 |
2159 | '@esbuild/openbsd-arm64@0.25.5':
2160 | optional: true
2161 |
2162 | '@esbuild/openbsd-x64@0.25.4':
2163 | optional: true
2164 |
2165 | '@esbuild/openbsd-x64@0.25.5':
2166 | optional: true
2167 |
2168 | '@esbuild/sunos-x64@0.25.4':
2169 | optional: true
2170 |
2171 | '@esbuild/sunos-x64@0.25.5':
2172 | optional: true
2173 |
2174 | '@esbuild/win32-arm64@0.25.4':
2175 | optional: true
2176 |
2177 | '@esbuild/win32-arm64@0.25.5':
2178 | optional: true
2179 |
2180 | '@esbuild/win32-ia32@0.25.4':
2181 | optional: true
2182 |
2183 | '@esbuild/win32-ia32@0.25.5':
2184 | optional: true
2185 |
2186 | '@esbuild/win32-x64@0.25.4':
2187 | optional: true
2188 |
2189 | '@esbuild/win32-x64@0.25.5':
2190 | optional: true
2191 |
2192 | '@eslint-community/eslint-utils@4.7.0(eslint@9.27.0(jiti@2.4.2))':
2193 | dependencies:
2194 | eslint: 9.27.0(jiti@2.4.2)
2195 | eslint-visitor-keys: 3.4.3
2196 |
2197 | '@eslint-community/regexpp@4.12.1': {}
2198 |
2199 | '@eslint/config-array@0.20.0':
2200 | dependencies:
2201 | '@eslint/object-schema': 2.1.6
2202 | debug: 4.4.1
2203 | minimatch: 3.1.2
2204 | transitivePeerDependencies:
2205 | - supports-color
2206 |
2207 | '@eslint/config-helpers@0.2.2': {}
2208 |
2209 | '@eslint/core@0.14.0':
2210 | dependencies:
2211 | '@types/json-schema': 7.0.15
2212 |
2213 | '@eslint/eslintrc@3.3.1':
2214 | dependencies:
2215 | ajv: 6.12.6
2216 | debug: 4.4.1
2217 | espree: 10.3.0
2218 | globals: 14.0.0
2219 | ignore: 5.3.2
2220 | import-fresh: 3.3.1
2221 | js-yaml: 4.1.0
2222 | minimatch: 3.1.2
2223 | strip-json-comments: 3.1.1
2224 | transitivePeerDependencies:
2225 | - supports-color
2226 |
2227 | '@eslint/js@9.25.1': {}
2228 |
2229 | '@eslint/js@9.27.0': {}
2230 |
2231 | '@eslint/object-schema@2.1.6': {}
2232 |
2233 | '@eslint/plugin-kit@0.3.1':
2234 | dependencies:
2235 | '@eslint/core': 0.14.0
2236 | levn: 0.4.1
2237 |
2238 | '@fastify/busboy@2.1.1': {}
2239 |
2240 | '@humanfs/core@0.19.1': {}
2241 |
2242 | '@humanfs/node@0.16.6':
2243 | dependencies:
2244 | '@humanfs/core': 0.19.1
2245 | '@humanwhocodes/retry': 0.3.1
2246 |
2247 | '@humanwhocodes/module-importer@1.0.1': {}
2248 |
2249 | '@humanwhocodes/retry@0.3.1': {}
2250 |
2251 | '@humanwhocodes/retry@0.4.3': {}
2252 |
2253 | '@img/sharp-darwin-arm64@0.33.5':
2254 | optionalDependencies:
2255 | '@img/sharp-libvips-darwin-arm64': 1.0.4
2256 | optional: true
2257 |
2258 | '@img/sharp-darwin-x64@0.33.5':
2259 | optionalDependencies:
2260 | '@img/sharp-libvips-darwin-x64': 1.0.4
2261 | optional: true
2262 |
2263 | '@img/sharp-libvips-darwin-arm64@1.0.4':
2264 | optional: true
2265 |
2266 | '@img/sharp-libvips-darwin-x64@1.0.4':
2267 | optional: true
2268 |
2269 | '@img/sharp-libvips-linux-arm64@1.0.4':
2270 | optional: true
2271 |
2272 | '@img/sharp-libvips-linux-arm@1.0.5':
2273 | optional: true
2274 |
2275 | '@img/sharp-libvips-linux-s390x@1.0.4':
2276 | optional: true
2277 |
2278 | '@img/sharp-libvips-linux-x64@1.0.4':
2279 | optional: true
2280 |
2281 | '@img/sharp-libvips-linuxmusl-arm64@1.0.4':
2282 | optional: true
2283 |
2284 | '@img/sharp-libvips-linuxmusl-x64@1.0.4':
2285 | optional: true
2286 |
2287 | '@img/sharp-linux-arm64@0.33.5':
2288 | optionalDependencies:
2289 | '@img/sharp-libvips-linux-arm64': 1.0.4
2290 | optional: true
2291 |
2292 | '@img/sharp-linux-arm@0.33.5':
2293 | optionalDependencies:
2294 | '@img/sharp-libvips-linux-arm': 1.0.5
2295 | optional: true
2296 |
2297 | '@img/sharp-linux-s390x@0.33.5':
2298 | optionalDependencies:
2299 | '@img/sharp-libvips-linux-s390x': 1.0.4
2300 | optional: true
2301 |
2302 | '@img/sharp-linux-x64@0.33.5':
2303 | optionalDependencies:
2304 | '@img/sharp-libvips-linux-x64': 1.0.4
2305 | optional: true
2306 |
2307 | '@img/sharp-linuxmusl-arm64@0.33.5':
2308 | optionalDependencies:
2309 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
2310 | optional: true
2311 |
2312 | '@img/sharp-linuxmusl-x64@0.33.5':
2313 | optionalDependencies:
2314 | '@img/sharp-libvips-linuxmusl-x64': 1.0.4
2315 | optional: true
2316 |
2317 | '@img/sharp-wasm32@0.33.5':
2318 | dependencies:
2319 | '@emnapi/runtime': 1.4.3
2320 | optional: true
2321 |
2322 | '@img/sharp-win32-ia32@0.33.5':
2323 | optional: true
2324 |
2325 | '@img/sharp-win32-x64@0.33.5':
2326 | optional: true
2327 |
2328 | '@isaacs/fs-minipass@4.0.1':
2329 | dependencies:
2330 | minipass: 7.1.2
2331 |
2332 | '@jridgewell/gen-mapping@0.3.8':
2333 | dependencies:
2334 | '@jridgewell/set-array': 1.2.1
2335 | '@jridgewell/sourcemap-codec': 1.5.0
2336 | '@jridgewell/trace-mapping': 0.3.25
2337 |
2338 | '@jridgewell/resolve-uri@3.1.2': {}
2339 |
2340 | '@jridgewell/set-array@1.2.1': {}
2341 |
2342 | '@jridgewell/sourcemap-codec@1.5.0': {}
2343 |
2344 | '@jridgewell/trace-mapping@0.3.25':
2345 | dependencies:
2346 | '@jridgewell/resolve-uri': 3.1.2
2347 | '@jridgewell/sourcemap-codec': 1.5.0
2348 |
2349 | '@jridgewell/trace-mapping@0.3.9':
2350 | dependencies:
2351 | '@jridgewell/resolve-uri': 3.1.2
2352 | '@jridgewell/sourcemap-codec': 1.5.0
2353 |
2354 | '@mjackson/node-fetch-server@0.6.1': {}
2355 |
2356 | '@nodelib/fs.scandir@2.1.5':
2357 | dependencies:
2358 | '@nodelib/fs.stat': 2.0.5
2359 | run-parallel: 1.2.0
2360 |
2361 | '@nodelib/fs.stat@2.0.5': {}
2362 |
2363 | '@nodelib/fs.walk@1.2.8':
2364 | dependencies:
2365 | '@nodelib/fs.scandir': 2.1.5
2366 | fastq: 1.19.1
2367 |
2368 | '@rollup/plugin-replace@6.0.2(rollup@4.41.1)':
2369 | dependencies:
2370 | '@rollup/pluginutils': 5.1.4(rollup@4.41.1)
2371 | magic-string: 0.30.17
2372 | optionalDependencies:
2373 | rollup: 4.41.1
2374 |
2375 | '@rollup/pluginutils@5.1.4(rollup@4.41.1)':
2376 | dependencies:
2377 | '@types/estree': 1.0.7
2378 | estree-walker: 2.0.2
2379 | picomatch: 4.0.2
2380 | optionalDependencies:
2381 | rollup: 4.41.1
2382 |
2383 | '@rollup/rollup-android-arm-eabi@4.41.1':
2384 | optional: true
2385 |
2386 | '@rollup/rollup-android-arm64@4.41.1':
2387 | optional: true
2388 |
2389 | '@rollup/rollup-darwin-arm64@4.41.1':
2390 | optional: true
2391 |
2392 | '@rollup/rollup-darwin-x64@4.41.1':
2393 | optional: true
2394 |
2395 | '@rollup/rollup-freebsd-arm64@4.41.1':
2396 | optional: true
2397 |
2398 | '@rollup/rollup-freebsd-x64@4.41.1':
2399 | optional: true
2400 |
2401 | '@rollup/rollup-linux-arm-gnueabihf@4.41.1':
2402 | optional: true
2403 |
2404 | '@rollup/rollup-linux-arm-musleabihf@4.41.1':
2405 | optional: true
2406 |
2407 | '@rollup/rollup-linux-arm64-gnu@4.41.1':
2408 | optional: true
2409 |
2410 | '@rollup/rollup-linux-arm64-musl@4.41.1':
2411 | optional: true
2412 |
2413 | '@rollup/rollup-linux-loongarch64-gnu@4.41.1':
2414 | optional: true
2415 |
2416 | '@rollup/rollup-linux-powerpc64le-gnu@4.41.1':
2417 | optional: true
2418 |
2419 | '@rollup/rollup-linux-riscv64-gnu@4.41.1':
2420 | optional: true
2421 |
2422 | '@rollup/rollup-linux-riscv64-musl@4.41.1':
2423 | optional: true
2424 |
2425 | '@rollup/rollup-linux-s390x-gnu@4.41.1':
2426 | optional: true
2427 |
2428 | '@rollup/rollup-linux-x64-gnu@4.41.1':
2429 | optional: true
2430 |
2431 | '@rollup/rollup-linux-x64-musl@4.41.1':
2432 | optional: true
2433 |
2434 | '@rollup/rollup-win32-arm64-msvc@4.41.1':
2435 | optional: true
2436 |
2437 | '@rollup/rollup-win32-ia32-msvc@4.41.1':
2438 | optional: true
2439 |
2440 | '@rollup/rollup-win32-x64-msvc@4.41.1':
2441 | optional: true
2442 |
2443 | '@tailwindcss/node@4.1.8':
2444 | dependencies:
2445 | '@ampproject/remapping': 2.3.0
2446 | enhanced-resolve: 5.18.1
2447 | jiti: 2.4.2
2448 | lightningcss: 1.30.1
2449 | magic-string: 0.30.17
2450 | source-map-js: 1.2.1
2451 | tailwindcss: 4.1.8
2452 |
2453 | '@tailwindcss/oxide-android-arm64@4.1.8':
2454 | optional: true
2455 |
2456 | '@tailwindcss/oxide-darwin-arm64@4.1.8':
2457 | optional: true
2458 |
2459 | '@tailwindcss/oxide-darwin-x64@4.1.8':
2460 | optional: true
2461 |
2462 | '@tailwindcss/oxide-freebsd-x64@4.1.8':
2463 | optional: true
2464 |
2465 | '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.8':
2466 | optional: true
2467 |
2468 | '@tailwindcss/oxide-linux-arm64-gnu@4.1.8':
2469 | optional: true
2470 |
2471 | '@tailwindcss/oxide-linux-arm64-musl@4.1.8':
2472 | optional: true
2473 |
2474 | '@tailwindcss/oxide-linux-x64-gnu@4.1.8':
2475 | optional: true
2476 |
2477 | '@tailwindcss/oxide-linux-x64-musl@4.1.8':
2478 | optional: true
2479 |
2480 | '@tailwindcss/oxide-wasm32-wasi@4.1.8':
2481 | optional: true
2482 |
2483 | '@tailwindcss/oxide-win32-arm64-msvc@4.1.8':
2484 | optional: true
2485 |
2486 | '@tailwindcss/oxide-win32-x64-msvc@4.1.8':
2487 | optional: true
2488 |
2489 | '@tailwindcss/oxide@4.1.8':
2490 | dependencies:
2491 | detect-libc: 2.0.4
2492 | tar: 7.4.3
2493 | optionalDependencies:
2494 | '@tailwindcss/oxide-android-arm64': 4.1.8
2495 | '@tailwindcss/oxide-darwin-arm64': 4.1.8
2496 | '@tailwindcss/oxide-darwin-x64': 4.1.8
2497 | '@tailwindcss/oxide-freebsd-x64': 4.1.8
2498 | '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.8
2499 | '@tailwindcss/oxide-linux-arm64-gnu': 4.1.8
2500 | '@tailwindcss/oxide-linux-arm64-musl': 4.1.8
2501 | '@tailwindcss/oxide-linux-x64-gnu': 4.1.8
2502 | '@tailwindcss/oxide-linux-x64-musl': 4.1.8
2503 | '@tailwindcss/oxide-wasm32-wasi': 4.1.8
2504 | '@tailwindcss/oxide-win32-arm64-msvc': 4.1.8
2505 | '@tailwindcss/oxide-win32-x64-msvc': 4.1.8
2506 |
2507 | '@tailwindcss/vite@4.1.8(vite@6.3.5(@types/node@22.15.19)(jiti@2.4.2)(lightningcss@1.30.1))':
2508 | dependencies:
2509 | '@tailwindcss/node': 4.1.8
2510 | '@tailwindcss/oxide': 4.1.8
2511 | tailwindcss: 4.1.8
2512 | vite: 6.3.5(@types/node@22.15.19)(jiti@2.4.2)(lightningcss@1.30.1)
2513 |
2514 | '@types/babel__core@7.20.5':
2515 | dependencies:
2516 | '@babel/parser': 7.27.4
2517 | '@babel/types': 7.27.3
2518 | '@types/babel__generator': 7.27.0
2519 | '@types/babel__template': 7.4.4
2520 | '@types/babel__traverse': 7.20.7
2521 |
2522 | '@types/babel__generator@7.27.0':
2523 | dependencies:
2524 | '@babel/types': 7.27.3
2525 |
2526 | '@types/babel__template@7.4.4':
2527 | dependencies:
2528 | '@babel/parser': 7.27.4
2529 | '@babel/types': 7.27.3
2530 |
2531 | '@types/babel__traverse@7.20.7':
2532 | dependencies:
2533 | '@babel/types': 7.27.3
2534 |
2535 | '@types/estree@1.0.7': {}
2536 |
2537 | '@types/json-schema@7.0.15': {}
2538 |
2539 | '@types/node@22.15.19':
2540 | dependencies:
2541 | undici-types: 6.21.0
2542 |
2543 | '@types/react-dom@19.0.4(@types/react@19.0.10)':
2544 | dependencies:
2545 | '@types/react': 19.0.10
2546 |
2547 | '@types/react@19.0.10':
2548 | dependencies:
2549 | csstype: 3.1.3
2550 |
2551 | '@typescript-eslint/eslint-plugin@8.31.0(@typescript-eslint/parser@8.31.0(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3)':
2552 | dependencies:
2553 | '@eslint-community/regexpp': 4.12.1
2554 | '@typescript-eslint/parser': 8.31.0(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3)
2555 | '@typescript-eslint/scope-manager': 8.31.0
2556 | '@typescript-eslint/type-utils': 8.31.0(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3)
2557 | '@typescript-eslint/utils': 8.31.0(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3)
2558 | '@typescript-eslint/visitor-keys': 8.31.0
2559 | eslint: 9.27.0(jiti@2.4.2)
2560 | graphemer: 1.4.0
2561 | ignore: 5.3.2
2562 | natural-compare: 1.4.0
2563 | ts-api-utils: 2.1.0(typescript@5.8.3)
2564 | typescript: 5.8.3
2565 | transitivePeerDependencies:
2566 | - supports-color
2567 |
2568 | '@typescript-eslint/parser@8.31.0(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3)':
2569 | dependencies:
2570 | '@typescript-eslint/scope-manager': 8.31.0
2571 | '@typescript-eslint/types': 8.31.0
2572 | '@typescript-eslint/typescript-estree': 8.31.0(typescript@5.8.3)
2573 | '@typescript-eslint/visitor-keys': 8.31.0
2574 | debug: 4.4.1
2575 | eslint: 9.27.0(jiti@2.4.2)
2576 | typescript: 5.8.3
2577 | transitivePeerDependencies:
2578 | - supports-color
2579 |
2580 | '@typescript-eslint/scope-manager@8.31.0':
2581 | dependencies:
2582 | '@typescript-eslint/types': 8.31.0
2583 | '@typescript-eslint/visitor-keys': 8.31.0
2584 |
2585 | '@typescript-eslint/type-utils@8.31.0(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3)':
2586 | dependencies:
2587 | '@typescript-eslint/typescript-estree': 8.31.0(typescript@5.8.3)
2588 | '@typescript-eslint/utils': 8.31.0(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3)
2589 | debug: 4.4.1
2590 | eslint: 9.27.0(jiti@2.4.2)
2591 | ts-api-utils: 2.1.0(typescript@5.8.3)
2592 | typescript: 5.8.3
2593 | transitivePeerDependencies:
2594 | - supports-color
2595 |
2596 | '@typescript-eslint/types@8.31.0': {}
2597 |
2598 | '@typescript-eslint/typescript-estree@8.31.0(typescript@5.8.3)':
2599 | dependencies:
2600 | '@typescript-eslint/types': 8.31.0
2601 | '@typescript-eslint/visitor-keys': 8.31.0
2602 | debug: 4.4.1
2603 | fast-glob: 3.3.3
2604 | is-glob: 4.0.3
2605 | minimatch: 9.0.5
2606 | semver: 7.7.2
2607 | ts-api-utils: 2.1.0(typescript@5.8.3)
2608 | typescript: 5.8.3
2609 | transitivePeerDependencies:
2610 | - supports-color
2611 |
2612 | '@typescript-eslint/utils@8.31.0(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3)':
2613 | dependencies:
2614 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.27.0(jiti@2.4.2))
2615 | '@typescript-eslint/scope-manager': 8.31.0
2616 | '@typescript-eslint/types': 8.31.0
2617 | '@typescript-eslint/typescript-estree': 8.31.0(typescript@5.8.3)
2618 | eslint: 9.27.0(jiti@2.4.2)
2619 | typescript: 5.8.3
2620 | transitivePeerDependencies:
2621 | - supports-color
2622 |
2623 | '@typescript-eslint/visitor-keys@8.31.0':
2624 | dependencies:
2625 | '@typescript-eslint/types': 8.31.0
2626 | eslint-visitor-keys: 4.2.0
2627 |
2628 | '@vitejs/plugin-react@4.4.1(vite@6.3.5(@types/node@22.15.19)(jiti@2.4.2)(lightningcss@1.30.1))':
2629 | dependencies:
2630 | '@babel/core': 7.27.4
2631 | '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.27.4)
2632 | '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.27.4)
2633 | '@types/babel__core': 7.20.5
2634 | react-refresh: 0.17.0
2635 | vite: 6.3.5(@types/node@22.15.19)(jiti@2.4.2)(lightningcss@1.30.1)
2636 | transitivePeerDependencies:
2637 | - supports-color
2638 |
2639 | acorn-jsx@5.3.2(acorn@8.14.1):
2640 | dependencies:
2641 | acorn: 8.14.1
2642 |
2643 | acorn-walk@8.3.2: {}
2644 |
2645 | acorn@8.14.0: {}
2646 |
2647 | acorn@8.14.1: {}
2648 |
2649 | ajv@6.12.6:
2650 | dependencies:
2651 | fast-deep-equal: 3.1.3
2652 | fast-json-stable-stringify: 2.1.0
2653 | json-schema-traverse: 0.4.1
2654 | uri-js: 4.4.1
2655 |
2656 | ansi-styles@4.3.0:
2657 | dependencies:
2658 | color-convert: 2.0.1
2659 |
2660 | argparse@2.0.1: {}
2661 |
2662 | as-table@1.0.55:
2663 | dependencies:
2664 | printable-characters: 1.0.42
2665 |
2666 | balanced-match@1.0.2: {}
2667 |
2668 | blake3-wasm@2.1.5: {}
2669 |
2670 | brace-expansion@1.1.11:
2671 | dependencies:
2672 | balanced-match: 1.0.2
2673 | concat-map: 0.0.1
2674 |
2675 | brace-expansion@2.0.1:
2676 | dependencies:
2677 | balanced-match: 1.0.2
2678 |
2679 | braces@3.0.3:
2680 | dependencies:
2681 | fill-range: 7.1.1
2682 |
2683 | browserslist@4.25.0:
2684 | dependencies:
2685 | caniuse-lite: 1.0.30001720
2686 | electron-to-chromium: 1.5.161
2687 | node-releases: 2.0.19
2688 | update-browserslist-db: 1.1.3(browserslist@4.25.0)
2689 |
2690 | callsites@3.1.0: {}
2691 |
2692 | caniuse-lite@1.0.30001720: {}
2693 |
2694 | chalk@4.1.2:
2695 | dependencies:
2696 | ansi-styles: 4.3.0
2697 | supports-color: 7.2.0
2698 |
2699 | chownr@3.0.0: {}
2700 |
2701 | color-convert@2.0.1:
2702 | dependencies:
2703 | color-name: 1.1.4
2704 |
2705 | color-name@1.1.4: {}
2706 |
2707 | color-string@1.9.1:
2708 | dependencies:
2709 | color-name: 1.1.4
2710 | simple-swizzle: 0.2.2
2711 |
2712 | color@4.2.3:
2713 | dependencies:
2714 | color-convert: 2.0.1
2715 | color-string: 1.9.1
2716 |
2717 | concat-map@0.0.1: {}
2718 |
2719 | convert-source-map@2.0.0: {}
2720 |
2721 | cookie@0.7.2: {}
2722 |
2723 | cross-spawn@7.0.6:
2724 | dependencies:
2725 | path-key: 3.1.1
2726 | shebang-command: 2.0.0
2727 | which: 2.0.2
2728 |
2729 | csstype@3.1.3: {}
2730 |
2731 | data-uri-to-buffer@2.0.2: {}
2732 |
2733 | debug@4.4.1:
2734 | dependencies:
2735 | ms: 2.1.3
2736 |
2737 | deep-is@0.1.4: {}
2738 |
2739 | defu@6.1.4: {}
2740 |
2741 | detect-libc@2.0.4: {}
2742 |
2743 | electron-to-chromium@1.5.161: {}
2744 |
2745 | enhanced-resolve@5.18.1:
2746 | dependencies:
2747 | graceful-fs: 4.2.11
2748 | tapable: 2.2.2
2749 |
2750 | esbuild@0.25.4:
2751 | optionalDependencies:
2752 | '@esbuild/aix-ppc64': 0.25.4
2753 | '@esbuild/android-arm': 0.25.4
2754 | '@esbuild/android-arm64': 0.25.4
2755 | '@esbuild/android-x64': 0.25.4
2756 | '@esbuild/darwin-arm64': 0.25.4
2757 | '@esbuild/darwin-x64': 0.25.4
2758 | '@esbuild/freebsd-arm64': 0.25.4
2759 | '@esbuild/freebsd-x64': 0.25.4
2760 | '@esbuild/linux-arm': 0.25.4
2761 | '@esbuild/linux-arm64': 0.25.4
2762 | '@esbuild/linux-ia32': 0.25.4
2763 | '@esbuild/linux-loong64': 0.25.4
2764 | '@esbuild/linux-mips64el': 0.25.4
2765 | '@esbuild/linux-ppc64': 0.25.4
2766 | '@esbuild/linux-riscv64': 0.25.4
2767 | '@esbuild/linux-s390x': 0.25.4
2768 | '@esbuild/linux-x64': 0.25.4
2769 | '@esbuild/netbsd-arm64': 0.25.4
2770 | '@esbuild/netbsd-x64': 0.25.4
2771 | '@esbuild/openbsd-arm64': 0.25.4
2772 | '@esbuild/openbsd-x64': 0.25.4
2773 | '@esbuild/sunos-x64': 0.25.4
2774 | '@esbuild/win32-arm64': 0.25.4
2775 | '@esbuild/win32-ia32': 0.25.4
2776 | '@esbuild/win32-x64': 0.25.4
2777 |
2778 | esbuild@0.25.5:
2779 | optionalDependencies:
2780 | '@esbuild/aix-ppc64': 0.25.5
2781 | '@esbuild/android-arm': 0.25.5
2782 | '@esbuild/android-arm64': 0.25.5
2783 | '@esbuild/android-x64': 0.25.5
2784 | '@esbuild/darwin-arm64': 0.25.5
2785 | '@esbuild/darwin-x64': 0.25.5
2786 | '@esbuild/freebsd-arm64': 0.25.5
2787 | '@esbuild/freebsd-x64': 0.25.5
2788 | '@esbuild/linux-arm': 0.25.5
2789 | '@esbuild/linux-arm64': 0.25.5
2790 | '@esbuild/linux-ia32': 0.25.5
2791 | '@esbuild/linux-loong64': 0.25.5
2792 | '@esbuild/linux-mips64el': 0.25.5
2793 | '@esbuild/linux-ppc64': 0.25.5
2794 | '@esbuild/linux-riscv64': 0.25.5
2795 | '@esbuild/linux-s390x': 0.25.5
2796 | '@esbuild/linux-x64': 0.25.5
2797 | '@esbuild/netbsd-arm64': 0.25.5
2798 | '@esbuild/netbsd-x64': 0.25.5
2799 | '@esbuild/openbsd-arm64': 0.25.5
2800 | '@esbuild/openbsd-x64': 0.25.5
2801 | '@esbuild/sunos-x64': 0.25.5
2802 | '@esbuild/win32-arm64': 0.25.5
2803 | '@esbuild/win32-ia32': 0.25.5
2804 | '@esbuild/win32-x64': 0.25.5
2805 |
2806 | escalade@3.2.0: {}
2807 |
2808 | escape-string-regexp@4.0.0: {}
2809 |
2810 | eslint-plugin-react-hooks@5.2.0(eslint@9.27.0(jiti@2.4.2)):
2811 | dependencies:
2812 | eslint: 9.27.0(jiti@2.4.2)
2813 |
2814 | eslint-plugin-react-refresh@0.4.20(eslint@9.27.0(jiti@2.4.2)):
2815 | dependencies:
2816 | eslint: 9.27.0(jiti@2.4.2)
2817 |
2818 | eslint-scope@8.3.0:
2819 | dependencies:
2820 | esrecurse: 4.3.0
2821 | estraverse: 5.3.0
2822 |
2823 | eslint-visitor-keys@3.4.3: {}
2824 |
2825 | eslint-visitor-keys@4.2.0: {}
2826 |
2827 | eslint@9.27.0(jiti@2.4.2):
2828 | dependencies:
2829 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.27.0(jiti@2.4.2))
2830 | '@eslint-community/regexpp': 4.12.1
2831 | '@eslint/config-array': 0.20.0
2832 | '@eslint/config-helpers': 0.2.2
2833 | '@eslint/core': 0.14.0
2834 | '@eslint/eslintrc': 3.3.1
2835 | '@eslint/js': 9.27.0
2836 | '@eslint/plugin-kit': 0.3.1
2837 | '@humanfs/node': 0.16.6
2838 | '@humanwhocodes/module-importer': 1.0.1
2839 | '@humanwhocodes/retry': 0.4.3
2840 | '@types/estree': 1.0.7
2841 | '@types/json-schema': 7.0.15
2842 | ajv: 6.12.6
2843 | chalk: 4.1.2
2844 | cross-spawn: 7.0.6
2845 | debug: 4.4.1
2846 | escape-string-regexp: 4.0.0
2847 | eslint-scope: 8.3.0
2848 | eslint-visitor-keys: 4.2.0
2849 | espree: 10.3.0
2850 | esquery: 1.6.0
2851 | esutils: 2.0.3
2852 | fast-deep-equal: 3.1.3
2853 | file-entry-cache: 8.0.0
2854 | find-up: 5.0.0
2855 | glob-parent: 6.0.2
2856 | ignore: 5.3.2
2857 | imurmurhash: 0.1.4
2858 | is-glob: 4.0.3
2859 | json-stable-stringify-without-jsonify: 1.0.1
2860 | lodash.merge: 4.6.2
2861 | minimatch: 3.1.2
2862 | natural-compare: 1.4.0
2863 | optionator: 0.9.4
2864 | optionalDependencies:
2865 | jiti: 2.4.2
2866 | transitivePeerDependencies:
2867 | - supports-color
2868 |
2869 | espree@10.3.0:
2870 | dependencies:
2871 | acorn: 8.14.1
2872 | acorn-jsx: 5.3.2(acorn@8.14.1)
2873 | eslint-visitor-keys: 4.2.0
2874 |
2875 | esquery@1.6.0:
2876 | dependencies:
2877 | estraverse: 5.3.0
2878 |
2879 | esrecurse@4.3.0:
2880 | dependencies:
2881 | estraverse: 5.3.0
2882 |
2883 | estraverse@5.3.0: {}
2884 |
2885 | estree-walker@2.0.2: {}
2886 |
2887 | esutils@2.0.3: {}
2888 |
2889 | exit-hook@2.2.1: {}
2890 |
2891 | exsolve@1.0.5: {}
2892 |
2893 | fast-deep-equal@3.1.3: {}
2894 |
2895 | fast-glob@3.3.3:
2896 | dependencies:
2897 | '@nodelib/fs.stat': 2.0.5
2898 | '@nodelib/fs.walk': 1.2.8
2899 | glob-parent: 5.1.2
2900 | merge2: 1.4.1
2901 | micromatch: 4.0.8
2902 |
2903 | fast-json-stable-stringify@2.1.0: {}
2904 |
2905 | fast-levenshtein@2.0.6: {}
2906 |
2907 | fastq@1.19.1:
2908 | dependencies:
2909 | reusify: 1.1.0
2910 |
2911 | fdir@6.4.5(picomatch@4.0.2):
2912 | optionalDependencies:
2913 | picomatch: 4.0.2
2914 |
2915 | file-entry-cache@8.0.0:
2916 | dependencies:
2917 | flat-cache: 4.0.1
2918 |
2919 | fill-range@7.1.1:
2920 | dependencies:
2921 | to-regex-range: 5.0.1
2922 |
2923 | find-up@5.0.0:
2924 | dependencies:
2925 | locate-path: 6.0.0
2926 | path-exists: 4.0.0
2927 |
2928 | flat-cache@4.0.1:
2929 | dependencies:
2930 | flatted: 3.3.3
2931 | keyv: 4.5.4
2932 |
2933 | flatted@3.3.3: {}
2934 |
2935 | fsevents@2.3.3:
2936 | optional: true
2937 |
2938 | gensync@1.0.0-beta.2: {}
2939 |
2940 | get-port@7.1.0: {}
2941 |
2942 | get-source@2.0.12:
2943 | dependencies:
2944 | data-uri-to-buffer: 2.0.2
2945 | source-map: 0.6.1
2946 |
2947 | glob-parent@5.1.2:
2948 | dependencies:
2949 | is-glob: 4.0.3
2950 |
2951 | glob-parent@6.0.2:
2952 | dependencies:
2953 | is-glob: 4.0.3
2954 |
2955 | glob-to-regexp@0.4.1: {}
2956 |
2957 | globals@11.12.0: {}
2958 |
2959 | globals@14.0.0: {}
2960 |
2961 | globals@15.15.0: {}
2962 |
2963 | graceful-fs@4.2.11: {}
2964 |
2965 | graphemer@1.4.0: {}
2966 |
2967 | has-flag@4.0.0: {}
2968 |
2969 | hono@4.7.7: {}
2970 |
2971 | ignore@5.3.2: {}
2972 |
2973 | import-fresh@3.3.1:
2974 | dependencies:
2975 | parent-module: 1.0.1
2976 | resolve-from: 4.0.0
2977 |
2978 | imurmurhash@0.1.4: {}
2979 |
2980 | is-arrayish@0.3.2: {}
2981 |
2982 | is-extglob@2.1.1: {}
2983 |
2984 | is-glob@4.0.3:
2985 | dependencies:
2986 | is-extglob: 2.1.1
2987 |
2988 | is-number@7.0.0: {}
2989 |
2990 | isexe@2.0.0: {}
2991 |
2992 | jiti@2.4.2: {}
2993 |
2994 | js-tokens@4.0.0: {}
2995 |
2996 | js-yaml@4.1.0:
2997 | dependencies:
2998 | argparse: 2.0.1
2999 |
3000 | jsesc@3.1.0: {}
3001 |
3002 | json-buffer@3.0.1: {}
3003 |
3004 | json-schema-traverse@0.4.1: {}
3005 |
3006 | json-stable-stringify-without-jsonify@1.0.1: {}
3007 |
3008 | json5@2.2.3: {}
3009 |
3010 | keyv@4.5.4:
3011 | dependencies:
3012 | json-buffer: 3.0.1
3013 |
3014 | levn@0.4.1:
3015 | dependencies:
3016 | prelude-ls: 1.2.1
3017 | type-check: 0.4.0
3018 |
3019 | lightningcss-darwin-arm64@1.30.1:
3020 | optional: true
3021 |
3022 | lightningcss-darwin-x64@1.30.1:
3023 | optional: true
3024 |
3025 | lightningcss-freebsd-x64@1.30.1:
3026 | optional: true
3027 |
3028 | lightningcss-linux-arm-gnueabihf@1.30.1:
3029 | optional: true
3030 |
3031 | lightningcss-linux-arm64-gnu@1.30.1:
3032 | optional: true
3033 |
3034 | lightningcss-linux-arm64-musl@1.30.1:
3035 | optional: true
3036 |
3037 | lightningcss-linux-x64-gnu@1.30.1:
3038 | optional: true
3039 |
3040 | lightningcss-linux-x64-musl@1.30.1:
3041 | optional: true
3042 |
3043 | lightningcss-win32-arm64-msvc@1.30.1:
3044 | optional: true
3045 |
3046 | lightningcss-win32-x64-msvc@1.30.1:
3047 | optional: true
3048 |
3049 | lightningcss@1.30.1:
3050 | dependencies:
3051 | detect-libc: 2.0.4
3052 | optionalDependencies:
3053 | lightningcss-darwin-arm64: 1.30.1
3054 | lightningcss-darwin-x64: 1.30.1
3055 | lightningcss-freebsd-x64: 1.30.1
3056 | lightningcss-linux-arm-gnueabihf: 1.30.1
3057 | lightningcss-linux-arm64-gnu: 1.30.1
3058 | lightningcss-linux-arm64-musl: 1.30.1
3059 | lightningcss-linux-x64-gnu: 1.30.1
3060 | lightningcss-linux-x64-musl: 1.30.1
3061 | lightningcss-win32-arm64-msvc: 1.30.1
3062 | lightningcss-win32-x64-msvc: 1.30.1
3063 |
3064 | locate-path@6.0.0:
3065 | dependencies:
3066 | p-locate: 5.0.0
3067 |
3068 | lodash.merge@4.6.2: {}
3069 |
3070 | lru-cache@5.1.1:
3071 | dependencies:
3072 | yallist: 3.1.1
3073 |
3074 | magic-string@0.30.17:
3075 | dependencies:
3076 | '@jridgewell/sourcemap-codec': 1.5.0
3077 |
3078 | merge2@1.4.1: {}
3079 |
3080 | micromatch@4.0.8:
3081 | dependencies:
3082 | braces: 3.0.3
3083 | picomatch: 2.3.1
3084 |
3085 | mime@3.0.0: {}
3086 |
3087 | miniflare@4.20250508.3:
3088 | dependencies:
3089 | '@cspotcode/source-map-support': 0.8.1
3090 | acorn: 8.14.0
3091 | acorn-walk: 8.3.2
3092 | exit-hook: 2.2.1
3093 | glob-to-regexp: 0.4.1
3094 | sharp: 0.33.5
3095 | stoppable: 1.1.0
3096 | undici: 5.29.0
3097 | workerd: 1.20250508.0
3098 | ws: 8.18.0
3099 | youch: 3.3.4
3100 | zod: 3.22.3
3101 | transitivePeerDependencies:
3102 | - bufferutil
3103 | - utf-8-validate
3104 |
3105 | miniflare@4.20250525.0:
3106 | dependencies:
3107 | '@cspotcode/source-map-support': 0.8.1
3108 | acorn: 8.14.0
3109 | acorn-walk: 8.3.2
3110 | exit-hook: 2.2.1
3111 | glob-to-regexp: 0.4.1
3112 | sharp: 0.33.5
3113 | stoppable: 1.1.0
3114 | undici: 5.29.0
3115 | workerd: 1.20250525.0
3116 | ws: 8.18.0
3117 | youch: 3.3.4
3118 | zod: 3.22.3
3119 | transitivePeerDependencies:
3120 | - bufferutil
3121 | - utf-8-validate
3122 |
3123 | minimatch@3.1.2:
3124 | dependencies:
3125 | brace-expansion: 1.1.11
3126 |
3127 | minimatch@9.0.5:
3128 | dependencies:
3129 | brace-expansion: 2.0.1
3130 |
3131 | minipass@7.1.2: {}
3132 |
3133 | minizlib@3.0.2:
3134 | dependencies:
3135 | minipass: 7.1.2
3136 |
3137 | mkdirp@3.0.1: {}
3138 |
3139 | ms@2.1.3: {}
3140 |
3141 | mustache@4.2.0: {}
3142 |
3143 | nanoid@3.3.11: {}
3144 |
3145 | natural-compare@1.4.0: {}
3146 |
3147 | node-releases@2.0.19: {}
3148 |
3149 | ohash@2.0.11: {}
3150 |
3151 | optionator@0.9.4:
3152 | dependencies:
3153 | deep-is: 0.1.4
3154 | fast-levenshtein: 2.0.6
3155 | levn: 0.4.1
3156 | prelude-ls: 1.2.1
3157 | type-check: 0.4.0
3158 | word-wrap: 1.2.5
3159 |
3160 | p-limit@3.1.0:
3161 | dependencies:
3162 | yocto-queue: 0.1.0
3163 |
3164 | p-locate@5.0.0:
3165 | dependencies:
3166 | p-limit: 3.1.0
3167 |
3168 | parent-module@1.0.1:
3169 | dependencies:
3170 | callsites: 3.1.0
3171 |
3172 | path-exists@4.0.0: {}
3173 |
3174 | path-key@3.1.1: {}
3175 |
3176 | path-to-regexp@6.3.0: {}
3177 |
3178 | pathe@2.0.3: {}
3179 |
3180 | picocolors@1.1.1: {}
3181 |
3182 | picomatch@2.3.1: {}
3183 |
3184 | picomatch@4.0.2: {}
3185 |
3186 | postcss@8.5.4:
3187 | dependencies:
3188 | nanoid: 3.3.11
3189 | picocolors: 1.1.1
3190 | source-map-js: 1.2.1
3191 |
3192 | prelude-ls@1.2.1: {}
3193 |
3194 | printable-characters@1.0.42: {}
3195 |
3196 | punycode@2.3.1: {}
3197 |
3198 | queue-microtask@1.2.3: {}
3199 |
3200 | react-dom@19.0.0(react@19.0.0):
3201 | dependencies:
3202 | react: 19.0.0
3203 | scheduler: 0.25.0
3204 |
3205 | react-refresh@0.17.0: {}
3206 |
3207 | react@19.0.0: {}
3208 |
3209 | resolve-from@4.0.0: {}
3210 |
3211 | reusify@1.1.0: {}
3212 |
3213 | rollup@4.41.1:
3214 | dependencies:
3215 | '@types/estree': 1.0.7
3216 | optionalDependencies:
3217 | '@rollup/rollup-android-arm-eabi': 4.41.1
3218 | '@rollup/rollup-android-arm64': 4.41.1
3219 | '@rollup/rollup-darwin-arm64': 4.41.1
3220 | '@rollup/rollup-darwin-x64': 4.41.1
3221 | '@rollup/rollup-freebsd-arm64': 4.41.1
3222 | '@rollup/rollup-freebsd-x64': 4.41.1
3223 | '@rollup/rollup-linux-arm-gnueabihf': 4.41.1
3224 | '@rollup/rollup-linux-arm-musleabihf': 4.41.1
3225 | '@rollup/rollup-linux-arm64-gnu': 4.41.1
3226 | '@rollup/rollup-linux-arm64-musl': 4.41.1
3227 | '@rollup/rollup-linux-loongarch64-gnu': 4.41.1
3228 | '@rollup/rollup-linux-powerpc64le-gnu': 4.41.1
3229 | '@rollup/rollup-linux-riscv64-gnu': 4.41.1
3230 | '@rollup/rollup-linux-riscv64-musl': 4.41.1
3231 | '@rollup/rollup-linux-s390x-gnu': 4.41.1
3232 | '@rollup/rollup-linux-x64-gnu': 4.41.1
3233 | '@rollup/rollup-linux-x64-musl': 4.41.1
3234 | '@rollup/rollup-win32-arm64-msvc': 4.41.1
3235 | '@rollup/rollup-win32-ia32-msvc': 4.41.1
3236 | '@rollup/rollup-win32-x64-msvc': 4.41.1
3237 | fsevents: 2.3.3
3238 |
3239 | run-parallel@1.2.0:
3240 | dependencies:
3241 | queue-microtask: 1.2.3
3242 |
3243 | scheduler@0.25.0: {}
3244 |
3245 | semver@6.3.1: {}
3246 |
3247 | semver@7.7.2: {}
3248 |
3249 | sharp@0.33.5:
3250 | dependencies:
3251 | color: 4.2.3
3252 | detect-libc: 2.0.4
3253 | semver: 7.7.2
3254 | optionalDependencies:
3255 | '@img/sharp-darwin-arm64': 0.33.5
3256 | '@img/sharp-darwin-x64': 0.33.5
3257 | '@img/sharp-libvips-darwin-arm64': 1.0.4
3258 | '@img/sharp-libvips-darwin-x64': 1.0.4
3259 | '@img/sharp-libvips-linux-arm': 1.0.5
3260 | '@img/sharp-libvips-linux-arm64': 1.0.4
3261 | '@img/sharp-libvips-linux-s390x': 1.0.4
3262 | '@img/sharp-libvips-linux-x64': 1.0.4
3263 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
3264 | '@img/sharp-libvips-linuxmusl-x64': 1.0.4
3265 | '@img/sharp-linux-arm': 0.33.5
3266 | '@img/sharp-linux-arm64': 0.33.5
3267 | '@img/sharp-linux-s390x': 0.33.5
3268 | '@img/sharp-linux-x64': 0.33.5
3269 | '@img/sharp-linuxmusl-arm64': 0.33.5
3270 | '@img/sharp-linuxmusl-x64': 0.33.5
3271 | '@img/sharp-wasm32': 0.33.5
3272 | '@img/sharp-win32-ia32': 0.33.5
3273 | '@img/sharp-win32-x64': 0.33.5
3274 |
3275 | shebang-command@2.0.0:
3276 | dependencies:
3277 | shebang-regex: 3.0.0
3278 |
3279 | shebang-regex@3.0.0: {}
3280 |
3281 | simple-swizzle@0.2.2:
3282 | dependencies:
3283 | is-arrayish: 0.3.2
3284 |
3285 | source-map-js@1.2.1: {}
3286 |
3287 | source-map@0.6.1: {}
3288 |
3289 | stacktracey@2.1.8:
3290 | dependencies:
3291 | as-table: 1.0.55
3292 | get-source: 2.0.12
3293 |
3294 | stoppable@1.1.0: {}
3295 |
3296 | strip-json-comments@3.1.1: {}
3297 |
3298 | supports-color@7.2.0:
3299 | dependencies:
3300 | has-flag: 4.0.0
3301 |
3302 | tailwindcss@4.1.8: {}
3303 |
3304 | tapable@2.2.2: {}
3305 |
3306 | tar@7.4.3:
3307 | dependencies:
3308 | '@isaacs/fs-minipass': 4.0.1
3309 | chownr: 3.0.0
3310 | minipass: 7.1.2
3311 | minizlib: 3.0.2
3312 | mkdirp: 3.0.1
3313 | yallist: 5.0.0
3314 |
3315 | tinyglobby@0.2.14:
3316 | dependencies:
3317 | fdir: 6.4.5(picomatch@4.0.2)
3318 | picomatch: 4.0.2
3319 |
3320 | to-regex-range@5.0.1:
3321 | dependencies:
3322 | is-number: 7.0.0
3323 |
3324 | ts-api-utils@2.1.0(typescript@5.8.3):
3325 | dependencies:
3326 | typescript: 5.8.3
3327 |
3328 | tslib@2.8.1:
3329 | optional: true
3330 |
3331 | type-check@0.4.0:
3332 | dependencies:
3333 | prelude-ls: 1.2.1
3334 |
3335 | typescript-eslint@8.31.0(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3):
3336 | dependencies:
3337 | '@typescript-eslint/eslint-plugin': 8.31.0(@typescript-eslint/parser@8.31.0(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3)
3338 | '@typescript-eslint/parser': 8.31.0(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3)
3339 | '@typescript-eslint/utils': 8.31.0(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3)
3340 | eslint: 9.27.0(jiti@2.4.2)
3341 | typescript: 5.8.3
3342 | transitivePeerDependencies:
3343 | - supports-color
3344 |
3345 | typescript@5.8.3: {}
3346 |
3347 | ufo@1.6.1: {}
3348 |
3349 | undici-types@6.21.0: {}
3350 |
3351 | undici@5.29.0:
3352 | dependencies:
3353 | '@fastify/busboy': 2.1.1
3354 |
3355 | unenv@2.0.0-rc.17:
3356 | dependencies:
3357 | defu: 6.1.4
3358 | exsolve: 1.0.5
3359 | ohash: 2.0.11
3360 | pathe: 2.0.3
3361 | ufo: 1.6.1
3362 |
3363 | update-browserslist-db@1.1.3(browserslist@4.25.0):
3364 | dependencies:
3365 | browserslist: 4.25.0
3366 | escalade: 3.2.0
3367 | picocolors: 1.1.1
3368 |
3369 | uri-js@4.4.1:
3370 | dependencies:
3371 | punycode: 2.3.1
3372 |
3373 | vite@6.3.5(@types/node@22.15.19)(jiti@2.4.2)(lightningcss@1.30.1):
3374 | dependencies:
3375 | esbuild: 0.25.5
3376 | fdir: 6.4.5(picomatch@4.0.2)
3377 | picomatch: 4.0.2
3378 | postcss: 8.5.4
3379 | rollup: 4.41.1
3380 | tinyglobby: 0.2.14
3381 | optionalDependencies:
3382 | '@types/node': 22.15.19
3383 | fsevents: 2.3.3
3384 | jiti: 2.4.2
3385 | lightningcss: 1.30.1
3386 |
3387 | which@2.0.2:
3388 | dependencies:
3389 | isexe: 2.0.0
3390 |
3391 | word-wrap@1.2.5: {}
3392 |
3393 | workerd@1.20250508.0:
3394 | optionalDependencies:
3395 | '@cloudflare/workerd-darwin-64': 1.20250508.0
3396 | '@cloudflare/workerd-darwin-arm64': 1.20250508.0
3397 | '@cloudflare/workerd-linux-64': 1.20250508.0
3398 | '@cloudflare/workerd-linux-arm64': 1.20250508.0
3399 | '@cloudflare/workerd-windows-64': 1.20250508.0
3400 |
3401 | workerd@1.20250525.0:
3402 | optionalDependencies:
3403 | '@cloudflare/workerd-darwin-64': 1.20250525.0
3404 | '@cloudflare/workerd-darwin-arm64': 1.20250525.0
3405 | '@cloudflare/workerd-linux-64': 1.20250525.0
3406 | '@cloudflare/workerd-linux-arm64': 1.20250525.0
3407 | '@cloudflare/workerd-windows-64': 1.20250525.0
3408 |
3409 | wrangler@4.18.0:
3410 | dependencies:
3411 | '@cloudflare/kv-asset-handler': 0.4.0
3412 | '@cloudflare/unenv-preset': 2.3.2(unenv@2.0.0-rc.17)(workerd@1.20250525.0)
3413 | blake3-wasm: 2.1.5
3414 | esbuild: 0.25.4
3415 | miniflare: 4.20250525.0
3416 | path-to-regexp: 6.3.0
3417 | unenv: 2.0.0-rc.17
3418 | workerd: 1.20250525.0
3419 | optionalDependencies:
3420 | fsevents: 2.3.3
3421 | transitivePeerDependencies:
3422 | - bufferutil
3423 | - utf-8-validate
3424 |
3425 | ws@8.18.0: {}
3426 |
3427 | yallist@3.1.1: {}
3428 |
3429 | yallist@5.0.0: {}
3430 |
3431 | yocto-queue@0.1.0: {}
3432 |
3433 | youch@3.3.4:
3434 | dependencies:
3435 | cookie: 0.7.2
3436 | mustache: 4.2.0
3437 | stacktracey: 2.1.8
3438 |
3439 | zod@3.22.3: {}
3440 |
--------------------------------------------------------------------------------
/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/houhoz/cf-workers-telegram-image/6141f5adf3835ed58e6e25184fb10fd4ebaae462/preview.png
--------------------------------------------------------------------------------
/public/vite.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/react-app/App.tsx:
--------------------------------------------------------------------------------
1 | import { useState, useRef } from 'react';
2 | import type { ChangeEvent, FormEvent } from 'react';
3 |
4 | function App() {
5 | const [selectedFile, setSelectedFile] = useState(null);
6 | const [previewUrl, setPreviewUrl] = useState(null);
7 | const [pending, setPending] = useState(false);
8 | const fileInputRef = useRef(null);
9 |
10 | const [phonos, setPhonos] = useState<
11 | {
12 | file_id: string;
13 | file_unique_id: string;
14 | file_size: number;
15 | width: number;
16 | height: number;
17 | }[]
18 | >([]);
19 |
20 | const handleFileChange = (e: ChangeEvent) => {
21 | if (e.target.files && e.target.files[0]) {
22 | const file = e.target.files[0];
23 | setSelectedFile(file);
24 |
25 | // Create preview URL
26 | const reader = new FileReader();
27 | reader.onloadend = () => {
28 | setPreviewUrl(reader.result as string);
29 | };
30 | reader.readAsDataURL(file);
31 | }
32 | };
33 |
34 | const handleSubmit = async (e: FormEvent) => {
35 | e.preventDefault();
36 | if (!selectedFile) return;
37 | setPending(true);
38 |
39 | const formData = new FormData(e.currentTarget);
40 |
41 | try {
42 | // 客户端处理上传状态
43 | const response = await fetch('/api/upload', {
44 | method: 'POST',
45 | body: formData,
46 | });
47 |
48 | if (response.ok) {
49 | const res = await response.json();
50 | setPhonos(res.phonos);
51 | alert('图片已成功上传到 Telegram');
52 | // Reset form
53 | setSelectedFile(null);
54 | setPreviewUrl(null);
55 | if (fileInputRef.current) {
56 | fileInputRef.current.value = '';
57 | }
58 | } else {
59 | alert('上传失败,请重试');
60 | }
61 | } catch (error) {
62 | console.error('Upload error:', error);
63 | alert('上传失败,请重试');
64 | } finally {
65 | setPending(false);
66 | }
67 | };
68 |
69 | return (
70 |
71 |
72 | 图片上传到 Telegram
73 |
74 |
75 |
150 |
151 | {/* 展示 phonos */}
152 | {phonos.length > 0 && (
153 |
154 |
已上传的图片
155 |
156 | {phonos.map((photo) => (
157 |
161 |
162 |
163 |

168 |
169 |
170 |
171 |
172 | ID:
173 |
174 | {photo.file_unique_id}
175 |
176 |
177 |
178 | 尺寸:
179 |
180 | {photo.width} × {photo.height}
181 |
182 |
183 |
184 | 大小:
185 |
186 | {(photo.file_size / 1024).toFixed(1)} KB
187 |
188 |
189 |
190 |
191 |
192 |
214 |
215 |
216 |
217 | ))}
218 |
219 |
220 | )}
221 |
222 |
223 | 图片将直接发送到配置的 Telegram 频道
224 |
225 |
226 | );
227 | }
228 |
229 | export default App;
230 |
--------------------------------------------------------------------------------
/src/react-app/index.css:
--------------------------------------------------------------------------------
1 | @import "tailwindcss";
2 |
--------------------------------------------------------------------------------
/src/react-app/main.tsx:
--------------------------------------------------------------------------------
1 | import { StrictMode } from "react";
2 | import { createRoot } from "react-dom/client";
3 | import "./index.css";
4 | import App from "./App.tsx";
5 |
6 | createRoot(document.getElementById("root")!).render(
7 |
8 |
9 | ,
10 | );
11 |
--------------------------------------------------------------------------------
/src/react-app/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/worker/index.ts:
--------------------------------------------------------------------------------
1 | import { Hono } from 'hono';
2 |
3 | type Bindings = {
4 | TG_BOT_TOKEN: string;
5 | TG_CHAT_ID: string;
6 | };
7 |
8 | const app = new Hono<{ Bindings: Bindings }>();
9 |
10 | app.get('/api/get_photo/:file_id', async (c) => {
11 | const { TG_BOT_TOKEN } = c.env;
12 | const file_id = c.req.param('file_id');
13 |
14 | const getFileResponse = await fetch(
15 | `https://api.telegram.org/bot${TG_BOT_TOKEN}/getFile?file_id=${file_id}`
16 | );
17 | const getFileRes: {
18 | ok: boolean;
19 | result: { file_path: string };
20 | } = await getFileResponse.json();
21 |
22 | if (getFileRes.ok) {
23 | const file_path = getFileRes.result.file_path;
24 | const imageResponse = await fetch(
25 | `https://api.telegram.org/file/bot${TG_BOT_TOKEN}/${file_path}`
26 | );
27 | const imageRes = await imageResponse.arrayBuffer();
28 |
29 | return new Response(imageRes, {
30 | status: 200,
31 | headers: {
32 | 'Content-Type': 'image/png',
33 | },
34 | });
35 | } else {
36 | return c.json({
37 | status: 'error',
38 | message: '获取文件失败',
39 | });
40 | }
41 | });
42 |
43 | app.get('/api/getPhoto', (c) => c.json({ name: 'Cloudflare' }));
44 |
45 | // 上传图片处理
46 | app.post('/api/upload', async (c) => {
47 | const { TG_BOT_TOKEN, TG_CHAT_ID } = c.env;
48 |
49 | const formData = await c.req.formData();
50 | formData.append('chat_id', TG_CHAT_ID);
51 |
52 | try {
53 | const response = await fetch(
54 | `https://api.telegram.org/bot${TG_BOT_TOKEN}/sendPhoto`,
55 | {
56 | method: 'POST',
57 | body: formData,
58 | }
59 | );
60 |
61 | const res: {
62 | ok: boolean;
63 | result: { photo: { file_id: string }[] };
64 | description: string;
65 | } = await response.json();
66 |
67 | if (res.ok) {
68 | const photo = res.result.photo;
69 | return c.json({
70 | status: 'success',
71 | phonos: photo,
72 | });
73 | } else {
74 | return c.json({
75 | status: 'error',
76 | message: res.description || '上传失败',
77 | });
78 | }
79 | } catch (error: unknown) {
80 | console.error(error);
81 | }
82 | });
83 |
84 | export default app;
85 |
--------------------------------------------------------------------------------
/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
4 | "target": "ES2020",
5 | "useDefineForClassFields": true,
6 | "lib": ["ES2020", "DOM", "DOM.Iterable"],
7 | "module": "ESNext",
8 | "skipLibCheck": true,
9 |
10 | /* Bundler mode */
11 | "moduleResolution": "bundler",
12 | "allowImportingTsExtensions": true,
13 | "isolatedModules": true,
14 | "moduleDetection": "force",
15 | "noEmit": true,
16 | "jsx": "react-jsx",
17 |
18 | /* Linting */
19 | "strict": true,
20 | "noUnusedLocals": true,
21 | "noUnusedParameters": true,
22 | "noFallthroughCasesInSwitch": true,
23 | "noUncheckedSideEffectImports": true
24 | },
25 | "include": ["src/react-app"]
26 | }
27 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [],
3 | "references": [
4 | { "path": "./tsconfig.app.json" },
5 | { "path": "./tsconfig.node.json" },
6 | { "path": "./tsconfig.worker.json" }
7 | ],
8 | "compilerOptions": {
9 | "types": [
10 | "./worker-configuration.d.ts",
11 | "node"
12 | ]
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
4 | "target": "ES2022",
5 | "lib": ["ES2023"],
6 | "module": "ESNext",
7 | "skipLibCheck": true,
8 |
9 | /* Bundler mode */
10 | "moduleResolution": "bundler",
11 | "allowImportingTsExtensions": true,
12 | "isolatedModules": true,
13 | "moduleDetection": "force",
14 | "noEmit": true,
15 |
16 | /* Linting */
17 | "strict": true,
18 | "noUnusedLocals": true,
19 | "noUnusedParameters": true,
20 | "noFallthroughCasesInSwitch": true,
21 | "noUncheckedSideEffectImports": true
22 | },
23 | "include": ["vite.config.ts"]
24 | }
25 |
--------------------------------------------------------------------------------
/tsconfig.worker.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.node.json",
3 | "compilerOptions": {
4 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.worker.tsbuildinfo",
5 | "types": ["vite/client", "./worker-configuration.d.ts"]
6 | },
7 | "include": ["src/worker"]
8 | }
9 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite';
2 | import react from '@vitejs/plugin-react';
3 | import { cloudflare } from '@cloudflare/vite-plugin';
4 | import tailwindcss from '@tailwindcss/vite';
5 |
6 | export default defineConfig({
7 | plugins: [react(), cloudflare(), tailwindcss()],
8 | });
9 |
--------------------------------------------------------------------------------
/wrangler.json:
--------------------------------------------------------------------------------
1 | /**
2 | * For more details on how to configure Wrangler, refer to:
3 | * https://developers.cloudflare.com/workers/wrangler/configuration/
4 | */
5 | {
6 | "$schema": "node_modules/wrangler/config-schema.json",
7 | "name": "cf-workers-telegram-image",
8 | "main": "./src/worker/index.ts",
9 | "compatibility_date": "2025-04-01",
10 | "compatibility_flags": [
11 | "nodejs_compat"
12 | ],
13 | "observability": {
14 | "enabled": true
15 | },
16 | "upload_source_maps": true,
17 | "assets": {
18 | "not_found_handling": "single-page-application"
19 | }
20 | /**
21 | * Smart Placement
22 | * Docs: https://developers.cloudflare.com/workers/configuration/smart-placement/#smart-placement
23 | */
24 | // "placement": { "mode": "smart" },
25 |
26 | /**
27 | * Bindings
28 | * Bindings allow your Worker to interact with resources on the Cloudflare Developer Platform, including
29 | * databases, object storage, AI inference, real-time communication and more.
30 | * https://developers.cloudflare.com/workers/runtime-apis/bindings/
31 | */
32 |
33 | /**
34 | * Environment Variables
35 | * https://developers.cloudflare.com/workers/wrangler/configuration/#environment-variables
36 | */
37 | // "vars": {
38 | // "TG_BOT_TOKEN": "",
39 | // "TG_CHAT_ID": ""
40 | // }
41 | /**
42 | * Note: Use secrets to store sensitive data.
43 | * https://developers.cloudflare.com/workers/configuration/secrets/
44 | */
45 |
46 | /**
47 | * Static Assets
48 | * https://developers.cloudflare.com/workers/static-assets/binding/
49 | */
50 | // "assets": { "directory": "./public/", "binding": "ASSETS" },
51 |
52 | /**
53 | * Service Bindings (communicate between multiple Workers)
54 | * https://developers.cloudflare.com/workers/wrangler/configuration/#service-bindings
55 | */
56 | // "services": [{ "binding": "MY_SERVICE", "service": "my-service" }]
57 | }
58 |
--------------------------------------------------------------------------------