From 70ba473b4fa94f428c242f249c81c9d8c72b933f Mon Sep 17 00:00:00 2001 From: Taqi Tahmid Date: Fri, 11 Oct 2024 21:06:05 +0300 Subject: [PATCH] frontend: initial commit for the frontend --- README.md | 14 + frontend/.dockerignore | 5 + frontend/.gitignore | 24 + frontend/Dockerfile | 21 + frontend/eslint.config.js | 28 + frontend/index.html | 13 + frontend/package-lock.json | 4046 +++++++++++++++++ frontend/package.json | 33 + frontend/postcss.config.js | 6 + frontend/public/console-svgrepo-com.svg | 4 + frontend/public/vite.svg | 1 + frontend/src/App.css | 6 + frontend/src/App.tsx | 28 + .../src/assets/PhotoRoom_20201011_002118.jpg | Bin 0 -> 150722 bytes frontend/src/assets/ansible.svg | 18 + frontend/src/assets/bash-icon.svg | 9 + frontend/src/assets/docker-icon.svg | 6 + frontend/src/assets/git-icon.svg | 6 + frontend/src/assets/go-original.svg | 1 + frontend/src/assets/grafana.svg | 12 + frontend/src/assets/jenkins.svg | 72 + frontend/src/assets/kubernetes.svg | 8 + frontend/src/assets/prometheus.svg | 6 + frontend/src/assets/python.svg | 17 + frontend/src/assets/react (1).svg | 6 + frontend/src/assets/react.svg | 1 + frontend/src/assets/terraform-icon.svg | 7 + frontend/src/components/Introduction.tsx | 26 + frontend/src/components/Navbar.tsx | 33 + frontend/src/components/Photo.tsx | 12 + frontend/src/components/Skills.tsx | 46 + frontend/src/index.css | 3 + frontend/src/main.tsx | 10 + frontend/src/vite-env.d.ts | 1 + frontend/tailwind.config.js | 12 + frontend/tsconfig.app.json | 24 + frontend/tsconfig.app.tsbuildinfo | 1 + frontend/tsconfig.json | 7 + frontend/tsconfig.node.json | 22 + frontend/tsconfig.node.tsbuildinfo | 1 + frontend/vite.config.ts | 7 + 41 files changed, 4603 insertions(+) create mode 100644 README.md create mode 100644 frontend/.dockerignore create mode 100644 frontend/.gitignore create mode 100644 frontend/Dockerfile create mode 100644 frontend/eslint.config.js create mode 100644 frontend/index.html create mode 100644 frontend/package-lock.json create mode 100644 frontend/package.json create mode 100644 frontend/postcss.config.js create mode 100644 frontend/public/console-svgrepo-com.svg create mode 100644 frontend/public/vite.svg create mode 100644 frontend/src/App.css create mode 100644 frontend/src/App.tsx create mode 100644 frontend/src/assets/PhotoRoom_20201011_002118.jpg create mode 100644 frontend/src/assets/ansible.svg create mode 100644 frontend/src/assets/bash-icon.svg create mode 100644 frontend/src/assets/docker-icon.svg create mode 100644 frontend/src/assets/git-icon.svg create mode 100644 frontend/src/assets/go-original.svg create mode 100644 frontend/src/assets/grafana.svg create mode 100644 frontend/src/assets/jenkins.svg create mode 100644 frontend/src/assets/kubernetes.svg create mode 100644 frontend/src/assets/prometheus.svg create mode 100644 frontend/src/assets/python.svg create mode 100644 frontend/src/assets/react (1).svg create mode 100644 frontend/src/assets/react.svg create mode 100644 frontend/src/assets/terraform-icon.svg create mode 100644 frontend/src/components/Introduction.tsx create mode 100644 frontend/src/components/Navbar.tsx create mode 100644 frontend/src/components/Photo.tsx create mode 100644 frontend/src/components/Skills.tsx create mode 100644 frontend/src/index.css create mode 100644 frontend/src/main.tsx create mode 100644 frontend/src/vite-env.d.ts create mode 100644 frontend/tailwind.config.js create mode 100644 frontend/tsconfig.app.json create mode 100644 frontend/tsconfig.app.tsbuildinfo create mode 100644 frontend/tsconfig.json create mode 100644 frontend/tsconfig.node.json create mode 100644 frontend/tsconfig.node.tsbuildinfo create mode 100644 frontend/vite.config.ts diff --git a/README.md b/README.md new file mode 100644 index 0000000..f3543bb --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +My Portfolio Website +===================== + +# Deploy + +This website is packaged as a container and deployed using nginx. +``` +docker build -t my-portfolio-app . +docker tag my-portfolio-app:latest registry.tahmidcloud.com/my-portfolio-app:latest +docker push registry.tahmidcloud.com/my-portfolio-app:latest + +# Check the registry +curl -u user:pass http://192.168.1.142:5000/v2/_catalog +``` diff --git a/frontend/.dockerignore b/frontend/.dockerignore new file mode 100644 index 0000000..a4442f5 --- /dev/null +++ b/frontend/.dockerignore @@ -0,0 +1,5 @@ +node_modules +build +.dockerignore +Dockerfile +README.md \ No newline at end of file diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/frontend/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/frontend/Dockerfile b/frontend/Dockerfile new file mode 100644 index 0000000..1b72f5b --- /dev/null +++ b/frontend/Dockerfile @@ -0,0 +1,21 @@ +# Step 1: Build the React app +FROM node:20 AS build + +WORKDIR /app + +COPY package.json ./ +COPY package-lock.json ./ +RUN npm install + +COPY . ./ +RUN npm run build + +# Step 2: Serve the app +FROM nginx:alpine + +COPY --from=build /app/dist /usr/share/nginx/html + +# Expose port 80 +EXPOSE 80 + +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/frontend/eslint.config.js b/frontend/eslint.config.js new file mode 100644 index 0000000..092408a --- /dev/null +++ b/frontend/eslint.config.js @@ -0,0 +1,28 @@ +import js from '@eslint/js' +import globals from 'globals' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' +import tseslint from 'typescript-eslint' + +export default tseslint.config( + { ignores: ['dist'] }, + { + extends: [js.configs.recommended, ...tseslint.configs.recommended], + files: ['**/*.{ts,tsx}'], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + }, + plugins: { + 'react-hooks': reactHooks, + 'react-refresh': reactRefresh, + }, + rules: { + ...reactHooks.configs.recommended.rules, + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, + }, +) diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..63b0b5e --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,13 @@ + + + + + + + Taqi Tahmid + + +
+ + + diff --git a/frontend/package-lock.json b/frontend/package-lock.json new file mode 100644 index 0000000..2d2200f --- /dev/null +++ b/frontend/package-lock.json @@ -0,0 +1,4046 @@ +{ + "name": "portfolio", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "portfolio", + "version": "0.0.0", + "dependencies": { + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-icons": "^5.3.0" + }, + "devDependencies": { + "@eslint/js": "^9.9.0", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", + "@vitejs/plugin-react": "^4.3.1", + "autoprefixer": "^10.4.20", + "eslint": "^9.9.0", + "eslint-plugin-react-hooks": "^5.1.0-rc.0", + "eslint-plugin-react-refresh": "^0.4.9", + "globals": "^15.9.0", + "postcss": "^8.4.45", + "tailwindcss": "^3.4.11", + "typescript": "^5.5.3", + "typescript-eslint": "^8.0.1", + "vite": "^5.4.1" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.25.6", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz", + "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==", + "dev": true, + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.25.6" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.7.tgz", + "integrity": "sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.7.tgz", + "integrity": "sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", + "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", + "dev": true, + "dependencies": { + "@eslint/object-schema": "^2.1.4", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", + "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.10.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.10.0.tgz", + "integrity": "sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.1.0.tgz", + "integrity": "sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ==", + "dev": true, + "dependencies": { + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz", + "integrity": "sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==", + "dev": true, + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.5.tgz", + "integrity": "sha512-SU5cvamg0Eyu/F+kLeMXS7GoahL+OoizlclVFX3l5Ql6yNlywJJ0OuqTzUx0v+aHhPHEB/56CT06GQrRrGNYww==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.5.tgz", + "integrity": "sha512-S4pit5BP6E5R5C8S6tgU/drvgjtYW76FBuG6+ibG3tMvlD1h9LHVF9KmlmaUBQ8Obou7hEyS+0w+IR/VtxwNMQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.5.tgz", + "integrity": "sha512-250ZGg4ipTL0TGvLlfACkIxS9+KLtIbn7BCZjsZj88zSg2Lvu3Xdw6dhAhfe/FjjXPVNCtcSp+WZjVsD3a/Zlw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.5.tgz", + "integrity": "sha512-D8brJEFg5D+QxFcW6jYANu+Rr9SlKtTenmsX5hOSzNYVrK5oLAEMTUgKWYJP+wdKyCdeSwnapLsn+OVRFycuQg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.5.tgz", + "integrity": "sha512-PNqXYmdNFyWNg0ma5LdY8wP+eQfdvyaBAojAXgO7/gs0Q/6TQJVXAXe8gwW9URjbS0YAammur0fynYGiWsKlXw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.5.tgz", + "integrity": "sha512-kSSCZOKz3HqlrEuwKd9TYv7vxPYD77vHSUvM2y0YaTGnFc8AdI5TTQRrM1yIp3tXCKrSL9A7JLoILjtad5t8pQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.5.tgz", + "integrity": "sha512-oTXQeJHRbOnwRnRffb6bmqmUugz0glXaPyspp4gbQOPVApdpRrY/j7KP3lr7M8kTfQTyrBUzFjj5EuHAhqH4/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.5.tgz", + "integrity": "sha512-qnOTIIs6tIGFKCHdhYitgC2XQ2X25InIbZFor5wh+mALH84qnFHvc+vmWUpyX97B0hNvwNUL4B+MB8vJvH65Fw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.5.tgz", + "integrity": "sha512-TMYu+DUdNlgBXING13rHSfUc3Ky5nLPbWs4bFnT+R6Vu3OvXkTkixvvBKk8uO4MT5Ab6lC3U7x8S8El2q5o56w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.5.tgz", + "integrity": "sha512-PTQq1Kz22ZRvuhr3uURH+U/Q/a0pbxJoICGSprNLAoBEkyD3Sh9qP5I0Asn0y0wejXQBbsVMRZRxlbGFD9OK4A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.5.tgz", + "integrity": "sha512-bR5nCojtpuMss6TDEmf/jnBnzlo+6n1UhgwqUvRoe4VIotC7FG1IKkyJbwsT7JDsF2jxR+NTnuOwiGv0hLyDoQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.5.tgz", + "integrity": "sha512-N0jPPhHjGShcB9/XXZQWuWBKZQnC1F36Ce3sDqWpujsGjDz/CQtOL9LgTrJ+rJC8MJeesMWrMWVLKKNR/tMOCA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.5.tgz", + "integrity": "sha512-uBa2e28ohzNNwjr6Uxm4XyaA1M/8aTgfF2T7UIlElLaeXkgpmIJ2EitVNQxjO9xLLLy60YqAgKn/AqSpCUkE9g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.5.tgz", + "integrity": "sha512-RXT8S1HP8AFN/Kr3tg4fuYrNxZ/pZf1HemC5Tsddc6HzgGnJm0+Lh5rAHJkDuW3StI0ynNXukidROMXYl6ew8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.5.tgz", + "integrity": "sha512-ElTYOh50InL8kzyUD6XsnPit7jYCKrphmddKAe1/Ytt74apOxDq5YEcbsiKs0fR3vff3jEneMM+3I7jbqaMyBg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.5.tgz", + "integrity": "sha512-+lvL/4mQxSV8MukpkKyyvfwhH266COcWlXE/1qxwN08ajovta3459zrjLghYMgDerlzNwLAcFpvU+WWE5y6nAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.3.5", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.5.tgz", + "integrity": "sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", + "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.5.0.tgz", + "integrity": "sha512-lHS5hvz33iUFQKuPFGheAB84LwcJ60G8vKnEhnfcK1l8kGVLro2SFYW6K0/tj8FUhRJ0VHyg1oAfg50QGbPPHw==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.5.0", + "@typescript-eslint/type-utils": "8.5.0", + "@typescript-eslint/utils": "8.5.0", + "@typescript-eslint/visitor-keys": "8.5.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.5.0.tgz", + "integrity": "sha512-gF77eNv0Xz2UJg/NbpWJ0kqAm35UMsvZf1GHj8D9MRFTj/V3tAciIWXfmPLsAAF/vUlpWPvUDyH1jjsr0cMVWw==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "8.5.0", + "@typescript-eslint/types": "8.5.0", + "@typescript-eslint/typescript-estree": "8.5.0", + "@typescript-eslint/visitor-keys": "8.5.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.5.0.tgz", + "integrity": "sha512-06JOQ9Qgj33yvBEx6tpC8ecP9o860rsR22hWMEd12WcTRrfaFgHr2RB/CA/B+7BMhHkXT4chg2MyboGdFGawYg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.5.0", + "@typescript-eslint/visitor-keys": "8.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.5.0.tgz", + "integrity": "sha512-N1K8Ix+lUM+cIDhL2uekVn/ZD7TZW+9/rwz8DclQpcQ9rk4sIL5CAlBC0CugWKREmDjBzI/kQqU4wkg46jWLYA==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "8.5.0", + "@typescript-eslint/utils": "8.5.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.5.0.tgz", + "integrity": "sha512-qjkormnQS5wF9pjSi6q60bKUHH44j2APxfh9TQRXK8wbYVeDYYdYJGIROL87LGZZ2gz3Rbmjc736qyL8deVtdw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.5.0.tgz", + "integrity": "sha512-vEG2Sf9P8BPQ+d0pxdfndw3xIXaoSjliG0/Ejk7UggByZPKXmJmw3GW5jV2gHNQNawBUyfahoSiCFVov0Ruf7Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.5.0", + "@typescript-eslint/visitor-keys": "8.5.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.5.0.tgz", + "integrity": "sha512-6yyGYVL0e+VzGYp60wvkBHiqDWOpT63pdMV2CVG4LVDd5uR6q1qQN/7LafBZtAtNIn/mqXjsSeS5ggv/P0iECw==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.5.0", + "@typescript-eslint/types": "8.5.0", + "@typescript-eslint/typescript-estree": "8.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.5.0.tgz", + "integrity": "sha512-yTPqMnbAZJNy2Xq2XU8AdtOW9tJIr+UQb64aXB9f3B1498Zx9JorVgFJcZpEc9UBuCCrdzKID2RGAMkYcDtZOw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.5.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.1.tgz", + "integrity": "sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.24.5", + "@babel/plugin-transform-react-jsx-self": "^7.24.5", + "@babel/plugin-transform-react-jsx-source": "^7.24.1", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0" + } + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/autoprefixer": { + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001660", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001660.tgz", + "integrity": "sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.5.23", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.23.tgz", + "integrity": "sha512-mBhODedOXg4v5QWwl21DjM5amzjmI1zw9EPrPK/5Wx7C8jt33bpZNrC7OhHUG3pxRtbLpr3W2dXT+Ph1SsfRZA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "9.10.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.10.0.tgz", + "integrity": "sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.11.0", + "@eslint/config-array": "^0.18.0", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "9.10.0", + "@eslint/plugin-kit": "^0.1.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.3.0", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.0.2", + "eslint-visitor-keys": "^4.0.0", + "espree": "^10.1.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.1.0-rc-fb9a90fa48-20240614", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0-rc-fb9a90fa48-20240614.tgz", + "integrity": "sha512-xsiRwaDNF5wWNC4ZHLut+x/YcAxksUd9Rizt7LaEn3bV8VyYRpXnRJQlLOfYaVy9esk4DFP4zPPnoNVjq5Gc0w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.11.tgz", + "integrity": "sha512-wrAKxMbVr8qhXTtIKfXqAn5SAtRZt0aXxe5P23Fh4pUAdC6XEsybGLB8P0PI4j1yYqOgUEUlzKAGDfo7rJOjcw==", + "dev": true, + "peerDependencies": { + "eslint": ">=7" + } + }, + "node_modules/eslint-scope": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz", + "integrity": "sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", + "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/espree": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", + "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", + "dev": true, + "dependencies": { + "acorn": "^8.12.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "15.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.9.0.tgz", + "integrity": "sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "dev": true, + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.4.45", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.45.tgz", + "integrity": "sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-icons": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.3.0.tgz", + "integrity": "sha512-DnUk8aFbTyQPSkCfF8dbX6kQjXA9DktMeJqfjrg6cK9vwQVMxmcA3BfP4QoiztVmEHtwlTgLFsPuH2NskKT6eg==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.5.tgz", + "integrity": "sha512-WoinX7GeQOFMGznEcWA1WrTQCd/tpEbMkc3nuMs9BT0CPjMdSjPMTVClwWd4pgSQwJdP65SK9mTCNvItlr5o7w==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.22.5", + "@rollup/rollup-android-arm64": "4.22.5", + "@rollup/rollup-darwin-arm64": "4.22.5", + "@rollup/rollup-darwin-x64": "4.22.5", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.5", + "@rollup/rollup-linux-arm-musleabihf": "4.22.5", + "@rollup/rollup-linux-arm64-gnu": "4.22.5", + "@rollup/rollup-linux-arm64-musl": "4.22.5", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.5", + "@rollup/rollup-linux-riscv64-gnu": "4.22.5", + "@rollup/rollup-linux-s390x-gnu": "4.22.5", + "@rollup/rollup-linux-x64-gnu": "4.22.5", + "@rollup/rollup-linux-x64-musl": "4.22.5", + "@rollup/rollup-win32-arm64-msvc": "4.22.5", + "@rollup/rollup-win32-ia32-msvc": "4.22.5", + "@rollup/rollup-win32-x64-msvc": "4.22.5", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.11", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.11.tgz", + "integrity": "sha512-qhEuBcLemjSJk5ajccN9xJFtM/h0AVCPaA6C92jNP+M2J8kX+eMJHI7R2HFKUvvAsMpcfLILMCFYSeDwpMmlUg==", + "dev": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typescript": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", + "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.5.0.tgz", + "integrity": "sha512-uD+XxEoSIvqtm4KE97etm32Tn5MfaZWgWfMMREStLxR6JzvHkc2Tkj7zhTEK5XmtpTmKHNnG8Sot6qDfhHtR1Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.5.0", + "@typescript-eslint/parser": "8.5.0", + "@typescript-eslint/utils": "8.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/vite": { + "version": "5.4.7", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.7.tgz", + "integrity": "sha512-5l2zxqMEPVENgvzTuBpHer2awaetimj2BGkhBPdnwKbPNOlHsODU+oiazEZzLK7KhAnOrO+XGYJYn4ZlUhDtDQ==", + "dev": true, + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yaml": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", + "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", + "dev": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000..4945748 --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,33 @@ +{ + "name": "portfolio", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc -b && vite build", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-icons": "^5.3.0" + }, + "devDependencies": { + "@eslint/js": "^9.9.0", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", + "@vitejs/plugin-react": "^4.3.1", + "autoprefixer": "^10.4.20", + "eslint": "^9.9.0", + "eslint-plugin-react-hooks": "^5.1.0-rc.0", + "eslint-plugin-react-refresh": "^0.4.9", + "globals": "^15.9.0", + "postcss": "^8.4.45", + "tailwindcss": "^3.4.11", + "typescript": "^5.5.3", + "typescript-eslint": "^8.0.1", + "vite": "^5.4.1" + } +} diff --git a/frontend/postcss.config.js b/frontend/postcss.config.js new file mode 100644 index 0000000..2e7af2b --- /dev/null +++ b/frontend/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/frontend/public/console-svgrepo-com.svg b/frontend/public/console-svgrepo-com.svg new file mode 100644 index 0000000..0f22056 --- /dev/null +++ b/frontend/public/console-svgrepo-com.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/frontend/public/vite.svg b/frontend/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/frontend/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/src/App.css b/frontend/src/App.css new file mode 100644 index 0000000..23b68c0 --- /dev/null +++ b/frontend/src/App.css @@ -0,0 +1,6 @@ +#root { + max-width: 100%; + margin: 0 auto; + padding: 0; + text-align: center; +} diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx new file mode 100644 index 0000000..7171610 --- /dev/null +++ b/frontend/src/App.tsx @@ -0,0 +1,28 @@ +import { useState } from 'react' +import './App.css' +import Navbar from './components/Navbar' +import Introduction from './components/Introduction' +import Skills from './components/Skills' + +function App() { + const [darkMode, setDarkMode] = useState(true) + const toggleDarkMode = (): void => { + console.log("Dark Mode") + setDarkMode(!darkMode) + } + return ( + <> +
+
+
+ + + +
+
+
+ + ) +} + +export default App \ No newline at end of file diff --git a/frontend/src/assets/PhotoRoom_20201011_002118.jpg b/frontend/src/assets/PhotoRoom_20201011_002118.jpg new file mode 100644 index 0000000000000000000000000000000000000000..94414109006bb929a6d8bcee64e53e3eeaf8eb20 GIT binary patch literal 150722 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 aaB(TNacrEu9Q%hrU$PT1uEX-*oBs>q(Hj~7 literal 0 HcmV?d00001 diff --git a/frontend/src/assets/ansible.svg b/frontend/src/assets/ansible.svg new file mode 100644 index 0000000..2f25933 --- /dev/null +++ b/frontend/src/assets/ansible.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/bash-icon.svg b/frontend/src/assets/bash-icon.svg new file mode 100644 index 0000000..b3f3125 --- /dev/null +++ b/frontend/src/assets/bash-icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/frontend/src/assets/docker-icon.svg b/frontend/src/assets/docker-icon.svg new file mode 100644 index 0000000..3fafadf --- /dev/null +++ b/frontend/src/assets/docker-icon.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/frontend/src/assets/git-icon.svg b/frontend/src/assets/git-icon.svg new file mode 100644 index 0000000..9f76600 --- /dev/null +++ b/frontend/src/assets/git-icon.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/frontend/src/assets/go-original.svg b/frontend/src/assets/go-original.svg new file mode 100644 index 0000000..4337780 --- /dev/null +++ b/frontend/src/assets/go-original.svg @@ -0,0 +1 @@ + diff --git a/frontend/src/assets/grafana.svg b/frontend/src/assets/grafana.svg new file mode 100644 index 0000000..d2681af --- /dev/null +++ b/frontend/src/assets/grafana.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/frontend/src/assets/jenkins.svg b/frontend/src/assets/jenkins.svg new file mode 100644 index 0000000..ed609c4 --- /dev/null +++ b/frontend/src/assets/jenkins.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/kubernetes.svg b/frontend/src/assets/kubernetes.svg new file mode 100644 index 0000000..50abd41 --- /dev/null +++ b/frontend/src/assets/kubernetes.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/frontend/src/assets/prometheus.svg b/frontend/src/assets/prometheus.svg new file mode 100644 index 0000000..7ef8a7a --- /dev/null +++ b/frontend/src/assets/prometheus.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/frontend/src/assets/python.svg b/frontend/src/assets/python.svg new file mode 100644 index 0000000..cfbb36f --- /dev/null +++ b/frontend/src/assets/python.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/react (1).svg b/frontend/src/assets/react (1).svg new file mode 100644 index 0000000..2fddb28 --- /dev/null +++ b/frontend/src/assets/react (1).svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/frontend/src/assets/react.svg b/frontend/src/assets/react.svg new file mode 100644 index 0000000..6c87de9 --- /dev/null +++ b/frontend/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/src/assets/terraform-icon.svg b/frontend/src/assets/terraform-icon.svg new file mode 100644 index 0000000..e8f7abc --- /dev/null +++ b/frontend/src/assets/terraform-icon.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/frontend/src/components/Introduction.tsx b/frontend/src/components/Introduction.tsx new file mode 100644 index 0000000..dafdb9b --- /dev/null +++ b/frontend/src/components/Introduction.tsx @@ -0,0 +1,26 @@ +import { + AiFillGithub, + AiFillLinkedin +} from "react-icons/ai"; + +const Introduction = () => { + const BoldStyle = "text-blue-900 dark:text-blue-400" + return ( +

+ ) +} + +export default Introduction diff --git a/frontend/src/components/Navbar.tsx b/frontend/src/components/Navbar.tsx new file mode 100644 index 0000000..03342c3 --- /dev/null +++ b/frontend/src/components/Navbar.tsx @@ -0,0 +1,33 @@ +import React from "react" + +interface NavProps { + darkMode: boolean + toggleDarkMode: () => void +} + +const Navbar: React.FC = ( {toggleDarkMode, darkMode} ) => { + const mode = darkMode ? "Light" : "Dark" + return ( + <> + + + ) +} + +export default Navbar \ No newline at end of file diff --git a/frontend/src/components/Photo.tsx b/frontend/src/components/Photo.tsx new file mode 100644 index 0000000..0edba68 --- /dev/null +++ b/frontend/src/components/Photo.tsx @@ -0,0 +1,12 @@ +import taqimugshot from "../../src/assets/PhotoRoom_20201011_002118.jpg"; + +const Photo = () => { + return ( +
+ mugshot +
+ ) +} +export default Photo \ No newline at end of file diff --git a/frontend/src/components/Skills.tsx b/frontend/src/components/Skills.tsx new file mode 100644 index 0000000..cd4ab96 --- /dev/null +++ b/frontend/src/components/Skills.tsx @@ -0,0 +1,46 @@ +import pythonIcon from "../assets/python.svg" +import bashIcon from "../assets/bash-icon.svg" +import goIcon from "../assets/go-original.svg" +import reactIcon from "../assets/react.svg" +import ansibleIcon from "../assets/ansible.svg" +import terraformIcon from "../assets/terraform-icon.svg" +import jenkinsIcon from "../assets/jenkins.svg" +import gitIcon from "../assets/git-icon.svg" +import dockerIcon from "../assets/docker-icon.svg" +import kubernetesIcon from "../assets/kubernetes.svg" +import prometheusIcon from "../assets/prometheus.svg" +import grafanaIcon from "../assets/grafana.svg" + + +const Skills = () => { + const skills = [ + { name: 'Python', icon: pythonIcon}, + { name: 'Golang', icon: goIcon }, + { name: 'React', icon: reactIcon }, + { name: 'Bash', icon: bashIcon}, + { name: 'Ansible', icon: ansibleIcon}, + { name: 'Terraform', icon: terraformIcon }, + { name: 'Jenkins', icon: jenkinsIcon}, + { name: 'Git', icon: gitIcon}, + { name: 'Docker', icon: dockerIcon }, + { name: 'Kubernetes', icon: kubernetesIcon}, + { name: 'Prometheus', icon: prometheusIcon}, + { name: 'Grafana', icon: grafanaIcon}, + ]; + + return ( +
+

Tools and Languages

+
+ {skills.map((skill) => ( +
+ {skill.name} +

{skill.name}

+
+ ))} +
+
+ ); +}; + +export default Skills; diff --git a/frontend/src/index.css b/frontend/src/index.css new file mode 100644 index 0000000..bd6213e --- /dev/null +++ b/frontend/src/index.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; \ No newline at end of file diff --git a/frontend/src/main.tsx b/frontend/src/main.tsx new file mode 100644 index 0000000..6f4ac9b --- /dev/null +++ b/frontend/src/main.tsx @@ -0,0 +1,10 @@ +import { StrictMode } from 'react' +import { createRoot } from 'react-dom/client' +import App from './App.tsx' +import './index.css' + +createRoot(document.getElementById('root')!).render( + + + , +) diff --git a/frontend/src/vite-env.d.ts b/frontend/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/frontend/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/frontend/tailwind.config.js b/frontend/tailwind.config.js new file mode 100644 index 0000000..6fa4d26 --- /dev/null +++ b/frontend/tailwind.config.js @@ -0,0 +1,12 @@ +/** @type {import('tailwindcss').Config} */ +export default { + darkMode: 'class', + content: [ + "./index.html", + "./src/**/*.{js,ts,jsx,tsx}", + ], + theme: { + extend: {}, + }, + plugins: [], +} diff --git a/frontend/tsconfig.app.json b/frontend/tsconfig.app.json new file mode 100644 index 0000000..f0a2350 --- /dev/null +++ b/frontend/tsconfig.app.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"] +} diff --git a/frontend/tsconfig.app.tsbuildinfo b/frontend/tsconfig.app.tsbuildinfo new file mode 100644 index 0000000..2bedf07 --- /dev/null +++ b/frontend/tsconfig.app.tsbuildinfo @@ -0,0 +1 @@ +{"root":["./src/App.tsx","./src/main.tsx","./src/vite-env.d.ts","./src/components/Introduction.tsx","./src/components/Navbar.tsx","./src/components/Photo.tsx","./src/components/Skills.tsx"],"version":"5.6.2"} \ No newline at end of file diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json new file mode 100644 index 0000000..1ffef60 --- /dev/null +++ b/frontend/tsconfig.json @@ -0,0 +1,7 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ] +} diff --git a/frontend/tsconfig.node.json b/frontend/tsconfig.node.json new file mode 100644 index 0000000..0d3d714 --- /dev/null +++ b/frontend/tsconfig.node.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "target": "ES2022", + "lib": ["ES2023"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["vite.config.ts"] +} diff --git a/frontend/tsconfig.node.tsbuildinfo b/frontend/tsconfig.node.tsbuildinfo new file mode 100644 index 0000000..98ef2f9 --- /dev/null +++ b/frontend/tsconfig.node.tsbuildinfo @@ -0,0 +1 @@ +{"root":["./vite.config.ts"],"version":"5.6.2"} \ No newline at end of file diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts new file mode 100644 index 0000000..5a33944 --- /dev/null +++ b/frontend/vite.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], +})