├── public └── favicon.ico ├── src ├── styles │ └── globals.css ├── server │ ├── router │ │ ├── post.ts │ │ ├── index.ts │ │ └── context.ts │ └── db │ │ └── client.ts ├── pages │ ├── api │ │ └── trpc │ │ │ └── [trpc].ts │ ├── _app.tsx │ └── index.tsx ├── env │ ├── server.mjs │ ├── schema.mjs │ └── client.mjs └── utils │ └── trpc.ts ├── .dockerignore ├── postcss.config.cjs ├── prisma ├── migrations │ ├── migration_lock.toml │ └── 20220922203605_init │ │ └── migration.sql └── schema.prisma ├── tailwind.config.cjs ├── next-env.d.ts ├── .eslintrc.json ├── docker-compose.yml ├── .gitignore ├── tsconfig.json ├── next.config.mjs ├── package.json ├── Dockerfile ├── README.md └── pnpm-lock.yaml /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajcwebdev/ct3a-docker/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /src/styles/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | .env 2 | Dockerfile 3 | .dockerignore 4 | node_modules 5 | npm-debug.log 6 | README.md 7 | .next 8 | .git -------------------------------------------------------------------------------- /postcss.config.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | }; 7 | -------------------------------------------------------------------------------- /prisma/migrations/migration_lock.toml: -------------------------------------------------------------------------------- 1 | # Please do not edit this file manually 2 | # It should be added in your version-control system (i.e. Git) 3 | provider = "postgresql" -------------------------------------------------------------------------------- /tailwind.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | content: ["./src/**/*.{js,ts,jsx,tsx}"], 4 | theme: { 5 | extend: {}, 6 | }, 7 | plugins: [], 8 | }; 9 | -------------------------------------------------------------------------------- /next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "parser": "@typescript-eslint/parser", 3 | "parserOptions": { 4 | "project": "./tsconfig.json" 5 | }, 6 | "plugins": ["@typescript-eslint"], 7 | "extends": ["next/core-web-vitals", "plugin:@typescript-eslint/recommended"] 8 | } 9 | -------------------------------------------------------------------------------- /src/server/router/post.ts: -------------------------------------------------------------------------------- 1 | import { prisma } from "../db/client" 2 | import { createRouter } from "./context" 3 | 4 | export const postRouter = createRouter() 5 | .query('all', { 6 | async resolve() { 7 | return prisma.post.findMany() 8 | }, 9 | }) -------------------------------------------------------------------------------- /src/server/router/index.ts: -------------------------------------------------------------------------------- 1 | import superjson from "superjson" 2 | import { createRouter } from "./context" 3 | import { postRouter } from "./post" 4 | 5 | export const appRouter = createRouter() 6 | .transformer(superjson) 7 | .merge("post.", postRouter) 8 | 9 | export type AppRouter = typeof appRouter -------------------------------------------------------------------------------- /prisma/migrations/20220922203605_init/migration.sql: -------------------------------------------------------------------------------- 1 | -- CreateTable 2 | CREATE TABLE "Post" ( 3 | "id" TEXT NOT NULL, 4 | "title" TEXT NOT NULL, 5 | "description" TEXT NOT NULL, 6 | "body" TEXT NOT NULL, 7 | "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, 8 | 9 | CONSTRAINT "Post_pkey" PRIMARY KEY ("id") 10 | ); 11 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3.9" 2 | services: 3 | app: 4 | platform: "linux/amd64" 5 | build: 6 | context: . 7 | dockerfile: Dockerfile 8 | args: 9 | NEXT_PUBLIC_CLIENTVAR: "clientvar" 10 | working_dir: /app 11 | ports: 12 | - "3000:3000" 13 | image: t3-app 14 | environment: 15 | - DATABASE_URL=database_url_goes_here -------------------------------------------------------------------------------- /prisma/schema.prisma: -------------------------------------------------------------------------------- 1 | generator client { 2 | provider = "prisma-client-js" 3 | } 4 | 5 | datasource db { 6 | provider = "postgresql" 7 | url = env("DATABASE_URL") 8 | } 9 | 10 | model Post { 11 | id String @id 12 | title String 13 | description String 14 | body String 15 | createdAt DateTime @default(now()) 16 | } -------------------------------------------------------------------------------- /src/server/db/client.ts: -------------------------------------------------------------------------------- 1 | // src/server/db/client.ts 2 | import { PrismaClient } from "@prisma/client"; 3 | import { env } from "../../env/server.mjs"; 4 | 5 | declare global { 6 | // eslint-disable-next-line no-var 7 | var prisma: PrismaClient | undefined; 8 | } 9 | 10 | export const prisma = 11 | global.prisma || 12 | new PrismaClient({ 13 | log: 14 | env.NODE_ENV === "development" ? ["query", "error", "warn"] : ["error"], 15 | }); 16 | 17 | if (env.NODE_ENV !== "production") { 18 | global.prisma = prisma; 19 | } 20 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # database 12 | /prisma/db.sqlite 13 | /prisma/db.sqlite-journal 14 | 15 | # next.js 16 | /.next/ 17 | /out/ 18 | 19 | # production 20 | /build 21 | 22 | # misc 23 | .DS_Store 24 | *.pem 25 | 26 | # debug 27 | npm-debug.log* 28 | yarn-debug.log* 29 | yarn-error.log* 30 | .pnpm-debug.log* 31 | 32 | # local env files 33 | .env 34 | .env*.local 35 | 36 | # vercel 37 | .vercel 38 | 39 | # typescript 40 | *.tsbuildinfo 41 | -------------------------------------------------------------------------------- /src/pages/api/trpc/[trpc].ts: -------------------------------------------------------------------------------- 1 | // src/pages/api/trpc/[trpc].ts 2 | import { createNextApiHandler } from "@trpc/server/adapters/next"; 3 | import { env } from "../../../env/server.mjs"; 4 | import { appRouter } from "../../../server/router"; 5 | import { createContext } from "../../../server/router/context"; 6 | 7 | // export API handler 8 | export default createNextApiHandler({ 9 | router: appRouter, 10 | createContext, 11 | onError: 12 | env.NODE_ENV === "development" 13 | ? ({ path, error }) => { 14 | console.error(`❌ tRPC failed on ${path}: ${error}`); 15 | } 16 | : undefined, 17 | }); 18 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "strict": true, 8 | "forceConsistentCasingInFileNames": true, 9 | "noEmit": true, 10 | "esModuleInterop": true, 11 | "module": "esnext", 12 | "moduleResolution": "node", 13 | "resolveJsonModule": true, 14 | "isolatedModules": true, 15 | "jsx": "preserve", 16 | "incremental": true, 17 | "noUncheckedIndexedAccess": true 18 | }, 19 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "**/*.cjs", "**/*.mjs"], 20 | "exclude": ["node_modules"] 21 | } 22 | -------------------------------------------------------------------------------- /next.config.mjs: -------------------------------------------------------------------------------- 1 | /** 2 | * Don't be scared of the generics here. 3 | * All they do is to give us autocompletion when using this. 4 | * 5 | * @template {import('next').NextConfig} T 6 | * @param {T} config - A generic parameter that flows through to the return type 7 | * @constraint {{import('next').NextConfig}} 8 | */ 9 | function defineNextConfig(config) { 10 | return config; 11 | } 12 | 13 | export default defineNextConfig({ 14 | reactStrictMode: true, 15 | swcMinify: true, 16 | // Next.js i18n docs: https://nextjs.org/docs/advanced-features/i18n-routing 17 | i18n: { 18 | locales: ["en"], 19 | defaultLocale: "en", 20 | }, 21 | output: "standalone", 22 | }); 23 | -------------------------------------------------------------------------------- /src/env/server.mjs: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | /** 3 | * This file is included in `/next.config.mjs` which ensures the app isn't built with invalid env vars. 4 | * It has to be a `.mjs`-file to be imported there. 5 | */ 6 | import { serverSchema } from "./schema.mjs"; 7 | import { env as clientEnv, formatErrors } from "./client.mjs"; 8 | 9 | const _serverEnv = serverSchema.safeParse(process.env); 10 | 11 | if (_serverEnv.success === false) { 12 | console.error( 13 | "❌ Invalid environment variables:\n", 14 | ...formatErrors(_serverEnv.error.format()), 15 | ); 16 | throw new Error("Invalid environment variables"); 17 | } 18 | 19 | /** 20 | * Validate that server-side environment variables are not exposed to the client. 21 | */ 22 | for (let key of Object.keys(_serverEnv.data)) { 23 | if (key.startsWith("NEXT_PUBLIC_")) { 24 | console.warn("❌ You are exposing a server-side env-variable:", key); 25 | 26 | throw new Error("You are exposing a server-side env-variable"); 27 | } 28 | } 29 | 30 | export const env = { ..._serverEnv.data, ...clientEnv }; 31 | -------------------------------------------------------------------------------- /src/server/router/context.ts: -------------------------------------------------------------------------------- 1 | // src/server/router/context.ts 2 | import * as trpc from "@trpc/server"; 3 | import * as trpcNext from "@trpc/server/adapters/next"; 4 | import { prisma } from "../db/client"; 5 | 6 | /** 7 | * Replace this with an object if you want to pass things to createContextInner 8 | */ 9 | type CreateContextOptions = Record; 10 | 11 | /** Use this helper for: 12 | * - testing, where we dont have to Mock Next.js' req/res 13 | * - trpc's `createSSGHelpers` where we don't have req/res 14 | **/ 15 | export const createContextInner = async (opts: CreateContextOptions) => { 16 | return { 17 | prisma, 18 | }; 19 | }; 20 | 21 | /** 22 | * This is the actual context you'll use in your router 23 | * @link https://trpc.io/docs/context 24 | **/ 25 | export const createContext = async ( 26 | opts: trpcNext.CreateNextContextOptions, 27 | ) => { 28 | return await createContextInner({}); 29 | }; 30 | 31 | type Context = trpc.inferAsyncReturnType; 32 | 33 | export const createRouter = () => trpc.router(); 34 | -------------------------------------------------------------------------------- /src/utils/trpc.ts: -------------------------------------------------------------------------------- 1 | // src/utils/trpc.ts 2 | import type { AppRouter } from "../server/router"; 3 | import { createReactQueryHooks } from "@trpc/react"; 4 | import type { inferProcedureOutput, inferProcedureInput } from "@trpc/server"; 5 | 6 | export const trpc = createReactQueryHooks(); 7 | 8 | /** 9 | * These are helper types to infer the input and output of query resolvers 10 | */ 11 | export type inferQueryOutput< 12 | TRouteKey extends keyof AppRouter["_def"]["queries"], 13 | > = inferProcedureOutput; 14 | 15 | export type inferQueryInput< 16 | TRouteKey extends keyof AppRouter["_def"]["queries"], 17 | > = inferProcedureInput; 18 | 19 | export type inferMutationOutput< 20 | TRouteKey extends keyof AppRouter["_def"]["mutations"], 21 | > = inferProcedureOutput; 22 | 23 | export type inferMutationInput< 24 | TRouteKey extends keyof AppRouter["_def"]["mutations"], 25 | > = inferProcedureInput; 26 | -------------------------------------------------------------------------------- /src/env/schema.mjs: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | import { z } from "zod"; 3 | 4 | /** 5 | * Specify your server-side environment variables schema here. 6 | * This way you can ensure the app isn't built with invalid env vars. 7 | */ 8 | export const serverSchema = z.object({ 9 | DATABASE_URL: z.string().url(), 10 | NODE_ENV: z.enum(["development", "test", "production"]), 11 | }); 12 | 13 | /** 14 | * Specify your client-side environment variables schema here. 15 | * This way you can ensure the app isn't built with invalid env vars. 16 | * To expose them to the client, prefix them with `NEXT_PUBLIC_`. 17 | */ 18 | export const clientSchema = z.object({ 19 | // NEXT_PUBLIC_BAR: z.string(), 20 | }); 21 | 22 | /** 23 | * You can't destruct `process.env` as a regular object, so you have to do 24 | * it manually here. This is because Next.js evaluates this at build time, 25 | * and only used environment variables are included in the build. 26 | * @type {{ [k in keyof z.infer]: z.infer[k] | undefined }} 27 | */ 28 | export const clientEnv = { 29 | // NEXT_PUBLIC_BAR: process.env.NEXT_PUBLIC_BAR, 30 | }; 31 | -------------------------------------------------------------------------------- /src/env/client.mjs: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | import { clientEnv, clientSchema } from "./schema.mjs"; 3 | 4 | const _clientEnv = clientSchema.safeParse(clientEnv); 5 | 6 | export const formatErrors = ( 7 | /** @type {import('zod').ZodFormattedError,string>} */ 8 | errors, 9 | ) => 10 | Object.entries(errors) 11 | .map(([name, value]) => { 12 | if (value && "_errors" in value) 13 | return `${name}: ${value._errors.join(", ")}\n`; 14 | }) 15 | .filter(Boolean); 16 | 17 | if (_clientEnv.success === false) { 18 | console.error( 19 | "❌ Invalid environment variables:\n", 20 | ...formatErrors(_clientEnv.error.format()), 21 | ); 22 | throw new Error("Invalid environment variables"); 23 | } 24 | 25 | /** 26 | * Validate that client-side environment variables are exposed to the client. 27 | */ 28 | for (let key of Object.keys(_clientEnv.data)) { 29 | if (!key.startsWith("NEXT_PUBLIC_")) { 30 | console.warn( 31 | `❌ Invalid public environment variable name: ${key}. It must begin with 'NEXT_PUBLIC_'`, 32 | ); 33 | 34 | throw new Error("Invalid public environment variable name"); 35 | } 36 | } 37 | 38 | export const env = _clientEnv.data; 39 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ct3a-docker", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint", 10 | "postinstall": "prisma generate" 11 | }, 12 | "dependencies": { 13 | "@prisma/client": "^4.3.1", 14 | "@trpc/client": "^9.27.2", 15 | "@trpc/next": "^9.27.2", 16 | "@trpc/react": "^9.27.2", 17 | "@trpc/server": "^9.27.2", 18 | "next": "12.3.1", 19 | "react": "18.2.0", 20 | "react-dom": "18.2.0", 21 | "react-query": "3.39.2", 22 | "superjson": "^1.10.0", 23 | "zod": "^3.18.0" 24 | }, 25 | "devDependencies": { 26 | "@types/node": "18.0.0", 27 | "@types/react": "18.0.14", 28 | "@types/react-dom": "18.0.5", 29 | "@typescript-eslint/eslint-plugin": "^5.33.0", 30 | "@typescript-eslint/parser": "^5.33.0", 31 | "autoprefixer": "^10.4.12", 32 | "eslint": "8.22.0", 33 | "eslint-config-next": "12.3.1", 34 | "postcss": "^8.4.16", 35 | "prisma": "^4.3.1", 36 | "tailwindcss": "^3.1.8", 37 | "typescript": "4.7.4" 38 | }, 39 | "ct3aMetadata": { 40 | "initVersion": "5.13.0" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | ##### DEPENDENCIES 2 | 3 | FROM --platform=linux/amd64 node:16-alpine AS deps 4 | RUN apk add --no-cache libc6-compat openssl 5 | WORKDIR /app 6 | 7 | # Install Prisma Client - remove if not using Prisma 8 | COPY prisma ./ 9 | 10 | # Install dependencies based on the preferred package manager 11 | COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* ./ 12 | 13 | RUN \ 14 | if [ -f yarn.lock ]; then yarn --frozen-lockfile; \ 15 | elif [ -f package-lock.json ]; then npm ci; \ 16 | elif [ -f pnpm-lock.yaml ]; then yarn global add pnpm && pnpm i; \ 17 | else echo "Lockfile not found." && exit 1; \ 18 | fi 19 | 20 | ##### BUILDER 21 | 22 | FROM --platform=linux/amd64 node:16-alpine AS builder 23 | ARG DATABASE_URL 24 | ARG NEXT_PUBLIC_CLIENTVAR 25 | WORKDIR /app 26 | COPY --from=deps /app/node_modules ./node_modules 27 | COPY . . 28 | 29 | # ENV NEXT_TELEMETRY_DISABLED 1 30 | 31 | RUN \ 32 | if [ -f yarn.lock ]; then yarn build; \ 33 | elif [ -f package-lock.json ]; then npm run build; \ 34 | elif [ -f pnpm-lock.yaml ]; then yarn global add pnpm && pnpm run build; \ 35 | else echo "Lockfile not found." && exit 1; \ 36 | fi 37 | 38 | ##### RUNNER 39 | 40 | FROM --platform=linux/amd64 node:16-alpine AS runner 41 | WORKDIR /app 42 | 43 | ENV NODE_ENV production 44 | # ENV NEXT_TELEMETRY_DISABLED 1 45 | 46 | RUN addgroup --system --gid 1001 nodejs 47 | RUN adduser --system --uid 1001 nextjs 48 | 49 | COPY --from=builder /app/next.config.mjs ./ 50 | COPY --from=builder /app/public ./public 51 | COPY --from=builder /app/package.json ./package.json 52 | 53 | COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ 54 | COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static 55 | 56 | USER nextjs 57 | EXPOSE 3000 58 | ENV PORT 3000 59 | 60 | CMD ["node", "server.js"] -------------------------------------------------------------------------------- /src/pages/_app.tsx: -------------------------------------------------------------------------------- 1 | // src/pages/_app.tsx 2 | import { httpBatchLink } from "@trpc/client/links/httpBatchLink"; 3 | import { loggerLink } from "@trpc/client/links/loggerLink"; 4 | import { withTRPC } from "@trpc/next"; 5 | import type { AppType } from "next/dist/shared/lib/utils"; 6 | import superjson from "superjson"; 7 | import type { AppRouter } from "../server/router"; 8 | import "../styles/globals.css"; 9 | 10 | const MyApp: AppType = ({ Component, pageProps }) => { 11 | return ; 12 | }; 13 | 14 | const getBaseUrl = () => { 15 | if (typeof window !== "undefined") return ""; // browser should use relative url 16 | if (process.env.VERCEL_URL) return `https://${process.env.VERCEL_URL}`; // SSR should use vercel url 17 | return `http://localhost:${process.env.PORT ?? 3000}`; // dev SSR should use localhost 18 | }; 19 | 20 | export default withTRPC({ 21 | config({ ctx }) { 22 | /** 23 | * If you want to use SSR, you need to use the server's full URL 24 | * @link https://trpc.io/docs/ssr 25 | */ 26 | const url = `${getBaseUrl()}/api/trpc`; 27 | 28 | return { 29 | links: [ 30 | loggerLink({ 31 | enabled: (opts) => 32 | process.env.NODE_ENV === "development" || 33 | (opts.direction === "down" && opts.result instanceof Error), 34 | }), 35 | httpBatchLink({ url }), 36 | ], 37 | url, 38 | transformer: superjson, 39 | /** 40 | * @link https://react-query.tanstack.com/reference/QueryClient 41 | */ 42 | // queryClientConfig: { defaultOptions: { queries: { staleTime: 60 } } }, 43 | 44 | // To use SSR properly you need to forward the client's headers to the server 45 | // headers: () => { 46 | // if (ctx?.req) { 47 | // const headers = ctx?.req?.headers; 48 | // delete headers?.connection; 49 | // return { 50 | // ...headers, 51 | // "x-ssr": "1", 52 | // }; 53 | // } 54 | // return {}; 55 | // } 56 | }; 57 | }, 58 | /** 59 | * @link https://trpc.io/docs/ssr 60 | */ 61 | ssr: false, 62 | })(MyApp); 63 | -------------------------------------------------------------------------------- /src/pages/index.tsx: -------------------------------------------------------------------------------- 1 | import Head from "next/head" 2 | import type {NextPage} from "next" 3 | import { trpc } from "../utils/trpc" 4 | 5 | const Posts = () => { 6 | const postsQuery = trpc.useQuery([ 7 | 'post.all' 8 | ]) 9 | 10 | const { data } = postsQuery 11 | 12 | return ( 13 |
14 | {data 15 | ?

{JSON.stringify(data)}

16 | :

Loading..

17 | } 18 |
19 | ) 20 | } 21 | 22 | const Home: NextPage = () => { 23 | return ( 24 | <> 25 | 26 | Create T3 App 27 | 28 | 29 | 30 | 31 |
32 |

33 | Create T3 App 34 |

35 |

This stack uses:

36 |
37 | 42 | 47 | 52 | 57 | 62 | 67 |
68 | 69 |
70 | 71 | ); 72 | }; 73 | 74 | export default Home; 75 | 76 | type TechnologyCardProps = { 77 | name: string; 78 | description: string; 79 | documentation: string; 80 | }; 81 | 82 | const TechnologyCard = ({ 83 | name, 84 | description, 85 | documentation, 86 | }: TechnologyCardProps) => { 87 | return ( 88 |
89 |

{name}

90 |

{description}

91 | 97 | Documentation 98 | 99 |
100 | ); 101 | }; 102 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Create T3 App 2 | 3 | This is an app bootstrapped according to the [init.tips](https://init.tips) stack, also known as the T3-Stack. 4 | 5 | ## What's next? How do I make an app with this? 6 | 7 | We try to keep this project as simple as possible, so you can start with the most basic configuration and then move on to more advanced configuration. 8 | 9 | If you are not familiar with the different technologies used in this project, please refer to the respective docs. If you still are in the wind, please join our [Discord](https://t3.gg/discord) and ask for help. 10 | 11 | - [Next-Auth.js](https://next-auth.js.org) 12 | - [Prisma](https://prisma.io) 13 | - [TailwindCSS](https://tailwindcss.com) 14 | - [tRPC](https://trpc.io) (using @next version? [see v10 docs here](https://trpc.io/docs/v10/)) 15 | 16 | Also checkout these awesome tutorials on `create-t3-app`. 17 | 18 | - [Build a Blog With the T3 Stack - tRPC, TypeScript, Next.js, Prisma & Zod](https://www.youtube.com/watch?v=syEWlxVFUrY) 19 | - [Build a Live Chat Application with the T3 Stack - TypeScript, Tailwind, tRPC](https://www.youtube.com/watch?v=dXRRY37MPuk) 20 | - [Build a full stack app with create-t3-app](https://www.nexxel.dev/blog/ct3a-guestbook) 21 | - [A first look at create-t3-app](https://dev.to/ajcwebdev/a-first-look-at-create-t3-app-1i8f) 22 | 23 | ## Docker Project Configuration 24 | 25 | You can containerize this stack and deploy it as a single container using Docker, or as a part of a group of containers using docker-compose. Please note that Next.js requires a different process for build time (available in the frontend, prefixed by `NEXT_PUBLIC`) and runtime environment, server-side only, variables. In this demo we are using two variables: 26 | - `DATABASE_URL` (used by the server) 27 | - `NEXT_PUBLIC_CLIENTVAR` (used by the client) 28 | 29 | Pay attention to their positions in the `Dockerfile`, command-line arguments, and `docker-compose.yml`. 30 | 31 | ### 1. Next Configuration 32 | 33 | In your [`next.config.mjs`](https://github.com/t3-oss/create-t3-app/blob/main/cli/template/base/next.config.mjs), add the `standalone` output-option configuration to [reduce image size by automatically leveraging output traces](https://nextjs.org/docs/advanced-features/output-file-tracing): 34 | 35 | ```diff 36 | // next.config.mjs 37 | 38 | export default defineNextConfig({ 39 | reactStrictMode: true, 40 | swcMinify: true, 41 | + output: "standalone", 42 | }); 43 | ``` 44 | 45 | ### 2. Create dockerignore file 46 | 47 | Include the following contents in `.dockerignore`: 48 | 49 | ``` 50 | .env 51 | Dockerfile 52 | .dockerignore 53 | node_modules 54 | npm-debug.log 55 | README.md 56 | .next 57 | .git 58 | ``` 59 | 60 | ### 3. Create Dockerfile 61 | 62 | Include the following contents in `Dockerfile`: 63 | 64 | ```Dockerfile 65 | # Dockerfile 66 | 67 | ##### DEPENDENCIES 68 | 69 | FROM --platform=linux/amd64 node:16-alpine3.17 AS deps 70 | RUN apk add --no-cache libc6-compat openssl1.1-compat 71 | WORKDIR /app 72 | 73 | # Install Prisma Client - remove if not using Prisma 74 | COPY prisma ./ 75 | 76 | # Install dependencies based on the preferred package manager 77 | COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml\* ./ 78 | 79 | RUN \ 80 | if [ -f yarn.lock ]; then yarn --frozen-lockfile; \ 81 | elif [ -f package-lock.json ]; then npm ci; \ 82 | elif [ -f pnpm-lock.yaml ]; then yarn global add pnpm && pnpm i; \ 83 | else echo "Lockfile not found." && exit 1; \ 84 | fi 85 | 86 | ##### BUILDER 87 | 88 | FROM --platform=linux/amd64 node:16-alpine3.17 AS builder 89 | ARG DATABASE_URL 90 | ARG NEXT_PUBLIC_CLIENTVAR 91 | WORKDIR /app 92 | COPY --from=deps /app/node_modules ./node_modules 93 | COPY . . 94 | 95 | # ENV NEXT_TELEMETRY_DISABLED 1 96 | 97 | RUN \ 98 | if [ -f yarn.lock ]; then SKIP_ENV_VALIDATION=1 yarn build; \ 99 | elif [ -f package-lock.json ]; then SKIP_ENV_VALIDATION=1 npm run build; \ 100 | elif [ -f pnpm-lock.yaml ]; then yarn global add pnpm && SKIP_ENV_VALIDATION=1 pnpm run build; \ 101 | else echo "Lockfile not found." && exit 1; \ 102 | fi 103 | 104 | ##### RUNNER 105 | 106 | FROM --platform=linux/amd64 node:16-alpine3.17 AS runner 107 | WORKDIR /app 108 | 109 | ENV NODE_ENV production 110 | # ENV NEXT_TELEMETRY_DISABLED 1 111 | 112 | RUN addgroup --system --gid 1001 nodejs 113 | RUN adduser --system --uid 1001 nextjs 114 | 115 | COPY --from=builder /app/next.config.mjs ./ 116 | COPY --from=builder /app/public ./public 117 | COPY --from=builder /app/package.json ./package.json 118 | 119 | COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ 120 | COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static 121 | 122 | USER nextjs 123 | EXPOSE 3000 124 | ENV PORT 3000 125 | 126 | CMD ["node", "server.js"] 127 | ``` 128 | 129 | > ***Notes*** 130 | > 131 | > - *Emulation of `--platform=linux/amd64` may not be necessary after moving to Node 18.* 132 | > - *See [`node:alpine`](https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine) to understand why `libc6-compat` might be needed.* 133 | > - *Next.js collects [anonymous telemetry data about general usage](https://nextjs.org/telemetry). Uncomment the first instance of `ENV NEXT_TELEMETRY_DISABLED 1` to disable telemetry during the build. Uncomment the second instance to disable telemetry during runtime.* 134 | 135 | ## Build and Run Image Locally 136 | 137 | Build and run this image locally with the following commands: 138 | 139 | ```bash 140 | docker build -t ct3a-docker --build-arg NEXT_PUBLIC_CLIENTVAR=clientvar . 141 | docker run -p 3000:3000 -e DATABASE_URL="database_url_goes_here" ct3a-docker 142 | ``` 143 | 144 | Open [localhost:3000](http://localhost:3000/) to see your running application. 145 | 146 | ## Docker Compose 147 | 148 | You can also use Docker Compose to build the image and run the container. Follow steps 1-3 above and create a `docker-compose.yml` file with the following: 149 | 150 | ```yaml 151 | # docker-compose.yml 152 | 153 | version: "3.9" 154 | services: 155 | app: 156 | platform: "linux/amd64" 157 | build: 158 | context: . 159 | dockerfile: Dockerfile 160 | args: 161 | NEXT_PUBLIC_CLIENTVAR: "clientvar" 162 | working_dir: /app 163 | ports: 164 | - "3000:3000" 165 | image: t3-app 166 | environment: 167 | - DATABASE_URL=database_url_goes_here 168 | ``` 169 | 170 | Run this using the `docker compose up` command: 171 | 172 | ```bash 173 | docker compose up 174 | ``` 175 | 176 | Open [localhost:3000](http://localhost:3000/) to see your running application. 177 | 178 | ## Deploy to Railway 179 | 180 | You can use a PaaS such as [Railway's](https://railway.app) automated [Dockerfile deployments](https://docs.railway.app/deploy/dockerfiles) to deploy your app. If you have the [Railway CLI installed](https://docs.railway.app/develop/cli#install) you can deploy your app with the following commands: 181 | 182 | ```bash 183 | railway login 184 | railway init 185 | railway link 186 | railway up 187 | railway open 188 | ``` 189 | 190 | Go to "Variables" and include your `DATABASE_URL`. Then go to "Settings" and select "Generate Domain." To view a running example on Railway, visit [ct3a-docker.up.railway.app](https://ct3a-docker.up.railway.app/). 191 | 192 | ## Useful Resources 193 | 194 | | Resource | Link | 195 | | ------------------------------------ | ----------------------------------------------------------------------- | 196 | | Dockerfile reference | https://docs.docker.com/engine/reference/builder/ | 197 | | Compose file version 3 reference | https://docs.docker.com/compose/compose-file/compose-file-v3/ | 198 | | Docker CLI reference | https://docs.docker.com/engine/reference/commandline/docker/ | 199 | | Docker Compose CLI reference | https://docs.docker.com/compose/reference/ | 200 | | Next.js Deployment with Docker Image | https://nextjs.org/docs/deployment#docker-image | 201 | | Next.js in Docker | https://benmarte.com/blog/nextjs-in-docker/ | 202 | | Next.js with Docker Example | https://github.com/vercel/next.js/tree/canary/examples/with-docker | 203 | | Create Docker Image of a Next.js app | https://blog.tericcabrel.com/create-docker-image-nextjs-application/ | 204 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | specifiers: 4 | '@prisma/client': ^4.3.1 5 | '@trpc/client': ^9.27.2 6 | '@trpc/next': ^9.27.2 7 | '@trpc/react': ^9.27.2 8 | '@trpc/server': ^9.27.2 9 | '@types/node': 18.0.0 10 | '@types/react': 18.0.14 11 | '@types/react-dom': 18.0.5 12 | '@typescript-eslint/eslint-plugin': ^5.33.0 13 | '@typescript-eslint/parser': ^5.33.0 14 | autoprefixer: ^10.4.12 15 | eslint: 8.22.0 16 | eslint-config-next: 12.3.1 17 | next: 12.3.1 18 | postcss: ^8.4.16 19 | prisma: ^4.3.1 20 | react: 18.2.0 21 | react-dom: 18.2.0 22 | react-query: 3.39.2 23 | superjson: ^1.10.0 24 | tailwindcss: ^3.1.8 25 | typescript: 4.7.4 26 | zod: ^3.18.0 27 | 28 | dependencies: 29 | '@prisma/client': 4.3.1_prisma@4.3.1 30 | '@trpc/client': 9.27.2_@trpc+server@9.27.2 31 | '@trpc/next': 9.27.2_q6zioqap35hgke6xl77szo7ghe 32 | '@trpc/react': 9.27.2_e7pohnznr4qdgpqc5x4q3pmfcu 33 | '@trpc/server': 9.27.2 34 | next: 12.3.1_biqbaboplfbrettd7655fr4n2y 35 | react: 18.2.0 36 | react-dom: 18.2.0_react@18.2.0 37 | react-query: 3.39.2_biqbaboplfbrettd7655fr4n2y 38 | superjson: 1.10.0 39 | zod: 3.19.1 40 | 41 | devDependencies: 42 | '@types/node': 18.0.0 43 | '@types/react': 18.0.14 44 | '@types/react-dom': 18.0.5 45 | '@typescript-eslint/eslint-plugin': 5.38.0_kpaatme6gjkpxppst52s4fd23a 46 | '@typescript-eslint/parser': 5.38.0_4rv7y5c6xz3vfxwhbrcxxi73bq 47 | autoprefixer: 10.4.12_postcss@8.4.16 48 | eslint: 8.22.0 49 | eslint-config-next: 12.3.1_4rv7y5c6xz3vfxwhbrcxxi73bq 50 | postcss: 8.4.16 51 | prisma: 4.3.1 52 | tailwindcss: 3.1.8_postcss@8.4.16 53 | typescript: 4.7.4 54 | 55 | packages: 56 | 57 | /@babel/runtime-corejs3/7.19.1: 58 | resolution: {integrity: sha512-j2vJGnkopRzH+ykJ8h68wrHnEUmtK//E723jjixiAl/PPf6FhqY/vYRcMVlNydRKQjQsTsYEjpx+DZMIvnGk/g==} 59 | engines: {node: '>=6.9.0'} 60 | dependencies: 61 | core-js-pure: 3.25.2 62 | regenerator-runtime: 0.13.9 63 | dev: true 64 | 65 | /@babel/runtime/7.19.0: 66 | resolution: {integrity: sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==} 67 | engines: {node: '>=6.9.0'} 68 | dependencies: 69 | regenerator-runtime: 0.13.9 70 | 71 | /@eslint/eslintrc/1.3.2: 72 | resolution: {integrity: sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==} 73 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 74 | dependencies: 75 | ajv: 6.12.6 76 | debug: 4.3.4 77 | espree: 9.4.0 78 | globals: 13.17.0 79 | ignore: 5.2.0 80 | import-fresh: 3.3.0 81 | js-yaml: 4.1.0 82 | minimatch: 3.1.2 83 | strip-json-comments: 3.1.1 84 | transitivePeerDependencies: 85 | - supports-color 86 | dev: true 87 | 88 | /@humanwhocodes/config-array/0.10.5: 89 | resolution: {integrity: sha512-XVVDtp+dVvRxMoxSiSfasYaG02VEe1qH5cKgMQJWhol6HwzbcqoCMJi8dAGoYAO57jhUyhI6cWuRiTcRaDaYug==} 90 | engines: {node: '>=10.10.0'} 91 | dependencies: 92 | '@humanwhocodes/object-schema': 1.2.1 93 | debug: 4.3.4 94 | minimatch: 3.1.2 95 | transitivePeerDependencies: 96 | - supports-color 97 | dev: true 98 | 99 | /@humanwhocodes/gitignore-to-minimatch/1.0.2: 100 | resolution: {integrity: sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==} 101 | dev: true 102 | 103 | /@humanwhocodes/object-schema/1.2.1: 104 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} 105 | dev: true 106 | 107 | /@next/env/12.3.1: 108 | resolution: {integrity: sha512-9P9THmRFVKGKt9DYqeC2aKIxm8rlvkK38V1P1sRE7qyoPBIs8l9oo79QoSdPtOWfzkbDAVUqvbQGgTMsb8BtJg==} 109 | dev: false 110 | 111 | /@next/eslint-plugin-next/12.3.1: 112 | resolution: {integrity: sha512-sw+lTf6r6P0j+g/n9y4qdWWI2syPqZx+uc0+B/fRENqfR3KpSid6MIKqc9gNwGhJASazEQ5b3w8h4cAET213jw==} 113 | dependencies: 114 | glob: 7.1.7 115 | dev: true 116 | 117 | /@next/swc-android-arm-eabi/12.3.1: 118 | resolution: {integrity: sha512-i+BvKA8tB//srVPPQxIQN5lvfROcfv4OB23/L1nXznP+N/TyKL8lql3l7oo2LNhnH66zWhfoemg3Q4VJZSruzQ==} 119 | engines: {node: '>= 10'} 120 | cpu: [arm] 121 | os: [android] 122 | requiresBuild: true 123 | dev: false 124 | optional: true 125 | 126 | /@next/swc-android-arm64/12.3.1: 127 | resolution: {integrity: sha512-CmgU2ZNyBP0rkugOOqLnjl3+eRpXBzB/I2sjwcGZ7/Z6RcUJXK5Evz+N0ucOxqE4cZ3gkTeXtSzRrMK2mGYV8Q==} 128 | engines: {node: '>= 10'} 129 | cpu: [arm64] 130 | os: [android] 131 | requiresBuild: true 132 | dev: false 133 | optional: true 134 | 135 | /@next/swc-darwin-arm64/12.3.1: 136 | resolution: {integrity: sha512-hT/EBGNcu0ITiuWDYU9ur57Oa4LybD5DOQp4f22T6zLfpoBMfBibPtR8XktXmOyFHrL/6FC2p9ojdLZhWhvBHg==} 137 | engines: {node: '>= 10'} 138 | cpu: [arm64] 139 | os: [darwin] 140 | requiresBuild: true 141 | dev: false 142 | optional: true 143 | 144 | /@next/swc-darwin-x64/12.3.1: 145 | resolution: {integrity: sha512-9S6EVueCVCyGf2vuiLiGEHZCJcPAxglyckTZcEwLdJwozLqN0gtS0Eq0bQlGS3dH49Py/rQYpZ3KVWZ9BUf/WA==} 146 | engines: {node: '>= 10'} 147 | cpu: [x64] 148 | os: [darwin] 149 | requiresBuild: true 150 | dev: false 151 | optional: true 152 | 153 | /@next/swc-freebsd-x64/12.3.1: 154 | resolution: {integrity: sha512-qcuUQkaBZWqzM0F1N4AkAh88lLzzpfE6ImOcI1P6YeyJSsBmpBIV8o70zV+Wxpc26yV9vpzb+e5gCyxNjKJg5Q==} 155 | engines: {node: '>= 10'} 156 | cpu: [x64] 157 | os: [freebsd] 158 | requiresBuild: true 159 | dev: false 160 | optional: true 161 | 162 | /@next/swc-linux-arm-gnueabihf/12.3.1: 163 | resolution: {integrity: sha512-diL9MSYrEI5nY2wc/h/DBewEDUzr/DqBjIgHJ3RUNtETAOB3spMNHvJk2XKUDjnQuluLmFMloet9tpEqU2TT9w==} 164 | engines: {node: '>= 10'} 165 | cpu: [arm] 166 | os: [linux] 167 | requiresBuild: true 168 | dev: false 169 | optional: true 170 | 171 | /@next/swc-linux-arm64-gnu/12.3.1: 172 | resolution: {integrity: sha512-o/xB2nztoaC7jnXU3Q36vGgOolJpsGG8ETNjxM1VAPxRwM7FyGCPHOMk1XavG88QZSQf+1r+POBW0tLxQOJ9DQ==} 173 | engines: {node: '>= 10'} 174 | cpu: [arm64] 175 | os: [linux] 176 | requiresBuild: true 177 | dev: false 178 | optional: true 179 | 180 | /@next/swc-linux-arm64-musl/12.3.1: 181 | resolution: {integrity: sha512-2WEasRxJzgAmP43glFNhADpe8zB7kJofhEAVNbDJZANp+H4+wq+/cW1CdDi8DqjkShPEA6/ejJw+xnEyDID2jg==} 182 | engines: {node: '>= 10'} 183 | cpu: [arm64] 184 | os: [linux] 185 | requiresBuild: true 186 | dev: false 187 | optional: true 188 | 189 | /@next/swc-linux-x64-gnu/12.3.1: 190 | resolution: {integrity: sha512-JWEaMyvNrXuM3dyy9Pp5cFPuSSvG82+yABqsWugjWlvfmnlnx9HOQZY23bFq3cNghy5V/t0iPb6cffzRWylgsA==} 191 | engines: {node: '>= 10'} 192 | cpu: [x64] 193 | os: [linux] 194 | requiresBuild: true 195 | dev: false 196 | optional: true 197 | 198 | /@next/swc-linux-x64-musl/12.3.1: 199 | resolution: {integrity: sha512-xoEWQQ71waWc4BZcOjmatuvPUXKTv6MbIFzpm4LFeCHsg2iwai0ILmNXf81rJR+L1Wb9ifEke2sQpZSPNz1Iyg==} 200 | engines: {node: '>= 10'} 201 | cpu: [x64] 202 | os: [linux] 203 | requiresBuild: true 204 | dev: false 205 | optional: true 206 | 207 | /@next/swc-win32-arm64-msvc/12.3.1: 208 | resolution: {integrity: sha512-hswVFYQYIeGHE2JYaBVtvqmBQ1CppplQbZJS/JgrVI3x2CurNhEkmds/yqvDONfwfbttTtH4+q9Dzf/WVl3Opw==} 209 | engines: {node: '>= 10'} 210 | cpu: [arm64] 211 | os: [win32] 212 | requiresBuild: true 213 | dev: false 214 | optional: true 215 | 216 | /@next/swc-win32-ia32-msvc/12.3.1: 217 | resolution: {integrity: sha512-Kny5JBehkTbKPmqulr5i+iKntO5YMP+bVM8Hf8UAmjSMVo3wehyLVc9IZkNmcbxi+vwETnQvJaT5ynYBkJ9dWA==} 218 | engines: {node: '>= 10'} 219 | cpu: [ia32] 220 | os: [win32] 221 | requiresBuild: true 222 | dev: false 223 | optional: true 224 | 225 | /@next/swc-win32-x64-msvc/12.3.1: 226 | resolution: {integrity: sha512-W1ijvzzg+kPEX6LAc+50EYYSEo0FVu7dmTE+t+DM4iOLqgGHoW9uYSz9wCVdkXOEEMP9xhXfGpcSxsfDucyPkA==} 227 | engines: {node: '>= 10'} 228 | cpu: [x64] 229 | os: [win32] 230 | requiresBuild: true 231 | dev: false 232 | optional: true 233 | 234 | /@nodelib/fs.scandir/2.1.5: 235 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 236 | engines: {node: '>= 8'} 237 | dependencies: 238 | '@nodelib/fs.stat': 2.0.5 239 | run-parallel: 1.2.0 240 | dev: true 241 | 242 | /@nodelib/fs.stat/2.0.5: 243 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 244 | engines: {node: '>= 8'} 245 | dev: true 246 | 247 | /@nodelib/fs.walk/1.2.8: 248 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 249 | engines: {node: '>= 8'} 250 | dependencies: 251 | '@nodelib/fs.scandir': 2.1.5 252 | fastq: 1.13.0 253 | dev: true 254 | 255 | /@prisma/client/4.3.1_prisma@4.3.1: 256 | resolution: {integrity: sha512-FA0/d1VMJNWqzU7WVWTNWJ+lGOLR9JUBnF73GdIPAEVo/6dWk4gHx0EmgeU+SMv4MZoxgOeTBJF2azhg7x0hMw==} 257 | engines: {node: '>=14.17'} 258 | requiresBuild: true 259 | peerDependencies: 260 | prisma: '*' 261 | peerDependenciesMeta: 262 | prisma: 263 | optional: true 264 | dependencies: 265 | '@prisma/engines-version': 4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b 266 | prisma: 4.3.1 267 | dev: false 268 | 269 | /@prisma/engines-version/4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b: 270 | resolution: {integrity: sha512-8yWpXkQRmiSfsi2Wb/ZS5D3RFbeu/btL9Pm/gdF4phB0Lo5KGsDFMxFMgaD64mwED2nHc8ZaEJg/+4Jymb9Znw==} 271 | dev: false 272 | 273 | /@prisma/engines/4.3.1: 274 | resolution: {integrity: sha512-4JF/uMaEDAPdcdZNOrnzE3BvrbGpjgV0FcPT3EVoi6I86fWkloqqxBt+KcK/+fIRR0Pxj66uGR9wVH8U1Y13JA==} 275 | requiresBuild: true 276 | 277 | /@rushstack/eslint-patch/1.2.0: 278 | resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==} 279 | dev: true 280 | 281 | /@swc/helpers/0.4.11: 282 | resolution: {integrity: sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==} 283 | dependencies: 284 | tslib: 2.4.0 285 | dev: false 286 | 287 | /@trpc/client/9.27.2_@trpc+server@9.27.2: 288 | resolution: {integrity: sha512-rpsgJJMalOtki5VjcyheL0zdft23mDnoBHn5cJMZLf3ssymCZq2crbvCiUmCRU289lYHrqffaaZ+9PqCSsVKfg==} 289 | peerDependencies: 290 | '@trpc/server': 9.27.2 291 | dependencies: 292 | '@babel/runtime': 7.19.0 293 | '@trpc/server': 9.27.2 294 | dev: false 295 | 296 | /@trpc/next/9.27.2_q6zioqap35hgke6xl77szo7ghe: 297 | resolution: {integrity: sha512-5Xy13sH2c7usWyQtVQ7g7gjv7i1/3shGrtVJJEbdEXq8i0A7BUAg1Q1DjCL92d9otD2jXpnaqRAktrXLZRGCgQ==} 298 | peerDependencies: 299 | '@trpc/client': 9.27.2 300 | '@trpc/react': 9.27.2 301 | '@trpc/server': 9.27.2 302 | next: '*' 303 | react: '>=16.8.0' 304 | react-dom: '>=16.8.0' 305 | react-query: ^3.37.0 306 | dependencies: 307 | '@babel/runtime': 7.19.0 308 | '@trpc/client': 9.27.2_@trpc+server@9.27.2 309 | '@trpc/react': 9.27.2_e7pohnznr4qdgpqc5x4q3pmfcu 310 | '@trpc/server': 9.27.2 311 | next: 12.3.1_biqbaboplfbrettd7655fr4n2y 312 | react: 18.2.0 313 | react-dom: 18.2.0_react@18.2.0 314 | react-query: 3.39.2_biqbaboplfbrettd7655fr4n2y 315 | react-ssr-prepass: 1.5.0_react@18.2.0 316 | dev: false 317 | 318 | /@trpc/react/9.27.2_e7pohnznr4qdgpqc5x4q3pmfcu: 319 | resolution: {integrity: sha512-d2Nu3gYD7W9B5J5GylLw41jElQexb9zzwOLmCUR54azhvkIjk2w5dZLLqG3ou7L4ZsnlLOHgyO/LMwrgR4U9ZA==} 320 | peerDependencies: 321 | '@trpc/client': 9.27.2 322 | '@trpc/server': 9.27.2 323 | react: '>=16.8.0' 324 | react-dom: '>=16.8.0' 325 | react-query: ^3.37.0 326 | dependencies: 327 | '@babel/runtime': 7.19.0 328 | '@trpc/client': 9.27.2_@trpc+server@9.27.2 329 | '@trpc/server': 9.27.2 330 | react: 18.2.0 331 | react-dom: 18.2.0_react@18.2.0 332 | react-query: 3.39.2_biqbaboplfbrettd7655fr4n2y 333 | dev: false 334 | 335 | /@trpc/server/9.27.2: 336 | resolution: {integrity: sha512-LcXCC004SYWVdHqjSZVpoKkcM0tJNwWtvmjmE2Jir36F0siY1CCbr7g2vz6LcOtA/q7Jj5G2/x1qMWzlPq/Bwg==} 337 | dev: false 338 | 339 | /@types/json-schema/7.0.11: 340 | resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} 341 | dev: true 342 | 343 | /@types/json5/0.0.29: 344 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 345 | dev: true 346 | 347 | /@types/node/18.0.0: 348 | resolution: {integrity: sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==} 349 | dev: true 350 | 351 | /@types/prop-types/15.7.5: 352 | resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} 353 | dev: true 354 | 355 | /@types/react-dom/18.0.5: 356 | resolution: {integrity: sha512-OWPWTUrY/NIrjsAPkAk1wW9LZeIjSvkXRhclsFO8CZcZGCOg2G0YZy4ft+rOyYxy8B7ui5iZzi9OkDebZ7/QSA==} 357 | dependencies: 358 | '@types/react': 18.0.14 359 | dev: true 360 | 361 | /@types/react/18.0.14: 362 | resolution: {integrity: sha512-x4gGuASSiWmo0xjDLpm5mPb52syZHJx02VKbqUKdLmKtAwIh63XClGsiTI1K6DO5q7ox4xAsQrU+Gl3+gGXF9Q==} 363 | dependencies: 364 | '@types/prop-types': 15.7.5 365 | '@types/scheduler': 0.16.2 366 | csstype: 3.1.1 367 | dev: true 368 | 369 | /@types/scheduler/0.16.2: 370 | resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} 371 | dev: true 372 | 373 | /@typescript-eslint/eslint-plugin/5.38.0_kpaatme6gjkpxppst52s4fd23a: 374 | resolution: {integrity: sha512-GgHi/GNuUbTOeoJiEANi0oI6fF3gBQc3bGFYj40nnAPCbhrtEDf2rjBmefFadweBmO1Du1YovHeDP2h5JLhtTQ==} 375 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 376 | peerDependencies: 377 | '@typescript-eslint/parser': ^5.0.0 378 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 379 | typescript: '*' 380 | peerDependenciesMeta: 381 | typescript: 382 | optional: true 383 | dependencies: 384 | '@typescript-eslint/parser': 5.38.0_4rv7y5c6xz3vfxwhbrcxxi73bq 385 | '@typescript-eslint/scope-manager': 5.38.0 386 | '@typescript-eslint/type-utils': 5.38.0_4rv7y5c6xz3vfxwhbrcxxi73bq 387 | '@typescript-eslint/utils': 5.38.0_4rv7y5c6xz3vfxwhbrcxxi73bq 388 | debug: 4.3.4 389 | eslint: 8.22.0 390 | ignore: 5.2.0 391 | regexpp: 3.2.0 392 | semver: 7.3.7 393 | tsutils: 3.21.0_typescript@4.7.4 394 | typescript: 4.7.4 395 | transitivePeerDependencies: 396 | - supports-color 397 | dev: true 398 | 399 | /@typescript-eslint/parser/5.38.0_4rv7y5c6xz3vfxwhbrcxxi73bq: 400 | resolution: {integrity: sha512-/F63giJGLDr0ms1Cr8utDAxP2SPiglaD6V+pCOcG35P2jCqdfR7uuEhz1GIC3oy4hkUF8xA1XSXmd9hOh/a5EA==} 401 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 402 | peerDependencies: 403 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 404 | typescript: '*' 405 | peerDependenciesMeta: 406 | typescript: 407 | optional: true 408 | dependencies: 409 | '@typescript-eslint/scope-manager': 5.38.0 410 | '@typescript-eslint/types': 5.38.0 411 | '@typescript-eslint/typescript-estree': 5.38.0_typescript@4.7.4 412 | debug: 4.3.4 413 | eslint: 8.22.0 414 | typescript: 4.7.4 415 | transitivePeerDependencies: 416 | - supports-color 417 | dev: true 418 | 419 | /@typescript-eslint/scope-manager/5.38.0: 420 | resolution: {integrity: sha512-ByhHIuNyKD9giwkkLqzezZ9y5bALW8VNY6xXcP+VxoH4JBDKjU5WNnsiD4HJdglHECdV+lyaxhvQjTUbRboiTA==} 421 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 422 | dependencies: 423 | '@typescript-eslint/types': 5.38.0 424 | '@typescript-eslint/visitor-keys': 5.38.0 425 | dev: true 426 | 427 | /@typescript-eslint/type-utils/5.38.0_4rv7y5c6xz3vfxwhbrcxxi73bq: 428 | resolution: {integrity: sha512-iZq5USgybUcj/lfnbuelJ0j3K9dbs1I3RICAJY9NZZpDgBYXmuUlYQGzftpQA9wC8cKgtS6DASTvF3HrXwwozA==} 429 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 430 | peerDependencies: 431 | eslint: '*' 432 | typescript: '*' 433 | peerDependenciesMeta: 434 | typescript: 435 | optional: true 436 | dependencies: 437 | '@typescript-eslint/typescript-estree': 5.38.0_typescript@4.7.4 438 | '@typescript-eslint/utils': 5.38.0_4rv7y5c6xz3vfxwhbrcxxi73bq 439 | debug: 4.3.4 440 | eslint: 8.22.0 441 | tsutils: 3.21.0_typescript@4.7.4 442 | typescript: 4.7.4 443 | transitivePeerDependencies: 444 | - supports-color 445 | dev: true 446 | 447 | /@typescript-eslint/types/5.38.0: 448 | resolution: {integrity: sha512-HHu4yMjJ7i3Cb+8NUuRCdOGu2VMkfmKyIJsOr9PfkBVYLYrtMCK/Ap50Rpov+iKpxDTfnqvDbuPLgBE5FwUNfA==} 449 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 450 | dev: true 451 | 452 | /@typescript-eslint/typescript-estree/5.38.0_typescript@4.7.4: 453 | resolution: {integrity: sha512-6P0RuphkR+UuV7Avv7MU3hFoWaGcrgOdi8eTe1NwhMp2/GjUJoODBTRWzlHpZh6lFOaPmSvgxGlROa0Sg5Zbyg==} 454 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 455 | peerDependencies: 456 | typescript: '*' 457 | peerDependenciesMeta: 458 | typescript: 459 | optional: true 460 | dependencies: 461 | '@typescript-eslint/types': 5.38.0 462 | '@typescript-eslint/visitor-keys': 5.38.0 463 | debug: 4.3.4 464 | globby: 11.1.0 465 | is-glob: 4.0.3 466 | semver: 7.3.7 467 | tsutils: 3.21.0_typescript@4.7.4 468 | typescript: 4.7.4 469 | transitivePeerDependencies: 470 | - supports-color 471 | dev: true 472 | 473 | /@typescript-eslint/utils/5.38.0_4rv7y5c6xz3vfxwhbrcxxi73bq: 474 | resolution: {integrity: sha512-6sdeYaBgk9Fh7N2unEXGz+D+som2QCQGPAf1SxrkEr+Z32gMreQ0rparXTNGRRfYUWk/JzbGdcM8NSSd6oqnTA==} 475 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 476 | peerDependencies: 477 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 478 | dependencies: 479 | '@types/json-schema': 7.0.11 480 | '@typescript-eslint/scope-manager': 5.38.0 481 | '@typescript-eslint/types': 5.38.0 482 | '@typescript-eslint/typescript-estree': 5.38.0_typescript@4.7.4 483 | eslint: 8.22.0 484 | eslint-scope: 5.1.1 485 | eslint-utils: 3.0.0_eslint@8.22.0 486 | transitivePeerDependencies: 487 | - supports-color 488 | - typescript 489 | dev: true 490 | 491 | /@typescript-eslint/visitor-keys/5.38.0: 492 | resolution: {integrity: sha512-MxnrdIyArnTi+XyFLR+kt/uNAcdOnmT+879os7qDRI+EYySR4crXJq9BXPfRzzLGq0wgxkwidrCJ9WCAoacm1w==} 493 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 494 | dependencies: 495 | '@typescript-eslint/types': 5.38.0 496 | eslint-visitor-keys: 3.3.0 497 | dev: true 498 | 499 | /acorn-jsx/5.3.2_acorn@8.8.0: 500 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 501 | peerDependencies: 502 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 503 | dependencies: 504 | acorn: 8.8.0 505 | dev: true 506 | 507 | /acorn-node/1.8.2: 508 | resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} 509 | dependencies: 510 | acorn: 7.4.1 511 | acorn-walk: 7.2.0 512 | xtend: 4.0.2 513 | dev: true 514 | 515 | /acorn-walk/7.2.0: 516 | resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} 517 | engines: {node: '>=0.4.0'} 518 | dev: true 519 | 520 | /acorn/7.4.1: 521 | resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} 522 | engines: {node: '>=0.4.0'} 523 | hasBin: true 524 | dev: true 525 | 526 | /acorn/8.8.0: 527 | resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==} 528 | engines: {node: '>=0.4.0'} 529 | hasBin: true 530 | dev: true 531 | 532 | /ajv/6.12.6: 533 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 534 | dependencies: 535 | fast-deep-equal: 3.1.3 536 | fast-json-stable-stringify: 2.1.0 537 | json-schema-traverse: 0.4.1 538 | uri-js: 4.4.1 539 | dev: true 540 | 541 | /ansi-regex/5.0.1: 542 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 543 | engines: {node: '>=8'} 544 | dev: true 545 | 546 | /ansi-styles/4.3.0: 547 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 548 | engines: {node: '>=8'} 549 | dependencies: 550 | color-convert: 2.0.1 551 | dev: true 552 | 553 | /anymatch/3.1.2: 554 | resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} 555 | engines: {node: '>= 8'} 556 | dependencies: 557 | normalize-path: 3.0.0 558 | picomatch: 2.3.1 559 | dev: true 560 | 561 | /arg/5.0.2: 562 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 563 | dev: true 564 | 565 | /argparse/2.0.1: 566 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 567 | dev: true 568 | 569 | /aria-query/4.2.2: 570 | resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==} 571 | engines: {node: '>=6.0'} 572 | dependencies: 573 | '@babel/runtime': 7.19.0 574 | '@babel/runtime-corejs3': 7.19.1 575 | dev: true 576 | 577 | /array-includes/3.1.5: 578 | resolution: {integrity: sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==} 579 | engines: {node: '>= 0.4'} 580 | dependencies: 581 | call-bind: 1.0.2 582 | define-properties: 1.1.4 583 | es-abstract: 1.20.2 584 | get-intrinsic: 1.1.3 585 | is-string: 1.0.7 586 | dev: true 587 | 588 | /array-union/2.1.0: 589 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 590 | engines: {node: '>=8'} 591 | dev: true 592 | 593 | /array.prototype.flat/1.3.0: 594 | resolution: {integrity: sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==} 595 | engines: {node: '>= 0.4'} 596 | dependencies: 597 | call-bind: 1.0.2 598 | define-properties: 1.1.4 599 | es-abstract: 1.20.2 600 | es-shim-unscopables: 1.0.0 601 | dev: true 602 | 603 | /array.prototype.flatmap/1.3.0: 604 | resolution: {integrity: sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==} 605 | engines: {node: '>= 0.4'} 606 | dependencies: 607 | call-bind: 1.0.2 608 | define-properties: 1.1.4 609 | es-abstract: 1.20.2 610 | es-shim-unscopables: 1.0.0 611 | dev: true 612 | 613 | /ast-types-flow/0.0.7: 614 | resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} 615 | dev: true 616 | 617 | /autoprefixer/10.4.12_postcss@8.4.16: 618 | resolution: {integrity: sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==} 619 | engines: {node: ^10 || ^12 || >=14} 620 | hasBin: true 621 | peerDependencies: 622 | postcss: ^8.1.0 623 | dependencies: 624 | browserslist: 4.21.4 625 | caniuse-lite: 1.0.30001409 626 | fraction.js: 4.2.0 627 | normalize-range: 0.1.2 628 | picocolors: 1.0.0 629 | postcss: 8.4.16 630 | postcss-value-parser: 4.2.0 631 | dev: true 632 | 633 | /axe-core/4.4.3: 634 | resolution: {integrity: sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==} 635 | engines: {node: '>=4'} 636 | dev: true 637 | 638 | /axobject-query/2.2.0: 639 | resolution: {integrity: sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==} 640 | dev: true 641 | 642 | /balanced-match/1.0.2: 643 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 644 | 645 | /big-integer/1.6.51: 646 | resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} 647 | engines: {node: '>=0.6'} 648 | dev: false 649 | 650 | /binary-extensions/2.2.0: 651 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 652 | engines: {node: '>=8'} 653 | dev: true 654 | 655 | /brace-expansion/1.1.11: 656 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 657 | dependencies: 658 | balanced-match: 1.0.2 659 | concat-map: 0.0.1 660 | 661 | /braces/3.0.2: 662 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 663 | engines: {node: '>=8'} 664 | dependencies: 665 | fill-range: 7.0.1 666 | dev: true 667 | 668 | /broadcast-channel/3.7.0: 669 | resolution: {integrity: sha512-cIAKJXAxGJceNZGTZSBzMxzyOn72cVgPnKx4dc6LRjQgbaJUQqhy5rzL3zbMxkMWsGKkv2hSFkPRMEXfoMZ2Mg==} 670 | dependencies: 671 | '@babel/runtime': 7.19.0 672 | detect-node: 2.1.0 673 | js-sha3: 0.8.0 674 | microseconds: 0.2.0 675 | nano-time: 1.0.0 676 | oblivious-set: 1.0.0 677 | rimraf: 3.0.2 678 | unload: 2.2.0 679 | dev: false 680 | 681 | /browserslist/4.21.4: 682 | resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==} 683 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 684 | hasBin: true 685 | dependencies: 686 | caniuse-lite: 1.0.30001409 687 | electron-to-chromium: 1.4.257 688 | node-releases: 2.0.6 689 | update-browserslist-db: 1.0.9_browserslist@4.21.4 690 | dev: true 691 | 692 | /call-bind/1.0.2: 693 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 694 | dependencies: 695 | function-bind: 1.1.1 696 | get-intrinsic: 1.1.3 697 | dev: true 698 | 699 | /callsites/3.1.0: 700 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 701 | engines: {node: '>=6'} 702 | dev: true 703 | 704 | /camelcase-css/2.0.1: 705 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 706 | engines: {node: '>= 6'} 707 | dev: true 708 | 709 | /caniuse-lite/1.0.30001409: 710 | resolution: {integrity: sha512-V0mnJ5dwarmhYv8/MzhJ//aW68UpvnQBXv8lJ2QUsvn2pHcmAuNtu8hQEDz37XnA1iE+lRR9CIfGWWpgJ5QedQ==} 711 | 712 | /chalk/4.1.2: 713 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 714 | engines: {node: '>=10'} 715 | dependencies: 716 | ansi-styles: 4.3.0 717 | supports-color: 7.2.0 718 | dev: true 719 | 720 | /chokidar/3.5.3: 721 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 722 | engines: {node: '>= 8.10.0'} 723 | dependencies: 724 | anymatch: 3.1.2 725 | braces: 3.0.2 726 | glob-parent: 5.1.2 727 | is-binary-path: 2.1.0 728 | is-glob: 4.0.3 729 | normalize-path: 3.0.0 730 | readdirp: 3.6.0 731 | optionalDependencies: 732 | fsevents: 2.3.2 733 | dev: true 734 | 735 | /color-convert/2.0.1: 736 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 737 | engines: {node: '>=7.0.0'} 738 | dependencies: 739 | color-name: 1.1.4 740 | dev: true 741 | 742 | /color-name/1.1.4: 743 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 744 | dev: true 745 | 746 | /concat-map/0.0.1: 747 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} 748 | 749 | /copy-anything/3.0.2: 750 | resolution: {integrity: sha512-CzATjGXzUQ0EvuvgOCI6A4BGOo2bcVx8B+eC2nF862iv9fopnPQwlrbACakNCHRIJbCSBj+J/9JeDf60k64MkA==} 751 | engines: {node: '>=12.13'} 752 | dependencies: 753 | is-what: 4.1.7 754 | dev: false 755 | 756 | /core-js-pure/3.25.2: 757 | resolution: {integrity: sha512-ItD7YpW1cUB4jaqFLZXe1AXkyqIxz6GqPnsDV4uF4hVcWh/WAGIqSqw5p0/WdsILM0Xht9s3Koyw05R3K6RtiA==} 758 | requiresBuild: true 759 | dev: true 760 | 761 | /cross-spawn/7.0.3: 762 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 763 | engines: {node: '>= 8'} 764 | dependencies: 765 | path-key: 3.1.1 766 | shebang-command: 2.0.0 767 | which: 2.0.2 768 | dev: true 769 | 770 | /cssesc/3.0.0: 771 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 772 | engines: {node: '>=4'} 773 | hasBin: true 774 | dev: true 775 | 776 | /csstype/3.1.1: 777 | resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} 778 | dev: true 779 | 780 | /damerau-levenshtein/1.0.8: 781 | resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} 782 | dev: true 783 | 784 | /debug/2.6.9: 785 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} 786 | peerDependencies: 787 | supports-color: '*' 788 | peerDependenciesMeta: 789 | supports-color: 790 | optional: true 791 | dependencies: 792 | ms: 2.0.0 793 | dev: true 794 | 795 | /debug/3.2.7: 796 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 797 | peerDependencies: 798 | supports-color: '*' 799 | peerDependenciesMeta: 800 | supports-color: 801 | optional: true 802 | dependencies: 803 | ms: 2.1.3 804 | dev: true 805 | 806 | /debug/4.3.4: 807 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 808 | engines: {node: '>=6.0'} 809 | peerDependencies: 810 | supports-color: '*' 811 | peerDependenciesMeta: 812 | supports-color: 813 | optional: true 814 | dependencies: 815 | ms: 2.1.2 816 | dev: true 817 | 818 | /deep-is/0.1.4: 819 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 820 | dev: true 821 | 822 | /define-properties/1.1.4: 823 | resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} 824 | engines: {node: '>= 0.4'} 825 | dependencies: 826 | has-property-descriptors: 1.0.0 827 | object-keys: 1.1.1 828 | dev: true 829 | 830 | /defined/1.0.0: 831 | resolution: {integrity: sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==} 832 | dev: true 833 | 834 | /detect-node/2.1.0: 835 | resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} 836 | dev: false 837 | 838 | /detective/5.2.1: 839 | resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} 840 | engines: {node: '>=0.8.0'} 841 | hasBin: true 842 | dependencies: 843 | acorn-node: 1.8.2 844 | defined: 1.0.0 845 | minimist: 1.2.6 846 | dev: true 847 | 848 | /didyoumean/1.2.2: 849 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 850 | dev: true 851 | 852 | /dir-glob/3.0.1: 853 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 854 | engines: {node: '>=8'} 855 | dependencies: 856 | path-type: 4.0.0 857 | dev: true 858 | 859 | /dlv/1.1.3: 860 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 861 | dev: true 862 | 863 | /doctrine/2.1.0: 864 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 865 | engines: {node: '>=0.10.0'} 866 | dependencies: 867 | esutils: 2.0.3 868 | dev: true 869 | 870 | /doctrine/3.0.0: 871 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 872 | engines: {node: '>=6.0.0'} 873 | dependencies: 874 | esutils: 2.0.3 875 | dev: true 876 | 877 | /electron-to-chromium/1.4.257: 878 | resolution: {integrity: sha512-C65sIwHqNnPC2ADMfse/jWTtmhZMII+x6ADI9gENzrOiI7BpxmfKFE84WkIEl5wEg+7+SfIkwChDlsd1Erju2A==} 879 | dev: true 880 | 881 | /emoji-regex/9.2.2: 882 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 883 | dev: true 884 | 885 | /es-abstract/1.20.2: 886 | resolution: {integrity: sha512-XxXQuVNrySBNlEkTYJoDNFe5+s2yIOpzq80sUHEdPdQr0S5nTLz4ZPPPswNIpKseDDUS5yghX1gfLIHQZ1iNuQ==} 887 | engines: {node: '>= 0.4'} 888 | dependencies: 889 | call-bind: 1.0.2 890 | es-to-primitive: 1.2.1 891 | function-bind: 1.1.1 892 | function.prototype.name: 1.1.5 893 | get-intrinsic: 1.1.3 894 | get-symbol-description: 1.0.0 895 | has: 1.0.3 896 | has-property-descriptors: 1.0.0 897 | has-symbols: 1.0.3 898 | internal-slot: 1.0.3 899 | is-callable: 1.2.6 900 | is-negative-zero: 2.0.2 901 | is-regex: 1.1.4 902 | is-shared-array-buffer: 1.0.2 903 | is-string: 1.0.7 904 | is-weakref: 1.0.2 905 | object-inspect: 1.12.2 906 | object-keys: 1.1.1 907 | object.assign: 4.1.4 908 | regexp.prototype.flags: 1.4.3 909 | string.prototype.trimend: 1.0.5 910 | string.prototype.trimstart: 1.0.5 911 | unbox-primitive: 1.0.2 912 | dev: true 913 | 914 | /es-shim-unscopables/1.0.0: 915 | resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} 916 | dependencies: 917 | has: 1.0.3 918 | dev: true 919 | 920 | /es-to-primitive/1.2.1: 921 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 922 | engines: {node: '>= 0.4'} 923 | dependencies: 924 | is-callable: 1.2.6 925 | is-date-object: 1.0.5 926 | is-symbol: 1.0.4 927 | dev: true 928 | 929 | /escalade/3.1.1: 930 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 931 | engines: {node: '>=6'} 932 | dev: true 933 | 934 | /escape-string-regexp/4.0.0: 935 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 936 | engines: {node: '>=10'} 937 | dev: true 938 | 939 | /eslint-config-next/12.3.1_4rv7y5c6xz3vfxwhbrcxxi73bq: 940 | resolution: {integrity: sha512-EN/xwKPU6jz1G0Qi6Bd/BqMnHLyRAL0VsaQaWA7F3KkjAgZHi4f1uL1JKGWNxdQpHTW/sdGONBd0bzxUka/DJg==} 941 | peerDependencies: 942 | eslint: ^7.23.0 || ^8.0.0 943 | typescript: '>=3.3.1' 944 | peerDependenciesMeta: 945 | typescript: 946 | optional: true 947 | dependencies: 948 | '@next/eslint-plugin-next': 12.3.1 949 | '@rushstack/eslint-patch': 1.2.0 950 | '@typescript-eslint/parser': 5.38.0_4rv7y5c6xz3vfxwhbrcxxi73bq 951 | eslint: 8.22.0 952 | eslint-import-resolver-node: 0.3.6 953 | eslint-import-resolver-typescript: 2.7.1_2iahngt3u2tkbdlu6s4gkur3pu 954 | eslint-plugin-import: 2.26.0_dz6mtv6jua3j7xbldvgsafodwi 955 | eslint-plugin-jsx-a11y: 6.6.1_eslint@8.22.0 956 | eslint-plugin-react: 7.31.8_eslint@8.22.0 957 | eslint-plugin-react-hooks: 4.6.0_eslint@8.22.0 958 | typescript: 4.7.4 959 | transitivePeerDependencies: 960 | - eslint-import-resolver-webpack 961 | - supports-color 962 | dev: true 963 | 964 | /eslint-import-resolver-node/0.3.6: 965 | resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} 966 | dependencies: 967 | debug: 3.2.7 968 | resolve: 1.22.1 969 | transitivePeerDependencies: 970 | - supports-color 971 | dev: true 972 | 973 | /eslint-import-resolver-typescript/2.7.1_2iahngt3u2tkbdlu6s4gkur3pu: 974 | resolution: {integrity: sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==} 975 | engines: {node: '>=4'} 976 | peerDependencies: 977 | eslint: '*' 978 | eslint-plugin-import: '*' 979 | dependencies: 980 | debug: 4.3.4 981 | eslint: 8.22.0 982 | eslint-plugin-import: 2.26.0_dz6mtv6jua3j7xbldvgsafodwi 983 | glob: 7.2.3 984 | is-glob: 4.0.3 985 | resolve: 1.22.1 986 | tsconfig-paths: 3.14.1 987 | transitivePeerDependencies: 988 | - supports-color 989 | dev: true 990 | 991 | /eslint-module-utils/2.7.4_c3nlkncy4cvyvjj2ycqweyustu: 992 | resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} 993 | engines: {node: '>=4'} 994 | peerDependencies: 995 | '@typescript-eslint/parser': '*' 996 | eslint: '*' 997 | eslint-import-resolver-node: '*' 998 | eslint-import-resolver-typescript: '*' 999 | eslint-import-resolver-webpack: '*' 1000 | peerDependenciesMeta: 1001 | '@typescript-eslint/parser': 1002 | optional: true 1003 | eslint: 1004 | optional: true 1005 | eslint-import-resolver-node: 1006 | optional: true 1007 | eslint-import-resolver-typescript: 1008 | optional: true 1009 | eslint-import-resolver-webpack: 1010 | optional: true 1011 | dependencies: 1012 | '@typescript-eslint/parser': 5.38.0_4rv7y5c6xz3vfxwhbrcxxi73bq 1013 | debug: 3.2.7 1014 | eslint: 8.22.0 1015 | eslint-import-resolver-node: 0.3.6 1016 | eslint-import-resolver-typescript: 2.7.1_2iahngt3u2tkbdlu6s4gkur3pu 1017 | transitivePeerDependencies: 1018 | - supports-color 1019 | dev: true 1020 | 1021 | /eslint-plugin-import/2.26.0_dz6mtv6jua3j7xbldvgsafodwi: 1022 | resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} 1023 | engines: {node: '>=4'} 1024 | peerDependencies: 1025 | '@typescript-eslint/parser': '*' 1026 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 1027 | peerDependenciesMeta: 1028 | '@typescript-eslint/parser': 1029 | optional: true 1030 | dependencies: 1031 | '@typescript-eslint/parser': 5.38.0_4rv7y5c6xz3vfxwhbrcxxi73bq 1032 | array-includes: 3.1.5 1033 | array.prototype.flat: 1.3.0 1034 | debug: 2.6.9 1035 | doctrine: 2.1.0 1036 | eslint: 8.22.0 1037 | eslint-import-resolver-node: 0.3.6 1038 | eslint-module-utils: 2.7.4_c3nlkncy4cvyvjj2ycqweyustu 1039 | has: 1.0.3 1040 | is-core-module: 2.10.0 1041 | is-glob: 4.0.3 1042 | minimatch: 3.1.2 1043 | object.values: 1.1.5 1044 | resolve: 1.22.1 1045 | tsconfig-paths: 3.14.1 1046 | transitivePeerDependencies: 1047 | - eslint-import-resolver-typescript 1048 | - eslint-import-resolver-webpack 1049 | - supports-color 1050 | dev: true 1051 | 1052 | /eslint-plugin-jsx-a11y/6.6.1_eslint@8.22.0: 1053 | resolution: {integrity: sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==} 1054 | engines: {node: '>=4.0'} 1055 | peerDependencies: 1056 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 1057 | dependencies: 1058 | '@babel/runtime': 7.19.0 1059 | aria-query: 4.2.2 1060 | array-includes: 3.1.5 1061 | ast-types-flow: 0.0.7 1062 | axe-core: 4.4.3 1063 | axobject-query: 2.2.0 1064 | damerau-levenshtein: 1.0.8 1065 | emoji-regex: 9.2.2 1066 | eslint: 8.22.0 1067 | has: 1.0.3 1068 | jsx-ast-utils: 3.3.3 1069 | language-tags: 1.0.5 1070 | minimatch: 3.1.2 1071 | semver: 6.3.0 1072 | dev: true 1073 | 1074 | /eslint-plugin-react-hooks/4.6.0_eslint@8.22.0: 1075 | resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} 1076 | engines: {node: '>=10'} 1077 | peerDependencies: 1078 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 1079 | dependencies: 1080 | eslint: 8.22.0 1081 | dev: true 1082 | 1083 | /eslint-plugin-react/7.31.8_eslint@8.22.0: 1084 | resolution: {integrity: sha512-5lBTZmgQmARLLSYiwI71tiGVTLUuqXantZM6vlSY39OaDSV0M7+32K5DnLkmFrwTe+Ksz0ffuLUC91RUviVZfw==} 1085 | engines: {node: '>=4'} 1086 | peerDependencies: 1087 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 1088 | dependencies: 1089 | array-includes: 3.1.5 1090 | array.prototype.flatmap: 1.3.0 1091 | doctrine: 2.1.0 1092 | eslint: 8.22.0 1093 | estraverse: 5.3.0 1094 | jsx-ast-utils: 3.3.3 1095 | minimatch: 3.1.2 1096 | object.entries: 1.1.5 1097 | object.fromentries: 2.0.5 1098 | object.hasown: 1.1.1 1099 | object.values: 1.1.5 1100 | prop-types: 15.8.1 1101 | resolve: 2.0.0-next.4 1102 | semver: 6.3.0 1103 | string.prototype.matchall: 4.0.7 1104 | dev: true 1105 | 1106 | /eslint-scope/5.1.1: 1107 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 1108 | engines: {node: '>=8.0.0'} 1109 | dependencies: 1110 | esrecurse: 4.3.0 1111 | estraverse: 4.3.0 1112 | dev: true 1113 | 1114 | /eslint-scope/7.1.1: 1115 | resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} 1116 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1117 | dependencies: 1118 | esrecurse: 4.3.0 1119 | estraverse: 5.3.0 1120 | dev: true 1121 | 1122 | /eslint-utils/3.0.0_eslint@8.22.0: 1123 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} 1124 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} 1125 | peerDependencies: 1126 | eslint: '>=5' 1127 | dependencies: 1128 | eslint: 8.22.0 1129 | eslint-visitor-keys: 2.1.0 1130 | dev: true 1131 | 1132 | /eslint-visitor-keys/2.1.0: 1133 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} 1134 | engines: {node: '>=10'} 1135 | dev: true 1136 | 1137 | /eslint-visitor-keys/3.3.0: 1138 | resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} 1139 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1140 | dev: true 1141 | 1142 | /eslint/8.22.0: 1143 | resolution: {integrity: sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA==} 1144 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1145 | hasBin: true 1146 | dependencies: 1147 | '@eslint/eslintrc': 1.3.2 1148 | '@humanwhocodes/config-array': 0.10.5 1149 | '@humanwhocodes/gitignore-to-minimatch': 1.0.2 1150 | ajv: 6.12.6 1151 | chalk: 4.1.2 1152 | cross-spawn: 7.0.3 1153 | debug: 4.3.4 1154 | doctrine: 3.0.0 1155 | escape-string-regexp: 4.0.0 1156 | eslint-scope: 7.1.1 1157 | eslint-utils: 3.0.0_eslint@8.22.0 1158 | eslint-visitor-keys: 3.3.0 1159 | espree: 9.4.0 1160 | esquery: 1.4.0 1161 | esutils: 2.0.3 1162 | fast-deep-equal: 3.1.3 1163 | file-entry-cache: 6.0.1 1164 | find-up: 5.0.0 1165 | functional-red-black-tree: 1.0.1 1166 | glob-parent: 6.0.2 1167 | globals: 13.17.0 1168 | globby: 11.1.0 1169 | grapheme-splitter: 1.0.4 1170 | ignore: 5.2.0 1171 | import-fresh: 3.3.0 1172 | imurmurhash: 0.1.4 1173 | is-glob: 4.0.3 1174 | js-yaml: 4.1.0 1175 | json-stable-stringify-without-jsonify: 1.0.1 1176 | levn: 0.4.1 1177 | lodash.merge: 4.6.2 1178 | minimatch: 3.1.2 1179 | natural-compare: 1.4.0 1180 | optionator: 0.9.1 1181 | regexpp: 3.2.0 1182 | strip-ansi: 6.0.1 1183 | strip-json-comments: 3.1.1 1184 | text-table: 0.2.0 1185 | v8-compile-cache: 2.3.0 1186 | transitivePeerDependencies: 1187 | - supports-color 1188 | dev: true 1189 | 1190 | /espree/9.4.0: 1191 | resolution: {integrity: sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==} 1192 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1193 | dependencies: 1194 | acorn: 8.8.0 1195 | acorn-jsx: 5.3.2_acorn@8.8.0 1196 | eslint-visitor-keys: 3.3.0 1197 | dev: true 1198 | 1199 | /esquery/1.4.0: 1200 | resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} 1201 | engines: {node: '>=0.10'} 1202 | dependencies: 1203 | estraverse: 5.3.0 1204 | dev: true 1205 | 1206 | /esrecurse/4.3.0: 1207 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1208 | engines: {node: '>=4.0'} 1209 | dependencies: 1210 | estraverse: 5.3.0 1211 | dev: true 1212 | 1213 | /estraverse/4.3.0: 1214 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 1215 | engines: {node: '>=4.0'} 1216 | dev: true 1217 | 1218 | /estraverse/5.3.0: 1219 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1220 | engines: {node: '>=4.0'} 1221 | dev: true 1222 | 1223 | /esutils/2.0.3: 1224 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1225 | engines: {node: '>=0.10.0'} 1226 | dev: true 1227 | 1228 | /fast-deep-equal/3.1.3: 1229 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1230 | dev: true 1231 | 1232 | /fast-glob/3.2.12: 1233 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} 1234 | engines: {node: '>=8.6.0'} 1235 | dependencies: 1236 | '@nodelib/fs.stat': 2.0.5 1237 | '@nodelib/fs.walk': 1.2.8 1238 | glob-parent: 5.1.2 1239 | merge2: 1.4.1 1240 | micromatch: 4.0.5 1241 | dev: true 1242 | 1243 | /fast-json-stable-stringify/2.1.0: 1244 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1245 | dev: true 1246 | 1247 | /fast-levenshtein/2.0.6: 1248 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1249 | dev: true 1250 | 1251 | /fastq/1.13.0: 1252 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} 1253 | dependencies: 1254 | reusify: 1.0.4 1255 | dev: true 1256 | 1257 | /file-entry-cache/6.0.1: 1258 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1259 | engines: {node: ^10.12.0 || >=12.0.0} 1260 | dependencies: 1261 | flat-cache: 3.0.4 1262 | dev: true 1263 | 1264 | /fill-range/7.0.1: 1265 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1266 | engines: {node: '>=8'} 1267 | dependencies: 1268 | to-regex-range: 5.0.1 1269 | dev: true 1270 | 1271 | /find-up/5.0.0: 1272 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1273 | engines: {node: '>=10'} 1274 | dependencies: 1275 | locate-path: 6.0.0 1276 | path-exists: 4.0.0 1277 | dev: true 1278 | 1279 | /flat-cache/3.0.4: 1280 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 1281 | engines: {node: ^10.12.0 || >=12.0.0} 1282 | dependencies: 1283 | flatted: 3.2.7 1284 | rimraf: 3.0.2 1285 | dev: true 1286 | 1287 | /flatted/3.2.7: 1288 | resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} 1289 | dev: true 1290 | 1291 | /fraction.js/4.2.0: 1292 | resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} 1293 | dev: true 1294 | 1295 | /fs.realpath/1.0.0: 1296 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1297 | 1298 | /fsevents/2.3.2: 1299 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1300 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1301 | os: [darwin] 1302 | requiresBuild: true 1303 | dev: true 1304 | optional: true 1305 | 1306 | /function-bind/1.1.1: 1307 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1308 | dev: true 1309 | 1310 | /function.prototype.name/1.1.5: 1311 | resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} 1312 | engines: {node: '>= 0.4'} 1313 | dependencies: 1314 | call-bind: 1.0.2 1315 | define-properties: 1.1.4 1316 | es-abstract: 1.20.2 1317 | functions-have-names: 1.2.3 1318 | dev: true 1319 | 1320 | /functional-red-black-tree/1.0.1: 1321 | resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} 1322 | dev: true 1323 | 1324 | /functions-have-names/1.2.3: 1325 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1326 | dev: true 1327 | 1328 | /get-intrinsic/1.1.3: 1329 | resolution: {integrity: sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==} 1330 | dependencies: 1331 | function-bind: 1.1.1 1332 | has: 1.0.3 1333 | has-symbols: 1.0.3 1334 | dev: true 1335 | 1336 | /get-symbol-description/1.0.0: 1337 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} 1338 | engines: {node: '>= 0.4'} 1339 | dependencies: 1340 | call-bind: 1.0.2 1341 | get-intrinsic: 1.1.3 1342 | dev: true 1343 | 1344 | /glob-parent/5.1.2: 1345 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1346 | engines: {node: '>= 6'} 1347 | dependencies: 1348 | is-glob: 4.0.3 1349 | dev: true 1350 | 1351 | /glob-parent/6.0.2: 1352 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1353 | engines: {node: '>=10.13.0'} 1354 | dependencies: 1355 | is-glob: 4.0.3 1356 | dev: true 1357 | 1358 | /glob/7.1.7: 1359 | resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} 1360 | dependencies: 1361 | fs.realpath: 1.0.0 1362 | inflight: 1.0.6 1363 | inherits: 2.0.4 1364 | minimatch: 3.1.2 1365 | once: 1.4.0 1366 | path-is-absolute: 1.0.1 1367 | dev: true 1368 | 1369 | /glob/7.2.3: 1370 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1371 | dependencies: 1372 | fs.realpath: 1.0.0 1373 | inflight: 1.0.6 1374 | inherits: 2.0.4 1375 | minimatch: 3.1.2 1376 | once: 1.4.0 1377 | path-is-absolute: 1.0.1 1378 | 1379 | /globals/13.17.0: 1380 | resolution: {integrity: sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==} 1381 | engines: {node: '>=8'} 1382 | dependencies: 1383 | type-fest: 0.20.2 1384 | dev: true 1385 | 1386 | /globby/11.1.0: 1387 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1388 | engines: {node: '>=10'} 1389 | dependencies: 1390 | array-union: 2.1.0 1391 | dir-glob: 3.0.1 1392 | fast-glob: 3.2.12 1393 | ignore: 5.2.0 1394 | merge2: 1.4.1 1395 | slash: 3.0.0 1396 | dev: true 1397 | 1398 | /grapheme-splitter/1.0.4: 1399 | resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} 1400 | dev: true 1401 | 1402 | /has-bigints/1.0.2: 1403 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 1404 | dev: true 1405 | 1406 | /has-flag/4.0.0: 1407 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1408 | engines: {node: '>=8'} 1409 | dev: true 1410 | 1411 | /has-property-descriptors/1.0.0: 1412 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} 1413 | dependencies: 1414 | get-intrinsic: 1.1.3 1415 | dev: true 1416 | 1417 | /has-symbols/1.0.3: 1418 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1419 | engines: {node: '>= 0.4'} 1420 | dev: true 1421 | 1422 | /has-tostringtag/1.0.0: 1423 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} 1424 | engines: {node: '>= 0.4'} 1425 | dependencies: 1426 | has-symbols: 1.0.3 1427 | dev: true 1428 | 1429 | /has/1.0.3: 1430 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1431 | engines: {node: '>= 0.4.0'} 1432 | dependencies: 1433 | function-bind: 1.1.1 1434 | dev: true 1435 | 1436 | /ignore/5.2.0: 1437 | resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} 1438 | engines: {node: '>= 4'} 1439 | dev: true 1440 | 1441 | /import-fresh/3.3.0: 1442 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1443 | engines: {node: '>=6'} 1444 | dependencies: 1445 | parent-module: 1.0.1 1446 | resolve-from: 4.0.0 1447 | dev: true 1448 | 1449 | /imurmurhash/0.1.4: 1450 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1451 | engines: {node: '>=0.8.19'} 1452 | dev: true 1453 | 1454 | /inflight/1.0.6: 1455 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1456 | dependencies: 1457 | once: 1.4.0 1458 | wrappy: 1.0.2 1459 | 1460 | /inherits/2.0.4: 1461 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1462 | 1463 | /internal-slot/1.0.3: 1464 | resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} 1465 | engines: {node: '>= 0.4'} 1466 | dependencies: 1467 | get-intrinsic: 1.1.3 1468 | has: 1.0.3 1469 | side-channel: 1.0.4 1470 | dev: true 1471 | 1472 | /is-bigint/1.0.4: 1473 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 1474 | dependencies: 1475 | has-bigints: 1.0.2 1476 | dev: true 1477 | 1478 | /is-binary-path/2.1.0: 1479 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1480 | engines: {node: '>=8'} 1481 | dependencies: 1482 | binary-extensions: 2.2.0 1483 | dev: true 1484 | 1485 | /is-boolean-object/1.1.2: 1486 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 1487 | engines: {node: '>= 0.4'} 1488 | dependencies: 1489 | call-bind: 1.0.2 1490 | has-tostringtag: 1.0.0 1491 | dev: true 1492 | 1493 | /is-callable/1.2.6: 1494 | resolution: {integrity: sha512-krO72EO2NptOGAX2KYyqbP9vYMlNAXdB53rq6f8LXY6RY7JdSR/3BD6wLUlPHSAesmY9vstNrjvqGaCiRK/91Q==} 1495 | engines: {node: '>= 0.4'} 1496 | dev: true 1497 | 1498 | /is-core-module/2.10.0: 1499 | resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==} 1500 | dependencies: 1501 | has: 1.0.3 1502 | dev: true 1503 | 1504 | /is-date-object/1.0.5: 1505 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 1506 | engines: {node: '>= 0.4'} 1507 | dependencies: 1508 | has-tostringtag: 1.0.0 1509 | dev: true 1510 | 1511 | /is-extglob/2.1.1: 1512 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1513 | engines: {node: '>=0.10.0'} 1514 | dev: true 1515 | 1516 | /is-glob/4.0.3: 1517 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1518 | engines: {node: '>=0.10.0'} 1519 | dependencies: 1520 | is-extglob: 2.1.1 1521 | dev: true 1522 | 1523 | /is-negative-zero/2.0.2: 1524 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} 1525 | engines: {node: '>= 0.4'} 1526 | dev: true 1527 | 1528 | /is-number-object/1.0.7: 1529 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 1530 | engines: {node: '>= 0.4'} 1531 | dependencies: 1532 | has-tostringtag: 1.0.0 1533 | dev: true 1534 | 1535 | /is-number/7.0.0: 1536 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1537 | engines: {node: '>=0.12.0'} 1538 | dev: true 1539 | 1540 | /is-regex/1.1.4: 1541 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 1542 | engines: {node: '>= 0.4'} 1543 | dependencies: 1544 | call-bind: 1.0.2 1545 | has-tostringtag: 1.0.0 1546 | dev: true 1547 | 1548 | /is-shared-array-buffer/1.0.2: 1549 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} 1550 | dependencies: 1551 | call-bind: 1.0.2 1552 | dev: true 1553 | 1554 | /is-string/1.0.7: 1555 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 1556 | engines: {node: '>= 0.4'} 1557 | dependencies: 1558 | has-tostringtag: 1.0.0 1559 | dev: true 1560 | 1561 | /is-symbol/1.0.4: 1562 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 1563 | engines: {node: '>= 0.4'} 1564 | dependencies: 1565 | has-symbols: 1.0.3 1566 | dev: true 1567 | 1568 | /is-weakref/1.0.2: 1569 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 1570 | dependencies: 1571 | call-bind: 1.0.2 1572 | dev: true 1573 | 1574 | /is-what/4.1.7: 1575 | resolution: {integrity: sha512-DBVOQNiPKnGMxRMLIYSwERAS5MVY1B7xYiGnpgctsOFvVDz9f9PFXXxMcTOHuoqYp4NK9qFYQaIC1NRRxLMpBQ==} 1576 | engines: {node: '>=12.13'} 1577 | dev: false 1578 | 1579 | /isexe/2.0.0: 1580 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1581 | dev: true 1582 | 1583 | /js-sha3/0.8.0: 1584 | resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} 1585 | dev: false 1586 | 1587 | /js-tokens/4.0.0: 1588 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1589 | 1590 | /js-yaml/4.1.0: 1591 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1592 | hasBin: true 1593 | dependencies: 1594 | argparse: 2.0.1 1595 | dev: true 1596 | 1597 | /json-schema-traverse/0.4.1: 1598 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1599 | dev: true 1600 | 1601 | /json-stable-stringify-without-jsonify/1.0.1: 1602 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1603 | dev: true 1604 | 1605 | /json5/1.0.1: 1606 | resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} 1607 | hasBin: true 1608 | dependencies: 1609 | minimist: 1.2.6 1610 | dev: true 1611 | 1612 | /jsx-ast-utils/3.3.3: 1613 | resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==} 1614 | engines: {node: '>=4.0'} 1615 | dependencies: 1616 | array-includes: 3.1.5 1617 | object.assign: 4.1.4 1618 | dev: true 1619 | 1620 | /language-subtag-registry/0.3.22: 1621 | resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} 1622 | dev: true 1623 | 1624 | /language-tags/1.0.5: 1625 | resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==} 1626 | dependencies: 1627 | language-subtag-registry: 0.3.22 1628 | dev: true 1629 | 1630 | /levn/0.4.1: 1631 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1632 | engines: {node: '>= 0.8.0'} 1633 | dependencies: 1634 | prelude-ls: 1.2.1 1635 | type-check: 0.4.0 1636 | dev: true 1637 | 1638 | /lilconfig/2.0.6: 1639 | resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} 1640 | engines: {node: '>=10'} 1641 | dev: true 1642 | 1643 | /locate-path/6.0.0: 1644 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1645 | engines: {node: '>=10'} 1646 | dependencies: 1647 | p-locate: 5.0.0 1648 | dev: true 1649 | 1650 | /lodash.merge/4.6.2: 1651 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1652 | dev: true 1653 | 1654 | /loose-envify/1.4.0: 1655 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 1656 | hasBin: true 1657 | dependencies: 1658 | js-tokens: 4.0.0 1659 | 1660 | /lru-cache/6.0.0: 1661 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 1662 | engines: {node: '>=10'} 1663 | dependencies: 1664 | yallist: 4.0.0 1665 | dev: true 1666 | 1667 | /match-sorter/6.3.1: 1668 | resolution: {integrity: sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==} 1669 | dependencies: 1670 | '@babel/runtime': 7.19.0 1671 | remove-accents: 0.4.2 1672 | dev: false 1673 | 1674 | /merge2/1.4.1: 1675 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1676 | engines: {node: '>= 8'} 1677 | dev: true 1678 | 1679 | /micromatch/4.0.5: 1680 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1681 | engines: {node: '>=8.6'} 1682 | dependencies: 1683 | braces: 3.0.2 1684 | picomatch: 2.3.1 1685 | dev: true 1686 | 1687 | /microseconds/0.2.0: 1688 | resolution: {integrity: sha512-n7DHHMjR1avBbSpsTBj6fmMGh2AGrifVV4e+WYc3Q9lO+xnSZ3NyhcBND3vzzatt05LFhoKFRxrIyklmLlUtyA==} 1689 | dev: false 1690 | 1691 | /minimatch/3.1.2: 1692 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1693 | dependencies: 1694 | brace-expansion: 1.1.11 1695 | 1696 | /minimist/1.2.6: 1697 | resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} 1698 | dev: true 1699 | 1700 | /ms/2.0.0: 1701 | resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} 1702 | dev: true 1703 | 1704 | /ms/2.1.2: 1705 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1706 | dev: true 1707 | 1708 | /ms/2.1.3: 1709 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1710 | dev: true 1711 | 1712 | /nano-time/1.0.0: 1713 | resolution: {integrity: sha512-flnngywOoQ0lLQOTRNexn2gGSNuM9bKj9RZAWSzhQ+UJYaAFG9bac4DW9VHjUAzrOaIcajHybCTHe/bkvozQqA==} 1714 | dependencies: 1715 | big-integer: 1.6.51 1716 | dev: false 1717 | 1718 | /nanoid/3.3.4: 1719 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} 1720 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1721 | hasBin: true 1722 | 1723 | /natural-compare/1.4.0: 1724 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1725 | dev: true 1726 | 1727 | /next/12.3.1_biqbaboplfbrettd7655fr4n2y: 1728 | resolution: {integrity: sha512-l7bvmSeIwX5lp07WtIiP9u2ytZMv7jIeB8iacR28PuUEFG5j0HGAPnMqyG5kbZNBG2H7tRsrQ4HCjuMOPnANZw==} 1729 | engines: {node: '>=12.22.0'} 1730 | hasBin: true 1731 | peerDependencies: 1732 | fibers: '>= 3.1.0' 1733 | node-sass: ^6.0.0 || ^7.0.0 1734 | react: ^17.0.2 || ^18.0.0-0 1735 | react-dom: ^17.0.2 || ^18.0.0-0 1736 | sass: ^1.3.0 1737 | peerDependenciesMeta: 1738 | fibers: 1739 | optional: true 1740 | node-sass: 1741 | optional: true 1742 | sass: 1743 | optional: true 1744 | dependencies: 1745 | '@next/env': 12.3.1 1746 | '@swc/helpers': 0.4.11 1747 | caniuse-lite: 1.0.30001409 1748 | postcss: 8.4.14 1749 | react: 18.2.0 1750 | react-dom: 18.2.0_react@18.2.0 1751 | styled-jsx: 5.0.7_react@18.2.0 1752 | use-sync-external-store: 1.2.0_react@18.2.0 1753 | optionalDependencies: 1754 | '@next/swc-android-arm-eabi': 12.3.1 1755 | '@next/swc-android-arm64': 12.3.1 1756 | '@next/swc-darwin-arm64': 12.3.1 1757 | '@next/swc-darwin-x64': 12.3.1 1758 | '@next/swc-freebsd-x64': 12.3.1 1759 | '@next/swc-linux-arm-gnueabihf': 12.3.1 1760 | '@next/swc-linux-arm64-gnu': 12.3.1 1761 | '@next/swc-linux-arm64-musl': 12.3.1 1762 | '@next/swc-linux-x64-gnu': 12.3.1 1763 | '@next/swc-linux-x64-musl': 12.3.1 1764 | '@next/swc-win32-arm64-msvc': 12.3.1 1765 | '@next/swc-win32-ia32-msvc': 12.3.1 1766 | '@next/swc-win32-x64-msvc': 12.3.1 1767 | transitivePeerDependencies: 1768 | - '@babel/core' 1769 | - babel-plugin-macros 1770 | dev: false 1771 | 1772 | /node-releases/2.0.6: 1773 | resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} 1774 | dev: true 1775 | 1776 | /normalize-path/3.0.0: 1777 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1778 | engines: {node: '>=0.10.0'} 1779 | dev: true 1780 | 1781 | /normalize-range/0.1.2: 1782 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} 1783 | engines: {node: '>=0.10.0'} 1784 | dev: true 1785 | 1786 | /object-assign/4.1.1: 1787 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1788 | engines: {node: '>=0.10.0'} 1789 | dev: true 1790 | 1791 | /object-hash/3.0.0: 1792 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} 1793 | engines: {node: '>= 6'} 1794 | dev: true 1795 | 1796 | /object-inspect/1.12.2: 1797 | resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} 1798 | dev: true 1799 | 1800 | /object-keys/1.1.1: 1801 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 1802 | engines: {node: '>= 0.4'} 1803 | dev: true 1804 | 1805 | /object.assign/4.1.4: 1806 | resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} 1807 | engines: {node: '>= 0.4'} 1808 | dependencies: 1809 | call-bind: 1.0.2 1810 | define-properties: 1.1.4 1811 | has-symbols: 1.0.3 1812 | object-keys: 1.1.1 1813 | dev: true 1814 | 1815 | /object.entries/1.1.5: 1816 | resolution: {integrity: sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==} 1817 | engines: {node: '>= 0.4'} 1818 | dependencies: 1819 | call-bind: 1.0.2 1820 | define-properties: 1.1.4 1821 | es-abstract: 1.20.2 1822 | dev: true 1823 | 1824 | /object.fromentries/2.0.5: 1825 | resolution: {integrity: sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==} 1826 | engines: {node: '>= 0.4'} 1827 | dependencies: 1828 | call-bind: 1.0.2 1829 | define-properties: 1.1.4 1830 | es-abstract: 1.20.2 1831 | dev: true 1832 | 1833 | /object.hasown/1.1.1: 1834 | resolution: {integrity: sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==} 1835 | dependencies: 1836 | define-properties: 1.1.4 1837 | es-abstract: 1.20.2 1838 | dev: true 1839 | 1840 | /object.values/1.1.5: 1841 | resolution: {integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==} 1842 | engines: {node: '>= 0.4'} 1843 | dependencies: 1844 | call-bind: 1.0.2 1845 | define-properties: 1.1.4 1846 | es-abstract: 1.20.2 1847 | dev: true 1848 | 1849 | /oblivious-set/1.0.0: 1850 | resolution: {integrity: sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw==} 1851 | dev: false 1852 | 1853 | /once/1.4.0: 1854 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1855 | dependencies: 1856 | wrappy: 1.0.2 1857 | 1858 | /optionator/0.9.1: 1859 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} 1860 | engines: {node: '>= 0.8.0'} 1861 | dependencies: 1862 | deep-is: 0.1.4 1863 | fast-levenshtein: 2.0.6 1864 | levn: 0.4.1 1865 | prelude-ls: 1.2.1 1866 | type-check: 0.4.0 1867 | word-wrap: 1.2.3 1868 | dev: true 1869 | 1870 | /p-limit/3.1.0: 1871 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1872 | engines: {node: '>=10'} 1873 | dependencies: 1874 | yocto-queue: 0.1.0 1875 | dev: true 1876 | 1877 | /p-locate/5.0.0: 1878 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1879 | engines: {node: '>=10'} 1880 | dependencies: 1881 | p-limit: 3.1.0 1882 | dev: true 1883 | 1884 | /parent-module/1.0.1: 1885 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1886 | engines: {node: '>=6'} 1887 | dependencies: 1888 | callsites: 3.1.0 1889 | dev: true 1890 | 1891 | /path-exists/4.0.0: 1892 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1893 | engines: {node: '>=8'} 1894 | dev: true 1895 | 1896 | /path-is-absolute/1.0.1: 1897 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1898 | engines: {node: '>=0.10.0'} 1899 | 1900 | /path-key/3.1.1: 1901 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1902 | engines: {node: '>=8'} 1903 | dev: true 1904 | 1905 | /path-parse/1.0.7: 1906 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1907 | dev: true 1908 | 1909 | /path-type/4.0.0: 1910 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1911 | engines: {node: '>=8'} 1912 | dev: true 1913 | 1914 | /picocolors/1.0.0: 1915 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 1916 | 1917 | /picomatch/2.3.1: 1918 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1919 | engines: {node: '>=8.6'} 1920 | dev: true 1921 | 1922 | /pify/2.3.0: 1923 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 1924 | engines: {node: '>=0.10.0'} 1925 | dev: true 1926 | 1927 | /postcss-import/14.1.0_postcss@8.4.16: 1928 | resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} 1929 | engines: {node: '>=10.0.0'} 1930 | peerDependencies: 1931 | postcss: ^8.0.0 1932 | dependencies: 1933 | postcss: 8.4.16 1934 | postcss-value-parser: 4.2.0 1935 | read-cache: 1.0.0 1936 | resolve: 1.22.1 1937 | dev: true 1938 | 1939 | /postcss-js/4.0.0_postcss@8.4.16: 1940 | resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==} 1941 | engines: {node: ^12 || ^14 || >= 16} 1942 | peerDependencies: 1943 | postcss: ^8.3.3 1944 | dependencies: 1945 | camelcase-css: 2.0.1 1946 | postcss: 8.4.16 1947 | dev: true 1948 | 1949 | /postcss-load-config/3.1.4_postcss@8.4.16: 1950 | resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} 1951 | engines: {node: '>= 10'} 1952 | peerDependencies: 1953 | postcss: '>=8.0.9' 1954 | ts-node: '>=9.0.0' 1955 | peerDependenciesMeta: 1956 | postcss: 1957 | optional: true 1958 | ts-node: 1959 | optional: true 1960 | dependencies: 1961 | lilconfig: 2.0.6 1962 | postcss: 8.4.16 1963 | yaml: 1.10.2 1964 | dev: true 1965 | 1966 | /postcss-nested/5.0.6_postcss@8.4.16: 1967 | resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==} 1968 | engines: {node: '>=12.0'} 1969 | peerDependencies: 1970 | postcss: ^8.2.14 1971 | dependencies: 1972 | postcss: 8.4.16 1973 | postcss-selector-parser: 6.0.10 1974 | dev: true 1975 | 1976 | /postcss-selector-parser/6.0.10: 1977 | resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} 1978 | engines: {node: '>=4'} 1979 | dependencies: 1980 | cssesc: 3.0.0 1981 | util-deprecate: 1.0.2 1982 | dev: true 1983 | 1984 | /postcss-value-parser/4.2.0: 1985 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 1986 | dev: true 1987 | 1988 | /postcss/8.4.14: 1989 | resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} 1990 | engines: {node: ^10 || ^12 || >=14} 1991 | dependencies: 1992 | nanoid: 3.3.4 1993 | picocolors: 1.0.0 1994 | source-map-js: 1.0.2 1995 | dev: false 1996 | 1997 | /postcss/8.4.16: 1998 | resolution: {integrity: sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==} 1999 | engines: {node: ^10 || ^12 || >=14} 2000 | dependencies: 2001 | nanoid: 3.3.4 2002 | picocolors: 1.0.0 2003 | source-map-js: 1.0.2 2004 | dev: true 2005 | 2006 | /prelude-ls/1.2.1: 2007 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 2008 | engines: {node: '>= 0.8.0'} 2009 | dev: true 2010 | 2011 | /prisma/4.3.1: 2012 | resolution: {integrity: sha512-90xo06wtqil76Xsi3mNpc4Js3SdDRR5g4qb9h+4VWY4Y8iImJY6xc3PX+C9xxTSt1lr0Q89A0MLkJjd8ax6KiQ==} 2013 | engines: {node: '>=14.17'} 2014 | hasBin: true 2015 | requiresBuild: true 2016 | dependencies: 2017 | '@prisma/engines': 4.3.1 2018 | 2019 | /prop-types/15.8.1: 2020 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} 2021 | dependencies: 2022 | loose-envify: 1.4.0 2023 | object-assign: 4.1.1 2024 | react-is: 16.13.1 2025 | dev: true 2026 | 2027 | /punycode/2.1.1: 2028 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} 2029 | engines: {node: '>=6'} 2030 | dev: true 2031 | 2032 | /queue-microtask/1.2.3: 2033 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2034 | dev: true 2035 | 2036 | /quick-lru/5.1.1: 2037 | resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} 2038 | engines: {node: '>=10'} 2039 | dev: true 2040 | 2041 | /react-dom/18.2.0_react@18.2.0: 2042 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} 2043 | peerDependencies: 2044 | react: ^18.2.0 2045 | dependencies: 2046 | loose-envify: 1.4.0 2047 | react: 18.2.0 2048 | scheduler: 0.23.0 2049 | dev: false 2050 | 2051 | /react-is/16.13.1: 2052 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} 2053 | dev: true 2054 | 2055 | /react-query/3.39.2_biqbaboplfbrettd7655fr4n2y: 2056 | resolution: {integrity: sha512-F6hYDKyNgDQfQOuR1Rsp3VRzJnWHx6aRnnIZHMNGGgbL3SBgpZTDg8MQwmxOgpCAoqZJA+JSNCydF1xGJqKOCA==} 2057 | peerDependencies: 2058 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 2059 | react-dom: '*' 2060 | react-native: '*' 2061 | peerDependenciesMeta: 2062 | react-dom: 2063 | optional: true 2064 | react-native: 2065 | optional: true 2066 | dependencies: 2067 | '@babel/runtime': 7.19.0 2068 | broadcast-channel: 3.7.0 2069 | match-sorter: 6.3.1 2070 | react: 18.2.0 2071 | react-dom: 18.2.0_react@18.2.0 2072 | dev: false 2073 | 2074 | /react-ssr-prepass/1.5.0_react@18.2.0: 2075 | resolution: {integrity: sha512-yFNHrlVEReVYKsLI5lF05tZoHveA5pGzjFbFJY/3pOqqjGOmMmqx83N4hIjN2n6E1AOa+eQEUxs3CgRnPmT0RQ==} 2076 | peerDependencies: 2077 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 2078 | dependencies: 2079 | react: 18.2.0 2080 | dev: false 2081 | 2082 | /react/18.2.0: 2083 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} 2084 | engines: {node: '>=0.10.0'} 2085 | dependencies: 2086 | loose-envify: 1.4.0 2087 | dev: false 2088 | 2089 | /read-cache/1.0.0: 2090 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 2091 | dependencies: 2092 | pify: 2.3.0 2093 | dev: true 2094 | 2095 | /readdirp/3.6.0: 2096 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 2097 | engines: {node: '>=8.10.0'} 2098 | dependencies: 2099 | picomatch: 2.3.1 2100 | dev: true 2101 | 2102 | /regenerator-runtime/0.13.9: 2103 | resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} 2104 | 2105 | /regexp.prototype.flags/1.4.3: 2106 | resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} 2107 | engines: {node: '>= 0.4'} 2108 | dependencies: 2109 | call-bind: 1.0.2 2110 | define-properties: 1.1.4 2111 | functions-have-names: 1.2.3 2112 | dev: true 2113 | 2114 | /regexpp/3.2.0: 2115 | resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} 2116 | engines: {node: '>=8'} 2117 | dev: true 2118 | 2119 | /remove-accents/0.4.2: 2120 | resolution: {integrity: sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==} 2121 | dev: false 2122 | 2123 | /resolve-from/4.0.0: 2124 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 2125 | engines: {node: '>=4'} 2126 | dev: true 2127 | 2128 | /resolve/1.22.1: 2129 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 2130 | hasBin: true 2131 | dependencies: 2132 | is-core-module: 2.10.0 2133 | path-parse: 1.0.7 2134 | supports-preserve-symlinks-flag: 1.0.0 2135 | dev: true 2136 | 2137 | /resolve/2.0.0-next.4: 2138 | resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} 2139 | hasBin: true 2140 | dependencies: 2141 | is-core-module: 2.10.0 2142 | path-parse: 1.0.7 2143 | supports-preserve-symlinks-flag: 1.0.0 2144 | dev: true 2145 | 2146 | /reusify/1.0.4: 2147 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2148 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2149 | dev: true 2150 | 2151 | /rimraf/3.0.2: 2152 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 2153 | hasBin: true 2154 | dependencies: 2155 | glob: 7.2.3 2156 | 2157 | /run-parallel/1.2.0: 2158 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2159 | dependencies: 2160 | queue-microtask: 1.2.3 2161 | dev: true 2162 | 2163 | /scheduler/0.23.0: 2164 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} 2165 | dependencies: 2166 | loose-envify: 1.4.0 2167 | dev: false 2168 | 2169 | /semver/6.3.0: 2170 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 2171 | hasBin: true 2172 | dev: true 2173 | 2174 | /semver/7.3.7: 2175 | resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} 2176 | engines: {node: '>=10'} 2177 | hasBin: true 2178 | dependencies: 2179 | lru-cache: 6.0.0 2180 | dev: true 2181 | 2182 | /shebang-command/2.0.0: 2183 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2184 | engines: {node: '>=8'} 2185 | dependencies: 2186 | shebang-regex: 3.0.0 2187 | dev: true 2188 | 2189 | /shebang-regex/3.0.0: 2190 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2191 | engines: {node: '>=8'} 2192 | dev: true 2193 | 2194 | /side-channel/1.0.4: 2195 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 2196 | dependencies: 2197 | call-bind: 1.0.2 2198 | get-intrinsic: 1.1.3 2199 | object-inspect: 1.12.2 2200 | dev: true 2201 | 2202 | /slash/3.0.0: 2203 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2204 | engines: {node: '>=8'} 2205 | dev: true 2206 | 2207 | /source-map-js/1.0.2: 2208 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 2209 | engines: {node: '>=0.10.0'} 2210 | 2211 | /string.prototype.matchall/4.0.7: 2212 | resolution: {integrity: sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==} 2213 | dependencies: 2214 | call-bind: 1.0.2 2215 | define-properties: 1.1.4 2216 | es-abstract: 1.20.2 2217 | get-intrinsic: 1.1.3 2218 | has-symbols: 1.0.3 2219 | internal-slot: 1.0.3 2220 | regexp.prototype.flags: 1.4.3 2221 | side-channel: 1.0.4 2222 | dev: true 2223 | 2224 | /string.prototype.trimend/1.0.5: 2225 | resolution: {integrity: sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==} 2226 | dependencies: 2227 | call-bind: 1.0.2 2228 | define-properties: 1.1.4 2229 | es-abstract: 1.20.2 2230 | dev: true 2231 | 2232 | /string.prototype.trimstart/1.0.5: 2233 | resolution: {integrity: sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==} 2234 | dependencies: 2235 | call-bind: 1.0.2 2236 | define-properties: 1.1.4 2237 | es-abstract: 1.20.2 2238 | dev: true 2239 | 2240 | /strip-ansi/6.0.1: 2241 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2242 | engines: {node: '>=8'} 2243 | dependencies: 2244 | ansi-regex: 5.0.1 2245 | dev: true 2246 | 2247 | /strip-bom/3.0.0: 2248 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 2249 | engines: {node: '>=4'} 2250 | dev: true 2251 | 2252 | /strip-json-comments/3.1.1: 2253 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 2254 | engines: {node: '>=8'} 2255 | dev: true 2256 | 2257 | /styled-jsx/5.0.7_react@18.2.0: 2258 | resolution: {integrity: sha512-b3sUzamS086YLRuvnaDigdAewz1/EFYlHpYBP5mZovKEdQQOIIYq8lApylub3HHZ6xFjV051kkGU7cudJmrXEA==} 2259 | engines: {node: '>= 12.0.0'} 2260 | peerDependencies: 2261 | '@babel/core': '*' 2262 | babel-plugin-macros: '*' 2263 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' 2264 | peerDependenciesMeta: 2265 | '@babel/core': 2266 | optional: true 2267 | babel-plugin-macros: 2268 | optional: true 2269 | dependencies: 2270 | react: 18.2.0 2271 | dev: false 2272 | 2273 | /superjson/1.10.0: 2274 | resolution: {integrity: sha512-ks6I5fm5KXUbDqt4Epe1VwkKDaC9+kIj5HF7yhiHjChFne0EkFqsnTv1mdHE2IT6fq2CzLC3zeA/fw0BRIoNwA==} 2275 | engines: {node: '>=10'} 2276 | dependencies: 2277 | copy-anything: 3.0.2 2278 | dev: false 2279 | 2280 | /supports-color/7.2.0: 2281 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2282 | engines: {node: '>=8'} 2283 | dependencies: 2284 | has-flag: 4.0.0 2285 | dev: true 2286 | 2287 | /supports-preserve-symlinks-flag/1.0.0: 2288 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2289 | engines: {node: '>= 0.4'} 2290 | dev: true 2291 | 2292 | /tailwindcss/3.1.8_postcss@8.4.16: 2293 | resolution: {integrity: sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==} 2294 | engines: {node: '>=12.13.0'} 2295 | hasBin: true 2296 | peerDependencies: 2297 | postcss: ^8.0.9 2298 | dependencies: 2299 | arg: 5.0.2 2300 | chokidar: 3.5.3 2301 | color-name: 1.1.4 2302 | detective: 5.2.1 2303 | didyoumean: 1.2.2 2304 | dlv: 1.1.3 2305 | fast-glob: 3.2.12 2306 | glob-parent: 6.0.2 2307 | is-glob: 4.0.3 2308 | lilconfig: 2.0.6 2309 | normalize-path: 3.0.0 2310 | object-hash: 3.0.0 2311 | picocolors: 1.0.0 2312 | postcss: 8.4.16 2313 | postcss-import: 14.1.0_postcss@8.4.16 2314 | postcss-js: 4.0.0_postcss@8.4.16 2315 | postcss-load-config: 3.1.4_postcss@8.4.16 2316 | postcss-nested: 5.0.6_postcss@8.4.16 2317 | postcss-selector-parser: 6.0.10 2318 | postcss-value-parser: 4.2.0 2319 | quick-lru: 5.1.1 2320 | resolve: 1.22.1 2321 | transitivePeerDependencies: 2322 | - ts-node 2323 | dev: true 2324 | 2325 | /text-table/0.2.0: 2326 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 2327 | dev: true 2328 | 2329 | /to-regex-range/5.0.1: 2330 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2331 | engines: {node: '>=8.0'} 2332 | dependencies: 2333 | is-number: 7.0.0 2334 | dev: true 2335 | 2336 | /tsconfig-paths/3.14.1: 2337 | resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==} 2338 | dependencies: 2339 | '@types/json5': 0.0.29 2340 | json5: 1.0.1 2341 | minimist: 1.2.6 2342 | strip-bom: 3.0.0 2343 | dev: true 2344 | 2345 | /tslib/1.14.1: 2346 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 2347 | dev: true 2348 | 2349 | /tslib/2.4.0: 2350 | resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} 2351 | dev: false 2352 | 2353 | /tsutils/3.21.0_typescript@4.7.4: 2354 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 2355 | engines: {node: '>= 6'} 2356 | peerDependencies: 2357 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 2358 | dependencies: 2359 | tslib: 1.14.1 2360 | typescript: 4.7.4 2361 | dev: true 2362 | 2363 | /type-check/0.4.0: 2364 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 2365 | engines: {node: '>= 0.8.0'} 2366 | dependencies: 2367 | prelude-ls: 1.2.1 2368 | dev: true 2369 | 2370 | /type-fest/0.20.2: 2371 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 2372 | engines: {node: '>=10'} 2373 | dev: true 2374 | 2375 | /typescript/4.7.4: 2376 | resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} 2377 | engines: {node: '>=4.2.0'} 2378 | hasBin: true 2379 | dev: true 2380 | 2381 | /unbox-primitive/1.0.2: 2382 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 2383 | dependencies: 2384 | call-bind: 1.0.2 2385 | has-bigints: 1.0.2 2386 | has-symbols: 1.0.3 2387 | which-boxed-primitive: 1.0.2 2388 | dev: true 2389 | 2390 | /unload/2.2.0: 2391 | resolution: {integrity: sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA==} 2392 | dependencies: 2393 | '@babel/runtime': 7.19.0 2394 | detect-node: 2.1.0 2395 | dev: false 2396 | 2397 | /update-browserslist-db/1.0.9_browserslist@4.21.4: 2398 | resolution: {integrity: sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==} 2399 | hasBin: true 2400 | peerDependencies: 2401 | browserslist: '>= 4.21.0' 2402 | dependencies: 2403 | browserslist: 4.21.4 2404 | escalade: 3.1.1 2405 | picocolors: 1.0.0 2406 | dev: true 2407 | 2408 | /uri-js/4.4.1: 2409 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 2410 | dependencies: 2411 | punycode: 2.1.1 2412 | dev: true 2413 | 2414 | /use-sync-external-store/1.2.0_react@18.2.0: 2415 | resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} 2416 | peerDependencies: 2417 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 2418 | dependencies: 2419 | react: 18.2.0 2420 | dev: false 2421 | 2422 | /util-deprecate/1.0.2: 2423 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 2424 | dev: true 2425 | 2426 | /v8-compile-cache/2.3.0: 2427 | resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} 2428 | dev: true 2429 | 2430 | /which-boxed-primitive/1.0.2: 2431 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 2432 | dependencies: 2433 | is-bigint: 1.0.4 2434 | is-boolean-object: 1.1.2 2435 | is-number-object: 1.0.7 2436 | is-string: 1.0.7 2437 | is-symbol: 1.0.4 2438 | dev: true 2439 | 2440 | /which/2.0.2: 2441 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2442 | engines: {node: '>= 8'} 2443 | hasBin: true 2444 | dependencies: 2445 | isexe: 2.0.0 2446 | dev: true 2447 | 2448 | /word-wrap/1.2.3: 2449 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 2450 | engines: {node: '>=0.10.0'} 2451 | dev: true 2452 | 2453 | /wrappy/1.0.2: 2454 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 2455 | 2456 | /xtend/4.0.2: 2457 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} 2458 | engines: {node: '>=0.4'} 2459 | dev: true 2460 | 2461 | /yallist/4.0.0: 2462 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 2463 | dev: true 2464 | 2465 | /yaml/1.10.2: 2466 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 2467 | engines: {node: '>= 6'} 2468 | dev: true 2469 | 2470 | /yocto-queue/0.1.0: 2471 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 2472 | engines: {node: '>=10'} 2473 | dev: true 2474 | 2475 | /zod/3.19.1: 2476 | resolution: {integrity: sha512-LYjZsEDhCdYET9ikFu6dVPGp2YH9DegXjdJToSzD9rO6fy4qiRYFoyEYwps88OseJlPyl2NOe2iJuhEhL7IpEA==} 2477 | dev: false 2478 | --------------------------------------------------------------------------------