From 5502ae2664f51c4c7284c54b7d43333b662db2a1 Mon Sep 17 00:00:00 2001 From: Ryan Toronto Date: Tue, 5 Dec 2023 15:01:47 -0500 Subject: [PATCH] Clearing input example --- .../begin/.eslintrc.json | 3 + 10-clearing-the-search-input/begin/.gitignore | 36 + .../begin/.node-version | 1 + .../begin/.prettierrc.json | 3 + .../begin/.vscode/settings.json | 6 + 10-clearing-the-search-input/begin/NOTES.md | 1 + 10-clearing-the-search-input/begin/README.md | 38 + .../begin/next.config.js | 8 + .../begin/package.json | 35 + .../begin/pnpm-lock.yaml | 2907 +++++++++++++++++ .../begin/postcss.config.js | 6 + .../begin/prisma/dev.db | Bin 0 -> 102400 bytes .../begin/prisma/schema.prisma | 17 + .../begin/public/next.svg | 1 + .../begin/public/thirteen.svg | 1 + .../begin/public/vercel.svg | 1 + .../begin/scripts/add-users.ts | 19 + .../begin/src/app/components/spinner.tsx | 24 + .../begin/src/app/favicon.ico | Bin 0 -> 25931 bytes .../begin/src/app/globals.css | 3 + .../begin/src/app/layout.tsx | 21 + .../begin/src/app/loading.tsx | 9 + .../begin/src/app/page.tsx | 228 ++ .../begin/src/app/search-input.tsx | 58 + .../begin/src/lib/prisma.ts | 11 + .../begin/tailwind.config.js | 8 + .../begin/tsconfig.json | 34 + .../end/.eslintrc.json | 3 + 10-clearing-the-search-input/end/.gitignore | 36 + .../end/.node-version | 1 + .../end/.prettierrc.json | 3 + .../end/.vscode/settings.json | 6 + 10-clearing-the-search-input/end/NOTES.md | 1 + 10-clearing-the-search-input/end/README.md | 38 + .../end/next.config.js | 8 + 10-clearing-the-search-input/end/package.json | 35 + .../end/pnpm-lock.yaml | 2907 +++++++++++++++++ .../end/postcss.config.js | 6 + .../end/prisma/dev.db | Bin 0 -> 102400 bytes .../end/prisma/schema.prisma | 17 + .../end/public/next.svg | 1 + .../end/public/thirteen.svg | 1 + .../end/public/vercel.svg | 1 + .../end/scripts/add-users.ts | 19 + .../end/src/app/components/spinner.tsx | 24 + .../end/src/app/favicon.ico | Bin 0 -> 25931 bytes .../end/src/app/globals.css | 3 + .../end/src/app/layout.tsx | 21 + .../end/src/app/loading.tsx | 9 + .../end/src/app/page.tsx | 228 ++ .../end/src/app/search-input.tsx | 76 + .../end/src/lib/prisma.ts | 11 + .../end/tailwind.config.js | 8 + .../end/tsconfig.json | 34 + 54 files changed, 6976 insertions(+) create mode 100644 10-clearing-the-search-input/begin/.eslintrc.json create mode 100644 10-clearing-the-search-input/begin/.gitignore create mode 100644 10-clearing-the-search-input/begin/.node-version create mode 100644 10-clearing-the-search-input/begin/.prettierrc.json create mode 100644 10-clearing-the-search-input/begin/.vscode/settings.json create mode 100644 10-clearing-the-search-input/begin/NOTES.md create mode 100644 10-clearing-the-search-input/begin/README.md create mode 100644 10-clearing-the-search-input/begin/next.config.js create mode 100644 10-clearing-the-search-input/begin/package.json create mode 100644 10-clearing-the-search-input/begin/pnpm-lock.yaml create mode 100644 10-clearing-the-search-input/begin/postcss.config.js create mode 100644 10-clearing-the-search-input/begin/prisma/dev.db create mode 100644 10-clearing-the-search-input/begin/prisma/schema.prisma create mode 100644 10-clearing-the-search-input/begin/public/next.svg create mode 100644 10-clearing-the-search-input/begin/public/thirteen.svg create mode 100644 10-clearing-the-search-input/begin/public/vercel.svg create mode 100644 10-clearing-the-search-input/begin/scripts/add-users.ts create mode 100644 10-clearing-the-search-input/begin/src/app/components/spinner.tsx create mode 100644 10-clearing-the-search-input/begin/src/app/favicon.ico create mode 100644 10-clearing-the-search-input/begin/src/app/globals.css create mode 100644 10-clearing-the-search-input/begin/src/app/layout.tsx create mode 100644 10-clearing-the-search-input/begin/src/app/loading.tsx create mode 100644 10-clearing-the-search-input/begin/src/app/page.tsx create mode 100644 10-clearing-the-search-input/begin/src/app/search-input.tsx create mode 100644 10-clearing-the-search-input/begin/src/lib/prisma.ts create mode 100644 10-clearing-the-search-input/begin/tailwind.config.js create mode 100644 10-clearing-the-search-input/begin/tsconfig.json create mode 100644 10-clearing-the-search-input/end/.eslintrc.json create mode 100644 10-clearing-the-search-input/end/.gitignore create mode 100644 10-clearing-the-search-input/end/.node-version create mode 100644 10-clearing-the-search-input/end/.prettierrc.json create mode 100644 10-clearing-the-search-input/end/.vscode/settings.json create mode 100644 10-clearing-the-search-input/end/NOTES.md create mode 100644 10-clearing-the-search-input/end/README.md create mode 100644 10-clearing-the-search-input/end/next.config.js create mode 100644 10-clearing-the-search-input/end/package.json create mode 100644 10-clearing-the-search-input/end/pnpm-lock.yaml create mode 100644 10-clearing-the-search-input/end/postcss.config.js create mode 100644 10-clearing-the-search-input/end/prisma/dev.db create mode 100644 10-clearing-the-search-input/end/prisma/schema.prisma create mode 100644 10-clearing-the-search-input/end/public/next.svg create mode 100644 10-clearing-the-search-input/end/public/thirteen.svg create mode 100644 10-clearing-the-search-input/end/public/vercel.svg create mode 100644 10-clearing-the-search-input/end/scripts/add-users.ts create mode 100644 10-clearing-the-search-input/end/src/app/components/spinner.tsx create mode 100644 10-clearing-the-search-input/end/src/app/favicon.ico create mode 100644 10-clearing-the-search-input/end/src/app/globals.css create mode 100644 10-clearing-the-search-input/end/src/app/layout.tsx create mode 100644 10-clearing-the-search-input/end/src/app/loading.tsx create mode 100644 10-clearing-the-search-input/end/src/app/page.tsx create mode 100644 10-clearing-the-search-input/end/src/app/search-input.tsx create mode 100644 10-clearing-the-search-input/end/src/lib/prisma.ts create mode 100644 10-clearing-the-search-input/end/tailwind.config.js create mode 100644 10-clearing-the-search-input/end/tsconfig.json diff --git a/10-clearing-the-search-input/begin/.eslintrc.json b/10-clearing-the-search-input/begin/.eslintrc.json new file mode 100644 index 0000000..bffb357 --- /dev/null +++ b/10-clearing-the-search-input/begin/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "next/core-web-vitals" +} diff --git a/10-clearing-the-search-input/begin/.gitignore b/10-clearing-the-search-input/begin/.gitignore new file mode 100644 index 0000000..c87c9b3 --- /dev/null +++ b/10-clearing-the-search-input/begin/.gitignore @@ -0,0 +1,36 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/10-clearing-the-search-input/begin/.node-version b/10-clearing-the-search-input/begin/.node-version new file mode 100644 index 0000000..6d80269 --- /dev/null +++ b/10-clearing-the-search-input/begin/.node-version @@ -0,0 +1 @@ +18.16.0 diff --git a/10-clearing-the-search-input/begin/.prettierrc.json b/10-clearing-the-search-input/begin/.prettierrc.json new file mode 100644 index 0000000..b4bfed3 --- /dev/null +++ b/10-clearing-the-search-input/begin/.prettierrc.json @@ -0,0 +1,3 @@ +{ + "plugins": ["prettier-plugin-tailwindcss"] +} diff --git a/10-clearing-the-search-input/begin/.vscode/settings.json b/10-clearing-the-search-input/begin/.vscode/settings.json new file mode 100644 index 0000000..e3dcd73 --- /dev/null +++ b/10-clearing-the-search-input/begin/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "typescript.tsdk": "node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib", + "typescript.enablePromptUseWorkspaceTsdk": true, + "dotenv.enableAutocloaking": false, + "workbench.layoutControl.enabled": true +} diff --git a/10-clearing-the-search-input/begin/NOTES.md b/10-clearing-the-search-input/begin/NOTES.md new file mode 100644 index 0000000..8ddacff --- /dev/null +++ b/10-clearing-the-search-input/begin/NOTES.md @@ -0,0 +1 @@ +await new Promise((resolve) => setTimeout(resolve, 3000)); diff --git a/10-clearing-the-search-input/begin/README.md b/10-clearing-the-search-input/begin/README.md new file mode 100644 index 0000000..5bc7ca2 --- /dev/null +++ b/10-clearing-the-search-input/begin/README.md @@ -0,0 +1,38 @@ +This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +# or +pnpm dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. + +[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`. + +The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. + +This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/10-clearing-the-search-input/begin/next.config.js b/10-clearing-the-search-input/begin/next.config.js new file mode 100644 index 0000000..4436b22 --- /dev/null +++ b/10-clearing-the-search-input/begin/next.config.js @@ -0,0 +1,8 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = { + experimental: { + appDir: true, + }, +}; + +module.exports = nextConfig; diff --git a/10-clearing-the-search-input/begin/package.json b/10-clearing-the-search-input/begin/package.json new file mode 100644 index 0000000..4be1349 --- /dev/null +++ b/10-clearing-the-search-input/begin/package.json @@ -0,0 +1,35 @@ +{ + "name": "rsc-video-1", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "@heroicons/react": "^2.0.18", + "@prisma/client": "^4.14.0", + "@tailwindcss/forms": "^0.5.3", + "@types/node": "18.15.10", + "@types/react": "18.2.18", + "@types/react-dom": "18.2.7", + "eslint": "8.40.0", + "eslint-config-next": "13.4.13", + "next": "13.4.13", + "prisma": "^4.14.0", + "react": "18.2.0", + "react-dom": "18.2.0", + "ts-node": "^10.9.1", + "typescript": "5.1.6" + }, + "devDependencies": { + "@faker-js/faker": "^7.6.0", + "autoprefixer": "^10.4.14", + "postcss": "^8.4.23", + "prettier": "^2.8.8", + "prettier-plugin-tailwindcss": "^0.2.8", + "tailwindcss": "^3.3.2" + } +} diff --git a/10-clearing-the-search-input/begin/pnpm-lock.yaml b/10-clearing-the-search-input/begin/pnpm-lock.yaml new file mode 100644 index 0000000..f82c030 --- /dev/null +++ b/10-clearing-the-search-input/begin/pnpm-lock.yaml @@ -0,0 +1,2907 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@heroicons/react': + specifier: ^2.0.18 + version: 2.0.18(react@18.2.0) + '@prisma/client': + specifier: ^4.14.0 + version: 4.14.0(prisma@4.14.0) + '@tailwindcss/forms': + specifier: ^0.5.3 + version: 0.5.3(tailwindcss@3.3.2) + '@types/node': + specifier: 18.15.10 + version: 18.15.10 + '@types/react': + specifier: 18.2.18 + version: 18.2.18 + '@types/react-dom': + specifier: 18.2.7 + version: 18.2.7 + eslint: + specifier: 8.40.0 + version: 8.40.0 + eslint-config-next: + specifier: 13.4.13 + version: 13.4.13(eslint@8.40.0)(typescript@5.1.6) + next: + specifier: 13.4.13 + version: 13.4.13(react-dom@18.2.0)(react@18.2.0) + prisma: + specifier: ^4.14.0 + version: 4.14.0 + react: + specifier: 18.2.0 + version: 18.2.0 + react-dom: + specifier: 18.2.0 + version: 18.2.0(react@18.2.0) + ts-node: + specifier: ^10.9.1 + version: 10.9.1(@types/node@18.15.10)(typescript@5.1.6) + typescript: + specifier: 5.1.6 + version: 5.1.6 + +devDependencies: + '@faker-js/faker': + specifier: ^7.6.0 + version: 7.6.0 + autoprefixer: + specifier: ^10.4.14 + version: 10.4.14(postcss@8.4.23) + postcss: + specifier: ^8.4.23 + version: 8.4.23 + prettier: + specifier: ^2.8.8 + version: 2.8.8 + prettier-plugin-tailwindcss: + specifier: ^0.2.8 + version: 0.2.8(prettier@2.8.8) + tailwindcss: + specifier: ^3.3.2 + version: 3.3.2(ts-node@10.9.1) + +packages: + + /@alloc/quick-lru@5.2.0: + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + + /@babel/runtime@7.22.6: + resolution: {integrity: sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.11 + dev: false + + /@cspotcode/source-map-support@0.8.1: + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + + /@eslint-community/eslint-utils@4.4.0(eslint@8.40.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.40.0 + eslint-visitor-keys: 3.4.1 + dev: false + + /@eslint-community/regexpp@4.5.1: + resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: false + + /@eslint/eslintrc@2.0.3: + resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.5.2 + globals: 13.20.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@eslint/js@8.40.0: + resolution: {integrity: sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: false + + /@faker-js/faker@7.6.0: + resolution: {integrity: sha512-XK6BTq1NDMo9Xqw/YkYyGjSsg44fbNwYRx7QK2CuoQgyy+f1rrTDHoExVM5PsyXCtfl2vs2vVJ0MN0yN6LppRw==} + engines: {node: '>=14.0.0', npm: '>=6.0.0'} + dev: true + + /@heroicons/react@2.0.18(react@18.2.0): + resolution: {integrity: sha512-7TyMjRrZZMBPa+/5Y8lN0iyvUU/01PeMGX2+RE7cQWpEUIcb4QotzUObFkJDejj/HUH4qjP/eQ0gzzKs2f+6Yw==} + peerDependencies: + react: '>= 16' + dependencies: + react: 18.2.0 + dev: false + + /@humanwhocodes/config-array@0.11.8: + resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: false + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: false + + /@humanwhocodes/object-schema@1.2.1: + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + dev: false + + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.18 + + /@jridgewell/resolve-uri@3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + engines: {node: '>=6.0.0'} + + /@jridgewell/set-array@1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + + /@jridgewell/sourcemap-codec@1.4.14: + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@jridgewell/trace-mapping@0.3.18: + resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + + /@jridgewell/trace-mapping@0.3.9: + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.15 + + /@next/env@13.4.13: + resolution: {integrity: sha512-fwz2QgVg08v7ZL7KmbQBLF2PubR/6zQdKBgmHEl3BCyWTEDsAQEijjw2gbFhI1tcKfLdOOJUXntz5vZ4S0Polg==} + dev: false + + /@next/eslint-plugin-next@13.4.13: + resolution: {integrity: sha512-RpZeXlPxQ9FLeYN84XHDqRN20XxmVNclYCraLYdifRsmibtcWUWdwE/ANp2C8kgesFRsvwfsw6eOkYNl9sLJ3A==} + dependencies: + glob: 7.1.7 + dev: false + + /@next/swc-darwin-arm64@13.4.13: + resolution: {integrity: sha512-ZptVhHjzUuivnXMNCJ6lER33HN7lC+rZ01z+PM10Ows21NHFYMvGhi5iXkGtBDk6VmtzsbqnAjnx4Oz5um0FjA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@next/swc-darwin-x64@13.4.13: + resolution: {integrity: sha512-t9nTiWCLApw8W4G1kqJyYP7y6/7lyal3PftmRturIxAIBlZss9wrtVN8nci50StDHmIlIDxfguYIEGVr9DbFTg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-arm64-gnu@13.4.13: + resolution: {integrity: sha512-xEHUqC8eqR5DHe8SOmMnDU1K3ggrJ28uIKltrQAwqFSSSmzjnN/XMocZkcVhuncuxYrpbri0iMQstRyRVdQVWg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-arm64-musl@13.4.13: + resolution: {integrity: sha512-sNf3MnLAm8rquSSAoeD9nVcdaDeRYOeey4stOWOyWIgbBDtP+C93amSgH/LPTDoUV7gNiU6f+ghepTjTjRgIUQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-x64-gnu@13.4.13: + resolution: {integrity: sha512-WhcRaJJSHyx9OWmKjjz+OWHumiPZWRqmM/09Bt7Up4UqUJFFhGExeztR4trtv3rflvULatu9IH/nTV8fUUgaMA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-x64-musl@13.4.13: + resolution: {integrity: sha512-+Y4LLhOWWZQIDKVwr2R17lq2KSN0F1c30QVgGIWfnjjHpH8nrIWHEndhqYU+iFuW8It78CiJjQKTw4f51HD7jA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-arm64-msvc@13.4.13: + resolution: {integrity: sha512-rWurdOR20uxjfqd1X9vDAgv0Jb26KjyL8akF9CBeFqX8rVaBAnW/Wf6A2gYEwyYY4Bai3T7p1kro6DFrsvBAAw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-ia32-msvc@13.4.13: + resolution: {integrity: sha512-E8bSPwRuY5ibJ3CzLQmJEt8qaWrPYuUTwnrwygPUEWoLzD5YRx9SD37oXRdU81TgGwDzCxpl7z5Nqlfk50xAog==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-x64-msvc@13.4.13: + resolution: {integrity: sha512-4KlyC6jWRubPnppgfYsNTPeWfGCxtWLh5vaOAW/kdzAk9widqho8Qb5S4K2vHmal1tsURi7Onk2MMCV1phvyqA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + + /@pkgr/utils@2.4.2: + resolution: {integrity: sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dependencies: + cross-spawn: 7.0.3 + fast-glob: 3.3.1 + is-glob: 4.0.3 + open: 9.1.0 + picocolors: 1.0.0 + tslib: 2.6.1 + dev: false + + /@prisma/client@4.14.0(prisma@4.14.0): + resolution: {integrity: sha512-MK/XaA2sFdfaOa7I9MjNKz6dxeIEdeZlnpNRoF2w3JuRLlFJLkpp6cD3yaqw2nUUhbrn3Iqe3ZpVV+VuGGil7Q==} + engines: {node: '>=14.17'} + requiresBuild: true + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + dependencies: + '@prisma/engines-version': 4.14.0-67.d9a4c5988f480fa576d43970d5a23641aa77bc9c + prisma: 4.14.0 + dev: false + + /@prisma/engines-version@4.14.0-67.d9a4c5988f480fa576d43970d5a23641aa77bc9c: + resolution: {integrity: sha512-3jum8/YSudeSN0zGW5qkpz+wAN2V/NYCQ+BPjvHYDfWatLWlQkqy99toX0GysDeaUoBIJg1vaz2yKqiA3CFcQw==} + dev: false + + /@prisma/engines@4.14.0: + resolution: {integrity: sha512-PDNlhP/1vyTgmNyiucGqGCdXIp7HIkkvKO50si3y3PcceeHvqtiKPaH1iJdz63jCWMVMbj2MElSxXPOeBvEVIQ==} + requiresBuild: true + dev: false + + /@rushstack/eslint-patch@1.3.2: + resolution: {integrity: sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==} + dev: false + + /@swc/helpers@0.5.1: + resolution: {integrity: sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==} + dependencies: + tslib: 2.6.1 + dev: false + + /@tailwindcss/forms@0.5.3(tailwindcss@3.3.2): + resolution: {integrity: sha512-y5mb86JUoiUgBjY/o6FJSFZSEttfb3Q5gllE4xoKjAAD+vBrnIhE4dViwUuow3va8mpH4s9jyUbUbrRGoRdc2Q==} + peerDependencies: + tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1' + dependencies: + mini-svg-data-uri: 1.4.4 + tailwindcss: 3.3.2(ts-node@10.9.1) + dev: false + + /@tsconfig/node10@1.0.9: + resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + + /@tsconfig/node12@1.0.11: + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + + /@tsconfig/node14@1.0.3: + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + + /@tsconfig/node16@1.0.3: + resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + + /@types/json5@0.0.29: + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + dev: false + + /@types/node@18.15.10: + resolution: {integrity: sha512-9avDaQJczATcXgfmMAW3MIWArOO7A+m90vuCFLr8AotWf8igO/mRoYukrk2cqZVtv38tHs33retzHEilM7FpeQ==} + + /@types/prop-types@15.7.5: + resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + dev: false + + /@types/react-dom@18.2.7: + resolution: {integrity: sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==} + dependencies: + '@types/react': 18.2.18 + dev: false + + /@types/react@18.2.18: + resolution: {integrity: sha512-da4NTSeBv/P34xoZPhtcLkmZuJ+oYaCxHmyHzwaDQo9RQPBeXV+06gEk2FpqEcsX9XrnNLvRpVh6bdavDSjtiQ==} + dependencies: + '@types/prop-types': 15.7.5 + '@types/scheduler': 0.16.3 + csstype: 3.1.2 + dev: false + + /@types/scheduler@0.16.3: + resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} + dev: false + + /@typescript-eslint/parser@6.3.0(eslint@8.40.0)(typescript@5.1.6): + resolution: {integrity: sha512-ibP+y2Gr6p0qsUkhs7InMdXrwldjxZw66wpcQq9/PzAroM45wdwyu81T+7RibNCh8oc0AgrsyCwJByncY0Ongg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 6.3.0 + '@typescript-eslint/types': 6.3.0 + '@typescript-eslint/typescript-estree': 6.3.0(typescript@5.1.6) + '@typescript-eslint/visitor-keys': 6.3.0 + debug: 4.3.4 + eslint: 8.40.0 + typescript: 5.1.6 + transitivePeerDependencies: + - supports-color + dev: false + + /@typescript-eslint/scope-manager@6.3.0: + resolution: {integrity: sha512-WlNFgBEuGu74ahrXzgefiz/QlVb+qg8KDTpknKwR7hMH+lQygWyx0CQFoUmMn1zDkQjTBBIn75IxtWss77iBIQ==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.3.0 + '@typescript-eslint/visitor-keys': 6.3.0 + dev: false + + /@typescript-eslint/types@6.3.0: + resolution: {integrity: sha512-K6TZOvfVyc7MO9j60MkRNWyFSf86IbOatTKGrpTQnzarDZPYPVy0oe3myTMq7VjhfsUAbNUW8I5s+2lZvtx1gg==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: false + + /@typescript-eslint/typescript-estree@6.3.0(typescript@5.1.6): + resolution: {integrity: sha512-Xh4NVDaC4eYKY4O3QGPuQNp5NxBAlEvNQYOqJquR2MePNxO11E5K3t5x4M4Mx53IZvtpW+mBxIT0s274fLUocg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.3.0 + '@typescript-eslint/visitor-keys': 6.3.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.1(typescript@5.1.6) + typescript: 5.1.6 + transitivePeerDependencies: + - supports-color + dev: false + + /@typescript-eslint/visitor-keys@6.3.0: + resolution: {integrity: sha512-kEhRRj7HnvaSjux1J9+7dBen15CdWmDnwrpyiHsFX6Qx2iW5LOBUgNefOFeh2PjWPlNwN8TOn6+4eBU3J/gupw==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.3.0 + eslint-visitor-keys: 3.4.2 + dev: false + + /acorn-jsx@5.3.2(acorn@8.8.2): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.8.2 + dev: false + + /acorn-walk@8.2.0: + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} + + /acorn@8.8.2: + resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + engines: {node: '>=0.4.0'} + hasBin: true + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: false + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: false + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: false + + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + /arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + + /arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: false + + /aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + dependencies: + dequal: 2.0.3 + dev: false + + /array-buffer-byte-length@1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + dependencies: + call-bind: 1.0.2 + is-array-buffer: 3.0.2 + dev: false + + /array-includes@3.1.6: + resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + get-intrinsic: 1.2.1 + is-string: 1.0.7 + dev: false + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: false + + /array.prototype.findlastindex@1.2.2: + resolution: {integrity: sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + es-shim-unscopables: 1.0.0 + get-intrinsic: 1.2.1 + dev: false + + /array.prototype.flat@1.3.1: + resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + es-shim-unscopables: 1.0.0 + dev: false + + /array.prototype.flatmap@1.3.1: + resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + es-shim-unscopables: 1.0.0 + dev: false + + /array.prototype.tosorted@1.1.1: + resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + es-shim-unscopables: 1.0.0 + get-intrinsic: 1.2.1 + dev: false + + /arraybuffer.prototype.slice@1.0.1: + resolution: {integrity: sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.2 + define-properties: 1.2.0 + get-intrinsic: 1.2.1 + is-array-buffer: 3.0.2 + is-shared-array-buffer: 1.0.2 + dev: false + + /ast-types-flow@0.0.7: + resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} + dev: false + + /autoprefixer@10.4.14(postcss@8.4.23): + resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.21.5 + caniuse-lite: 1.0.30001470 + fraction.js: 4.2.0 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.23 + postcss-value-parser: 4.2.0 + dev: true + + /available-typed-arrays@1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + dev: false + + /axe-core@4.7.2: + resolution: {integrity: sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==} + engines: {node: '>=4'} + dev: false + + /axobject-query@3.2.1: + resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + dependencies: + dequal: 2.0.3 + dev: false + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + /big-integer@1.6.51: + resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} + engines: {node: '>=0.6'} + dev: false + + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + + /bplist-parser@0.2.0: + resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} + engines: {node: '>= 5.10.0'} + dependencies: + big-integer: 1.6.51 + dev: false + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + + /browserslist@4.21.5: + resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001470 + electron-to-chromium: 1.4.341 + node-releases: 2.0.10 + update-browserslist-db: 1.0.10(browserslist@4.21.5) + dev: true + + /bundle-name@3.0.0: + resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} + engines: {node: '>=12'} + dependencies: + run-applescript: 5.0.0 + dev: false + + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: false + + /call-bind@1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.2.1 + dev: false + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: false + + /camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + + /caniuse-lite@1.0.30001470: + resolution: {integrity: sha512-065uNwY6QtHCBOExzbV6m236DDhYCCtPmQUCoQtwkVqzud8v5QPidoMr6CoMkC2nfp6nksjttqWQRRh75LqUmA==} + dev: true + + /caniuse-lite@1.0.30001519: + resolution: {integrity: sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==} + dev: false + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: false + + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + + /client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + dev: false + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: false + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: false + + /commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + /concat-map@0.0.1: + resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + + /create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: false + + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + /csstype@3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + dev: false + + /damerau-levenshtein@1.0.8: + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + dev: false + + /debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: false + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: false + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: false + + /default-browser-id@3.0.0: + resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} + engines: {node: '>=12'} + dependencies: + bplist-parser: 0.2.0 + untildify: 4.0.0 + dev: false + + /default-browser@4.0.0: + resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} + engines: {node: '>=14.16'} + dependencies: + bundle-name: 3.0.0 + default-browser-id: 3.0.0 + execa: 7.2.0 + titleize: 3.0.0 + dev: false + + /define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + dev: false + + /define-properties@1.2.0: + resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} + engines: {node: '>= 0.4'} + dependencies: + has-property-descriptors: 1.0.0 + object-keys: 1.1.1 + dev: false + + /dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + dev: false + + /didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + + /diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: false + + /dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + /doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + dependencies: + esutils: 2.0.3 + dev: false + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: false + + /electron-to-chromium@1.4.341: + resolution: {integrity: sha512-R4A8VfUBQY9WmAhuqY5tjHRf5fH2AAf6vqitBOE0y6u2PgHgqHSrhZmu78dIX3fVZtjqlwJNX1i2zwC3VpHtQQ==} + dev: true + + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: false + + /enhanced-resolve@5.15.0: + resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: false + + /es-abstract@1.22.1: + resolution: {integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + arraybuffer.prototype.slice: 1.0.1 + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + es-set-tostringtag: 2.0.1 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.5 + get-intrinsic: 1.2.1 + get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 + has: 1.0.3 + has-property-descriptors: 1.0.0 + has-proto: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.5 + is-array-buffer: 3.0.2 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-typed-array: 1.1.12 + is-weakref: 1.0.2 + object-inspect: 1.12.3 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.5.0 + safe-array-concat: 1.0.0 + safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.7 + string.prototype.trimend: 1.0.6 + string.prototype.trimstart: 1.0.6 + typed-array-buffer: 1.0.0 + typed-array-byte-length: 1.0.0 + typed-array-byte-offset: 1.0.0 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.11 + dev: false + + /es-set-tostringtag@2.0.1: + resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.1 + has: 1.0.3 + has-tostringtag: 1.0.0 + dev: false + + /es-shim-unscopables@1.0.0: + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + dependencies: + has: 1.0.3 + dev: false + + /es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: false + + /escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: false + + /eslint-config-next@13.4.13(eslint@8.40.0)(typescript@5.1.6): + resolution: {integrity: sha512-EXAh5h1yG/YTNa5YdskzaSZncBjKjvFe2zclMCi2KXyTsXha22wB6MPs/U7idB6a2qjpBdbZcruQY1TWjfNMZw==} + peerDependencies: + eslint: ^7.23.0 || ^8.0.0 + typescript: '>=3.3.1' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@next/eslint-plugin-next': 13.4.13 + '@rushstack/eslint-patch': 1.3.2 + '@typescript-eslint/parser': 6.3.0(eslint@8.40.0)(typescript@5.1.6) + eslint: 8.40.0 + eslint-import-resolver-node: 0.3.8 + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.8)(eslint-plugin-import@2.28.0)(eslint@8.40.0) + eslint-plugin-import: 2.28.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.40.0) + eslint-plugin-jsx-a11y: 6.7.1(eslint@8.40.0) + eslint-plugin-react: 7.33.1(eslint@8.40.0) + eslint-plugin-react-hooks: 5.0.0-canary-7118f5dd7-20230705(eslint@8.40.0) + typescript: 5.1.6 + transitivePeerDependencies: + - eslint-import-resolver-webpack + - supports-color + dev: false + + /eslint-import-resolver-node@0.3.8: + resolution: {integrity: sha512-tEe+Pok22qIGaK3KoMP+N96GVDS66B/zreoVVmiavLvRUEmGRtvb4B8wO9jwnb8d2lvHtrkhZ7UD73dWBVnf/Q==} + dependencies: + debug: 3.2.7 + is-core-module: 2.13.0 + resolve: 1.22.4 + transitivePeerDependencies: + - supports-color + dev: false + + /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.8)(eslint-plugin-import@2.28.0)(eslint@8.40.0): + resolution: {integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + dependencies: + debug: 4.3.4 + enhanced-resolve: 5.15.0 + eslint: 8.40.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.8)(eslint-import-resolver-typescript@3.5.5)(eslint@8.40.0) + eslint-plugin-import: 2.28.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.40.0) + get-tsconfig: 4.6.2 + globby: 13.2.2 + is-core-module: 2.13.0 + is-glob: 4.0.3 + synckit: 0.8.5 + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-node + - eslint-import-resolver-webpack + - supports-color + dev: false + + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.8)(eslint-import-resolver-typescript@3.5.5)(eslint@8.40.0): + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 6.3.0(eslint@8.40.0)(typescript@5.1.6) + debug: 3.2.7 + eslint: 8.40.0 + eslint-import-resolver-node: 0.3.8 + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.8)(eslint-plugin-import@2.28.0)(eslint@8.40.0) + transitivePeerDependencies: + - supports-color + dev: false + + /eslint-plugin-import@2.28.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.40.0): + resolution: {integrity: sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + '@typescript-eslint/parser': 6.3.0(eslint@8.40.0)(typescript@5.1.6) + array-includes: 3.1.6 + array.prototype.findlastindex: 1.2.2 + array.prototype.flat: 1.3.1 + array.prototype.flatmap: 1.3.1 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.40.0 + eslint-import-resolver-node: 0.3.8 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.8)(eslint-import-resolver-typescript@3.5.5)(eslint@8.40.0) + has: 1.0.3 + is-core-module: 2.13.0 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.6 + object.groupby: 1.0.0 + object.values: 1.1.6 + resolve: 1.22.4 + semver: 6.3.1 + tsconfig-paths: 3.14.2 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: false + + /eslint-plugin-jsx-a11y@6.7.1(eslint@8.40.0): + resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + '@babel/runtime': 7.22.6 + aria-query: 5.3.0 + array-includes: 3.1.6 + array.prototype.flatmap: 1.3.1 + ast-types-flow: 0.0.7 + axe-core: 4.7.2 + axobject-query: 3.2.1 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + eslint: 8.40.0 + has: 1.0.3 + jsx-ast-utils: 3.3.5 + language-tags: 1.0.5 + minimatch: 3.1.2 + object.entries: 1.1.6 + object.fromentries: 2.0.6 + semver: 6.3.1 + dev: false + + /eslint-plugin-react-hooks@5.0.0-canary-7118f5dd7-20230705(eslint@8.40.0): + resolution: {integrity: sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + dependencies: + eslint: 8.40.0 + dev: false + + /eslint-plugin-react@7.33.1(eslint@8.40.0): + resolution: {integrity: sha512-L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + array-includes: 3.1.6 + array.prototype.flatmap: 1.3.1 + array.prototype.tosorted: 1.1.1 + doctrine: 2.1.0 + eslint: 8.40.0 + estraverse: 5.3.0 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + object.entries: 1.1.6 + object.fromentries: 2.0.6 + object.hasown: 1.1.2 + object.values: 1.1.6 + prop-types: 15.8.1 + resolve: 2.0.0-next.4 + semver: 6.3.1 + string.prototype.matchall: 4.0.8 + dev: false + + /eslint-scope@7.2.0: + resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: false + + /eslint-visitor-keys@3.4.1: + resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: false + + /eslint-visitor-keys@3.4.2: + resolution: {integrity: sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: false + + /eslint@8.40.0: + resolution: {integrity: sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.40.0) + '@eslint-community/regexpp': 4.5.1 + '@eslint/eslintrc': 2.0.3 + '@eslint/js': 8.40.0 + '@humanwhocodes/config-array': 0.11.8 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.0 + eslint-visitor-keys: 3.4.1 + espree: 9.5.2 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.20.0 + grapheme-splitter: 1.0.4 + ignore: 5.2.4 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-sdsl: 4.4.0 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.1 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: false + + /espree@9.5.2: + resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.8.2 + acorn-jsx: 5.3.2(acorn@8.8.2) + eslint-visitor-keys: 3.4.1 + dev: false + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: false + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: false + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: false + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: false + + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: false + + /execa@7.2.0: + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 4.3.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + dev: false + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: false + + /fast-glob@3.2.12: + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + + /fast-glob@3.3.1: + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: false + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: false + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: false + + /fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.0.4 + dev: false + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: false + + /flat-cache@3.0.4: + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.2.7 + rimraf: 3.0.2 + dev: false + + /flatted@3.2.7: + resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + dev: false + + /for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + dev: false + + /fraction.js@4.2.0: + resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + /fsevents@2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /function-bind@1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + + /function.prototype.name@1.1.5: + resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + functions-have-names: 1.2.3 + dev: false + + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: false + + /get-intrinsic@1.2.1: + resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-proto: 1.0.1 + has-symbols: 1.0.3 + dev: false + + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: false + + /get-symbol-description@1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + dev: false + + /get-tsconfig@4.6.2: + resolution: {integrity: sha512-E5XrT4CbbXcXWy+1jChlZmrmCwd5KGx502kDCXJJ7y898TtWW9FwoG5HfOLVRKmlmDGkWN2HM9Ho+/Y8F0sJDg==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: false + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + + /glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + dev: false + + /glob@7.1.6: + resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + /glob@7.1.7: + resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: false + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: false + + /globals@13.20.0: + resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: false + + /globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.0 + dev: false + + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.1 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: false + + /globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.3.1 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 4.0.0 + dev: false + + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.1 + dev: false + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: false + + /grapheme-splitter@1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + dev: false + + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: false + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: false + + /has-property-descriptors@1.0.0: + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + dependencies: + get-intrinsic: 1.2.1 + dev: false + + /has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + dev: false + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: false + + /has-tostringtag@1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: false + + /has@1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: false + + /human-signals@4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} + dev: false + + /ignore@5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + dev: false + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: false + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: false + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + /internal-slot@1.0.5: + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.1 + has: 1.0.3 + side-channel: 1.0.4 + dev: false + + /is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + is-typed-array: 1.1.12 + dev: false + + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: false + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + + /is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: false + + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: false + + /is-core-module@2.12.0: + resolution: {integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==} + dependencies: + has: 1.0.3 + + /is-core-module@2.13.0: + resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} + dependencies: + has: 1.0.3 + dev: false + + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: false + + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: false + + /is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + dev: false + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + + /is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + dependencies: + is-docker: 3.0.0 + dev: false + + /is-negative-zero@2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + dev: false + + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: false + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: false + + /is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: false + + /is-shared-array-buffer@1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.2 + dev: false + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: false + + /is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: false + + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: false + + /is-typed-array@1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.11 + dev: false + + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.2 + dev: false + + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: false + + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: false + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: false + + /jiti@1.18.2: + resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==} + hasBin: true + + /js-sdsl@4.4.0: + resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==} + dev: false + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: false + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: false + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: false + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: false + + /json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + + /jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + dependencies: + array-includes: 3.1.6 + array.prototype.flat: 1.3.1 + object.assign: 4.1.4 + object.values: 1.1.6 + dev: false + + /language-subtag-registry@0.3.22: + resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} + dev: false + + /language-tags@1.0.5: + resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==} + dependencies: + language-subtag-registry: 0.3.22 + dev: false + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: false + + /lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: false + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: false + + /loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + dependencies: + js-tokens: 4.0.0 + dev: false + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: false + + /make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: false + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: false + + /mini-svg-data-uri@1.4.4: + resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} + hasBin: true + dev: false + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: false + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: false + + /mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + /nanoid@3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: false + + /next@13.4.13(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-A3YVbVDNeXLhWsZ8Nf6IkxmNlmTNz0yVg186NJ97tGZqPDdPzTrHotJ+A1cuJm2XfuWPrKOUZILl5iBQkIf8Jw==} + engines: {node: '>=16.8.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + react: ^18.2.0 + react-dom: ^18.2.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + sass: + optional: true + dependencies: + '@next/env': 13.4.13 + '@swc/helpers': 0.5.1 + busboy: 1.6.0 + caniuse-lite: 1.0.30001519 + postcss: 8.4.14 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + styled-jsx: 5.1.1(react@18.2.0) + watchpack: 2.4.0 + zod: 3.21.4 + optionalDependencies: + '@next/swc-darwin-arm64': 13.4.13 + '@next/swc-darwin-x64': 13.4.13 + '@next/swc-linux-arm64-gnu': 13.4.13 + '@next/swc-linux-arm64-musl': 13.4.13 + '@next/swc-linux-x64-gnu': 13.4.13 + '@next/swc-linux-x64-musl': 13.4.13 + '@next/swc-win32-arm64-msvc': 13.4.13 + '@next/swc-win32-ia32-msvc': 13.4.13 + '@next/swc-win32-x64-msvc': 13.4.13 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + dev: false + + /node-releases@2.0.10: + resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + /normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + dev: true + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: false + + /npm-run-path@5.1.0: + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: false + + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + /object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + + /object-inspect@1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + dev: false + + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: false + + /object.assign@4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: false + + /object.entries@1.1.6: + resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + dev: false + + /object.fromentries@2.0.6: + resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + dev: false + + /object.groupby@1.0.0: + resolution: {integrity: sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + get-intrinsic: 1.2.1 + dev: false + + /object.hasown@1.1.2: + resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} + dependencies: + define-properties: 1.2.0 + es-abstract: 1.22.1 + dev: false + + /object.values@1.1.6: + resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + dev: false + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: false + + /open@9.1.0: + resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} + engines: {node: '>=14.16'} + dependencies: + default-browser: 4.0.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 2.2.0 + dev: false + + /optionator@0.9.1: + resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.3 + dev: false + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: false + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: false + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: false + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: false + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: false + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: false + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: false + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + /pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + /pirates@4.0.5: + resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} + engines: {node: '>= 6'} + + /postcss-import@15.1.0(postcss@8.4.23): + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.23 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.2 + + /postcss-js@4.0.1(postcss@8.4.23): + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.23 + + /postcss-load-config@4.0.1(postcss@8.4.23)(ts-node@10.9.1): + resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 2.1.0 + postcss: 8.4.23 + ts-node: 10.9.1(@types/node@18.15.10)(typescript@5.1.6) + yaml: 2.2.2 + + /postcss-nested@6.0.1(postcss@8.4.23): + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.23 + postcss-selector-parser: 6.0.12 + + /postcss-selector-parser@6.0.12: + resolution: {integrity: sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + /postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + /postcss@8.4.14: + resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: false + + /postcss@8.4.23: + resolution: {integrity: sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: false + + /prettier-plugin-tailwindcss@0.2.8(prettier@2.8.8): + resolution: {integrity: sha512-KgPcEnJeIijlMjsA6WwYgRs5rh3/q76oInqtMXBA/EMcamrcYJpyhtRhyX1ayT9hnHlHTuO8sIifHF10WuSDKg==} + engines: {node: '>=12.17.0'} + peerDependencies: + '@ianvs/prettier-plugin-sort-imports': '*' + '@prettier/plugin-pug': '*' + '@shopify/prettier-plugin-liquid': '*' + '@shufo/prettier-plugin-blade': '*' + '@trivago/prettier-plugin-sort-imports': '*' + prettier: '>=2.2.0' + prettier-plugin-astro: '*' + prettier-plugin-css-order: '*' + prettier-plugin-import-sort: '*' + prettier-plugin-jsdoc: '*' + prettier-plugin-organize-attributes: '*' + prettier-plugin-organize-imports: '*' + prettier-plugin-style-order: '*' + prettier-plugin-svelte: '*' + prettier-plugin-twig-melody: '*' + peerDependenciesMeta: + '@ianvs/prettier-plugin-sort-imports': + optional: true + '@prettier/plugin-pug': + optional: true + '@shopify/prettier-plugin-liquid': + optional: true + '@shufo/prettier-plugin-blade': + optional: true + '@trivago/prettier-plugin-sort-imports': + optional: true + prettier-plugin-astro: + optional: true + prettier-plugin-css-order: + optional: true + prettier-plugin-import-sort: + optional: true + prettier-plugin-jsdoc: + optional: true + prettier-plugin-organize-attributes: + optional: true + prettier-plugin-organize-imports: + optional: true + prettier-plugin-style-order: + optional: true + prettier-plugin-svelte: + optional: true + prettier-plugin-twig-melody: + optional: true + dependencies: + prettier: 2.8.8 + dev: true + + /prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + /prisma@4.14.0: + resolution: {integrity: sha512-+5dMl1uxMQb4RepndY6AwR9xi1cDcaGFICu+ws6/Nmgt93mFPNj8tYxSfTdmfg+rkNrUId9rk/Ac2vTgLe/oXA==} + engines: {node: '>=14.17'} + hasBin: true + requiresBuild: true + dependencies: + '@prisma/engines': 4.14.0 + dev: false + + /prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + dev: false + + /punycode@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + dev: false + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + /react-dom@18.2.0(react@18.2.0): + resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + peerDependencies: + react: ^18.2.0 + dependencies: + loose-envify: 1.4.0 + react: 18.2.0 + scheduler: 0.23.0 + dev: false + + /react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + dev: false + + /react@18.2.0: + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + engines: {node: '>=0.10.0'} + dependencies: + loose-envify: 1.4.0 + dev: false + + /read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + dependencies: + pify: 2.3.0 + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + + /regenerator-runtime@0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + dev: false + + /regexp.prototype.flags@1.5.0: + resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + functions-have-names: 1.2.3 + dev: false + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: false + + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: false + + /resolve@1.22.2: + resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} + hasBin: true + dependencies: + is-core-module: 2.12.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + /resolve@1.22.4: + resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} + hasBin: true + dependencies: + is-core-module: 2.13.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: false + + /resolve@2.0.0-next.4: + resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} + hasBin: true + dependencies: + is-core-module: 2.13.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: false + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: false + + /run-applescript@5.0.0: + resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} + engines: {node: '>=12'} + dependencies: + execa: 5.1.1 + dev: false + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + + /safe-array-concat@1.0.0: + resolution: {integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: false + + /safe-regex-test@1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + is-regex: 1.1.4 + dev: false + + /scheduler@0.23.0: + resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + dependencies: + loose-envify: 1.4.0 + dev: false + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: false + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: false + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: false + + /side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + object-inspect: 1.12.3 + dev: false + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: false + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: false + + /slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + dev: false + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false + + /string.prototype.matchall@4.0.8: + resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + get-intrinsic: 1.2.1 + has-symbols: 1.0.3 + internal-slot: 1.0.5 + regexp.prototype.flags: 1.5.0 + side-channel: 1.0.4 + dev: false + + /string.prototype.trim@1.2.7: + resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + dev: false + + /string.prototype.trimend@1.0.6: + resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + dev: false + + /string.prototype.trimstart@1.0.6: + resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + dev: false + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: false + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: false + + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: false + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: false + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: false + + /styled-jsx@5.1.1(react@18.2.0): + resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + dependencies: + client-only: 0.0.1 + react: 18.2.0 + dev: false + + /sucrase@3.32.0: + resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==} + engines: {node: '>=8'} + hasBin: true + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + commander: 4.1.1 + glob: 7.1.6 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.5 + ts-interface-checker: 0.1.13 + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: false + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + /synckit@0.8.5: + resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/utils': 2.4.2 + tslib: 2.6.1 + dev: false + + /tailwindcss@3.3.2(ts-node@10.9.1): + resolution: {integrity: sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==} + engines: {node: '>=14.0.0'} + hasBin: 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.2.12 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.18.2 + 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@8.4.23) + postcss-js: 4.0.1(postcss@8.4.23) + postcss-load-config: 4.0.1(postcss@8.4.23)(ts-node@10.9.1) + postcss-nested: 6.0.1(postcss@8.4.23) + postcss-selector-parser: 6.0.12 + postcss-value-parser: 4.2.0 + resolve: 1.22.2 + sucrase: 3.32.0 + transitivePeerDependencies: + - ts-node + + /tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + dev: false + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: false + + /thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + + /thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + + /titleize@3.0.0: + resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} + engines: {node: '>=12'} + dev: false + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + + /ts-api-utils@1.0.1(typescript@5.1.6): + resolution: {integrity: sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.1.6 + dev: false + + /ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + /ts-node@10.9.1(@types/node@18.15.10)(typescript@5.1.6): + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.3 + '@types/node': 18.15.10 + acorn: 8.8.2 + acorn-walk: 8.2.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.1.6 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + + /tsconfig-paths@3.14.2: + resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: false + + /tslib@2.6.1: + resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} + dev: false + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: false + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: false + + /typed-array-buffer@1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + is-typed-array: 1.1.12 + dev: false + + /typed-array-byte-length@1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: false + + /typed-array-byte-offset@1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: false + + /typed-array-length@1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.2 + for-each: 0.3.3 + is-typed-array: 1.1.12 + dev: false + + /typescript@5.1.6: + resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} + engines: {node: '>=14.17'} + hasBin: true + + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.2 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: false + + /untildify@4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + dev: false + + /update-browserslist-db@1.0.10(browserslist@4.21.5): + resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.5 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.0 + dev: false + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + /v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + + /watchpack@2.4.0: + resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} + engines: {node: '>=10.13.0'} + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + dev: false + + /which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: false + + /which-typed-array@1.1.11: + resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + dev: false + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + + /word-wrap@1.2.3: + resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + engines: {node: '>=0.10.0'} + dev: false + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: false + + /yaml@2.2.2: + resolution: {integrity: sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==} + engines: {node: '>= 14'} + + /yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: false + + /zod@3.21.4: + resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} + dev: false diff --git a/10-clearing-the-search-input/begin/postcss.config.js b/10-clearing-the-search-input/begin/postcss.config.js new file mode 100644 index 0000000..33ad091 --- /dev/null +++ b/10-clearing-the-search-input/begin/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/10-clearing-the-search-input/begin/prisma/dev.db b/10-clearing-the-search-input/begin/prisma/dev.db new file mode 100644 index 0000000000000000000000000000000000000000..066f7bfbdeafae33f8c747873c14d52fe4a2afc9 GIT binary patch literal 102400 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 f( \ No newline at end of file diff --git a/10-clearing-the-search-input/begin/public/thirteen.svg b/10-clearing-the-search-input/begin/public/thirteen.svg new file mode 100644 index 0000000..8977c1b --- /dev/null +++ b/10-clearing-the-search-input/begin/public/thirteen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/10-clearing-the-search-input/begin/public/vercel.svg b/10-clearing-the-search-input/begin/public/vercel.svg new file mode 100644 index 0000000..d2f8422 --- /dev/null +++ b/10-clearing-the-search-input/begin/public/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/10-clearing-the-search-input/begin/scripts/add-users.ts b/10-clearing-the-search-input/begin/scripts/add-users.ts new file mode 100644 index 0000000..5bed4a4 --- /dev/null +++ b/10-clearing-the-search-input/begin/scripts/add-users.ts @@ -0,0 +1,19 @@ +import { prisma } from "../src/lib/prisma"; +import { faker } from "@faker-js/faker"; + +faker.seed(123); + +async function main() { + for (let i = 0; i < 1000; i++) { + let firstname = faker.name.firstName(); + let lastname = faker.name.lastName(); + await prisma.user.create({ + data: { + name: `${firstname} ${lastname}`, + email: faker.internet.email(firstname, lastname), + }, + }); + } +} + +main(); diff --git a/10-clearing-the-search-input/begin/src/app/components/spinner.tsx b/10-clearing-the-search-input/begin/src/app/components/spinner.tsx new file mode 100644 index 0000000..ac66157 --- /dev/null +++ b/10-clearing-the-search-input/begin/src/app/components/spinner.tsx @@ -0,0 +1,24 @@ +export function Spinner({ ...props }) { + return ( + + + + + ); +} diff --git a/10-clearing-the-search-input/begin/src/app/favicon.ico b/10-clearing-the-search-input/begin/src/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..718d6fea4835ec2d246af9800eddb7ffb276240c GIT binary patch literal 25931 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 LrJugUA?W`A8`#=m literal 0 HcmV?d00001 diff --git a/10-clearing-the-search-input/begin/src/app/globals.css b/10-clearing-the-search-input/begin/src/app/globals.css new file mode 100644 index 0000000..b5c61c9 --- /dev/null +++ b/10-clearing-the-search-input/begin/src/app/globals.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/10-clearing-the-search-input/begin/src/app/layout.tsx b/10-clearing-the-search-input/begin/src/app/layout.tsx new file mode 100644 index 0000000..e238a43 --- /dev/null +++ b/10-clearing-the-search-input/begin/src/app/layout.tsx @@ -0,0 +1,21 @@ +import { Inter } from "next/font/google"; +import "./globals.css"; + +const inter = Inter({ subsets: ["latin"] }); + +export const metadata = { + title: "Create Next App", + description: "Generated by create next app", +}; + +export default function RootLayout({ + children, +}: { + children: React.ReactNode; +}) { + return ( + + {children} + + ); +} diff --git a/10-clearing-the-search-input/begin/src/app/loading.tsx b/10-clearing-the-search-input/begin/src/app/loading.tsx new file mode 100644 index 0000000..4d5f57a --- /dev/null +++ b/10-clearing-the-search-input/begin/src/app/loading.tsx @@ -0,0 +1,9 @@ +import { Spinner } from "./components/spinner"; + +export default function Loading() { + return ( +
+ +
+ ); +} diff --git a/10-clearing-the-search-input/begin/src/app/page.tsx b/10-clearing-the-search-input/begin/src/app/page.tsx new file mode 100644 index 0000000..722c5e0 --- /dev/null +++ b/10-clearing-the-search-input/begin/src/app/page.tsx @@ -0,0 +1,228 @@ +import { prisma } from "@/lib/prisma"; +import { ChevronRightIcon } from "@heroicons/react/20/solid"; +import Link from "next/link"; +import { SearchInput } from "./search-input"; +import { Suspense } from "react"; +import { Spinner } from "./components/spinner"; + +export default async function Page({ + searchParams, +}: { + searchParams: { [key: string]: string | string[] | undefined }; +}) { + const search = + typeof searchParams.search === "string" ? searchParams.search : undefined; + + return ( +
+
+
+ +
+
+ +
+
+ + }> + + +
+ ); +} + +function Loading() { + return ( +
+ +
+ ); +} + +async function UsersTable({ + searchParams, +}: { + searchParams: { [key: string]: string | string[] | undefined }; +}) { + await new Promise((resolve) => setTimeout(resolve, 2000)); + + const search = + typeof searchParams.search === "string" ? searchParams.search : undefined; + + const perPage = 7; + const totalUsers = await prisma.user.count({ + where: { + name: { + contains: search, + }, + }, + }); + const totalPages = Math.ceil(totalUsers / perPage); + + const page = + typeof searchParams.page === "string" && + +searchParams.page > 1 && + +searchParams.page <= totalPages + ? +searchParams.page + : 1; + + const users = await prisma.user.findMany({ + take: perPage, + skip: (page - 1) * perPage, + where: { + name: { + contains: search, + }, + }, + }); + + const currentSearchParams = new URLSearchParams(); + + if (search) { + currentSearchParams.set("search", search); + } + + if (page > 1) { + currentSearchParams.set("page", `${page}`); + } + + return ( +
+
+
+
+
+ + + + + + + + + + + {users.map((user) => ( + + + + + + + ))} + +
+ ID + + Name + + Email + + Edit +
+ {user.id} + + {user.name} + + {user.email} + + + Edit + + +
+
+
+
+
+
+

+ Showing{" "} + {(page - 1) * perPage + 1} to{" "} + + {Math.min(page * perPage, totalUsers)} + {" "} + of {totalUsers} users +

+
+ + +
+
+
+ ); +} + +function PreviousPage({ + page, + currentSearchParams, +}: { + page: number; + currentSearchParams: URLSearchParams; +}) { + const newSearchParams = new URLSearchParams(currentSearchParams); + + if (page > 2) { + newSearchParams.set("page", `${page - 1}`); + } else { + newSearchParams.delete("page"); + } + + return page > 1 ? ( + + Previous + + ) : ( + + ); +} + +function NextPage({ + page, + totalPages, + currentSearchParams, +}: { + page: number; + totalPages: number; + currentSearchParams: URLSearchParams; +}) { + const newSearchParams = new URLSearchParams(currentSearchParams); + + newSearchParams.set("page", `${page + 1}`); + + return page < totalPages ? ( + + Next + + ) : ( + + ); +} diff --git a/10-clearing-the-search-input/begin/src/app/search-input.tsx b/10-clearing-the-search-input/begin/src/app/search-input.tsx new file mode 100644 index 0000000..94a4119 --- /dev/null +++ b/10-clearing-the-search-input/begin/src/app/search-input.tsx @@ -0,0 +1,58 @@ +"use client"; + +import { MagnifyingGlassIcon } from "@heroicons/react/20/solid"; +import { useRouter } from "next/navigation"; +import { useState, useTransition } from "react"; +import { Spinner } from "./components/spinner"; + +export function SearchInput({ search }: { search?: string }) { + const router = useRouter(); + + const [isPending, startTransition] = useTransition(); + const [timeoutId, setTimeoutId] = useState(); + const isSearching = timeoutId || isPending; + + return ( +
+
+
+ { + clearTimeout(timeoutId); + + const id = setTimeout(() => { + startTransition(() => { + if (event.target.value) { + router.push(`/?search=${event.target.value}`); + } else { + router.push("/"); + } + + setTimeoutId(undefined); + }); + }, 500); + + setTimeoutId(id); + }} + /> + {isSearching && ( +
+
+ )} +
+ ); +} diff --git a/10-clearing-the-search-input/begin/src/lib/prisma.ts b/10-clearing-the-search-input/begin/src/lib/prisma.ts new file mode 100644 index 0000000..1ce3fe3 --- /dev/null +++ b/10-clearing-the-search-input/begin/src/lib/prisma.ts @@ -0,0 +1,11 @@ +import { PrismaClient } from "@prisma/client"; + +const globalForPrisma = global as unknown as { prisma: PrismaClient }; + +export const prisma = + globalForPrisma.prisma || + new PrismaClient({ + log: [], + }); + +if (process.env.NODE_ENV !== "production") globalForPrisma.prisma = prisma; diff --git a/10-clearing-the-search-input/begin/tailwind.config.js b/10-clearing-the-search-input/begin/tailwind.config.js new file mode 100644 index 0000000..bef7651 --- /dev/null +++ b/10-clearing-the-search-input/begin/tailwind.config.js @@ -0,0 +1,8 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: ["./src/**/*.{js,ts,jsx,tsx}"], + theme: { + extend: {}, + }, + plugins: [require("@tailwindcss/forms")], +}; diff --git a/10-clearing-the-search-input/begin/tsconfig.json b/10-clearing-the-search-input/begin/tsconfig.json new file mode 100644 index 0000000..4732603 --- /dev/null +++ b/10-clearing-the-search-input/begin/tsconfig.json @@ -0,0 +1,34 @@ +{ + "ts-node": { + "compilerOptions": { + "module": "commonjs" + } + }, + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/10-clearing-the-search-input/end/.eslintrc.json b/10-clearing-the-search-input/end/.eslintrc.json new file mode 100644 index 0000000..bffb357 --- /dev/null +++ b/10-clearing-the-search-input/end/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "next/core-web-vitals" +} diff --git a/10-clearing-the-search-input/end/.gitignore b/10-clearing-the-search-input/end/.gitignore new file mode 100644 index 0000000..c87c9b3 --- /dev/null +++ b/10-clearing-the-search-input/end/.gitignore @@ -0,0 +1,36 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/10-clearing-the-search-input/end/.node-version b/10-clearing-the-search-input/end/.node-version new file mode 100644 index 0000000..6d80269 --- /dev/null +++ b/10-clearing-the-search-input/end/.node-version @@ -0,0 +1 @@ +18.16.0 diff --git a/10-clearing-the-search-input/end/.prettierrc.json b/10-clearing-the-search-input/end/.prettierrc.json new file mode 100644 index 0000000..b4bfed3 --- /dev/null +++ b/10-clearing-the-search-input/end/.prettierrc.json @@ -0,0 +1,3 @@ +{ + "plugins": ["prettier-plugin-tailwindcss"] +} diff --git a/10-clearing-the-search-input/end/.vscode/settings.json b/10-clearing-the-search-input/end/.vscode/settings.json new file mode 100644 index 0000000..e3dcd73 --- /dev/null +++ b/10-clearing-the-search-input/end/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "typescript.tsdk": "node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib", + "typescript.enablePromptUseWorkspaceTsdk": true, + "dotenv.enableAutocloaking": false, + "workbench.layoutControl.enabled": true +} diff --git a/10-clearing-the-search-input/end/NOTES.md b/10-clearing-the-search-input/end/NOTES.md new file mode 100644 index 0000000..8ddacff --- /dev/null +++ b/10-clearing-the-search-input/end/NOTES.md @@ -0,0 +1 @@ +await new Promise((resolve) => setTimeout(resolve, 3000)); diff --git a/10-clearing-the-search-input/end/README.md b/10-clearing-the-search-input/end/README.md new file mode 100644 index 0000000..5bc7ca2 --- /dev/null +++ b/10-clearing-the-search-input/end/README.md @@ -0,0 +1,38 @@ +This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +# or +pnpm dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. + +[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`. + +The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. + +This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/10-clearing-the-search-input/end/next.config.js b/10-clearing-the-search-input/end/next.config.js new file mode 100644 index 0000000..4436b22 --- /dev/null +++ b/10-clearing-the-search-input/end/next.config.js @@ -0,0 +1,8 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = { + experimental: { + appDir: true, + }, +}; + +module.exports = nextConfig; diff --git a/10-clearing-the-search-input/end/package.json b/10-clearing-the-search-input/end/package.json new file mode 100644 index 0000000..4be1349 --- /dev/null +++ b/10-clearing-the-search-input/end/package.json @@ -0,0 +1,35 @@ +{ + "name": "rsc-video-1", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "@heroicons/react": "^2.0.18", + "@prisma/client": "^4.14.0", + "@tailwindcss/forms": "^0.5.3", + "@types/node": "18.15.10", + "@types/react": "18.2.18", + "@types/react-dom": "18.2.7", + "eslint": "8.40.0", + "eslint-config-next": "13.4.13", + "next": "13.4.13", + "prisma": "^4.14.0", + "react": "18.2.0", + "react-dom": "18.2.0", + "ts-node": "^10.9.1", + "typescript": "5.1.6" + }, + "devDependencies": { + "@faker-js/faker": "^7.6.0", + "autoprefixer": "^10.4.14", + "postcss": "^8.4.23", + "prettier": "^2.8.8", + "prettier-plugin-tailwindcss": "^0.2.8", + "tailwindcss": "^3.3.2" + } +} diff --git a/10-clearing-the-search-input/end/pnpm-lock.yaml b/10-clearing-the-search-input/end/pnpm-lock.yaml new file mode 100644 index 0000000..f82c030 --- /dev/null +++ b/10-clearing-the-search-input/end/pnpm-lock.yaml @@ -0,0 +1,2907 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@heroicons/react': + specifier: ^2.0.18 + version: 2.0.18(react@18.2.0) + '@prisma/client': + specifier: ^4.14.0 + version: 4.14.0(prisma@4.14.0) + '@tailwindcss/forms': + specifier: ^0.5.3 + version: 0.5.3(tailwindcss@3.3.2) + '@types/node': + specifier: 18.15.10 + version: 18.15.10 + '@types/react': + specifier: 18.2.18 + version: 18.2.18 + '@types/react-dom': + specifier: 18.2.7 + version: 18.2.7 + eslint: + specifier: 8.40.0 + version: 8.40.0 + eslint-config-next: + specifier: 13.4.13 + version: 13.4.13(eslint@8.40.0)(typescript@5.1.6) + next: + specifier: 13.4.13 + version: 13.4.13(react-dom@18.2.0)(react@18.2.0) + prisma: + specifier: ^4.14.0 + version: 4.14.0 + react: + specifier: 18.2.0 + version: 18.2.0 + react-dom: + specifier: 18.2.0 + version: 18.2.0(react@18.2.0) + ts-node: + specifier: ^10.9.1 + version: 10.9.1(@types/node@18.15.10)(typescript@5.1.6) + typescript: + specifier: 5.1.6 + version: 5.1.6 + +devDependencies: + '@faker-js/faker': + specifier: ^7.6.0 + version: 7.6.0 + autoprefixer: + specifier: ^10.4.14 + version: 10.4.14(postcss@8.4.23) + postcss: + specifier: ^8.4.23 + version: 8.4.23 + prettier: + specifier: ^2.8.8 + version: 2.8.8 + prettier-plugin-tailwindcss: + specifier: ^0.2.8 + version: 0.2.8(prettier@2.8.8) + tailwindcss: + specifier: ^3.3.2 + version: 3.3.2(ts-node@10.9.1) + +packages: + + /@alloc/quick-lru@5.2.0: + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + + /@babel/runtime@7.22.6: + resolution: {integrity: sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.11 + dev: false + + /@cspotcode/source-map-support@0.8.1: + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + + /@eslint-community/eslint-utils@4.4.0(eslint@8.40.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.40.0 + eslint-visitor-keys: 3.4.1 + dev: false + + /@eslint-community/regexpp@4.5.1: + resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: false + + /@eslint/eslintrc@2.0.3: + resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.5.2 + globals: 13.20.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@eslint/js@8.40.0: + resolution: {integrity: sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: false + + /@faker-js/faker@7.6.0: + resolution: {integrity: sha512-XK6BTq1NDMo9Xqw/YkYyGjSsg44fbNwYRx7QK2CuoQgyy+f1rrTDHoExVM5PsyXCtfl2vs2vVJ0MN0yN6LppRw==} + engines: {node: '>=14.0.0', npm: '>=6.0.0'} + dev: true + + /@heroicons/react@2.0.18(react@18.2.0): + resolution: {integrity: sha512-7TyMjRrZZMBPa+/5Y8lN0iyvUU/01PeMGX2+RE7cQWpEUIcb4QotzUObFkJDejj/HUH4qjP/eQ0gzzKs2f+6Yw==} + peerDependencies: + react: '>= 16' + dependencies: + react: 18.2.0 + dev: false + + /@humanwhocodes/config-array@0.11.8: + resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: false + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: false + + /@humanwhocodes/object-schema@1.2.1: + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + dev: false + + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.18 + + /@jridgewell/resolve-uri@3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + engines: {node: '>=6.0.0'} + + /@jridgewell/set-array@1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + + /@jridgewell/sourcemap-codec@1.4.14: + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@jridgewell/trace-mapping@0.3.18: + resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + + /@jridgewell/trace-mapping@0.3.9: + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.15 + + /@next/env@13.4.13: + resolution: {integrity: sha512-fwz2QgVg08v7ZL7KmbQBLF2PubR/6zQdKBgmHEl3BCyWTEDsAQEijjw2gbFhI1tcKfLdOOJUXntz5vZ4S0Polg==} + dev: false + + /@next/eslint-plugin-next@13.4.13: + resolution: {integrity: sha512-RpZeXlPxQ9FLeYN84XHDqRN20XxmVNclYCraLYdifRsmibtcWUWdwE/ANp2C8kgesFRsvwfsw6eOkYNl9sLJ3A==} + dependencies: + glob: 7.1.7 + dev: false + + /@next/swc-darwin-arm64@13.4.13: + resolution: {integrity: sha512-ZptVhHjzUuivnXMNCJ6lER33HN7lC+rZ01z+PM10Ows21NHFYMvGhi5iXkGtBDk6VmtzsbqnAjnx4Oz5um0FjA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@next/swc-darwin-x64@13.4.13: + resolution: {integrity: sha512-t9nTiWCLApw8W4G1kqJyYP7y6/7lyal3PftmRturIxAIBlZss9wrtVN8nci50StDHmIlIDxfguYIEGVr9DbFTg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-arm64-gnu@13.4.13: + resolution: {integrity: sha512-xEHUqC8eqR5DHe8SOmMnDU1K3ggrJ28uIKltrQAwqFSSSmzjnN/XMocZkcVhuncuxYrpbri0iMQstRyRVdQVWg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-arm64-musl@13.4.13: + resolution: {integrity: sha512-sNf3MnLAm8rquSSAoeD9nVcdaDeRYOeey4stOWOyWIgbBDtP+C93amSgH/LPTDoUV7gNiU6f+ghepTjTjRgIUQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-x64-gnu@13.4.13: + resolution: {integrity: sha512-WhcRaJJSHyx9OWmKjjz+OWHumiPZWRqmM/09Bt7Up4UqUJFFhGExeztR4trtv3rflvULatu9IH/nTV8fUUgaMA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-x64-musl@13.4.13: + resolution: {integrity: sha512-+Y4LLhOWWZQIDKVwr2R17lq2KSN0F1c30QVgGIWfnjjHpH8nrIWHEndhqYU+iFuW8It78CiJjQKTw4f51HD7jA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-arm64-msvc@13.4.13: + resolution: {integrity: sha512-rWurdOR20uxjfqd1X9vDAgv0Jb26KjyL8akF9CBeFqX8rVaBAnW/Wf6A2gYEwyYY4Bai3T7p1kro6DFrsvBAAw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-ia32-msvc@13.4.13: + resolution: {integrity: sha512-E8bSPwRuY5ibJ3CzLQmJEt8qaWrPYuUTwnrwygPUEWoLzD5YRx9SD37oXRdU81TgGwDzCxpl7z5Nqlfk50xAog==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-x64-msvc@13.4.13: + resolution: {integrity: sha512-4KlyC6jWRubPnppgfYsNTPeWfGCxtWLh5vaOAW/kdzAk9widqho8Qb5S4K2vHmal1tsURi7Onk2MMCV1phvyqA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + + /@pkgr/utils@2.4.2: + resolution: {integrity: sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dependencies: + cross-spawn: 7.0.3 + fast-glob: 3.3.1 + is-glob: 4.0.3 + open: 9.1.0 + picocolors: 1.0.0 + tslib: 2.6.1 + dev: false + + /@prisma/client@4.14.0(prisma@4.14.0): + resolution: {integrity: sha512-MK/XaA2sFdfaOa7I9MjNKz6dxeIEdeZlnpNRoF2w3JuRLlFJLkpp6cD3yaqw2nUUhbrn3Iqe3ZpVV+VuGGil7Q==} + engines: {node: '>=14.17'} + requiresBuild: true + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + dependencies: + '@prisma/engines-version': 4.14.0-67.d9a4c5988f480fa576d43970d5a23641aa77bc9c + prisma: 4.14.0 + dev: false + + /@prisma/engines-version@4.14.0-67.d9a4c5988f480fa576d43970d5a23641aa77bc9c: + resolution: {integrity: sha512-3jum8/YSudeSN0zGW5qkpz+wAN2V/NYCQ+BPjvHYDfWatLWlQkqy99toX0GysDeaUoBIJg1vaz2yKqiA3CFcQw==} + dev: false + + /@prisma/engines@4.14.0: + resolution: {integrity: sha512-PDNlhP/1vyTgmNyiucGqGCdXIp7HIkkvKO50si3y3PcceeHvqtiKPaH1iJdz63jCWMVMbj2MElSxXPOeBvEVIQ==} + requiresBuild: true + dev: false + + /@rushstack/eslint-patch@1.3.2: + resolution: {integrity: sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==} + dev: false + + /@swc/helpers@0.5.1: + resolution: {integrity: sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==} + dependencies: + tslib: 2.6.1 + dev: false + + /@tailwindcss/forms@0.5.3(tailwindcss@3.3.2): + resolution: {integrity: sha512-y5mb86JUoiUgBjY/o6FJSFZSEttfb3Q5gllE4xoKjAAD+vBrnIhE4dViwUuow3va8mpH4s9jyUbUbrRGoRdc2Q==} + peerDependencies: + tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1' + dependencies: + mini-svg-data-uri: 1.4.4 + tailwindcss: 3.3.2(ts-node@10.9.1) + dev: false + + /@tsconfig/node10@1.0.9: + resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + + /@tsconfig/node12@1.0.11: + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + + /@tsconfig/node14@1.0.3: + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + + /@tsconfig/node16@1.0.3: + resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + + /@types/json5@0.0.29: + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + dev: false + + /@types/node@18.15.10: + resolution: {integrity: sha512-9avDaQJczATcXgfmMAW3MIWArOO7A+m90vuCFLr8AotWf8igO/mRoYukrk2cqZVtv38tHs33retzHEilM7FpeQ==} + + /@types/prop-types@15.7.5: + resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + dev: false + + /@types/react-dom@18.2.7: + resolution: {integrity: sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==} + dependencies: + '@types/react': 18.2.18 + dev: false + + /@types/react@18.2.18: + resolution: {integrity: sha512-da4NTSeBv/P34xoZPhtcLkmZuJ+oYaCxHmyHzwaDQo9RQPBeXV+06gEk2FpqEcsX9XrnNLvRpVh6bdavDSjtiQ==} + dependencies: + '@types/prop-types': 15.7.5 + '@types/scheduler': 0.16.3 + csstype: 3.1.2 + dev: false + + /@types/scheduler@0.16.3: + resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} + dev: false + + /@typescript-eslint/parser@6.3.0(eslint@8.40.0)(typescript@5.1.6): + resolution: {integrity: sha512-ibP+y2Gr6p0qsUkhs7InMdXrwldjxZw66wpcQq9/PzAroM45wdwyu81T+7RibNCh8oc0AgrsyCwJByncY0Ongg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 6.3.0 + '@typescript-eslint/types': 6.3.0 + '@typescript-eslint/typescript-estree': 6.3.0(typescript@5.1.6) + '@typescript-eslint/visitor-keys': 6.3.0 + debug: 4.3.4 + eslint: 8.40.0 + typescript: 5.1.6 + transitivePeerDependencies: + - supports-color + dev: false + + /@typescript-eslint/scope-manager@6.3.0: + resolution: {integrity: sha512-WlNFgBEuGu74ahrXzgefiz/QlVb+qg8KDTpknKwR7hMH+lQygWyx0CQFoUmMn1zDkQjTBBIn75IxtWss77iBIQ==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.3.0 + '@typescript-eslint/visitor-keys': 6.3.0 + dev: false + + /@typescript-eslint/types@6.3.0: + resolution: {integrity: sha512-K6TZOvfVyc7MO9j60MkRNWyFSf86IbOatTKGrpTQnzarDZPYPVy0oe3myTMq7VjhfsUAbNUW8I5s+2lZvtx1gg==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: false + + /@typescript-eslint/typescript-estree@6.3.0(typescript@5.1.6): + resolution: {integrity: sha512-Xh4NVDaC4eYKY4O3QGPuQNp5NxBAlEvNQYOqJquR2MePNxO11E5K3t5x4M4Mx53IZvtpW+mBxIT0s274fLUocg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.3.0 + '@typescript-eslint/visitor-keys': 6.3.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.1(typescript@5.1.6) + typescript: 5.1.6 + transitivePeerDependencies: + - supports-color + dev: false + + /@typescript-eslint/visitor-keys@6.3.0: + resolution: {integrity: sha512-kEhRRj7HnvaSjux1J9+7dBen15CdWmDnwrpyiHsFX6Qx2iW5LOBUgNefOFeh2PjWPlNwN8TOn6+4eBU3J/gupw==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.3.0 + eslint-visitor-keys: 3.4.2 + dev: false + + /acorn-jsx@5.3.2(acorn@8.8.2): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.8.2 + dev: false + + /acorn-walk@8.2.0: + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} + + /acorn@8.8.2: + resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + engines: {node: '>=0.4.0'} + hasBin: true + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: false + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: false + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: false + + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + /arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + + /arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: false + + /aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + dependencies: + dequal: 2.0.3 + dev: false + + /array-buffer-byte-length@1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + dependencies: + call-bind: 1.0.2 + is-array-buffer: 3.0.2 + dev: false + + /array-includes@3.1.6: + resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + get-intrinsic: 1.2.1 + is-string: 1.0.7 + dev: false + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: false + + /array.prototype.findlastindex@1.2.2: + resolution: {integrity: sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + es-shim-unscopables: 1.0.0 + get-intrinsic: 1.2.1 + dev: false + + /array.prototype.flat@1.3.1: + resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + es-shim-unscopables: 1.0.0 + dev: false + + /array.prototype.flatmap@1.3.1: + resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + es-shim-unscopables: 1.0.0 + dev: false + + /array.prototype.tosorted@1.1.1: + resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + es-shim-unscopables: 1.0.0 + get-intrinsic: 1.2.1 + dev: false + + /arraybuffer.prototype.slice@1.0.1: + resolution: {integrity: sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.2 + define-properties: 1.2.0 + get-intrinsic: 1.2.1 + is-array-buffer: 3.0.2 + is-shared-array-buffer: 1.0.2 + dev: false + + /ast-types-flow@0.0.7: + resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} + dev: false + + /autoprefixer@10.4.14(postcss@8.4.23): + resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.21.5 + caniuse-lite: 1.0.30001470 + fraction.js: 4.2.0 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.23 + postcss-value-parser: 4.2.0 + dev: true + + /available-typed-arrays@1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + dev: false + + /axe-core@4.7.2: + resolution: {integrity: sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==} + engines: {node: '>=4'} + dev: false + + /axobject-query@3.2.1: + resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + dependencies: + dequal: 2.0.3 + dev: false + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + /big-integer@1.6.51: + resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} + engines: {node: '>=0.6'} + dev: false + + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + + /bplist-parser@0.2.0: + resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} + engines: {node: '>= 5.10.0'} + dependencies: + big-integer: 1.6.51 + dev: false + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + + /browserslist@4.21.5: + resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001470 + electron-to-chromium: 1.4.341 + node-releases: 2.0.10 + update-browserslist-db: 1.0.10(browserslist@4.21.5) + dev: true + + /bundle-name@3.0.0: + resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} + engines: {node: '>=12'} + dependencies: + run-applescript: 5.0.0 + dev: false + + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: false + + /call-bind@1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.2.1 + dev: false + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: false + + /camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + + /caniuse-lite@1.0.30001470: + resolution: {integrity: sha512-065uNwY6QtHCBOExzbV6m236DDhYCCtPmQUCoQtwkVqzud8v5QPidoMr6CoMkC2nfp6nksjttqWQRRh75LqUmA==} + dev: true + + /caniuse-lite@1.0.30001519: + resolution: {integrity: sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==} + dev: false + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: false + + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + + /client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + dev: false + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: false + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: false + + /commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + /concat-map@0.0.1: + resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + + /create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: false + + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + /csstype@3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + dev: false + + /damerau-levenshtein@1.0.8: + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + dev: false + + /debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: false + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: false + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: false + + /default-browser-id@3.0.0: + resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} + engines: {node: '>=12'} + dependencies: + bplist-parser: 0.2.0 + untildify: 4.0.0 + dev: false + + /default-browser@4.0.0: + resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} + engines: {node: '>=14.16'} + dependencies: + bundle-name: 3.0.0 + default-browser-id: 3.0.0 + execa: 7.2.0 + titleize: 3.0.0 + dev: false + + /define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + dev: false + + /define-properties@1.2.0: + resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} + engines: {node: '>= 0.4'} + dependencies: + has-property-descriptors: 1.0.0 + object-keys: 1.1.1 + dev: false + + /dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + dev: false + + /didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + + /diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: false + + /dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + /doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + dependencies: + esutils: 2.0.3 + dev: false + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: false + + /electron-to-chromium@1.4.341: + resolution: {integrity: sha512-R4A8VfUBQY9WmAhuqY5tjHRf5fH2AAf6vqitBOE0y6u2PgHgqHSrhZmu78dIX3fVZtjqlwJNX1i2zwC3VpHtQQ==} + dev: true + + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: false + + /enhanced-resolve@5.15.0: + resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: false + + /es-abstract@1.22.1: + resolution: {integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + arraybuffer.prototype.slice: 1.0.1 + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + es-set-tostringtag: 2.0.1 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.5 + get-intrinsic: 1.2.1 + get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 + has: 1.0.3 + has-property-descriptors: 1.0.0 + has-proto: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.5 + is-array-buffer: 3.0.2 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-typed-array: 1.1.12 + is-weakref: 1.0.2 + object-inspect: 1.12.3 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.5.0 + safe-array-concat: 1.0.0 + safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.7 + string.prototype.trimend: 1.0.6 + string.prototype.trimstart: 1.0.6 + typed-array-buffer: 1.0.0 + typed-array-byte-length: 1.0.0 + typed-array-byte-offset: 1.0.0 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.11 + dev: false + + /es-set-tostringtag@2.0.1: + resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.1 + has: 1.0.3 + has-tostringtag: 1.0.0 + dev: false + + /es-shim-unscopables@1.0.0: + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + dependencies: + has: 1.0.3 + dev: false + + /es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: false + + /escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: false + + /eslint-config-next@13.4.13(eslint@8.40.0)(typescript@5.1.6): + resolution: {integrity: sha512-EXAh5h1yG/YTNa5YdskzaSZncBjKjvFe2zclMCi2KXyTsXha22wB6MPs/U7idB6a2qjpBdbZcruQY1TWjfNMZw==} + peerDependencies: + eslint: ^7.23.0 || ^8.0.0 + typescript: '>=3.3.1' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@next/eslint-plugin-next': 13.4.13 + '@rushstack/eslint-patch': 1.3.2 + '@typescript-eslint/parser': 6.3.0(eslint@8.40.0)(typescript@5.1.6) + eslint: 8.40.0 + eslint-import-resolver-node: 0.3.8 + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.8)(eslint-plugin-import@2.28.0)(eslint@8.40.0) + eslint-plugin-import: 2.28.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.40.0) + eslint-plugin-jsx-a11y: 6.7.1(eslint@8.40.0) + eslint-plugin-react: 7.33.1(eslint@8.40.0) + eslint-plugin-react-hooks: 5.0.0-canary-7118f5dd7-20230705(eslint@8.40.0) + typescript: 5.1.6 + transitivePeerDependencies: + - eslint-import-resolver-webpack + - supports-color + dev: false + + /eslint-import-resolver-node@0.3.8: + resolution: {integrity: sha512-tEe+Pok22qIGaK3KoMP+N96GVDS66B/zreoVVmiavLvRUEmGRtvb4B8wO9jwnb8d2lvHtrkhZ7UD73dWBVnf/Q==} + dependencies: + debug: 3.2.7 + is-core-module: 2.13.0 + resolve: 1.22.4 + transitivePeerDependencies: + - supports-color + dev: false + + /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.8)(eslint-plugin-import@2.28.0)(eslint@8.40.0): + resolution: {integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + dependencies: + debug: 4.3.4 + enhanced-resolve: 5.15.0 + eslint: 8.40.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.8)(eslint-import-resolver-typescript@3.5.5)(eslint@8.40.0) + eslint-plugin-import: 2.28.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.40.0) + get-tsconfig: 4.6.2 + globby: 13.2.2 + is-core-module: 2.13.0 + is-glob: 4.0.3 + synckit: 0.8.5 + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-node + - eslint-import-resolver-webpack + - supports-color + dev: false + + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.8)(eslint-import-resolver-typescript@3.5.5)(eslint@8.40.0): + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 6.3.0(eslint@8.40.0)(typescript@5.1.6) + debug: 3.2.7 + eslint: 8.40.0 + eslint-import-resolver-node: 0.3.8 + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.8)(eslint-plugin-import@2.28.0)(eslint@8.40.0) + transitivePeerDependencies: + - supports-color + dev: false + + /eslint-plugin-import@2.28.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.40.0): + resolution: {integrity: sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + '@typescript-eslint/parser': 6.3.0(eslint@8.40.0)(typescript@5.1.6) + array-includes: 3.1.6 + array.prototype.findlastindex: 1.2.2 + array.prototype.flat: 1.3.1 + array.prototype.flatmap: 1.3.1 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.40.0 + eslint-import-resolver-node: 0.3.8 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.8)(eslint-import-resolver-typescript@3.5.5)(eslint@8.40.0) + has: 1.0.3 + is-core-module: 2.13.0 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.6 + object.groupby: 1.0.0 + object.values: 1.1.6 + resolve: 1.22.4 + semver: 6.3.1 + tsconfig-paths: 3.14.2 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: false + + /eslint-plugin-jsx-a11y@6.7.1(eslint@8.40.0): + resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + '@babel/runtime': 7.22.6 + aria-query: 5.3.0 + array-includes: 3.1.6 + array.prototype.flatmap: 1.3.1 + ast-types-flow: 0.0.7 + axe-core: 4.7.2 + axobject-query: 3.2.1 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + eslint: 8.40.0 + has: 1.0.3 + jsx-ast-utils: 3.3.5 + language-tags: 1.0.5 + minimatch: 3.1.2 + object.entries: 1.1.6 + object.fromentries: 2.0.6 + semver: 6.3.1 + dev: false + + /eslint-plugin-react-hooks@5.0.0-canary-7118f5dd7-20230705(eslint@8.40.0): + resolution: {integrity: sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + dependencies: + eslint: 8.40.0 + dev: false + + /eslint-plugin-react@7.33.1(eslint@8.40.0): + resolution: {integrity: sha512-L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + array-includes: 3.1.6 + array.prototype.flatmap: 1.3.1 + array.prototype.tosorted: 1.1.1 + doctrine: 2.1.0 + eslint: 8.40.0 + estraverse: 5.3.0 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + object.entries: 1.1.6 + object.fromentries: 2.0.6 + object.hasown: 1.1.2 + object.values: 1.1.6 + prop-types: 15.8.1 + resolve: 2.0.0-next.4 + semver: 6.3.1 + string.prototype.matchall: 4.0.8 + dev: false + + /eslint-scope@7.2.0: + resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: false + + /eslint-visitor-keys@3.4.1: + resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: false + + /eslint-visitor-keys@3.4.2: + resolution: {integrity: sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: false + + /eslint@8.40.0: + resolution: {integrity: sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.40.0) + '@eslint-community/regexpp': 4.5.1 + '@eslint/eslintrc': 2.0.3 + '@eslint/js': 8.40.0 + '@humanwhocodes/config-array': 0.11.8 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.0 + eslint-visitor-keys: 3.4.1 + espree: 9.5.2 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.20.0 + grapheme-splitter: 1.0.4 + ignore: 5.2.4 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-sdsl: 4.4.0 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.1 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: false + + /espree@9.5.2: + resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.8.2 + acorn-jsx: 5.3.2(acorn@8.8.2) + eslint-visitor-keys: 3.4.1 + dev: false + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: false + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: false + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: false + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: false + + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: false + + /execa@7.2.0: + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 4.3.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + dev: false + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: false + + /fast-glob@3.2.12: + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + + /fast-glob@3.3.1: + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: false + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: false + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: false + + /fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.0.4 + dev: false + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: false + + /flat-cache@3.0.4: + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.2.7 + rimraf: 3.0.2 + dev: false + + /flatted@3.2.7: + resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + dev: false + + /for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + dev: false + + /fraction.js@4.2.0: + resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + /fsevents@2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /function-bind@1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + + /function.prototype.name@1.1.5: + resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + functions-have-names: 1.2.3 + dev: false + + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: false + + /get-intrinsic@1.2.1: + resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-proto: 1.0.1 + has-symbols: 1.0.3 + dev: false + + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: false + + /get-symbol-description@1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + dev: false + + /get-tsconfig@4.6.2: + resolution: {integrity: sha512-E5XrT4CbbXcXWy+1jChlZmrmCwd5KGx502kDCXJJ7y898TtWW9FwoG5HfOLVRKmlmDGkWN2HM9Ho+/Y8F0sJDg==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: false + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + + /glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + dev: false + + /glob@7.1.6: + resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + /glob@7.1.7: + resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: false + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: false + + /globals@13.20.0: + resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: false + + /globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.0 + dev: false + + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.1 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: false + + /globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.3.1 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 4.0.0 + dev: false + + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.1 + dev: false + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: false + + /grapheme-splitter@1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + dev: false + + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: false + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: false + + /has-property-descriptors@1.0.0: + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + dependencies: + get-intrinsic: 1.2.1 + dev: false + + /has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + dev: false + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: false + + /has-tostringtag@1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: false + + /has@1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: false + + /human-signals@4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} + dev: false + + /ignore@5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + dev: false + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: false + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: false + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + /internal-slot@1.0.5: + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.1 + has: 1.0.3 + side-channel: 1.0.4 + dev: false + + /is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + is-typed-array: 1.1.12 + dev: false + + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: false + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + + /is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: false + + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: false + + /is-core-module@2.12.0: + resolution: {integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==} + dependencies: + has: 1.0.3 + + /is-core-module@2.13.0: + resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} + dependencies: + has: 1.0.3 + dev: false + + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: false + + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: false + + /is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + dev: false + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + + /is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + dependencies: + is-docker: 3.0.0 + dev: false + + /is-negative-zero@2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + dev: false + + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: false + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: false + + /is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: false + + /is-shared-array-buffer@1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.2 + dev: false + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: false + + /is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: false + + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: false + + /is-typed-array@1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.11 + dev: false + + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.2 + dev: false + + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: false + + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: false + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: false + + /jiti@1.18.2: + resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==} + hasBin: true + + /js-sdsl@4.4.0: + resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==} + dev: false + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: false + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: false + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: false + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: false + + /json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + + /jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + dependencies: + array-includes: 3.1.6 + array.prototype.flat: 1.3.1 + object.assign: 4.1.4 + object.values: 1.1.6 + dev: false + + /language-subtag-registry@0.3.22: + resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} + dev: false + + /language-tags@1.0.5: + resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==} + dependencies: + language-subtag-registry: 0.3.22 + dev: false + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: false + + /lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: false + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: false + + /loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + dependencies: + js-tokens: 4.0.0 + dev: false + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: false + + /make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: false + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: false + + /mini-svg-data-uri@1.4.4: + resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} + hasBin: true + dev: false + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: false + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: false + + /mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + /nanoid@3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: false + + /next@13.4.13(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-A3YVbVDNeXLhWsZ8Nf6IkxmNlmTNz0yVg186NJ97tGZqPDdPzTrHotJ+A1cuJm2XfuWPrKOUZILl5iBQkIf8Jw==} + engines: {node: '>=16.8.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + react: ^18.2.0 + react-dom: ^18.2.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + sass: + optional: true + dependencies: + '@next/env': 13.4.13 + '@swc/helpers': 0.5.1 + busboy: 1.6.0 + caniuse-lite: 1.0.30001519 + postcss: 8.4.14 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + styled-jsx: 5.1.1(react@18.2.0) + watchpack: 2.4.0 + zod: 3.21.4 + optionalDependencies: + '@next/swc-darwin-arm64': 13.4.13 + '@next/swc-darwin-x64': 13.4.13 + '@next/swc-linux-arm64-gnu': 13.4.13 + '@next/swc-linux-arm64-musl': 13.4.13 + '@next/swc-linux-x64-gnu': 13.4.13 + '@next/swc-linux-x64-musl': 13.4.13 + '@next/swc-win32-arm64-msvc': 13.4.13 + '@next/swc-win32-ia32-msvc': 13.4.13 + '@next/swc-win32-x64-msvc': 13.4.13 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + dev: false + + /node-releases@2.0.10: + resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + /normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + dev: true + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: false + + /npm-run-path@5.1.0: + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: false + + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + /object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + + /object-inspect@1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + dev: false + + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: false + + /object.assign@4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: false + + /object.entries@1.1.6: + resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + dev: false + + /object.fromentries@2.0.6: + resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + dev: false + + /object.groupby@1.0.0: + resolution: {integrity: sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + get-intrinsic: 1.2.1 + dev: false + + /object.hasown@1.1.2: + resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} + dependencies: + define-properties: 1.2.0 + es-abstract: 1.22.1 + dev: false + + /object.values@1.1.6: + resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + dev: false + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: false + + /open@9.1.0: + resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} + engines: {node: '>=14.16'} + dependencies: + default-browser: 4.0.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 2.2.0 + dev: false + + /optionator@0.9.1: + resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.3 + dev: false + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: false + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: false + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: false + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: false + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: false + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: false + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: false + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + /pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + /pirates@4.0.5: + resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} + engines: {node: '>= 6'} + + /postcss-import@15.1.0(postcss@8.4.23): + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.23 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.2 + + /postcss-js@4.0.1(postcss@8.4.23): + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.23 + + /postcss-load-config@4.0.1(postcss@8.4.23)(ts-node@10.9.1): + resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 2.1.0 + postcss: 8.4.23 + ts-node: 10.9.1(@types/node@18.15.10)(typescript@5.1.6) + yaml: 2.2.2 + + /postcss-nested@6.0.1(postcss@8.4.23): + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.23 + postcss-selector-parser: 6.0.12 + + /postcss-selector-parser@6.0.12: + resolution: {integrity: sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + /postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + /postcss@8.4.14: + resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: false + + /postcss@8.4.23: + resolution: {integrity: sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: false + + /prettier-plugin-tailwindcss@0.2.8(prettier@2.8.8): + resolution: {integrity: sha512-KgPcEnJeIijlMjsA6WwYgRs5rh3/q76oInqtMXBA/EMcamrcYJpyhtRhyX1ayT9hnHlHTuO8sIifHF10WuSDKg==} + engines: {node: '>=12.17.0'} + peerDependencies: + '@ianvs/prettier-plugin-sort-imports': '*' + '@prettier/plugin-pug': '*' + '@shopify/prettier-plugin-liquid': '*' + '@shufo/prettier-plugin-blade': '*' + '@trivago/prettier-plugin-sort-imports': '*' + prettier: '>=2.2.0' + prettier-plugin-astro: '*' + prettier-plugin-css-order: '*' + prettier-plugin-import-sort: '*' + prettier-plugin-jsdoc: '*' + prettier-plugin-organize-attributes: '*' + prettier-plugin-organize-imports: '*' + prettier-plugin-style-order: '*' + prettier-plugin-svelte: '*' + prettier-plugin-twig-melody: '*' + peerDependenciesMeta: + '@ianvs/prettier-plugin-sort-imports': + optional: true + '@prettier/plugin-pug': + optional: true + '@shopify/prettier-plugin-liquid': + optional: true + '@shufo/prettier-plugin-blade': + optional: true + '@trivago/prettier-plugin-sort-imports': + optional: true + prettier-plugin-astro: + optional: true + prettier-plugin-css-order: + optional: true + prettier-plugin-import-sort: + optional: true + prettier-plugin-jsdoc: + optional: true + prettier-plugin-organize-attributes: + optional: true + prettier-plugin-organize-imports: + optional: true + prettier-plugin-style-order: + optional: true + prettier-plugin-svelte: + optional: true + prettier-plugin-twig-melody: + optional: true + dependencies: + prettier: 2.8.8 + dev: true + + /prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + /prisma@4.14.0: + resolution: {integrity: sha512-+5dMl1uxMQb4RepndY6AwR9xi1cDcaGFICu+ws6/Nmgt93mFPNj8tYxSfTdmfg+rkNrUId9rk/Ac2vTgLe/oXA==} + engines: {node: '>=14.17'} + hasBin: true + requiresBuild: true + dependencies: + '@prisma/engines': 4.14.0 + dev: false + + /prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + dev: false + + /punycode@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + dev: false + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + /react-dom@18.2.0(react@18.2.0): + resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + peerDependencies: + react: ^18.2.0 + dependencies: + loose-envify: 1.4.0 + react: 18.2.0 + scheduler: 0.23.0 + dev: false + + /react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + dev: false + + /react@18.2.0: + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + engines: {node: '>=0.10.0'} + dependencies: + loose-envify: 1.4.0 + dev: false + + /read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + dependencies: + pify: 2.3.0 + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + + /regenerator-runtime@0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + dev: false + + /regexp.prototype.flags@1.5.0: + resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + functions-have-names: 1.2.3 + dev: false + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: false + + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: false + + /resolve@1.22.2: + resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} + hasBin: true + dependencies: + is-core-module: 2.12.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + /resolve@1.22.4: + resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} + hasBin: true + dependencies: + is-core-module: 2.13.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: false + + /resolve@2.0.0-next.4: + resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} + hasBin: true + dependencies: + is-core-module: 2.13.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: false + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: false + + /run-applescript@5.0.0: + resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} + engines: {node: '>=12'} + dependencies: + execa: 5.1.1 + dev: false + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + + /safe-array-concat@1.0.0: + resolution: {integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: false + + /safe-regex-test@1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + is-regex: 1.1.4 + dev: false + + /scheduler@0.23.0: + resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + dependencies: + loose-envify: 1.4.0 + dev: false + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: false + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: false + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: false + + /side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + object-inspect: 1.12.3 + dev: false + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: false + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: false + + /slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + dev: false + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false + + /string.prototype.matchall@4.0.8: + resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + get-intrinsic: 1.2.1 + has-symbols: 1.0.3 + internal-slot: 1.0.5 + regexp.prototype.flags: 1.5.0 + side-channel: 1.0.4 + dev: false + + /string.prototype.trim@1.2.7: + resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + dev: false + + /string.prototype.trimend@1.0.6: + resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + dev: false + + /string.prototype.trimstart@1.0.6: + resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + dev: false + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: false + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: false + + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: false + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: false + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: false + + /styled-jsx@5.1.1(react@18.2.0): + resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + dependencies: + client-only: 0.0.1 + react: 18.2.0 + dev: false + + /sucrase@3.32.0: + resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==} + engines: {node: '>=8'} + hasBin: true + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + commander: 4.1.1 + glob: 7.1.6 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.5 + ts-interface-checker: 0.1.13 + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: false + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + /synckit@0.8.5: + resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/utils': 2.4.2 + tslib: 2.6.1 + dev: false + + /tailwindcss@3.3.2(ts-node@10.9.1): + resolution: {integrity: sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==} + engines: {node: '>=14.0.0'} + hasBin: 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.2.12 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.18.2 + 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@8.4.23) + postcss-js: 4.0.1(postcss@8.4.23) + postcss-load-config: 4.0.1(postcss@8.4.23)(ts-node@10.9.1) + postcss-nested: 6.0.1(postcss@8.4.23) + postcss-selector-parser: 6.0.12 + postcss-value-parser: 4.2.0 + resolve: 1.22.2 + sucrase: 3.32.0 + transitivePeerDependencies: + - ts-node + + /tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + dev: false + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: false + + /thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + + /thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + + /titleize@3.0.0: + resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} + engines: {node: '>=12'} + dev: false + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + + /ts-api-utils@1.0.1(typescript@5.1.6): + resolution: {integrity: sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.1.6 + dev: false + + /ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + /ts-node@10.9.1(@types/node@18.15.10)(typescript@5.1.6): + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.3 + '@types/node': 18.15.10 + acorn: 8.8.2 + acorn-walk: 8.2.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.1.6 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + + /tsconfig-paths@3.14.2: + resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: false + + /tslib@2.6.1: + resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} + dev: false + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: false + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: false + + /typed-array-buffer@1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + is-typed-array: 1.1.12 + dev: false + + /typed-array-byte-length@1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: false + + /typed-array-byte-offset@1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: false + + /typed-array-length@1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.2 + for-each: 0.3.3 + is-typed-array: 1.1.12 + dev: false + + /typescript@5.1.6: + resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} + engines: {node: '>=14.17'} + hasBin: true + + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.2 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: false + + /untildify@4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + dev: false + + /update-browserslist-db@1.0.10(browserslist@4.21.5): + resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.5 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.0 + dev: false + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + /v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + + /watchpack@2.4.0: + resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} + engines: {node: '>=10.13.0'} + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + dev: false + + /which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: false + + /which-typed-array@1.1.11: + resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + dev: false + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + + /word-wrap@1.2.3: + resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + engines: {node: '>=0.10.0'} + dev: false + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: false + + /yaml@2.2.2: + resolution: {integrity: sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==} + engines: {node: '>= 14'} + + /yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: false + + /zod@3.21.4: + resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} + dev: false diff --git a/10-clearing-the-search-input/end/postcss.config.js b/10-clearing-the-search-input/end/postcss.config.js new file mode 100644 index 0000000..33ad091 --- /dev/null +++ b/10-clearing-the-search-input/end/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/10-clearing-the-search-input/end/prisma/dev.db b/10-clearing-the-search-input/end/prisma/dev.db new file mode 100644 index 0000000000000000000000000000000000000000..066f7bfbdeafae33f8c747873c14d52fe4a2afc9 GIT binary patch literal 102400 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 f( \ No newline at end of file diff --git a/10-clearing-the-search-input/end/public/thirteen.svg b/10-clearing-the-search-input/end/public/thirteen.svg new file mode 100644 index 0000000..8977c1b --- /dev/null +++ b/10-clearing-the-search-input/end/public/thirteen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/10-clearing-the-search-input/end/public/vercel.svg b/10-clearing-the-search-input/end/public/vercel.svg new file mode 100644 index 0000000..d2f8422 --- /dev/null +++ b/10-clearing-the-search-input/end/public/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/10-clearing-the-search-input/end/scripts/add-users.ts b/10-clearing-the-search-input/end/scripts/add-users.ts new file mode 100644 index 0000000..5bed4a4 --- /dev/null +++ b/10-clearing-the-search-input/end/scripts/add-users.ts @@ -0,0 +1,19 @@ +import { prisma } from "../src/lib/prisma"; +import { faker } from "@faker-js/faker"; + +faker.seed(123); + +async function main() { + for (let i = 0; i < 1000; i++) { + let firstname = faker.name.firstName(); + let lastname = faker.name.lastName(); + await prisma.user.create({ + data: { + name: `${firstname} ${lastname}`, + email: faker.internet.email(firstname, lastname), + }, + }); + } +} + +main(); diff --git a/10-clearing-the-search-input/end/src/app/components/spinner.tsx b/10-clearing-the-search-input/end/src/app/components/spinner.tsx new file mode 100644 index 0000000..ac66157 --- /dev/null +++ b/10-clearing-the-search-input/end/src/app/components/spinner.tsx @@ -0,0 +1,24 @@ +export function Spinner({ ...props }) { + return ( + + + + + ); +} diff --git a/10-clearing-the-search-input/end/src/app/favicon.ico b/10-clearing-the-search-input/end/src/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..718d6fea4835ec2d246af9800eddb7ffb276240c GIT binary patch literal 25931 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 LrJugUA?W`A8`#=m literal 0 HcmV?d00001 diff --git a/10-clearing-the-search-input/end/src/app/globals.css b/10-clearing-the-search-input/end/src/app/globals.css new file mode 100644 index 0000000..b5c61c9 --- /dev/null +++ b/10-clearing-the-search-input/end/src/app/globals.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/10-clearing-the-search-input/end/src/app/layout.tsx b/10-clearing-the-search-input/end/src/app/layout.tsx new file mode 100644 index 0000000..e238a43 --- /dev/null +++ b/10-clearing-the-search-input/end/src/app/layout.tsx @@ -0,0 +1,21 @@ +import { Inter } from "next/font/google"; +import "./globals.css"; + +const inter = Inter({ subsets: ["latin"] }); + +export const metadata = { + title: "Create Next App", + description: "Generated by create next app", +}; + +export default function RootLayout({ + children, +}: { + children: React.ReactNode; +}) { + return ( + + {children} + + ); +} diff --git a/10-clearing-the-search-input/end/src/app/loading.tsx b/10-clearing-the-search-input/end/src/app/loading.tsx new file mode 100644 index 0000000..4d5f57a --- /dev/null +++ b/10-clearing-the-search-input/end/src/app/loading.tsx @@ -0,0 +1,9 @@ +import { Spinner } from "./components/spinner"; + +export default function Loading() { + return ( +
+ +
+ ); +} diff --git a/10-clearing-the-search-input/end/src/app/page.tsx b/10-clearing-the-search-input/end/src/app/page.tsx new file mode 100644 index 0000000..722c5e0 --- /dev/null +++ b/10-clearing-the-search-input/end/src/app/page.tsx @@ -0,0 +1,228 @@ +import { prisma } from "@/lib/prisma"; +import { ChevronRightIcon } from "@heroicons/react/20/solid"; +import Link from "next/link"; +import { SearchInput } from "./search-input"; +import { Suspense } from "react"; +import { Spinner } from "./components/spinner"; + +export default async function Page({ + searchParams, +}: { + searchParams: { [key: string]: string | string[] | undefined }; +}) { + const search = + typeof searchParams.search === "string" ? searchParams.search : undefined; + + return ( +
+
+
+ +
+
+ +
+
+ + }> + + +
+ ); +} + +function Loading() { + return ( +
+ +
+ ); +} + +async function UsersTable({ + searchParams, +}: { + searchParams: { [key: string]: string | string[] | undefined }; +}) { + await new Promise((resolve) => setTimeout(resolve, 2000)); + + const search = + typeof searchParams.search === "string" ? searchParams.search : undefined; + + const perPage = 7; + const totalUsers = await prisma.user.count({ + where: { + name: { + contains: search, + }, + }, + }); + const totalPages = Math.ceil(totalUsers / perPage); + + const page = + typeof searchParams.page === "string" && + +searchParams.page > 1 && + +searchParams.page <= totalPages + ? +searchParams.page + : 1; + + const users = await prisma.user.findMany({ + take: perPage, + skip: (page - 1) * perPage, + where: { + name: { + contains: search, + }, + }, + }); + + const currentSearchParams = new URLSearchParams(); + + if (search) { + currentSearchParams.set("search", search); + } + + if (page > 1) { + currentSearchParams.set("page", `${page}`); + } + + return ( +
+
+
+
+
+ + + + + + + + + + + {users.map((user) => ( + + + + + + + ))} + +
+ ID + + Name + + Email + + Edit +
+ {user.id} + + {user.name} + + {user.email} + + + Edit + + +
+
+
+
+
+
+

+ Showing{" "} + {(page - 1) * perPage + 1} to{" "} + + {Math.min(page * perPage, totalUsers)} + {" "} + of {totalUsers} users +

+
+ + +
+
+
+ ); +} + +function PreviousPage({ + page, + currentSearchParams, +}: { + page: number; + currentSearchParams: URLSearchParams; +}) { + const newSearchParams = new URLSearchParams(currentSearchParams); + + if (page > 2) { + newSearchParams.set("page", `${page - 1}`); + } else { + newSearchParams.delete("page"); + } + + return page > 1 ? ( + + Previous + + ) : ( + + ); +} + +function NextPage({ + page, + totalPages, + currentSearchParams, +}: { + page: number; + totalPages: number; + currentSearchParams: URLSearchParams; +}) { + const newSearchParams = new URLSearchParams(currentSearchParams); + + newSearchParams.set("page", `${page + 1}`); + + return page < totalPages ? ( + + Next + + ) : ( + + ); +} diff --git a/10-clearing-the-search-input/end/src/app/search-input.tsx b/10-clearing-the-search-input/end/src/app/search-input.tsx new file mode 100644 index 0000000..9ef4775 --- /dev/null +++ b/10-clearing-the-search-input/end/src/app/search-input.tsx @@ -0,0 +1,76 @@ +"use client"; + +import { MagnifyingGlassIcon } from "@heroicons/react/20/solid"; +import { XMarkIcon } from "@heroicons/react/20/solid"; +import { useRouter } from "next/navigation"; +import { useState, useTransition } from "react"; +import { Spinner } from "./components/spinner"; + +export function SearchInput({ search }: { search?: string }) { + const router = useRouter(); + + const [isPending, startTransition] = useTransition(); + const [timeoutId, setTimeoutId] = useState(); + const isSearching = timeoutId || isPending; + + const [inputValue, setInputValue] = useState(search ?? ""); + + function clearSearch() { + setInputValue(""); + startTransition(() => { + router.push(`/`); + }); + } + + return ( +
+
+
+ { + setInputValue(event.target.value); + clearTimeout(timeoutId); + + const id = setTimeout(() => { + startTransition(() => { + if (event.target.value) { + router.push(`/?search=${event.target.value}`); + } else { + router.push("/"); + } + + setTimeoutId(undefined); + }); + }, 500); + + setTimeoutId(id); + }} + /> + {isSearching ? ( +
+
+ ) : search ? ( + + ) : null} +
+ ); +} diff --git a/10-clearing-the-search-input/end/src/lib/prisma.ts b/10-clearing-the-search-input/end/src/lib/prisma.ts new file mode 100644 index 0000000..1ce3fe3 --- /dev/null +++ b/10-clearing-the-search-input/end/src/lib/prisma.ts @@ -0,0 +1,11 @@ +import { PrismaClient } from "@prisma/client"; + +const globalForPrisma = global as unknown as { prisma: PrismaClient }; + +export const prisma = + globalForPrisma.prisma || + new PrismaClient({ + log: [], + }); + +if (process.env.NODE_ENV !== "production") globalForPrisma.prisma = prisma; diff --git a/10-clearing-the-search-input/end/tailwind.config.js b/10-clearing-the-search-input/end/tailwind.config.js new file mode 100644 index 0000000..bef7651 --- /dev/null +++ b/10-clearing-the-search-input/end/tailwind.config.js @@ -0,0 +1,8 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: ["./src/**/*.{js,ts,jsx,tsx}"], + theme: { + extend: {}, + }, + plugins: [require("@tailwindcss/forms")], +}; diff --git a/10-clearing-the-search-input/end/tsconfig.json b/10-clearing-the-search-input/end/tsconfig.json new file mode 100644 index 0000000..4732603 --- /dev/null +++ b/10-clearing-the-search-input/end/tsconfig.json @@ -0,0 +1,34 @@ +{ + "ts-node": { + "compilerOptions": { + "module": "commonjs" + } + }, + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"] +}