├── .gitignore ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── public └── vite.svg ├── src ├── AIOptions │ └── index.jsx ├── App.css ├── App.jsx ├── assets │ └── react.svg ├── components │ ├── OptionSelection.jsx │ └── Translation.jsx ├── index.css └── main.jsx └── vite.config.js /.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 | .env 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

AI-Helper

2 |

This project is a simple implementation of the GPT-3 API, built using Vite and React. It allows users to ask questions, translate languages, simplify text, correct grammar, summarize to a 2nd grade level, convert movie titles to emojis, and explain code, as well as convert JavaScript to Python.

3 |

Installation

4 | 11 |

Features

12 | 23 |

Todo

24 | 27 |

Note

28 |

Make sure to replace API_KEY with your own GPT-3 API key in the .env file before running the application.

29 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 11 | 12 | ChatGPT with React 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-ai-app", 3 | "version": "0.0.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "react-ai-app", 9 | "version": "0.0.0", 10 | "dependencies": { 11 | "axios": "^1.2.3", 12 | "openai": "^3.1.0", 13 | "react": "^18.2.0", 14 | "react-dom": "^18.2.0" 15 | }, 16 | "devDependencies": { 17 | "@types/react": "^18.0.26", 18 | "@types/react-dom": "^18.0.9", 19 | "@vitejs/plugin-react": "^3.0.0", 20 | "vite": "^4.0.0" 21 | } 22 | }, 23 | "node_modules/@ampproject/remapping": { 24 | "version": "2.2.0", 25 | "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", 26 | "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", 27 | "dev": true, 28 | "dependencies": { 29 | "@jridgewell/gen-mapping": "^0.1.0", 30 | "@jridgewell/trace-mapping": "^0.3.9" 31 | }, 32 | "engines": { 33 | "node": ">=6.0.0" 34 | } 35 | }, 36 | "node_modules/@babel/code-frame": { 37 | "version": "7.18.6", 38 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", 39 | "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", 40 | "dev": true, 41 | "dependencies": { 42 | "@babel/highlight": "^7.18.6" 43 | }, 44 | "engines": { 45 | "node": ">=6.9.0" 46 | } 47 | }, 48 | "node_modules/@babel/compat-data": { 49 | "version": "7.20.5", 50 | "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz", 51 | "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==", 52 | "dev": true, 53 | "engines": { 54 | "node": ">=6.9.0" 55 | } 56 | }, 57 | "node_modules/@babel/core": { 58 | "version": "7.20.5", 59 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.5.tgz", 60 | "integrity": "sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==", 61 | "dev": true, 62 | "dependencies": { 63 | "@ampproject/remapping": "^2.1.0", 64 | "@babel/code-frame": "^7.18.6", 65 | "@babel/generator": "^7.20.5", 66 | "@babel/helper-compilation-targets": "^7.20.0", 67 | "@babel/helper-module-transforms": "^7.20.2", 68 | "@babel/helpers": "^7.20.5", 69 | "@babel/parser": "^7.20.5", 70 | "@babel/template": "^7.18.10", 71 | "@babel/traverse": "^7.20.5", 72 | "@babel/types": "^7.20.5", 73 | "convert-source-map": "^1.7.0", 74 | "debug": "^4.1.0", 75 | "gensync": "^1.0.0-beta.2", 76 | "json5": "^2.2.1", 77 | "semver": "^6.3.0" 78 | }, 79 | "engines": { 80 | "node": ">=6.9.0" 81 | }, 82 | "funding": { 83 | "type": "opencollective", 84 | "url": "https://opencollective.com/babel" 85 | } 86 | }, 87 | "node_modules/@babel/generator": { 88 | "version": "7.20.5", 89 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz", 90 | "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==", 91 | "dev": true, 92 | "dependencies": { 93 | "@babel/types": "^7.20.5", 94 | "@jridgewell/gen-mapping": "^0.3.2", 95 | "jsesc": "^2.5.1" 96 | }, 97 | "engines": { 98 | "node": ">=6.9.0" 99 | } 100 | }, 101 | "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { 102 | "version": "0.3.2", 103 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", 104 | "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", 105 | "dev": true, 106 | "dependencies": { 107 | "@jridgewell/set-array": "^1.0.1", 108 | "@jridgewell/sourcemap-codec": "^1.4.10", 109 | "@jridgewell/trace-mapping": "^0.3.9" 110 | }, 111 | "engines": { 112 | "node": ">=6.0.0" 113 | } 114 | }, 115 | "node_modules/@babel/helper-compilation-targets": { 116 | "version": "7.20.0", 117 | "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", 118 | "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", 119 | "dev": true, 120 | "dependencies": { 121 | "@babel/compat-data": "^7.20.0", 122 | "@babel/helper-validator-option": "^7.18.6", 123 | "browserslist": "^4.21.3", 124 | "semver": "^6.3.0" 125 | }, 126 | "engines": { 127 | "node": ">=6.9.0" 128 | }, 129 | "peerDependencies": { 130 | "@babel/core": "^7.0.0" 131 | } 132 | }, 133 | "node_modules/@babel/helper-environment-visitor": { 134 | "version": "7.18.9", 135 | "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", 136 | "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", 137 | "dev": true, 138 | "engines": { 139 | "node": ">=6.9.0" 140 | } 141 | }, 142 | "node_modules/@babel/helper-function-name": { 143 | "version": "7.19.0", 144 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", 145 | "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", 146 | "dev": true, 147 | "dependencies": { 148 | "@babel/template": "^7.18.10", 149 | "@babel/types": "^7.19.0" 150 | }, 151 | "engines": { 152 | "node": ">=6.9.0" 153 | } 154 | }, 155 | "node_modules/@babel/helper-hoist-variables": { 156 | "version": "7.18.6", 157 | "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", 158 | "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", 159 | "dev": true, 160 | "dependencies": { 161 | "@babel/types": "^7.18.6" 162 | }, 163 | "engines": { 164 | "node": ">=6.9.0" 165 | } 166 | }, 167 | "node_modules/@babel/helper-module-imports": { 168 | "version": "7.18.6", 169 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", 170 | "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", 171 | "dev": true, 172 | "dependencies": { 173 | "@babel/types": "^7.18.6" 174 | }, 175 | "engines": { 176 | "node": ">=6.9.0" 177 | } 178 | }, 179 | "node_modules/@babel/helper-module-transforms": { 180 | "version": "7.20.2", 181 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", 182 | "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", 183 | "dev": true, 184 | "dependencies": { 185 | "@babel/helper-environment-visitor": "^7.18.9", 186 | "@babel/helper-module-imports": "^7.18.6", 187 | "@babel/helper-simple-access": "^7.20.2", 188 | "@babel/helper-split-export-declaration": "^7.18.6", 189 | "@babel/helper-validator-identifier": "^7.19.1", 190 | "@babel/template": "^7.18.10", 191 | "@babel/traverse": "^7.20.1", 192 | "@babel/types": "^7.20.2" 193 | }, 194 | "engines": { 195 | "node": ">=6.9.0" 196 | } 197 | }, 198 | "node_modules/@babel/helper-plugin-utils": { 199 | "version": "7.20.2", 200 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", 201 | "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", 202 | "dev": true, 203 | "engines": { 204 | "node": ">=6.9.0" 205 | } 206 | }, 207 | "node_modules/@babel/helper-simple-access": { 208 | "version": "7.20.2", 209 | "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", 210 | "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", 211 | "dev": true, 212 | "dependencies": { 213 | "@babel/types": "^7.20.2" 214 | }, 215 | "engines": { 216 | "node": ">=6.9.0" 217 | } 218 | }, 219 | "node_modules/@babel/helper-split-export-declaration": { 220 | "version": "7.18.6", 221 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", 222 | "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", 223 | "dev": true, 224 | "dependencies": { 225 | "@babel/types": "^7.18.6" 226 | }, 227 | "engines": { 228 | "node": ">=6.9.0" 229 | } 230 | }, 231 | "node_modules/@babel/helper-string-parser": { 232 | "version": "7.19.4", 233 | "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", 234 | "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", 235 | "dev": true, 236 | "engines": { 237 | "node": ">=6.9.0" 238 | } 239 | }, 240 | "node_modules/@babel/helper-validator-identifier": { 241 | "version": "7.19.1", 242 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", 243 | "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", 244 | "dev": true, 245 | "engines": { 246 | "node": ">=6.9.0" 247 | } 248 | }, 249 | "node_modules/@babel/helper-validator-option": { 250 | "version": "7.18.6", 251 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", 252 | "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", 253 | "dev": true, 254 | "engines": { 255 | "node": ">=6.9.0" 256 | } 257 | }, 258 | "node_modules/@babel/helpers": { 259 | "version": "7.20.6", 260 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", 261 | "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==", 262 | "dev": true, 263 | "dependencies": { 264 | "@babel/template": "^7.18.10", 265 | "@babel/traverse": "^7.20.5", 266 | "@babel/types": "^7.20.5" 267 | }, 268 | "engines": { 269 | "node": ">=6.9.0" 270 | } 271 | }, 272 | "node_modules/@babel/highlight": { 273 | "version": "7.18.6", 274 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", 275 | "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", 276 | "dev": true, 277 | "dependencies": { 278 | "@babel/helper-validator-identifier": "^7.18.6", 279 | "chalk": "^2.0.0", 280 | "js-tokens": "^4.0.0" 281 | }, 282 | "engines": { 283 | "node": ">=6.9.0" 284 | } 285 | }, 286 | "node_modules/@babel/parser": { 287 | "version": "7.20.5", 288 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz", 289 | "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==", 290 | "dev": true, 291 | "bin": { 292 | "parser": "bin/babel-parser.js" 293 | }, 294 | "engines": { 295 | "node": ">=6.0.0" 296 | } 297 | }, 298 | "node_modules/@babel/plugin-transform-react-jsx-self": { 299 | "version": "7.18.6", 300 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz", 301 | "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==", 302 | "dev": true, 303 | "dependencies": { 304 | "@babel/helper-plugin-utils": "^7.18.6" 305 | }, 306 | "engines": { 307 | "node": ">=6.9.0" 308 | }, 309 | "peerDependencies": { 310 | "@babel/core": "^7.0.0-0" 311 | } 312 | }, 313 | "node_modules/@babel/plugin-transform-react-jsx-source": { 314 | "version": "7.19.6", 315 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz", 316 | "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==", 317 | "dev": true, 318 | "dependencies": { 319 | "@babel/helper-plugin-utils": "^7.19.0" 320 | }, 321 | "engines": { 322 | "node": ">=6.9.0" 323 | }, 324 | "peerDependencies": { 325 | "@babel/core": "^7.0.0-0" 326 | } 327 | }, 328 | "node_modules/@babel/template": { 329 | "version": "7.18.10", 330 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", 331 | "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", 332 | "dev": true, 333 | "dependencies": { 334 | "@babel/code-frame": "^7.18.6", 335 | "@babel/parser": "^7.18.10", 336 | "@babel/types": "^7.18.10" 337 | }, 338 | "engines": { 339 | "node": ">=6.9.0" 340 | } 341 | }, 342 | "node_modules/@babel/traverse": { 343 | "version": "7.20.5", 344 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz", 345 | "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==", 346 | "dev": true, 347 | "dependencies": { 348 | "@babel/code-frame": "^7.18.6", 349 | "@babel/generator": "^7.20.5", 350 | "@babel/helper-environment-visitor": "^7.18.9", 351 | "@babel/helper-function-name": "^7.19.0", 352 | "@babel/helper-hoist-variables": "^7.18.6", 353 | "@babel/helper-split-export-declaration": "^7.18.6", 354 | "@babel/parser": "^7.20.5", 355 | "@babel/types": "^7.20.5", 356 | "debug": "^4.1.0", 357 | "globals": "^11.1.0" 358 | }, 359 | "engines": { 360 | "node": ">=6.9.0" 361 | } 362 | }, 363 | "node_modules/@babel/types": { 364 | "version": "7.20.5", 365 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz", 366 | "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==", 367 | "dev": true, 368 | "dependencies": { 369 | "@babel/helper-string-parser": "^7.19.4", 370 | "@babel/helper-validator-identifier": "^7.19.1", 371 | "to-fast-properties": "^2.0.0" 372 | }, 373 | "engines": { 374 | "node": ">=6.9.0" 375 | } 376 | }, 377 | "node_modules/@esbuild/android-arm": { 378 | "version": "0.16.8", 379 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.8.tgz", 380 | "integrity": "sha512-r/qxYWkC3gY+Uq24wZacAUevGGb6d7d8VpyO8R0HGg31LXVi+eUr8XxHLCcmVzAjRjlZsZfzPelGpAKP/DafKg==", 381 | "cpu": [ 382 | "arm" 383 | ], 384 | "dev": true, 385 | "optional": true, 386 | "os": [ 387 | "android" 388 | ], 389 | "engines": { 390 | "node": ">=12" 391 | } 392 | }, 393 | "node_modules/@esbuild/android-arm64": { 394 | "version": "0.16.8", 395 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.8.tgz", 396 | "integrity": "sha512-TGQM/tdy5EV1KoFHu0+cMrKvPR8UBLGEfwS84PTCJ07KVp21Fr488aFEL2TCamz9CxoF1np36kY6XOSdLncg2Q==", 397 | "cpu": [ 398 | "arm64" 399 | ], 400 | "dev": true, 401 | "optional": true, 402 | "os": [ 403 | "android" 404 | ], 405 | "engines": { 406 | "node": ">=12" 407 | } 408 | }, 409 | "node_modules/@esbuild/android-x64": { 410 | "version": "0.16.8", 411 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.8.tgz", 412 | "integrity": "sha512-HtA4BNfrf5Nyoz3G2IS3qW4A0yckPJ1NjCMA3SiOw3zS1IfpMkbepDGp/Gdokc/tASFd38IP2uIL3W6bHJzAQw==", 413 | "cpu": [ 414 | "x64" 415 | ], 416 | "dev": true, 417 | "optional": true, 418 | "os": [ 419 | "android" 420 | ], 421 | "engines": { 422 | "node": ">=12" 423 | } 424 | }, 425 | "node_modules/@esbuild/darwin-arm64": { 426 | "version": "0.16.8", 427 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.8.tgz", 428 | "integrity": "sha512-Ks8K1HGFf6LEjLnnVqB/zyaJcv7zMjbJ9txRZAwQwj+bzg8/AP0TmLBMJf9Ahwn6ATnHrhORtpydP8A/mNthXg==", 429 | "cpu": [ 430 | "arm64" 431 | ], 432 | "dev": true, 433 | "optional": true, 434 | "os": [ 435 | "darwin" 436 | ], 437 | "engines": { 438 | "node": ">=12" 439 | } 440 | }, 441 | "node_modules/@esbuild/darwin-x64": { 442 | "version": "0.16.8", 443 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.8.tgz", 444 | "integrity": "sha512-XXh2070hatspZdG/uPqyHLFlHlGbytvT4JlqZuTU3AizcyOvmatPBSnuARvwCtJMw30wjjehcYY8DWPZ5UF2og==", 445 | "cpu": [ 446 | "x64" 447 | ], 448 | "dev": true, 449 | "optional": true, 450 | "os": [ 451 | "darwin" 452 | ], 453 | "engines": { 454 | "node": ">=12" 455 | } 456 | }, 457 | "node_modules/@esbuild/freebsd-arm64": { 458 | "version": "0.16.8", 459 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.8.tgz", 460 | "integrity": "sha512-6DJuU3+tG9LcHCG/4K3e0AnqmmKWhUc9WDNIhLHOOdleafXwZeFvsqwfyaowNg9yUw5KipRLvV3JJMQ8kT1aPg==", 461 | "cpu": [ 462 | "arm64" 463 | ], 464 | "dev": true, 465 | "optional": true, 466 | "os": [ 467 | "freebsd" 468 | ], 469 | "engines": { 470 | "node": ">=12" 471 | } 472 | }, 473 | "node_modules/@esbuild/freebsd-x64": { 474 | "version": "0.16.8", 475 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.8.tgz", 476 | "integrity": "sha512-UcsCaR25C0tZWnoImprPzr7vMEMjLImlTQAIfWXU2wvjF4gBWKO9GEH2JlsKYqBjfWfGgH+HHoGSF/evZbKyxA==", 477 | "cpu": [ 478 | "x64" 479 | ], 480 | "dev": true, 481 | "optional": true, 482 | "os": [ 483 | "freebsd" 484 | ], 485 | "engines": { 486 | "node": ">=12" 487 | } 488 | }, 489 | "node_modules/@esbuild/linux-arm": { 490 | "version": "0.16.8", 491 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.8.tgz", 492 | "integrity": "sha512-Hn36NbKd6Prh0Ehv1A2ObjfXtN2g81jTpmq1+uRLHrW7CJW+W8GdVgOCVwyeupADUIOOa8bars6IZGcjkwq21w==", 493 | "cpu": [ 494 | "arm" 495 | ], 496 | "dev": true, 497 | "optional": true, 498 | "os": [ 499 | "linux" 500 | ], 501 | "engines": { 502 | "node": ">=12" 503 | } 504 | }, 505 | "node_modules/@esbuild/linux-arm64": { 506 | "version": "0.16.8", 507 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.8.tgz", 508 | "integrity": "sha512-WTL1v/OhSxgE7rEELRFNWskym0e+hKDMl4JZs7jpQp7218yJPOjdOEWsbzVEYv4G1cbbtWFvp9DtaAONtdCW5w==", 509 | "cpu": [ 510 | "arm64" 511 | ], 512 | "dev": true, 513 | "optional": true, 514 | "os": [ 515 | "linux" 516 | ], 517 | "engines": { 518 | "node": ">=12" 519 | } 520 | }, 521 | "node_modules/@esbuild/linux-ia32": { 522 | "version": "0.16.8", 523 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.8.tgz", 524 | "integrity": "sha512-Jt+8YBFR2Pk68oS7E9z9PtmgJrDonGdEW3Camb2plZcztKpu/OxfnxFu8f41+TYpKhzUDm5uNMwqxRH3yDYrsQ==", 525 | "cpu": [ 526 | "ia32" 527 | ], 528 | "dev": true, 529 | "optional": true, 530 | "os": [ 531 | "linux" 532 | ], 533 | "engines": { 534 | "node": ">=12" 535 | } 536 | }, 537 | "node_modules/@esbuild/linux-loong64": { 538 | "version": "0.16.8", 539 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.8.tgz", 540 | "integrity": "sha512-P+5J/U/WwPEwcKOFTlTQBK6Gqw4OytpfBvR2V+kBRb5jujwMOQ1aG8iKX14DAwCLks1YHXrXPwXXDPNWEWC59A==", 541 | "cpu": [ 542 | "loong64" 543 | ], 544 | "dev": true, 545 | "optional": true, 546 | "os": [ 547 | "linux" 548 | ], 549 | "engines": { 550 | "node": ">=12" 551 | } 552 | }, 553 | "node_modules/@esbuild/linux-mips64el": { 554 | "version": "0.16.8", 555 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.8.tgz", 556 | "integrity": "sha512-RDSnljcka9UkVxcLtWv2lG5zcqkZUxIPY47ZSKytv4aoo8b05dH1gnKVWrxBZ+owp3dX48s2lXm6zp3hZHl8qw==", 557 | "cpu": [ 558 | "mips64el" 559 | ], 560 | "dev": true, 561 | "optional": true, 562 | "os": [ 563 | "linux" 564 | ], 565 | "engines": { 566 | "node": ">=12" 567 | } 568 | }, 569 | "node_modules/@esbuild/linux-ppc64": { 570 | "version": "0.16.8", 571 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.8.tgz", 572 | "integrity": "sha512-fNGvIKXyigXYhSflraBsqR/EBhXhuH0/0r7IpU+3reh+8yX3VjowjC/dwmqHDOSQXbcj+HJb1o9kWYi+fJQ/3g==", 573 | "cpu": [ 574 | "ppc64" 575 | ], 576 | "dev": true, 577 | "optional": true, 578 | "os": [ 579 | "linux" 580 | ], 581 | "engines": { 582 | "node": ">=12" 583 | } 584 | }, 585 | "node_modules/@esbuild/linux-riscv64": { 586 | "version": "0.16.8", 587 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.8.tgz", 588 | "integrity": "sha512-CsE1IKyVq/Y55PDnBUvm/e7XfvBgfb5kZxHbIEdmB9xt6cTcBkaVvv8EwLDZuYPkYI60WGl0UwyYYx9B2LLgkg==", 589 | "cpu": [ 590 | "riscv64" 591 | ], 592 | "dev": true, 593 | "optional": true, 594 | "os": [ 595 | "linux" 596 | ], 597 | "engines": { 598 | "node": ">=12" 599 | } 600 | }, 601 | "node_modules/@esbuild/linux-s390x": { 602 | "version": "0.16.8", 603 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.8.tgz", 604 | "integrity": "sha512-k8RIN4M+GWQAfJ/oGqwxZlpzOyGF8mxp5mH1A1WUJrpSUo4pe0zkq2EoP1KMQbYkjeJi45YsjwK3IOnSoueXbA==", 605 | "cpu": [ 606 | "s390x" 607 | ], 608 | "dev": true, 609 | "optional": true, 610 | "os": [ 611 | "linux" 612 | ], 613 | "engines": { 614 | "node": ">=12" 615 | } 616 | }, 617 | "node_modules/@esbuild/linux-x64": { 618 | "version": "0.16.8", 619 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.8.tgz", 620 | "integrity": "sha512-u0hOo4E9PKyVDmPgJNeip1Tg63wxq+3KBJZKQFblqCl+d5N7n1h7pFwdN5ZzeLaaE645ep8aXzf76ndGnyOypg==", 621 | "cpu": [ 622 | "x64" 623 | ], 624 | "dev": true, 625 | "optional": true, 626 | "os": [ 627 | "linux" 628 | ], 629 | "engines": { 630 | "node": ">=12" 631 | } 632 | }, 633 | "node_modules/@esbuild/netbsd-x64": { 634 | "version": "0.16.8", 635 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.8.tgz", 636 | "integrity": "sha512-wtENU7TOrnEbUes9aQuNe5PeBM4cTK5dn1W7v6XCr1LatJxAOn6Jn8yDGRsa2uKeEbAS5HeYx7uBAbTBd98OXQ==", 637 | "cpu": [ 638 | "x64" 639 | ], 640 | "dev": true, 641 | "optional": true, 642 | "os": [ 643 | "netbsd" 644 | ], 645 | "engines": { 646 | "node": ">=12" 647 | } 648 | }, 649 | "node_modules/@esbuild/openbsd-x64": { 650 | "version": "0.16.8", 651 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.8.tgz", 652 | "integrity": "sha512-Y0DRVd/PIiutCpAYvRZHkpDNN3tdSQ1oyKy6xoh5TFTElAmzdlO7CO8ABs8689gq47lJ466cQEq9adJrKXrgXg==", 653 | "cpu": [ 654 | "x64" 655 | ], 656 | "dev": true, 657 | "optional": true, 658 | "os": [ 659 | "openbsd" 660 | ], 661 | "engines": { 662 | "node": ">=12" 663 | } 664 | }, 665 | "node_modules/@esbuild/sunos-x64": { 666 | "version": "0.16.8", 667 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.8.tgz", 668 | "integrity": "sha512-eKg0I3C5z4NTF396Yo9QByXA8DdRS7QiYPFf6JHcED0BanyLW/jX8csUy96wyGivTNrmU0mCOShbeLgzb0eX7w==", 669 | "cpu": [ 670 | "x64" 671 | ], 672 | "dev": true, 673 | "optional": true, 674 | "os": [ 675 | "sunos" 676 | ], 677 | "engines": { 678 | "node": ">=12" 679 | } 680 | }, 681 | "node_modules/@esbuild/win32-arm64": { 682 | "version": "0.16.8", 683 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.8.tgz", 684 | "integrity": "sha512-M2BZhsa7z8kMGre96HTMXpm266cfJkbdtcZgVfAL8hY4ptkh5MwNDasl85CDo++ffW2issVT+W/xIGJOr0v2pg==", 685 | "cpu": [ 686 | "arm64" 687 | ], 688 | "dev": true, 689 | "optional": true, 690 | "os": [ 691 | "win32" 692 | ], 693 | "engines": { 694 | "node": ">=12" 695 | } 696 | }, 697 | "node_modules/@esbuild/win32-ia32": { 698 | "version": "0.16.8", 699 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.8.tgz", 700 | "integrity": "sha512-mzzHVpnuHQT+IrptiW+uUswEMpVIueYuAkjwt1m4tQuVq9dGWqCA1y9EE+W3S19nMg6JvHMbaRjv3mlCcmi0rA==", 701 | "cpu": [ 702 | "ia32" 703 | ], 704 | "dev": true, 705 | "optional": true, 706 | "os": [ 707 | "win32" 708 | ], 709 | "engines": { 710 | "node": ">=12" 711 | } 712 | }, 713 | "node_modules/@esbuild/win32-x64": { 714 | "version": "0.16.8", 715 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.8.tgz", 716 | "integrity": "sha512-Zgzyn7njXpSSe1YGQk03eW4uei4QoZKloe/TBQZXgQHo6ul/ux0BtYdLz3MZ8WDlvqTG3QnLV4+gtV5ordM0+g==", 717 | "cpu": [ 718 | "x64" 719 | ], 720 | "dev": true, 721 | "optional": true, 722 | "os": [ 723 | "win32" 724 | ], 725 | "engines": { 726 | "node": ">=12" 727 | } 728 | }, 729 | "node_modules/@jridgewell/gen-mapping": { 730 | "version": "0.1.1", 731 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", 732 | "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", 733 | "dev": true, 734 | "dependencies": { 735 | "@jridgewell/set-array": "^1.0.0", 736 | "@jridgewell/sourcemap-codec": "^1.4.10" 737 | }, 738 | "engines": { 739 | "node": ">=6.0.0" 740 | } 741 | }, 742 | "node_modules/@jridgewell/resolve-uri": { 743 | "version": "3.1.0", 744 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", 745 | "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", 746 | "dev": true, 747 | "engines": { 748 | "node": ">=6.0.0" 749 | } 750 | }, 751 | "node_modules/@jridgewell/set-array": { 752 | "version": "1.1.2", 753 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", 754 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", 755 | "dev": true, 756 | "engines": { 757 | "node": ">=6.0.0" 758 | } 759 | }, 760 | "node_modules/@jridgewell/sourcemap-codec": { 761 | "version": "1.4.14", 762 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", 763 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", 764 | "dev": true 765 | }, 766 | "node_modules/@jridgewell/trace-mapping": { 767 | "version": "0.3.17", 768 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", 769 | "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", 770 | "dev": true, 771 | "dependencies": { 772 | "@jridgewell/resolve-uri": "3.1.0", 773 | "@jridgewell/sourcemap-codec": "1.4.14" 774 | } 775 | }, 776 | "node_modules/@types/prop-types": { 777 | "version": "15.7.5", 778 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", 779 | "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", 780 | "dev": true 781 | }, 782 | "node_modules/@types/react": { 783 | "version": "18.0.26", 784 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.26.tgz", 785 | "integrity": "sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==", 786 | "dev": true, 787 | "dependencies": { 788 | "@types/prop-types": "*", 789 | "@types/scheduler": "*", 790 | "csstype": "^3.0.2" 791 | } 792 | }, 793 | "node_modules/@types/react-dom": { 794 | "version": "18.0.9", 795 | "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.9.tgz", 796 | "integrity": "sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==", 797 | "dev": true, 798 | "dependencies": { 799 | "@types/react": "*" 800 | } 801 | }, 802 | "node_modules/@types/scheduler": { 803 | "version": "0.16.2", 804 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", 805 | "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", 806 | "dev": true 807 | }, 808 | "node_modules/@vitejs/plugin-react": { 809 | "version": "3.0.0", 810 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.0.0.tgz", 811 | "integrity": "sha512-1mvyPc0xYW5G8CHQvJIJXLoMjl5Ct3q2g5Y2s6Ccfgwm45y48LBvsla7az+GkkAtYikWQ4Lxqcsq5RHLcZgtNQ==", 812 | "dev": true, 813 | "dependencies": { 814 | "@babel/core": "^7.20.5", 815 | "@babel/plugin-transform-react-jsx-self": "^7.18.6", 816 | "@babel/plugin-transform-react-jsx-source": "^7.19.6", 817 | "magic-string": "^0.27.0", 818 | "react-refresh": "^0.14.0" 819 | }, 820 | "engines": { 821 | "node": "^14.18.0 || >=16.0.0" 822 | }, 823 | "peerDependencies": { 824 | "vite": "^4.0.0" 825 | } 826 | }, 827 | "node_modules/ansi-styles": { 828 | "version": "3.2.1", 829 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 830 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 831 | "dev": true, 832 | "dependencies": { 833 | "color-convert": "^1.9.0" 834 | }, 835 | "engines": { 836 | "node": ">=4" 837 | } 838 | }, 839 | "node_modules/asynckit": { 840 | "version": "0.4.0", 841 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 842 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" 843 | }, 844 | "node_modules/axios": { 845 | "version": "1.6.4", 846 | "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.4.tgz", 847 | "integrity": "sha512-heJnIs6N4aa1eSthhN9M5ioILu8Wi8vmQW9iHQ9NUvfkJb0lEEDUiIdQNAuBtfUt3FxReaKdpQA5DbmMOqzF/A==", 848 | "dependencies": { 849 | "follow-redirects": "^1.15.4", 850 | "form-data": "^4.0.0", 851 | "proxy-from-env": "^1.1.0" 852 | } 853 | }, 854 | "node_modules/axios/node_modules/follow-redirects": { 855 | "version": "1.15.4", 856 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", 857 | "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", 858 | "funding": [ 859 | { 860 | "type": "individual", 861 | "url": "https://github.com/sponsors/RubenVerborgh" 862 | } 863 | ], 864 | "engines": { 865 | "node": ">=4.0" 866 | }, 867 | "peerDependenciesMeta": { 868 | "debug": { 869 | "optional": true 870 | } 871 | } 872 | }, 873 | "node_modules/browserslist": { 874 | "version": "4.21.4", 875 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", 876 | "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", 877 | "dev": true, 878 | "funding": [ 879 | { 880 | "type": "opencollective", 881 | "url": "https://opencollective.com/browserslist" 882 | }, 883 | { 884 | "type": "tidelift", 885 | "url": "https://tidelift.com/funding/github/npm/browserslist" 886 | } 887 | ], 888 | "dependencies": { 889 | "caniuse-lite": "^1.0.30001400", 890 | "electron-to-chromium": "^1.4.251", 891 | "node-releases": "^2.0.6", 892 | "update-browserslist-db": "^1.0.9" 893 | }, 894 | "bin": { 895 | "browserslist": "cli.js" 896 | }, 897 | "engines": { 898 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 899 | } 900 | }, 901 | "node_modules/caniuse-lite": { 902 | "version": "1.0.30001439", 903 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz", 904 | "integrity": "sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A==", 905 | "dev": true, 906 | "funding": [ 907 | { 908 | "type": "opencollective", 909 | "url": "https://opencollective.com/browserslist" 910 | }, 911 | { 912 | "type": "tidelift", 913 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 914 | } 915 | ] 916 | }, 917 | "node_modules/chalk": { 918 | "version": "2.4.2", 919 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 920 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 921 | "dev": true, 922 | "dependencies": { 923 | "ansi-styles": "^3.2.1", 924 | "escape-string-regexp": "^1.0.5", 925 | "supports-color": "^5.3.0" 926 | }, 927 | "engines": { 928 | "node": ">=4" 929 | } 930 | }, 931 | "node_modules/color-convert": { 932 | "version": "1.9.3", 933 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 934 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 935 | "dev": true, 936 | "dependencies": { 937 | "color-name": "1.1.3" 938 | } 939 | }, 940 | "node_modules/color-name": { 941 | "version": "1.1.3", 942 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 943 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", 944 | "dev": true 945 | }, 946 | "node_modules/combined-stream": { 947 | "version": "1.0.8", 948 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 949 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 950 | "dependencies": { 951 | "delayed-stream": "~1.0.0" 952 | }, 953 | "engines": { 954 | "node": ">= 0.8" 955 | } 956 | }, 957 | "node_modules/convert-source-map": { 958 | "version": "1.9.0", 959 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", 960 | "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", 961 | "dev": true 962 | }, 963 | "node_modules/csstype": { 964 | "version": "3.1.1", 965 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", 966 | "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==", 967 | "dev": true 968 | }, 969 | "node_modules/debug": { 970 | "version": "4.3.4", 971 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 972 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 973 | "dev": true, 974 | "dependencies": { 975 | "ms": "2.1.2" 976 | }, 977 | "engines": { 978 | "node": ">=6.0" 979 | }, 980 | "peerDependenciesMeta": { 981 | "supports-color": { 982 | "optional": true 983 | } 984 | } 985 | }, 986 | "node_modules/delayed-stream": { 987 | "version": "1.0.0", 988 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 989 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", 990 | "engines": { 991 | "node": ">=0.4.0" 992 | } 993 | }, 994 | "node_modules/electron-to-chromium": { 995 | "version": "1.4.284", 996 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", 997 | "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", 998 | "dev": true 999 | }, 1000 | "node_modules/esbuild": { 1001 | "version": "0.16.8", 1002 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.8.tgz", 1003 | "integrity": "sha512-RKxRaLYAI5b/IVJ5k8jK3bO2G7cch2ZIZFbfKHbBzpwsWt9+VChcBEndNISBBZ5c3WwekFfkfl11/2QfIGHgDw==", 1004 | "dev": true, 1005 | "hasInstallScript": true, 1006 | "bin": { 1007 | "esbuild": "bin/esbuild" 1008 | }, 1009 | "engines": { 1010 | "node": ">=12" 1011 | }, 1012 | "optionalDependencies": { 1013 | "@esbuild/android-arm": "0.16.8", 1014 | "@esbuild/android-arm64": "0.16.8", 1015 | "@esbuild/android-x64": "0.16.8", 1016 | "@esbuild/darwin-arm64": "0.16.8", 1017 | "@esbuild/darwin-x64": "0.16.8", 1018 | "@esbuild/freebsd-arm64": "0.16.8", 1019 | "@esbuild/freebsd-x64": "0.16.8", 1020 | "@esbuild/linux-arm": "0.16.8", 1021 | "@esbuild/linux-arm64": "0.16.8", 1022 | "@esbuild/linux-ia32": "0.16.8", 1023 | "@esbuild/linux-loong64": "0.16.8", 1024 | "@esbuild/linux-mips64el": "0.16.8", 1025 | "@esbuild/linux-ppc64": "0.16.8", 1026 | "@esbuild/linux-riscv64": "0.16.8", 1027 | "@esbuild/linux-s390x": "0.16.8", 1028 | "@esbuild/linux-x64": "0.16.8", 1029 | "@esbuild/netbsd-x64": "0.16.8", 1030 | "@esbuild/openbsd-x64": "0.16.8", 1031 | "@esbuild/sunos-x64": "0.16.8", 1032 | "@esbuild/win32-arm64": "0.16.8", 1033 | "@esbuild/win32-ia32": "0.16.8", 1034 | "@esbuild/win32-x64": "0.16.8" 1035 | } 1036 | }, 1037 | "node_modules/escalade": { 1038 | "version": "3.1.1", 1039 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 1040 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 1041 | "dev": true, 1042 | "engines": { 1043 | "node": ">=6" 1044 | } 1045 | }, 1046 | "node_modules/escape-string-regexp": { 1047 | "version": "1.0.5", 1048 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1049 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 1050 | "dev": true, 1051 | "engines": { 1052 | "node": ">=0.8.0" 1053 | } 1054 | }, 1055 | "node_modules/form-data": { 1056 | "version": "4.0.0", 1057 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", 1058 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", 1059 | "dependencies": { 1060 | "asynckit": "^0.4.0", 1061 | "combined-stream": "^1.0.8", 1062 | "mime-types": "^2.1.12" 1063 | }, 1064 | "engines": { 1065 | "node": ">= 6" 1066 | } 1067 | }, 1068 | "node_modules/fsevents": { 1069 | "version": "2.3.2", 1070 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 1071 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 1072 | "dev": true, 1073 | "hasInstallScript": true, 1074 | "optional": true, 1075 | "os": [ 1076 | "darwin" 1077 | ], 1078 | "engines": { 1079 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1080 | } 1081 | }, 1082 | "node_modules/function-bind": { 1083 | "version": "1.1.1", 1084 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1085 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 1086 | "dev": true 1087 | }, 1088 | "node_modules/gensync": { 1089 | "version": "1.0.0-beta.2", 1090 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", 1091 | "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", 1092 | "dev": true, 1093 | "engines": { 1094 | "node": ">=6.9.0" 1095 | } 1096 | }, 1097 | "node_modules/globals": { 1098 | "version": "11.12.0", 1099 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 1100 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 1101 | "dev": true, 1102 | "engines": { 1103 | "node": ">=4" 1104 | } 1105 | }, 1106 | "node_modules/has": { 1107 | "version": "1.0.3", 1108 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1109 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1110 | "dev": true, 1111 | "dependencies": { 1112 | "function-bind": "^1.1.1" 1113 | }, 1114 | "engines": { 1115 | "node": ">= 0.4.0" 1116 | } 1117 | }, 1118 | "node_modules/has-flag": { 1119 | "version": "3.0.0", 1120 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1121 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 1122 | "dev": true, 1123 | "engines": { 1124 | "node": ">=4" 1125 | } 1126 | }, 1127 | "node_modules/is-core-module": { 1128 | "version": "2.11.0", 1129 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", 1130 | "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", 1131 | "dev": true, 1132 | "dependencies": { 1133 | "has": "^1.0.3" 1134 | }, 1135 | "funding": { 1136 | "url": "https://github.com/sponsors/ljharb" 1137 | } 1138 | }, 1139 | "node_modules/js-tokens": { 1140 | "version": "4.0.0", 1141 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1142 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 1143 | }, 1144 | "node_modules/jsesc": { 1145 | "version": "2.5.2", 1146 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", 1147 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", 1148 | "dev": true, 1149 | "bin": { 1150 | "jsesc": "bin/jsesc" 1151 | }, 1152 | "engines": { 1153 | "node": ">=4" 1154 | } 1155 | }, 1156 | "node_modules/json5": { 1157 | "version": "2.2.2", 1158 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.2.tgz", 1159 | "integrity": "sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==", 1160 | "dev": true, 1161 | "bin": { 1162 | "json5": "lib/cli.js" 1163 | }, 1164 | "engines": { 1165 | "node": ">=6" 1166 | } 1167 | }, 1168 | "node_modules/loose-envify": { 1169 | "version": "1.4.0", 1170 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 1171 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 1172 | "dependencies": { 1173 | "js-tokens": "^3.0.0 || ^4.0.0" 1174 | }, 1175 | "bin": { 1176 | "loose-envify": "cli.js" 1177 | } 1178 | }, 1179 | "node_modules/magic-string": { 1180 | "version": "0.27.0", 1181 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", 1182 | "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", 1183 | "dev": true, 1184 | "dependencies": { 1185 | "@jridgewell/sourcemap-codec": "^1.4.13" 1186 | }, 1187 | "engines": { 1188 | "node": ">=12" 1189 | } 1190 | }, 1191 | "node_modules/mime-db": { 1192 | "version": "1.52.0", 1193 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 1194 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 1195 | "engines": { 1196 | "node": ">= 0.6" 1197 | } 1198 | }, 1199 | "node_modules/mime-types": { 1200 | "version": "2.1.35", 1201 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 1202 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 1203 | "dependencies": { 1204 | "mime-db": "1.52.0" 1205 | }, 1206 | "engines": { 1207 | "node": ">= 0.6" 1208 | } 1209 | }, 1210 | "node_modules/ms": { 1211 | "version": "2.1.2", 1212 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1213 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1214 | "dev": true 1215 | }, 1216 | "node_modules/nanoid": { 1217 | "version": "3.3.4", 1218 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", 1219 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", 1220 | "dev": true, 1221 | "bin": { 1222 | "nanoid": "bin/nanoid.cjs" 1223 | }, 1224 | "engines": { 1225 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1226 | } 1227 | }, 1228 | "node_modules/node-releases": { 1229 | "version": "2.0.8", 1230 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", 1231 | "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", 1232 | "dev": true 1233 | }, 1234 | "node_modules/openai": { 1235 | "version": "3.1.0", 1236 | "resolved": "https://registry.npmjs.org/openai/-/openai-3.1.0.tgz", 1237 | "integrity": "sha512-v5kKFH5o+8ld+t0arudj833Mgm3GcgBnbyN9946bj6u7bvel4Yg6YFz2A4HLIYDzmMjIo0s6vSG9x73kOwvdCg==", 1238 | "dependencies": { 1239 | "axios": "^0.26.0", 1240 | "form-data": "^4.0.0" 1241 | } 1242 | }, 1243 | "node_modules/openai/node_modules/axios": { 1244 | "version": "0.26.1", 1245 | "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", 1246 | "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", 1247 | "dependencies": { 1248 | "follow-redirects": "^1.14.8" 1249 | } 1250 | }, 1251 | "node_modules/path-parse": { 1252 | "version": "1.0.7", 1253 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1254 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 1255 | "dev": true 1256 | }, 1257 | "node_modules/picocolors": { 1258 | "version": "1.0.0", 1259 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1260 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 1261 | "dev": true 1262 | }, 1263 | "node_modules/postcss": { 1264 | "version": "8.4.20", 1265 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz", 1266 | "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==", 1267 | "dev": true, 1268 | "funding": [ 1269 | { 1270 | "type": "opencollective", 1271 | "url": "https://opencollective.com/postcss/" 1272 | }, 1273 | { 1274 | "type": "tidelift", 1275 | "url": "https://tidelift.com/funding/github/npm/postcss" 1276 | } 1277 | ], 1278 | "dependencies": { 1279 | "nanoid": "^3.3.4", 1280 | "picocolors": "^1.0.0", 1281 | "source-map-js": "^1.0.2" 1282 | }, 1283 | "engines": { 1284 | "node": "^10 || ^12 || >=14" 1285 | } 1286 | }, 1287 | "node_modules/proxy-from-env": { 1288 | "version": "1.1.0", 1289 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", 1290 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" 1291 | }, 1292 | "node_modules/react": { 1293 | "version": "18.2.0", 1294 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", 1295 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", 1296 | "dependencies": { 1297 | "loose-envify": "^1.1.0" 1298 | }, 1299 | "engines": { 1300 | "node": ">=0.10.0" 1301 | } 1302 | }, 1303 | "node_modules/react-dom": { 1304 | "version": "18.2.0", 1305 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", 1306 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", 1307 | "dependencies": { 1308 | "loose-envify": "^1.1.0", 1309 | "scheduler": "^0.23.0" 1310 | }, 1311 | "peerDependencies": { 1312 | "react": "^18.2.0" 1313 | } 1314 | }, 1315 | "node_modules/react-refresh": { 1316 | "version": "0.14.0", 1317 | "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", 1318 | "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", 1319 | "dev": true, 1320 | "engines": { 1321 | "node": ">=0.10.0" 1322 | } 1323 | }, 1324 | "node_modules/resolve": { 1325 | "version": "1.22.1", 1326 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", 1327 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", 1328 | "dev": true, 1329 | "dependencies": { 1330 | "is-core-module": "^2.9.0", 1331 | "path-parse": "^1.0.7", 1332 | "supports-preserve-symlinks-flag": "^1.0.0" 1333 | }, 1334 | "bin": { 1335 | "resolve": "bin/resolve" 1336 | }, 1337 | "funding": { 1338 | "url": "https://github.com/sponsors/ljharb" 1339 | } 1340 | }, 1341 | "node_modules/rollup": { 1342 | "version": "3.7.5", 1343 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.7.5.tgz", 1344 | "integrity": "sha512-z0ZbqHBtS/et2EEUKMrAl2CoSdwN7ZPzL17UMiKN9RjjqHShTlv7F9J6ZJZJNREYjBh3TvBrdfjkFDIXFNeuiQ==", 1345 | "dev": true, 1346 | "bin": { 1347 | "rollup": "dist/bin/rollup" 1348 | }, 1349 | "engines": { 1350 | "node": ">=14.18.0", 1351 | "npm": ">=8.0.0" 1352 | }, 1353 | "optionalDependencies": { 1354 | "fsevents": "~2.3.2" 1355 | } 1356 | }, 1357 | "node_modules/scheduler": { 1358 | "version": "0.23.0", 1359 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", 1360 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", 1361 | "dependencies": { 1362 | "loose-envify": "^1.1.0" 1363 | } 1364 | }, 1365 | "node_modules/semver": { 1366 | "version": "6.3.0", 1367 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 1368 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 1369 | "dev": true, 1370 | "bin": { 1371 | "semver": "bin/semver.js" 1372 | } 1373 | }, 1374 | "node_modules/source-map-js": { 1375 | "version": "1.0.2", 1376 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 1377 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 1378 | "dev": true, 1379 | "engines": { 1380 | "node": ">=0.10.0" 1381 | } 1382 | }, 1383 | "node_modules/supports-color": { 1384 | "version": "5.5.0", 1385 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1386 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1387 | "dev": true, 1388 | "dependencies": { 1389 | "has-flag": "^3.0.0" 1390 | }, 1391 | "engines": { 1392 | "node": ">=4" 1393 | } 1394 | }, 1395 | "node_modules/supports-preserve-symlinks-flag": { 1396 | "version": "1.0.0", 1397 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1398 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 1399 | "dev": true, 1400 | "engines": { 1401 | "node": ">= 0.4" 1402 | }, 1403 | "funding": { 1404 | "url": "https://github.com/sponsors/ljharb" 1405 | } 1406 | }, 1407 | "node_modules/to-fast-properties": { 1408 | "version": "2.0.0", 1409 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", 1410 | "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", 1411 | "dev": true, 1412 | "engines": { 1413 | "node": ">=4" 1414 | } 1415 | }, 1416 | "node_modules/update-browserslist-db": { 1417 | "version": "1.0.10", 1418 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", 1419 | "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", 1420 | "dev": true, 1421 | "funding": [ 1422 | { 1423 | "type": "opencollective", 1424 | "url": "https://opencollective.com/browserslist" 1425 | }, 1426 | { 1427 | "type": "tidelift", 1428 | "url": "https://tidelift.com/funding/github/npm/browserslist" 1429 | } 1430 | ], 1431 | "dependencies": { 1432 | "escalade": "^3.1.1", 1433 | "picocolors": "^1.0.0" 1434 | }, 1435 | "bin": { 1436 | "browserslist-lint": "cli.js" 1437 | }, 1438 | "peerDependencies": { 1439 | "browserslist": ">= 4.21.0" 1440 | } 1441 | }, 1442 | "node_modules/vite": { 1443 | "version": "4.0.1", 1444 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.0.1.tgz", 1445 | "integrity": "sha512-kZQPzbDau35iWOhy3CpkrRC7It+HIHtulAzBhMqzGHKRf/4+vmh8rPDDdv98SWQrFWo6//3ozwsRmwQIPZsK9g==", 1446 | "dev": true, 1447 | "dependencies": { 1448 | "esbuild": "^0.16.3", 1449 | "postcss": "^8.4.20", 1450 | "resolve": "^1.22.1", 1451 | "rollup": "^3.7.0" 1452 | }, 1453 | "bin": { 1454 | "vite": "bin/vite.js" 1455 | }, 1456 | "engines": { 1457 | "node": "^14.18.0 || >=16.0.0" 1458 | }, 1459 | "optionalDependencies": { 1460 | "fsevents": "~2.3.2" 1461 | }, 1462 | "peerDependencies": { 1463 | "@types/node": ">= 14", 1464 | "less": "*", 1465 | "sass": "*", 1466 | "stylus": "*", 1467 | "sugarss": "*", 1468 | "terser": "^5.4.0" 1469 | }, 1470 | "peerDependenciesMeta": { 1471 | "@types/node": { 1472 | "optional": true 1473 | }, 1474 | "less": { 1475 | "optional": true 1476 | }, 1477 | "sass": { 1478 | "optional": true 1479 | }, 1480 | "stylus": { 1481 | "optional": true 1482 | }, 1483 | "sugarss": { 1484 | "optional": true 1485 | }, 1486 | "terser": { 1487 | "optional": true 1488 | } 1489 | } 1490 | } 1491 | }, 1492 | "dependencies": { 1493 | "@ampproject/remapping": { 1494 | "version": "2.2.0", 1495 | "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", 1496 | "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", 1497 | "dev": true, 1498 | "requires": { 1499 | "@jridgewell/gen-mapping": "^0.1.0", 1500 | "@jridgewell/trace-mapping": "^0.3.9" 1501 | } 1502 | }, 1503 | "@babel/code-frame": { 1504 | "version": "7.18.6", 1505 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", 1506 | "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", 1507 | "dev": true, 1508 | "requires": { 1509 | "@babel/highlight": "^7.18.6" 1510 | } 1511 | }, 1512 | "@babel/compat-data": { 1513 | "version": "7.20.5", 1514 | "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz", 1515 | "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==", 1516 | "dev": true 1517 | }, 1518 | "@babel/core": { 1519 | "version": "7.20.5", 1520 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.5.tgz", 1521 | "integrity": "sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==", 1522 | "dev": true, 1523 | "requires": { 1524 | "@ampproject/remapping": "^2.1.0", 1525 | "@babel/code-frame": "^7.18.6", 1526 | "@babel/generator": "^7.20.5", 1527 | "@babel/helper-compilation-targets": "^7.20.0", 1528 | "@babel/helper-module-transforms": "^7.20.2", 1529 | "@babel/helpers": "^7.20.5", 1530 | "@babel/parser": "^7.20.5", 1531 | "@babel/template": "^7.18.10", 1532 | "@babel/traverse": "^7.20.5", 1533 | "@babel/types": "^7.20.5", 1534 | "convert-source-map": "^1.7.0", 1535 | "debug": "^4.1.0", 1536 | "gensync": "^1.0.0-beta.2", 1537 | "json5": "^2.2.1", 1538 | "semver": "^6.3.0" 1539 | } 1540 | }, 1541 | "@babel/generator": { 1542 | "version": "7.20.5", 1543 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz", 1544 | "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==", 1545 | "dev": true, 1546 | "requires": { 1547 | "@babel/types": "^7.20.5", 1548 | "@jridgewell/gen-mapping": "^0.3.2", 1549 | "jsesc": "^2.5.1" 1550 | }, 1551 | "dependencies": { 1552 | "@jridgewell/gen-mapping": { 1553 | "version": "0.3.2", 1554 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", 1555 | "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", 1556 | "dev": true, 1557 | "requires": { 1558 | "@jridgewell/set-array": "^1.0.1", 1559 | "@jridgewell/sourcemap-codec": "^1.4.10", 1560 | "@jridgewell/trace-mapping": "^0.3.9" 1561 | } 1562 | } 1563 | } 1564 | }, 1565 | "@babel/helper-compilation-targets": { 1566 | "version": "7.20.0", 1567 | "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", 1568 | "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", 1569 | "dev": true, 1570 | "requires": { 1571 | "@babel/compat-data": "^7.20.0", 1572 | "@babel/helper-validator-option": "^7.18.6", 1573 | "browserslist": "^4.21.3", 1574 | "semver": "^6.3.0" 1575 | } 1576 | }, 1577 | "@babel/helper-environment-visitor": { 1578 | "version": "7.18.9", 1579 | "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", 1580 | "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", 1581 | "dev": true 1582 | }, 1583 | "@babel/helper-function-name": { 1584 | "version": "7.19.0", 1585 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", 1586 | "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", 1587 | "dev": true, 1588 | "requires": { 1589 | "@babel/template": "^7.18.10", 1590 | "@babel/types": "^7.19.0" 1591 | } 1592 | }, 1593 | "@babel/helper-hoist-variables": { 1594 | "version": "7.18.6", 1595 | "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", 1596 | "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", 1597 | "dev": true, 1598 | "requires": { 1599 | "@babel/types": "^7.18.6" 1600 | } 1601 | }, 1602 | "@babel/helper-module-imports": { 1603 | "version": "7.18.6", 1604 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", 1605 | "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", 1606 | "dev": true, 1607 | "requires": { 1608 | "@babel/types": "^7.18.6" 1609 | } 1610 | }, 1611 | "@babel/helper-module-transforms": { 1612 | "version": "7.20.2", 1613 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", 1614 | "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", 1615 | "dev": true, 1616 | "requires": { 1617 | "@babel/helper-environment-visitor": "^7.18.9", 1618 | "@babel/helper-module-imports": "^7.18.6", 1619 | "@babel/helper-simple-access": "^7.20.2", 1620 | "@babel/helper-split-export-declaration": "^7.18.6", 1621 | "@babel/helper-validator-identifier": "^7.19.1", 1622 | "@babel/template": "^7.18.10", 1623 | "@babel/traverse": "^7.20.1", 1624 | "@babel/types": "^7.20.2" 1625 | } 1626 | }, 1627 | "@babel/helper-plugin-utils": { 1628 | "version": "7.20.2", 1629 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", 1630 | "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", 1631 | "dev": true 1632 | }, 1633 | "@babel/helper-simple-access": { 1634 | "version": "7.20.2", 1635 | "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", 1636 | "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", 1637 | "dev": true, 1638 | "requires": { 1639 | "@babel/types": "^7.20.2" 1640 | } 1641 | }, 1642 | "@babel/helper-split-export-declaration": { 1643 | "version": "7.18.6", 1644 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", 1645 | "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", 1646 | "dev": true, 1647 | "requires": { 1648 | "@babel/types": "^7.18.6" 1649 | } 1650 | }, 1651 | "@babel/helper-string-parser": { 1652 | "version": "7.19.4", 1653 | "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", 1654 | "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", 1655 | "dev": true 1656 | }, 1657 | "@babel/helper-validator-identifier": { 1658 | "version": "7.19.1", 1659 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", 1660 | "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", 1661 | "dev": true 1662 | }, 1663 | "@babel/helper-validator-option": { 1664 | "version": "7.18.6", 1665 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", 1666 | "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", 1667 | "dev": true 1668 | }, 1669 | "@babel/helpers": { 1670 | "version": "7.20.6", 1671 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", 1672 | "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==", 1673 | "dev": true, 1674 | "requires": { 1675 | "@babel/template": "^7.18.10", 1676 | "@babel/traverse": "^7.20.5", 1677 | "@babel/types": "^7.20.5" 1678 | } 1679 | }, 1680 | "@babel/highlight": { 1681 | "version": "7.18.6", 1682 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", 1683 | "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", 1684 | "dev": true, 1685 | "requires": { 1686 | "@babel/helper-validator-identifier": "^7.18.6", 1687 | "chalk": "^2.0.0", 1688 | "js-tokens": "^4.0.0" 1689 | } 1690 | }, 1691 | "@babel/parser": { 1692 | "version": "7.20.5", 1693 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz", 1694 | "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==", 1695 | "dev": true 1696 | }, 1697 | "@babel/plugin-transform-react-jsx-self": { 1698 | "version": "7.18.6", 1699 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz", 1700 | "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==", 1701 | "dev": true, 1702 | "requires": { 1703 | "@babel/helper-plugin-utils": "^7.18.6" 1704 | } 1705 | }, 1706 | "@babel/plugin-transform-react-jsx-source": { 1707 | "version": "7.19.6", 1708 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz", 1709 | "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==", 1710 | "dev": true, 1711 | "requires": { 1712 | "@babel/helper-plugin-utils": "^7.19.0" 1713 | } 1714 | }, 1715 | "@babel/template": { 1716 | "version": "7.18.10", 1717 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", 1718 | "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", 1719 | "dev": true, 1720 | "requires": { 1721 | "@babel/code-frame": "^7.18.6", 1722 | "@babel/parser": "^7.18.10", 1723 | "@babel/types": "^7.18.10" 1724 | } 1725 | }, 1726 | "@babel/traverse": { 1727 | "version": "7.20.5", 1728 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz", 1729 | "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==", 1730 | "dev": true, 1731 | "requires": { 1732 | "@babel/code-frame": "^7.18.6", 1733 | "@babel/generator": "^7.20.5", 1734 | "@babel/helper-environment-visitor": "^7.18.9", 1735 | "@babel/helper-function-name": "^7.19.0", 1736 | "@babel/helper-hoist-variables": "^7.18.6", 1737 | "@babel/helper-split-export-declaration": "^7.18.6", 1738 | "@babel/parser": "^7.20.5", 1739 | "@babel/types": "^7.20.5", 1740 | "debug": "^4.1.0", 1741 | "globals": "^11.1.0" 1742 | } 1743 | }, 1744 | "@babel/types": { 1745 | "version": "7.20.5", 1746 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz", 1747 | "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==", 1748 | "dev": true, 1749 | "requires": { 1750 | "@babel/helper-string-parser": "^7.19.4", 1751 | "@babel/helper-validator-identifier": "^7.19.1", 1752 | "to-fast-properties": "^2.0.0" 1753 | } 1754 | }, 1755 | "@esbuild/android-arm": { 1756 | "version": "0.16.8", 1757 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.8.tgz", 1758 | "integrity": "sha512-r/qxYWkC3gY+Uq24wZacAUevGGb6d7d8VpyO8R0HGg31LXVi+eUr8XxHLCcmVzAjRjlZsZfzPelGpAKP/DafKg==", 1759 | "dev": true, 1760 | "optional": true 1761 | }, 1762 | "@esbuild/android-arm64": { 1763 | "version": "0.16.8", 1764 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.8.tgz", 1765 | "integrity": "sha512-TGQM/tdy5EV1KoFHu0+cMrKvPR8UBLGEfwS84PTCJ07KVp21Fr488aFEL2TCamz9CxoF1np36kY6XOSdLncg2Q==", 1766 | "dev": true, 1767 | "optional": true 1768 | }, 1769 | "@esbuild/android-x64": { 1770 | "version": "0.16.8", 1771 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.8.tgz", 1772 | "integrity": "sha512-HtA4BNfrf5Nyoz3G2IS3qW4A0yckPJ1NjCMA3SiOw3zS1IfpMkbepDGp/Gdokc/tASFd38IP2uIL3W6bHJzAQw==", 1773 | "dev": true, 1774 | "optional": true 1775 | }, 1776 | "@esbuild/darwin-arm64": { 1777 | "version": "0.16.8", 1778 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.8.tgz", 1779 | "integrity": "sha512-Ks8K1HGFf6LEjLnnVqB/zyaJcv7zMjbJ9txRZAwQwj+bzg8/AP0TmLBMJf9Ahwn6ATnHrhORtpydP8A/mNthXg==", 1780 | "dev": true, 1781 | "optional": true 1782 | }, 1783 | "@esbuild/darwin-x64": { 1784 | "version": "0.16.8", 1785 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.8.tgz", 1786 | "integrity": "sha512-XXh2070hatspZdG/uPqyHLFlHlGbytvT4JlqZuTU3AizcyOvmatPBSnuARvwCtJMw30wjjehcYY8DWPZ5UF2og==", 1787 | "dev": true, 1788 | "optional": true 1789 | }, 1790 | "@esbuild/freebsd-arm64": { 1791 | "version": "0.16.8", 1792 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.8.tgz", 1793 | "integrity": "sha512-6DJuU3+tG9LcHCG/4K3e0AnqmmKWhUc9WDNIhLHOOdleafXwZeFvsqwfyaowNg9yUw5KipRLvV3JJMQ8kT1aPg==", 1794 | "dev": true, 1795 | "optional": true 1796 | }, 1797 | "@esbuild/freebsd-x64": { 1798 | "version": "0.16.8", 1799 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.8.tgz", 1800 | "integrity": "sha512-UcsCaR25C0tZWnoImprPzr7vMEMjLImlTQAIfWXU2wvjF4gBWKO9GEH2JlsKYqBjfWfGgH+HHoGSF/evZbKyxA==", 1801 | "dev": true, 1802 | "optional": true 1803 | }, 1804 | "@esbuild/linux-arm": { 1805 | "version": "0.16.8", 1806 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.8.tgz", 1807 | "integrity": "sha512-Hn36NbKd6Prh0Ehv1A2ObjfXtN2g81jTpmq1+uRLHrW7CJW+W8GdVgOCVwyeupADUIOOa8bars6IZGcjkwq21w==", 1808 | "dev": true, 1809 | "optional": true 1810 | }, 1811 | "@esbuild/linux-arm64": { 1812 | "version": "0.16.8", 1813 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.8.tgz", 1814 | "integrity": "sha512-WTL1v/OhSxgE7rEELRFNWskym0e+hKDMl4JZs7jpQp7218yJPOjdOEWsbzVEYv4G1cbbtWFvp9DtaAONtdCW5w==", 1815 | "dev": true, 1816 | "optional": true 1817 | }, 1818 | "@esbuild/linux-ia32": { 1819 | "version": "0.16.8", 1820 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.8.tgz", 1821 | "integrity": "sha512-Jt+8YBFR2Pk68oS7E9z9PtmgJrDonGdEW3Camb2plZcztKpu/OxfnxFu8f41+TYpKhzUDm5uNMwqxRH3yDYrsQ==", 1822 | "dev": true, 1823 | "optional": true 1824 | }, 1825 | "@esbuild/linux-loong64": { 1826 | "version": "0.16.8", 1827 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.8.tgz", 1828 | "integrity": "sha512-P+5J/U/WwPEwcKOFTlTQBK6Gqw4OytpfBvR2V+kBRb5jujwMOQ1aG8iKX14DAwCLks1YHXrXPwXXDPNWEWC59A==", 1829 | "dev": true, 1830 | "optional": true 1831 | }, 1832 | "@esbuild/linux-mips64el": { 1833 | "version": "0.16.8", 1834 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.8.tgz", 1835 | "integrity": "sha512-RDSnljcka9UkVxcLtWv2lG5zcqkZUxIPY47ZSKytv4aoo8b05dH1gnKVWrxBZ+owp3dX48s2lXm6zp3hZHl8qw==", 1836 | "dev": true, 1837 | "optional": true 1838 | }, 1839 | "@esbuild/linux-ppc64": { 1840 | "version": "0.16.8", 1841 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.8.tgz", 1842 | "integrity": "sha512-fNGvIKXyigXYhSflraBsqR/EBhXhuH0/0r7IpU+3reh+8yX3VjowjC/dwmqHDOSQXbcj+HJb1o9kWYi+fJQ/3g==", 1843 | "dev": true, 1844 | "optional": true 1845 | }, 1846 | "@esbuild/linux-riscv64": { 1847 | "version": "0.16.8", 1848 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.8.tgz", 1849 | "integrity": "sha512-CsE1IKyVq/Y55PDnBUvm/e7XfvBgfb5kZxHbIEdmB9xt6cTcBkaVvv8EwLDZuYPkYI60WGl0UwyYYx9B2LLgkg==", 1850 | "dev": true, 1851 | "optional": true 1852 | }, 1853 | "@esbuild/linux-s390x": { 1854 | "version": "0.16.8", 1855 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.8.tgz", 1856 | "integrity": "sha512-k8RIN4M+GWQAfJ/oGqwxZlpzOyGF8mxp5mH1A1WUJrpSUo4pe0zkq2EoP1KMQbYkjeJi45YsjwK3IOnSoueXbA==", 1857 | "dev": true, 1858 | "optional": true 1859 | }, 1860 | "@esbuild/linux-x64": { 1861 | "version": "0.16.8", 1862 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.8.tgz", 1863 | "integrity": "sha512-u0hOo4E9PKyVDmPgJNeip1Tg63wxq+3KBJZKQFblqCl+d5N7n1h7pFwdN5ZzeLaaE645ep8aXzf76ndGnyOypg==", 1864 | "dev": true, 1865 | "optional": true 1866 | }, 1867 | "@esbuild/netbsd-x64": { 1868 | "version": "0.16.8", 1869 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.8.tgz", 1870 | "integrity": "sha512-wtENU7TOrnEbUes9aQuNe5PeBM4cTK5dn1W7v6XCr1LatJxAOn6Jn8yDGRsa2uKeEbAS5HeYx7uBAbTBd98OXQ==", 1871 | "dev": true, 1872 | "optional": true 1873 | }, 1874 | "@esbuild/openbsd-x64": { 1875 | "version": "0.16.8", 1876 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.8.tgz", 1877 | "integrity": "sha512-Y0DRVd/PIiutCpAYvRZHkpDNN3tdSQ1oyKy6xoh5TFTElAmzdlO7CO8ABs8689gq47lJ466cQEq9adJrKXrgXg==", 1878 | "dev": true, 1879 | "optional": true 1880 | }, 1881 | "@esbuild/sunos-x64": { 1882 | "version": "0.16.8", 1883 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.8.tgz", 1884 | "integrity": "sha512-eKg0I3C5z4NTF396Yo9QByXA8DdRS7QiYPFf6JHcED0BanyLW/jX8csUy96wyGivTNrmU0mCOShbeLgzb0eX7w==", 1885 | "dev": true, 1886 | "optional": true 1887 | }, 1888 | "@esbuild/win32-arm64": { 1889 | "version": "0.16.8", 1890 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.8.tgz", 1891 | "integrity": "sha512-M2BZhsa7z8kMGre96HTMXpm266cfJkbdtcZgVfAL8hY4ptkh5MwNDasl85CDo++ffW2issVT+W/xIGJOr0v2pg==", 1892 | "dev": true, 1893 | "optional": true 1894 | }, 1895 | "@esbuild/win32-ia32": { 1896 | "version": "0.16.8", 1897 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.8.tgz", 1898 | "integrity": "sha512-mzzHVpnuHQT+IrptiW+uUswEMpVIueYuAkjwt1m4tQuVq9dGWqCA1y9EE+W3S19nMg6JvHMbaRjv3mlCcmi0rA==", 1899 | "dev": true, 1900 | "optional": true 1901 | }, 1902 | "@esbuild/win32-x64": { 1903 | "version": "0.16.8", 1904 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.8.tgz", 1905 | "integrity": "sha512-Zgzyn7njXpSSe1YGQk03eW4uei4QoZKloe/TBQZXgQHo6ul/ux0BtYdLz3MZ8WDlvqTG3QnLV4+gtV5ordM0+g==", 1906 | "dev": true, 1907 | "optional": true 1908 | }, 1909 | "@jridgewell/gen-mapping": { 1910 | "version": "0.1.1", 1911 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", 1912 | "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", 1913 | "dev": true, 1914 | "requires": { 1915 | "@jridgewell/set-array": "^1.0.0", 1916 | "@jridgewell/sourcemap-codec": "^1.4.10" 1917 | } 1918 | }, 1919 | "@jridgewell/resolve-uri": { 1920 | "version": "3.1.0", 1921 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", 1922 | "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", 1923 | "dev": true 1924 | }, 1925 | "@jridgewell/set-array": { 1926 | "version": "1.1.2", 1927 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", 1928 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", 1929 | "dev": true 1930 | }, 1931 | "@jridgewell/sourcemap-codec": { 1932 | "version": "1.4.14", 1933 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", 1934 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", 1935 | "dev": true 1936 | }, 1937 | "@jridgewell/trace-mapping": { 1938 | "version": "0.3.17", 1939 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", 1940 | "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", 1941 | "dev": true, 1942 | "requires": { 1943 | "@jridgewell/resolve-uri": "3.1.0", 1944 | "@jridgewell/sourcemap-codec": "1.4.14" 1945 | } 1946 | }, 1947 | "@types/prop-types": { 1948 | "version": "15.7.5", 1949 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", 1950 | "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", 1951 | "dev": true 1952 | }, 1953 | "@types/react": { 1954 | "version": "18.0.26", 1955 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.26.tgz", 1956 | "integrity": "sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==", 1957 | "dev": true, 1958 | "requires": { 1959 | "@types/prop-types": "*", 1960 | "@types/scheduler": "*", 1961 | "csstype": "^3.0.2" 1962 | } 1963 | }, 1964 | "@types/react-dom": { 1965 | "version": "18.0.9", 1966 | "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.9.tgz", 1967 | "integrity": "sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==", 1968 | "dev": true, 1969 | "requires": { 1970 | "@types/react": "*" 1971 | } 1972 | }, 1973 | "@types/scheduler": { 1974 | "version": "0.16.2", 1975 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", 1976 | "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", 1977 | "dev": true 1978 | }, 1979 | "@vitejs/plugin-react": { 1980 | "version": "3.0.0", 1981 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.0.0.tgz", 1982 | "integrity": "sha512-1mvyPc0xYW5G8CHQvJIJXLoMjl5Ct3q2g5Y2s6Ccfgwm45y48LBvsla7az+GkkAtYikWQ4Lxqcsq5RHLcZgtNQ==", 1983 | "dev": true, 1984 | "requires": { 1985 | "@babel/core": "^7.20.5", 1986 | "@babel/plugin-transform-react-jsx-self": "^7.18.6", 1987 | "@babel/plugin-transform-react-jsx-source": "^7.19.6", 1988 | "magic-string": "^0.27.0", 1989 | "react-refresh": "^0.14.0" 1990 | } 1991 | }, 1992 | "ansi-styles": { 1993 | "version": "3.2.1", 1994 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 1995 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 1996 | "dev": true, 1997 | "requires": { 1998 | "color-convert": "^1.9.0" 1999 | } 2000 | }, 2001 | "asynckit": { 2002 | "version": "0.4.0", 2003 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 2004 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" 2005 | }, 2006 | "axios": { 2007 | "version": "1.6.4", 2008 | "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.4.tgz", 2009 | "integrity": "sha512-heJnIs6N4aa1eSthhN9M5ioILu8Wi8vmQW9iHQ9NUvfkJb0lEEDUiIdQNAuBtfUt3FxReaKdpQA5DbmMOqzF/A==", 2010 | "requires": { 2011 | "follow-redirects": "1.15.4", 2012 | "form-data": "^4.0.0", 2013 | "proxy-from-env": "^1.1.0" 2014 | }, 2015 | "dependencies": { 2016 | "follow-redirects": { 2017 | "version": "1.15.4", 2018 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", 2019 | "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==" 2020 | } 2021 | } 2022 | }, 2023 | "browserslist": { 2024 | "version": "4.21.4", 2025 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", 2026 | "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", 2027 | "dev": true, 2028 | "requires": { 2029 | "caniuse-lite": "^1.0.30001400", 2030 | "electron-to-chromium": "^1.4.251", 2031 | "node-releases": "^2.0.6", 2032 | "update-browserslist-db": "^1.0.9" 2033 | } 2034 | }, 2035 | "caniuse-lite": { 2036 | "version": "1.0.30001439", 2037 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz", 2038 | "integrity": "sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A==", 2039 | "dev": true 2040 | }, 2041 | "chalk": { 2042 | "version": "2.4.2", 2043 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 2044 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 2045 | "dev": true, 2046 | "requires": { 2047 | "ansi-styles": "^3.2.1", 2048 | "escape-string-regexp": "^1.0.5", 2049 | "supports-color": "^5.3.0" 2050 | } 2051 | }, 2052 | "color-convert": { 2053 | "version": "1.9.3", 2054 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 2055 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 2056 | "dev": true, 2057 | "requires": { 2058 | "color-name": "1.1.3" 2059 | } 2060 | }, 2061 | "color-name": { 2062 | "version": "1.1.3", 2063 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 2064 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", 2065 | "dev": true 2066 | }, 2067 | "combined-stream": { 2068 | "version": "1.0.8", 2069 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 2070 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 2071 | "requires": { 2072 | "delayed-stream": "~1.0.0" 2073 | } 2074 | }, 2075 | "convert-source-map": { 2076 | "version": "1.9.0", 2077 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", 2078 | "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", 2079 | "dev": true 2080 | }, 2081 | "csstype": { 2082 | "version": "3.1.1", 2083 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", 2084 | "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==", 2085 | "dev": true 2086 | }, 2087 | "debug": { 2088 | "version": "4.3.4", 2089 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 2090 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 2091 | "dev": true, 2092 | "requires": { 2093 | "ms": "2.1.2" 2094 | } 2095 | }, 2096 | "delayed-stream": { 2097 | "version": "1.0.0", 2098 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 2099 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" 2100 | }, 2101 | "electron-to-chromium": { 2102 | "version": "1.4.284", 2103 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", 2104 | "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", 2105 | "dev": true 2106 | }, 2107 | "esbuild": { 2108 | "version": "0.16.8", 2109 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.8.tgz", 2110 | "integrity": "sha512-RKxRaLYAI5b/IVJ5k8jK3bO2G7cch2ZIZFbfKHbBzpwsWt9+VChcBEndNISBBZ5c3WwekFfkfl11/2QfIGHgDw==", 2111 | "dev": true, 2112 | "requires": { 2113 | "@esbuild/android-arm": "0.16.8", 2114 | "@esbuild/android-arm64": "0.16.8", 2115 | "@esbuild/android-x64": "0.16.8", 2116 | "@esbuild/darwin-arm64": "0.16.8", 2117 | "@esbuild/darwin-x64": "0.16.8", 2118 | "@esbuild/freebsd-arm64": "0.16.8", 2119 | "@esbuild/freebsd-x64": "0.16.8", 2120 | "@esbuild/linux-arm": "0.16.8", 2121 | "@esbuild/linux-arm64": "0.16.8", 2122 | "@esbuild/linux-ia32": "0.16.8", 2123 | "@esbuild/linux-loong64": "0.16.8", 2124 | "@esbuild/linux-mips64el": "0.16.8", 2125 | "@esbuild/linux-ppc64": "0.16.8", 2126 | "@esbuild/linux-riscv64": "0.16.8", 2127 | "@esbuild/linux-s390x": "0.16.8", 2128 | "@esbuild/linux-x64": "0.16.8", 2129 | "@esbuild/netbsd-x64": "0.16.8", 2130 | "@esbuild/openbsd-x64": "0.16.8", 2131 | "@esbuild/sunos-x64": "0.16.8", 2132 | "@esbuild/win32-arm64": "0.16.8", 2133 | "@esbuild/win32-ia32": "0.16.8", 2134 | "@esbuild/win32-x64": "0.16.8" 2135 | } 2136 | }, 2137 | "escalade": { 2138 | "version": "3.1.1", 2139 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 2140 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 2141 | "dev": true 2142 | }, 2143 | "escape-string-regexp": { 2144 | "version": "1.0.5", 2145 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 2146 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 2147 | "dev": true 2148 | }, 2149 | "form-data": { 2150 | "version": "4.0.0", 2151 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", 2152 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", 2153 | "requires": { 2154 | "asynckit": "^0.4.0", 2155 | "combined-stream": "^1.0.8", 2156 | "mime-types": "^2.1.12" 2157 | } 2158 | }, 2159 | "fsevents": { 2160 | "version": "2.3.2", 2161 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 2162 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 2163 | "dev": true, 2164 | "optional": true 2165 | }, 2166 | "function-bind": { 2167 | "version": "1.1.1", 2168 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 2169 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 2170 | "dev": true 2171 | }, 2172 | "gensync": { 2173 | "version": "1.0.0-beta.2", 2174 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", 2175 | "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", 2176 | "dev": true 2177 | }, 2178 | "globals": { 2179 | "version": "11.12.0", 2180 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 2181 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 2182 | "dev": true 2183 | }, 2184 | "has": { 2185 | "version": "1.0.3", 2186 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 2187 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 2188 | "dev": true, 2189 | "requires": { 2190 | "function-bind": "^1.1.1" 2191 | } 2192 | }, 2193 | "has-flag": { 2194 | "version": "3.0.0", 2195 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 2196 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 2197 | "dev": true 2198 | }, 2199 | "is-core-module": { 2200 | "version": "2.11.0", 2201 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", 2202 | "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", 2203 | "dev": true, 2204 | "requires": { 2205 | "has": "^1.0.3" 2206 | } 2207 | }, 2208 | "js-tokens": { 2209 | "version": "4.0.0", 2210 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 2211 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 2212 | }, 2213 | "jsesc": { 2214 | "version": "2.5.2", 2215 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", 2216 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", 2217 | "dev": true 2218 | }, 2219 | "json5": { 2220 | "version": "2.2.2", 2221 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.2.tgz", 2222 | "integrity": "sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==", 2223 | "dev": true 2224 | }, 2225 | "loose-envify": { 2226 | "version": "1.4.0", 2227 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 2228 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 2229 | "requires": { 2230 | "js-tokens": "^3.0.0 || ^4.0.0" 2231 | } 2232 | }, 2233 | "magic-string": { 2234 | "version": "0.27.0", 2235 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", 2236 | "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", 2237 | "dev": true, 2238 | "requires": { 2239 | "@jridgewell/sourcemap-codec": "^1.4.13" 2240 | } 2241 | }, 2242 | "mime-db": { 2243 | "version": "1.52.0", 2244 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 2245 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" 2246 | }, 2247 | "mime-types": { 2248 | "version": "2.1.35", 2249 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 2250 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 2251 | "requires": { 2252 | "mime-db": "1.52.0" 2253 | } 2254 | }, 2255 | "ms": { 2256 | "version": "2.1.2", 2257 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 2258 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 2259 | "dev": true 2260 | }, 2261 | "nanoid": { 2262 | "version": "3.3.4", 2263 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", 2264 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", 2265 | "dev": true 2266 | }, 2267 | "node-releases": { 2268 | "version": "2.0.8", 2269 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", 2270 | "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", 2271 | "dev": true 2272 | }, 2273 | "openai": { 2274 | "version": "3.1.0", 2275 | "resolved": "https://registry.npmjs.org/openai/-/openai-3.1.0.tgz", 2276 | "integrity": "sha512-v5kKFH5o+8ld+t0arudj833Mgm3GcgBnbyN9946bj6u7bvel4Yg6YFz2A4HLIYDzmMjIo0s6vSG9x73kOwvdCg==", 2277 | "requires": { 2278 | "axios": "1.6.4", 2279 | "form-data": "^4.0.0" 2280 | }, 2281 | "dependencies": { 2282 | "axios": { 2283 | "version": "0.26.1", 2284 | "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", 2285 | "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", 2286 | "requires": { 2287 | "follow-redirects": "^1.14.8" 2288 | } 2289 | } 2290 | } 2291 | }, 2292 | "path-parse": { 2293 | "version": "1.0.7", 2294 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 2295 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 2296 | "dev": true 2297 | }, 2298 | "picocolors": { 2299 | "version": "1.0.0", 2300 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 2301 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 2302 | "dev": true 2303 | }, 2304 | "postcss": { 2305 | "version": "8.4.20", 2306 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz", 2307 | "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==", 2308 | "dev": true, 2309 | "requires": { 2310 | "nanoid": "^3.3.4", 2311 | "picocolors": "^1.0.0", 2312 | "source-map-js": "^1.0.2" 2313 | } 2314 | }, 2315 | "proxy-from-env": { 2316 | "version": "1.1.0", 2317 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", 2318 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" 2319 | }, 2320 | "react": { 2321 | "version": "18.2.0", 2322 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", 2323 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", 2324 | "requires": { 2325 | "loose-envify": "^1.1.0" 2326 | } 2327 | }, 2328 | "react-dom": { 2329 | "version": "18.2.0", 2330 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", 2331 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", 2332 | "requires": { 2333 | "loose-envify": "^1.1.0", 2334 | "scheduler": "^0.23.0" 2335 | } 2336 | }, 2337 | "react-refresh": { 2338 | "version": "0.14.0", 2339 | "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", 2340 | "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", 2341 | "dev": true 2342 | }, 2343 | "resolve": { 2344 | "version": "1.22.1", 2345 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", 2346 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", 2347 | "dev": true, 2348 | "requires": { 2349 | "is-core-module": "^2.9.0", 2350 | "path-parse": "^1.0.7", 2351 | "supports-preserve-symlinks-flag": "^1.0.0" 2352 | } 2353 | }, 2354 | "rollup": { 2355 | "version": "3.7.5", 2356 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.7.5.tgz", 2357 | "integrity": "sha512-z0ZbqHBtS/et2EEUKMrAl2CoSdwN7ZPzL17UMiKN9RjjqHShTlv7F9J6ZJZJNREYjBh3TvBrdfjkFDIXFNeuiQ==", 2358 | "dev": true, 2359 | "requires": { 2360 | "fsevents": "~2.3.2" 2361 | } 2362 | }, 2363 | "scheduler": { 2364 | "version": "0.23.0", 2365 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", 2366 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", 2367 | "requires": { 2368 | "loose-envify": "^1.1.0" 2369 | } 2370 | }, 2371 | "semver": { 2372 | "version": "6.3.0", 2373 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 2374 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 2375 | "dev": true 2376 | }, 2377 | "source-map-js": { 2378 | "version": "1.0.2", 2379 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 2380 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 2381 | "dev": true 2382 | }, 2383 | "supports-color": { 2384 | "version": "5.5.0", 2385 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 2386 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 2387 | "dev": true, 2388 | "requires": { 2389 | "has-flag": "^3.0.0" 2390 | } 2391 | }, 2392 | "supports-preserve-symlinks-flag": { 2393 | "version": "1.0.0", 2394 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 2395 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 2396 | "dev": true 2397 | }, 2398 | "to-fast-properties": { 2399 | "version": "2.0.0", 2400 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", 2401 | "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", 2402 | "dev": true 2403 | }, 2404 | "update-browserslist-db": { 2405 | "version": "1.0.10", 2406 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", 2407 | "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", 2408 | "dev": true, 2409 | "requires": { 2410 | "escalade": "^3.1.1", 2411 | "picocolors": "^1.0.0" 2412 | } 2413 | }, 2414 | "vite": { 2415 | "version": "4.0.1", 2416 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.0.1.tgz", 2417 | "integrity": "sha512-kZQPzbDau35iWOhy3CpkrRC7It+HIHtulAzBhMqzGHKRf/4+vmh8rPDDdv98SWQrFWo6//3ozwsRmwQIPZsK9g==", 2418 | "dev": true, 2419 | "requires": { 2420 | "esbuild": "^0.16.3", 2421 | "fsevents": "~2.3.2", 2422 | "postcss": "^8.4.20", 2423 | "resolve": "^1.22.1", 2424 | "rollup": "^3.7.0" 2425 | } 2426 | } 2427 | } 2428 | } 2429 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-ai-app", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "vite build", 9 | "preview": "vite preview" 10 | }, 11 | "dependencies": { 12 | "axios": "^1.2.3", 13 | "openai": "^3.1.0", 14 | "react": "^18.2.0", 15 | "react-dom": "^18.2.0" 16 | }, 17 | "devDependencies": { 18 | "@types/react": "^18.0.26", 19 | "@types/react-dom": "^18.0.9", 20 | "@vitejs/plugin-react": "^3.0.0", 21 | "vite": "^4.0.0" 22 | }, 23 | "overrides": { 24 | "axios@<=1.6.4": "1.6.4", 25 | "follow-redirects@<=1.15.4": "1.15.4" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /public/vite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/AIOptions/index.jsx: -------------------------------------------------------------------------------- 1 | export const arrayItems = [ 2 | { 3 | name: "Q&A", 4 | id: "q&a", 5 | description: "Answer questions based on existing knowledge", 6 | prompt: "Answer questions based on existing knowledge", 7 | option: { 8 | model: "text-davinci-003", 9 | temperature: 0, 10 | max_tokens: 100, 11 | top_p: 1, 12 | frequency_penalty: 0.0, 13 | presence_penalty: 0.0, 14 | }, 15 | }, 16 | { 17 | name: "Grammer Correction", 18 | id: "grammerCorrection", 19 | description: "Corrects sentences into standard English.", 20 | prompt: "Corrects sentences into standard English", 21 | option: { 22 | model: "text-davinci-003", 23 | temperature: 0, 24 | max_tokens: 100, 25 | top_p: 1, 26 | frequency_penalty: 0.0, 27 | presence_penalty: 0.0, 28 | }, 29 | }, 30 | { 31 | name: "Summarize for a 2nd grader", 32 | id: "summary", 33 | description: "Translates difficult text into simpler concepts.", 34 | prompt: "Translates difficult text into simpler concepts", 35 | option: { 36 | model: "text-davinci-003", 37 | temperature: 0.7, 38 | max_tokens: 64, 39 | top_p: 1.0, 40 | frequency_penalty: 0.0, 41 | presence_penalty: 0.0, 42 | }, 43 | }, 44 | { 45 | name: "English to Other languages", 46 | id: "translate", 47 | description: "Translates English text into French, Spanish and Japanese.", 48 | prompt: "Translates English text into French, Spanish and Japanese", 49 | option: { 50 | model: "text-davinci-003", 51 | temperature: 0.3, 52 | max_tokens: 100, 53 | top_p: 1.0, 54 | frequency_penalty: 0.0, 55 | presence_penalty: 0.0, 56 | }, 57 | }, 58 | { 59 | name: "Movie to Emoji", 60 | id: "movieToEmoji", 61 | description: "Convert movie titles into emoji.", 62 | prompt: "Convert movie titles into emoji", 63 | option: { 64 | model: "text-davinci-003", 65 | temperature: 0, 66 | max_tokens: 100, 67 | top_p: 1, 68 | frequency_penalty: 0.0, 69 | presence_penalty: 0.0, 70 | }, 71 | }, 72 | { 73 | name: "Explain code", 74 | id: "explainCode", 75 | description: "Explain a complicated piece of code.", 76 | prompt: "Explain a complicated piece of code", 77 | option: { 78 | model: "code-davinci-002", 79 | temperature: 0, 80 | max_tokens: 64, 81 | top_p: 1.0, 82 | frequency_penalty: 0.0, 83 | presence_penalty: 0.0, 84 | }, 85 | }, 86 | { 87 | name: "JavaScript to Python", 88 | id: "jstopy", 89 | description: "Convert simple JavaScript expressions into Python.", 90 | prompt: "Convert simple JavaScript expressions into Python", 91 | option: { 92 | model: "code-davinci-002", 93 | temperature: 0, 94 | max_tokens: 64, 95 | top_p: 1.0, 96 | frequency_penalty: 0.0, 97 | presence_penalty: 0.0, 98 | }, 99 | }, 100 | ]; 101 | -------------------------------------------------------------------------------- /src/App.css: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;1,400&display=swap"); 2 | 3 | #root { 4 | max-width: 1280px; 5 | margin: 0 auto; 6 | padding: 2rem; 7 | text-align: center; 8 | } 9 | 10 | .heading { 11 | font-family: Poppins; 12 | } 13 | 14 | .grid-main { 15 | display: grid; 16 | grid-template-columns: auto auto; 17 | gap: 15px; 18 | margin-top: 40px; 19 | } 20 | 21 | .grid-child { 22 | border: 2px solid whitesmoke; 23 | border-radius: 15px; 24 | padding: 10px; 25 | cursor: pointer; 26 | } 27 | 28 | .grid-child:hover { 29 | background-color: whitesmoke; 30 | color: #212121; 31 | } 32 | 33 | .grid-child h3 { 34 | font-family: Poppins; 35 | font-weight: 700; 36 | } 37 | 38 | .grid-child p { 39 | font-family: Poppins; 40 | font-weight: 500; 41 | font-size: 15px; 42 | } 43 | 44 | .text-area { 45 | font-size: 20px; 46 | padding: 10px; 47 | font-family: Poppins; 48 | margin: 10px; 49 | } 50 | 51 | .action-btn { 52 | width: 200px; 53 | height: 50px; 54 | font-size: 20px; 55 | margin-top: 20px; 56 | cursor: pointer; 57 | } 58 | 59 | .result-text { 60 | font-family: Poppins; 61 | font-size: 25px; 62 | line-height: 2.5rem; 63 | } 64 | -------------------------------------------------------------------------------- /src/App.jsx: -------------------------------------------------------------------------------- 1 | import "./App.css"; 2 | import { Configuration, OpenAIApi } from "openai"; 3 | import OptionSelection from "./components/OptionSelection"; 4 | import Translation from "./components/Translation"; 5 | import { arrayItems } from "./AIOptions"; 6 | import { useState } from "react"; 7 | import axios from "axios"; 8 | function App() { 9 | const configuration = new Configuration({ 10 | apiKey: import.meta.env.VITE_Open_AI_Key, 11 | }); 12 | const openai = new OpenAIApi(configuration); 13 | const [option, setOption] = useState({}); 14 | const [result, setResult] = useState(""); 15 | const [input, setInput] = useState(""); 16 | const [loading, setLoading] = useState(false); 17 | // console.log(import.meta.env.VITE_Open_AI_Key); 18 | const selectOption = (option) => { 19 | setOption(option); 20 | }; 21 | const back = () => { 22 | setOption({}); 23 | setResult(""); 24 | setInput(""); 25 | }; 26 | 27 | // const doStuff = async (prompt) => { 28 | // setLoading(true); 29 | // let optionwithoutnameanddesc = option; 30 | // delete optionwithoutnameanddesc.name; 31 | // delete optionwithoutnameanddesc.description; 32 | 33 | // let object = { ...optionwithoutnameanddesc, prompt: prompt + ":" + input }; 34 | // console.log(object); 35 | // const response = await openai.createCompletion(object); 36 | // setLoading(false); 37 | // setResult(response.data.choices[0].text); 38 | // }; 39 | const doStuff = async (prompt) => { 40 | try { 41 | setLoading(true); 42 | const { name, description, ...rest } = option; 43 | const object = { ...rest, prompt: `${prompt}:${input}` }; 44 | console.log(object); 45 | const response = await openai.createCompletion(object); 46 | setResult(response.data.choices[0].text); 47 | } catch (error) { 48 | console.error(error); 49 | } finally { 50 | setLoading(false); 51 | } 52 | }; 53 | 54 | return ( 55 |
56 | {Object.values(option).length === 0 ? ( 57 | 58 | ) : ( 59 | 67 | )} 68 |
69 | ); 70 | } 71 | 72 | export default App; 73 | -------------------------------------------------------------------------------- /src/assets/react.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/OptionSelection.jsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | export default function OptionSelection({ arrayItems, selectOption }) { 4 | return ( 5 | <> 6 |

ChatGPT Clone

7 | 8 |
9 | {arrayItems.map((item, key) => { 10 | return ( 11 |
15 | selectOption({ 16 | ...item.option, 17 | name: item.name, 18 | description: item.description, 19 | prompt: item.prompt, 20 | }) 21 | } 22 | > 23 |

{item.name}

24 |

{item.description}

25 |
26 | ); 27 | })} 28 |
29 | 30 | ); 31 | } 32 | -------------------------------------------------------------------------------- /src/components/Translation.jsx: -------------------------------------------------------------------------------- 1 | import React, { useState } from "react"; 2 | 3 | export default function Translation({ 4 | doStuff, 5 | setInput, 6 | result, 7 | back, 8 | option, 9 | loading, 10 | }) { 11 | const [prompt, setPrompt] = useState(option.prompt); 12 | 13 | return ( 14 |
15 |
{option.name}
16 |
17 | Prompt: 18 | 34 | 35 | 41 | {loading ? ( 42 |

Loading...

43 | ) : ( 44 |

{result.length > 0 ? result : ""}

45 | )} 46 |
47 | ); 48 | } 49 | -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- 1 | :root { 2 | font-family: Inter, Avenir, Helvetica, Arial, sans-serif; 3 | line-height: 24px; 4 | font-weight: 400; 5 | 6 | color-scheme: light dark; 7 | color: rgba(255, 255, 255, 0.87); 8 | background-color: #242424; 9 | 10 | font-synthesis: none; 11 | text-rendering: optimizeLegibility; 12 | -webkit-font-smoothing: antialiased; 13 | -moz-osx-font-smoothing: grayscale; 14 | -webkit-text-size-adjust: 100%; 15 | } 16 | -------------------------------------------------------------------------------- /src/main.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import ReactDOM from 'react-dom/client' 3 | import App from './App' 4 | import './index.css' 5 | 6 | ReactDOM.createRoot(document.getElementById('root')).render( 7 | 8 | 9 | , 10 | ) 11 | -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import react from '@vitejs/plugin-react' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()], 7 | }) 8 | --------------------------------------------------------------------------------