├── .eslintrc.json
├── .gitignore
├── LICENSE
├── README.md
├── next-env.d.ts
├── next.config.js
├── package.json
├── pnpm-lock.yaml
├── postcss.config.js
├── prisma
└── schema.prisma
├── public
└── favicon.ico
├── src
├── components
│ └── CreateLink.tsx
├── db
│ └── client.ts
├── pages
│ ├── _app.tsx
│ ├── _middleware.ts
│ ├── api
│ │ ├── get-link
│ │ │ └── [slug].ts
│ │ └── trpc
│ │ │ └── [trpc].ts
│ └── index.tsx
├── styles
│ └── globals.css
└── utils
│ └── trpc.ts
├── tailwind.config.js
└── tsconfig.json
/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": ["next/babel", "next/core-web-vitals"]
3 | }
4 |
--------------------------------------------------------------------------------
/.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 | # next.js
12 | /.next/
13 | /out/
14 |
15 | # production
16 | /build
17 |
18 | # misc
19 | .DS_Store
20 | *.pem
21 |
22 | # debug
23 | npm-debug.log*
24 | yarn-debug.log*
25 | yarn-error.log*
26 | .pnpm-debug.log*
27 |
28 | # local env files
29 | .env
30 | .env*.local
31 |
32 | # vercel
33 | .vercel
34 |
35 | # typescript
36 | *.tsbuildinfo
37 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Shoubhit Dash
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
DEOXYS
2 |
3 | 
4 |
5 | Deoxys is a fast and optimized link shortener. Visit the website [here](https://deoxys.nexxel.dev).
6 |
7 | ### Credits
8 |
9 | - [Theo](https://www.youtube.com/c/TheoBrowne1017)
10 | - [Christian](https://github.com/heyglassy)
11 | - [Joltik](https://github.com/TheoBr/joltik)
12 |
13 | ### Stack
14 | Deoxys uses the [t3-stack](https://init.tips).
15 |
16 | - Next.js
17 | - TailwindCSS
18 | - Prisma
19 | - tRPC
20 | - PlanetScale
21 |
22 | This project bootstrapped using [`create-t3-app`](https://www.npmjs.com/package/create-t3-app). Yes I know I misspelled it in the commit.
23 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/next.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('next').NextConfig} */
2 | const nextConfig = {
3 | reactStrictMode: true,
4 | }
5 |
6 | module.exports = nextConfig
7 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "deoxys",
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 | },
11 | "dependencies": {
12 | "@prisma/client": "^3.14.0",
13 | "@trpc/client": "^9.23.4",
14 | "@trpc/next": "^9.23.4",
15 | "@trpc/react": "^9.23.4",
16 | "@trpc/server": "^9.23.4",
17 | "copy-to-clipboard": "^3.3.1",
18 | "debounce": "^1.2.1",
19 | "next": "12.1.6",
20 | "prisma": "^3.14.0",
21 | "random-word-slugs": "^0.1.6",
22 | "react": "18.1.0",
23 | "react-dom": "18.1.0",
24 | "react-query": "^3.39.0",
25 | "zod": "^3.16.0"
26 | },
27 | "devDependencies": {
28 | "@types/debounce": "^1.2.1",
29 | "@types/node": "17.0.35",
30 | "@types/react": "18.0.9",
31 | "@types/react-dom": "18.0.4",
32 | "autoprefixer": "^10.4.7",
33 | "eslint": "8.15.0",
34 | "eslint-config-next": "12.1.6",
35 | "postcss": "^8.4.14",
36 | "tailwindcss": "^3.0.24",
37 | "typescript": "4.6.4"
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: 5.4
2 |
3 | specifiers:
4 | '@prisma/client': ^3.14.0
5 | '@trpc/client': ^9.23.4
6 | '@trpc/next': ^9.23.4
7 | '@trpc/react': ^9.23.4
8 | '@trpc/server': ^9.23.4
9 | '@types/debounce': ^1.2.1
10 | '@types/node': 17.0.35
11 | '@types/react': 18.0.9
12 | '@types/react-dom': 18.0.4
13 | autoprefixer: ^10.4.7
14 | copy-to-clipboard: ^3.3.1
15 | debounce: ^1.2.1
16 | eslint: 8.15.0
17 | eslint-config-next: 12.1.6
18 | next: 12.1.6
19 | postcss: ^8.4.14
20 | prisma: ^3.14.0
21 | random-word-slugs: ^0.1.6
22 | react: 18.1.0
23 | react-dom: 18.1.0
24 | react-query: ^3.39.0
25 | tailwindcss: ^3.0.24
26 | typescript: 4.6.4
27 | zod: ^3.16.0
28 |
29 | dependencies:
30 | '@prisma/client': 3.14.0_prisma@3.14.0
31 | '@trpc/client': 9.23.6_@trpc+server@9.23.6
32 | '@trpc/next': 9.23.6_xngnh72t3ynu7hhwulpja2c5vq
33 | '@trpc/react': 9.23.6_h3snv5ddosaop72uxqotb557xm
34 | '@trpc/server': 9.23.6
35 | copy-to-clipboard: 3.3.1
36 | debounce: 1.2.1
37 | next: 12.1.6_ef5jwxihqo6n7gxfmzogljlgcm
38 | prisma: 3.14.0
39 | random-word-slugs: 0.1.6
40 | react: 18.1.0
41 | react-dom: 18.1.0_react@18.1.0
42 | react-query: 3.39.0_ef5jwxihqo6n7gxfmzogljlgcm
43 | zod: 3.17.3
44 |
45 | devDependencies:
46 | '@types/debounce': 1.2.1
47 | '@types/node': 17.0.35
48 | '@types/react': 18.0.9
49 | '@types/react-dom': 18.0.4
50 | autoprefixer: 10.4.7_postcss@8.4.14
51 | eslint: 8.15.0
52 | eslint-config-next: 12.1.6_6vdljae35l7howjttefzzsim3e
53 | postcss: 8.4.14
54 | tailwindcss: 3.0.24
55 | typescript: 4.6.4
56 |
57 | packages:
58 |
59 | /@babel/runtime-corejs3/7.18.0:
60 | resolution: {integrity: sha512-G5FaGZOWORq9zthDjIrjib5XlcddeqLbIiDO3YQsut6j7aGf76xn0umUC/pA6+nApk3hQJF4JzLzg5PCl6ewJg==}
61 | engines: {node: '>=6.9.0'}
62 | dependencies:
63 | core-js-pure: 3.22.7
64 | regenerator-runtime: 0.13.9
65 | dev: true
66 |
67 | /@babel/runtime/7.18.0:
68 | resolution: {integrity: sha512-YMQvx/6nKEaucl0MY56mwIG483xk8SDNdlUwb2Ts6FUpr7fm85DxEmsY18LXBNhcTz6tO6JwZV8w1W06v8UKeg==}
69 | engines: {node: '>=6.9.0'}
70 | dependencies:
71 | regenerator-runtime: 0.13.9
72 |
73 | /@eslint/eslintrc/1.3.0:
74 | resolution: {integrity: sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==}
75 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
76 | dependencies:
77 | ajv: 6.12.6
78 | debug: 4.3.4
79 | espree: 9.3.2
80 | globals: 13.15.0
81 | ignore: 5.2.0
82 | import-fresh: 3.3.0
83 | js-yaml: 4.1.0
84 | minimatch: 3.1.2
85 | strip-json-comments: 3.1.1
86 | transitivePeerDependencies:
87 | - supports-color
88 | dev: true
89 |
90 | /@humanwhocodes/config-array/0.9.5:
91 | resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==}
92 | engines: {node: '>=10.10.0'}
93 | dependencies:
94 | '@humanwhocodes/object-schema': 1.2.1
95 | debug: 4.3.4
96 | minimatch: 3.1.2
97 | transitivePeerDependencies:
98 | - supports-color
99 | dev: true
100 |
101 | /@humanwhocodes/object-schema/1.2.1:
102 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
103 | dev: true
104 |
105 | /@next/env/12.1.6:
106 | resolution: {integrity: sha512-Te/OBDXFSodPU6jlXYPAXpmZr/AkG6DCATAxttQxqOWaq6eDFX25Db3dK0120GZrSZmv4QCe9KsZmJKDbWs4OA==}
107 | dev: false
108 |
109 | /@next/eslint-plugin-next/12.1.6:
110 | resolution: {integrity: sha512-yNUtJ90NEiYFT6TJnNyofKMPYqirKDwpahcbxBgSIuABwYOdkGwzos1ZkYD51Qf0diYwpQZBeVqElTk7Q2WNqw==}
111 | dependencies:
112 | glob: 7.1.7
113 | dev: true
114 |
115 | /@next/swc-android-arm-eabi/12.1.6:
116 | resolution: {integrity: sha512-BxBr3QAAAXWgk/K7EedvzxJr2dE014mghBSA9iOEAv0bMgF+MRq4PoASjuHi15M2zfowpcRG8XQhMFtxftCleQ==}
117 | engines: {node: '>= 10'}
118 | cpu: [arm]
119 | os: [android]
120 | requiresBuild: true
121 | dev: false
122 | optional: true
123 |
124 | /@next/swc-android-arm64/12.1.6:
125 | resolution: {integrity: sha512-EboEk3ROYY7U6WA2RrMt/cXXMokUTXXfnxe2+CU+DOahvbrO8QSWhlBl9I9ZbFzJx28AGB9Yo3oQHCvph/4Lew==}
126 | engines: {node: '>= 10'}
127 | cpu: [arm64]
128 | os: [android]
129 | requiresBuild: true
130 | dev: false
131 | optional: true
132 |
133 | /@next/swc-darwin-arm64/12.1.6:
134 | resolution: {integrity: sha512-P0EXU12BMSdNj1F7vdkP/VrYDuCNwBExtRPDYawgSUakzi6qP0iKJpya2BuLvNzXx+XPU49GFuDC5X+SvY0mOw==}
135 | engines: {node: '>= 10'}
136 | cpu: [arm64]
137 | os: [darwin]
138 | requiresBuild: true
139 | dev: false
140 | optional: true
141 |
142 | /@next/swc-darwin-x64/12.1.6:
143 | resolution: {integrity: sha512-9FptMnbgHJK3dRDzfTpexs9S2hGpzOQxSQbe8omz6Pcl7rnEp9x4uSEKY51ho85JCjL4d0tDLBcXEJZKKLzxNg==}
144 | engines: {node: '>= 10'}
145 | cpu: [x64]
146 | os: [darwin]
147 | requiresBuild: true
148 | dev: false
149 | optional: true
150 |
151 | /@next/swc-linux-arm-gnueabihf/12.1.6:
152 | resolution: {integrity: sha512-PvfEa1RR55dsik/IDkCKSFkk6ODNGJqPY3ysVUZqmnWMDSuqFtf7BPWHFa/53znpvVB5XaJ5Z1/6aR5CTIqxPw==}
153 | engines: {node: '>= 10'}
154 | cpu: [arm]
155 | os: [linux]
156 | requiresBuild: true
157 | dev: false
158 | optional: true
159 |
160 | /@next/swc-linux-arm64-gnu/12.1.6:
161 | resolution: {integrity: sha512-53QOvX1jBbC2ctnmWHyRhMajGq7QZfl974WYlwclXarVV418X7ed7o/EzGY+YVAEKzIVaAB9JFFWGXn8WWo0gQ==}
162 | engines: {node: '>= 10'}
163 | cpu: [arm64]
164 | os: [linux]
165 | requiresBuild: true
166 | dev: false
167 | optional: true
168 |
169 | /@next/swc-linux-arm64-musl/12.1.6:
170 | resolution: {integrity: sha512-CMWAkYqfGdQCS+uuMA1A2UhOfcUYeoqnTW7msLr2RyYAys15pD960hlDfq7QAi8BCAKk0sQ2rjsl0iqMyziohQ==}
171 | engines: {node: '>= 10'}
172 | cpu: [arm64]
173 | os: [linux]
174 | requiresBuild: true
175 | dev: false
176 | optional: true
177 |
178 | /@next/swc-linux-x64-gnu/12.1.6:
179 | resolution: {integrity: sha512-AC7jE4Fxpn0s3ujngClIDTiEM/CQiB2N2vkcyWWn6734AmGT03Duq6RYtPMymFobDdAtZGFZd5nR95WjPzbZAQ==}
180 | engines: {node: '>= 10'}
181 | cpu: [x64]
182 | os: [linux]
183 | requiresBuild: true
184 | dev: false
185 | optional: true
186 |
187 | /@next/swc-linux-x64-musl/12.1.6:
188 | resolution: {integrity: sha512-c9Vjmi0EVk0Kou2qbrynskVarnFwfYIi+wKufR9Ad7/IKKuP6aEhOdZiIIdKsYWRtK2IWRF3h3YmdnEa2WLUag==}
189 | engines: {node: '>= 10'}
190 | cpu: [x64]
191 | os: [linux]
192 | requiresBuild: true
193 | dev: false
194 | optional: true
195 |
196 | /@next/swc-win32-arm64-msvc/12.1.6:
197 | resolution: {integrity: sha512-3UTOL/5XZSKFelM7qN0it35o3Cegm6LsyuERR3/OoqEExyj3aCk7F025b54/707HTMAnjlvQK3DzLhPu/xxO4g==}
198 | engines: {node: '>= 10'}
199 | cpu: [arm64]
200 | os: [win32]
201 | requiresBuild: true
202 | dev: false
203 | optional: true
204 |
205 | /@next/swc-win32-ia32-msvc/12.1.6:
206 | resolution: {integrity: sha512-8ZWoj6nCq6fI1yCzKq6oK0jE6Mxlz4MrEsRyu0TwDztWQWe7rh4XXGLAa2YVPatYcHhMcUL+fQQbqd1MsgaSDA==}
207 | engines: {node: '>= 10'}
208 | cpu: [ia32]
209 | os: [win32]
210 | requiresBuild: true
211 | dev: false
212 | optional: true
213 |
214 | /@next/swc-win32-x64-msvc/12.1.6:
215 | resolution: {integrity: sha512-4ZEwiRuZEicXhXqmhw3+de8Z4EpOLQj/gp+D9fFWo6ii6W1kBkNNvvEx4A90ugppu+74pT1lIJnOuz3A9oQeJA==}
216 | engines: {node: '>= 10'}
217 | cpu: [x64]
218 | os: [win32]
219 | requiresBuild: true
220 | dev: false
221 | optional: true
222 |
223 | /@nodelib/fs.scandir/2.1.5:
224 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
225 | engines: {node: '>= 8'}
226 | dependencies:
227 | '@nodelib/fs.stat': 2.0.5
228 | run-parallel: 1.2.0
229 | dev: true
230 |
231 | /@nodelib/fs.stat/2.0.5:
232 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
233 | engines: {node: '>= 8'}
234 | dev: true
235 |
236 | /@nodelib/fs.walk/1.2.8:
237 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
238 | engines: {node: '>= 8'}
239 | dependencies:
240 | '@nodelib/fs.scandir': 2.1.5
241 | fastq: 1.13.0
242 | dev: true
243 |
244 | /@prisma/client/3.14.0_prisma@3.14.0:
245 | resolution: {integrity: sha512-atb41UpgTR1MCst0VIbiHTMw8lmXnwUvE1KyUCAkq08+wJyjRE78Due+nSf+7uwqQn+fBFYVmoojtinhlLOSaA==}
246 | engines: {node: '>=12.6'}
247 | requiresBuild: true
248 | peerDependencies:
249 | prisma: '*'
250 | peerDependenciesMeta:
251 | prisma:
252 | optional: true
253 | dependencies:
254 | '@prisma/engines-version': 3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a
255 | prisma: 3.14.0
256 | dev: false
257 |
258 | /@prisma/engines-version/3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a:
259 | resolution: {integrity: sha512-D+yHzq4a2r2Rrd0ZOW/mTZbgDIkUkD8ofKgusEI1xPiZz60Daks+UM7Me2ty5FzH3p/TgyhBpRrfIHx+ha20RQ==}
260 | dev: false
261 |
262 | /@prisma/engines/3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a:
263 | resolution: {integrity: sha512-LwZvI3FY6f43xFjQNRuE10JM5R8vJzFTSmbV9X0Wuhv9kscLkjRlZt0BEoiHmO+2HA3B3xxbMfB5du7ZoSFXGg==}
264 | requiresBuild: true
265 | dev: false
266 |
267 | /@rushstack/eslint-patch/1.1.3:
268 | resolution: {integrity: sha512-WiBSI6JBIhC6LRIsB2Kwh8DsGTlbBU+mLRxJmAe3LjHTdkDpwIbEOZgoXBbZilk/vlfjK8i6nKRAvIRn1XaIMw==}
269 | dev: true
270 |
271 | /@trpc/client/9.23.6_@trpc+server@9.23.6:
272 | resolution: {integrity: sha512-O7PprFqK5aN5ruO3ZYlV+MDnLkmXkk+iSQCAzWBXIRZ3j8l0ZMMlq2C+zwJ9bfkaLMXiczZ6nMkqb8647dnf6g==}
273 | peerDependencies:
274 | '@trpc/server': 9.23.6
275 | dependencies:
276 | '@babel/runtime': 7.18.0
277 | '@trpc/server': 9.23.6
278 | dev: false
279 |
280 | /@trpc/next/9.23.6_xngnh72t3ynu7hhwulpja2c5vq:
281 | resolution: {integrity: sha512-ET4nAt8c+TzOfmMr5VWpa33hW8i9BxENY2Epk3BjmBZOd53aH+2z6pSNxYy9VGadT+r/rSBFcuVuEP2q6SfGDg==}
282 | peerDependencies:
283 | '@trpc/client': 9.23.6
284 | '@trpc/react': 9.23.6
285 | '@trpc/server': 9.23.6
286 | next: '*'
287 | react: '>=16.8.0'
288 | react-dom: '>=16.8.0'
289 | react-query: ^3.37.0 || ^4.0.0-alpha.4
290 | dependencies:
291 | '@babel/runtime': 7.18.0
292 | '@trpc/client': 9.23.6_@trpc+server@9.23.6
293 | '@trpc/react': 9.23.6_h3snv5ddosaop72uxqotb557xm
294 | '@trpc/server': 9.23.6
295 | next: 12.1.6_ef5jwxihqo6n7gxfmzogljlgcm
296 | react: 18.1.0
297 | react-dom: 18.1.0_react@18.1.0
298 | react-query: 3.39.0_ef5jwxihqo6n7gxfmzogljlgcm
299 | react-ssr-prepass: 1.5.0_react@18.1.0
300 | dev: false
301 |
302 | /@trpc/react/9.23.6_h3snv5ddosaop72uxqotb557xm:
303 | resolution: {integrity: sha512-pgw/sb5o3Q2vPDohQvIaoSuBPi/0uKXY8lHV6pBwiP45abuXZm4/BjQ9gx5oIPmGgX/KSaY/BN1io/NELtjo+A==}
304 | peerDependencies:
305 | '@trpc/client': 9.23.6
306 | '@trpc/server': 9.23.6
307 | react: '>=16.8.0'
308 | react-dom: '>=16.8.0'
309 | react-query: ^3.37.0 || ^4.0.0-alpha.4
310 | dependencies:
311 | '@babel/runtime': 7.18.0
312 | '@trpc/client': 9.23.6_@trpc+server@9.23.6
313 | '@trpc/server': 9.23.6
314 | react: 18.1.0
315 | react-dom: 18.1.0_react@18.1.0
316 | react-query: 3.39.0_ef5jwxihqo6n7gxfmzogljlgcm
317 | dev: false
318 |
319 | /@trpc/server/9.23.6:
320 | resolution: {integrity: sha512-xdoHjv0Km6kr7fBpu91rN3wURWGazUA7+dRquWywWLUDH3EiERg6n0Lkz/YgxH7n+liu6UkRs1Npjt6oo01+xA==}
321 | dev: false
322 |
323 | /@types/debounce/1.2.1:
324 | resolution: {integrity: sha512-epMsEE85fi4lfmJUH/89/iV/LI+F5CvNIvmgs5g5jYFPfhO2S/ae8WSsLOKWdwtoaZw9Q2IhJ4tQ5tFCcS/4HA==}
325 | dev: true
326 |
327 | /@types/json5/0.0.29:
328 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
329 | dev: true
330 |
331 | /@types/node/17.0.35:
332 | resolution: {integrity: sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg==}
333 | dev: true
334 |
335 | /@types/prop-types/15.7.5:
336 | resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==}
337 | dev: true
338 |
339 | /@types/react-dom/18.0.4:
340 | resolution: {integrity: sha512-FgTtbqPOCI3dzZPZoC2T/sx3L34qxy99ITWn4eoSA95qPyXDMH0ALoAqUp49ITniiJFsXUVBtalh/KffMpg21Q==}
341 | dependencies:
342 | '@types/react': 18.0.9
343 | dev: true
344 |
345 | /@types/react/18.0.9:
346 | resolution: {integrity: sha512-9bjbg1hJHUm4De19L1cHiW0Jvx3geel6Qczhjd0qY5VKVE2X5+x77YxAepuCwVh4vrgZJdgEJw48zrhRIeF4Nw==}
347 | dependencies:
348 | '@types/prop-types': 15.7.5
349 | '@types/scheduler': 0.16.2
350 | csstype: 3.1.0
351 | dev: true
352 |
353 | /@types/scheduler/0.16.2:
354 | resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==}
355 | dev: true
356 |
357 | /@typescript-eslint/parser/5.26.0_hcfsmds2fshutdssjqluwm76uu:
358 | resolution: {integrity: sha512-n/IzU87ttzIdnAH5vQ4BBDnLPly7rC5VnjN3m0xBG82HK6rhRxnCb3w/GyWbNDghPd+NktJqB/wl6+YkzZ5T5Q==}
359 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
360 | peerDependencies:
361 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
362 | typescript: '*'
363 | peerDependenciesMeta:
364 | typescript:
365 | optional: true
366 | dependencies:
367 | '@typescript-eslint/scope-manager': 5.26.0
368 | '@typescript-eslint/types': 5.26.0
369 | '@typescript-eslint/typescript-estree': 5.26.0_typescript@4.6.4
370 | debug: 4.3.4
371 | eslint: 8.15.0
372 | typescript: 4.6.4
373 | transitivePeerDependencies:
374 | - supports-color
375 | dev: true
376 |
377 | /@typescript-eslint/scope-manager/5.26.0:
378 | resolution: {integrity: sha512-gVzTJUESuTwiju/7NiTb4c5oqod8xt5GhMbExKsCTp6adU3mya6AGJ4Pl9xC7x2DX9UYFsjImC0mA62BCY22Iw==}
379 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
380 | dependencies:
381 | '@typescript-eslint/types': 5.26.0
382 | '@typescript-eslint/visitor-keys': 5.26.0
383 | dev: true
384 |
385 | /@typescript-eslint/types/5.26.0:
386 | resolution: {integrity: sha512-8794JZFE1RN4XaExLWLI2oSXsVImNkl79PzTOOWt9h0UHROwJedNOD2IJyfL0NbddFllcktGIO2aOu10avQQyA==}
387 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
388 | dev: true
389 |
390 | /@typescript-eslint/typescript-estree/5.26.0_typescript@4.6.4:
391 | resolution: {integrity: sha512-EyGpw6eQDsfD6jIqmXP3rU5oHScZ51tL/cZgFbFBvWuCwrIptl+oueUZzSmLtxFuSOQ9vDcJIs+279gnJkfd1w==}
392 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
393 | peerDependencies:
394 | typescript: '*'
395 | peerDependenciesMeta:
396 | typescript:
397 | optional: true
398 | dependencies:
399 | '@typescript-eslint/types': 5.26.0
400 | '@typescript-eslint/visitor-keys': 5.26.0
401 | debug: 4.3.4
402 | globby: 11.1.0
403 | is-glob: 4.0.3
404 | semver: 7.3.7
405 | tsutils: 3.21.0_typescript@4.6.4
406 | typescript: 4.6.4
407 | transitivePeerDependencies:
408 | - supports-color
409 | dev: true
410 |
411 | /@typescript-eslint/visitor-keys/5.26.0:
412 | resolution: {integrity: sha512-wei+ffqHanYDOQgg/fS6Hcar6wAWv0CUPQ3TZzOWd2BLfgP539rb49bwua8WRAs7R6kOSLn82rfEu2ro6Llt8Q==}
413 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
414 | dependencies:
415 | '@typescript-eslint/types': 5.26.0
416 | eslint-visitor-keys: 3.3.0
417 | dev: true
418 |
419 | /acorn-jsx/5.3.2_acorn@8.7.1:
420 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
421 | peerDependencies:
422 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
423 | dependencies:
424 | acorn: 8.7.1
425 | dev: true
426 |
427 | /acorn-node/1.8.2:
428 | resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==}
429 | dependencies:
430 | acorn: 7.4.1
431 | acorn-walk: 7.2.0
432 | xtend: 4.0.2
433 | dev: true
434 |
435 | /acorn-walk/7.2.0:
436 | resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
437 | engines: {node: '>=0.4.0'}
438 | dev: true
439 |
440 | /acorn/7.4.1:
441 | resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
442 | engines: {node: '>=0.4.0'}
443 | hasBin: true
444 | dev: true
445 |
446 | /acorn/8.7.1:
447 | resolution: {integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==}
448 | engines: {node: '>=0.4.0'}
449 | hasBin: true
450 | dev: true
451 |
452 | /ajv/6.12.6:
453 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
454 | dependencies:
455 | fast-deep-equal: 3.1.3
456 | fast-json-stable-stringify: 2.1.0
457 | json-schema-traverse: 0.4.1
458 | uri-js: 4.4.1
459 | dev: true
460 |
461 | /ansi-regex/5.0.1:
462 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
463 | engines: {node: '>=8'}
464 | dev: true
465 |
466 | /ansi-styles/4.3.0:
467 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
468 | engines: {node: '>=8'}
469 | dependencies:
470 | color-convert: 2.0.1
471 | dev: true
472 |
473 | /anymatch/3.1.2:
474 | resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==}
475 | engines: {node: '>= 8'}
476 | dependencies:
477 | normalize-path: 3.0.0
478 | picomatch: 2.3.1
479 | dev: true
480 |
481 | /arg/5.0.1:
482 | resolution: {integrity: sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==}
483 | dev: true
484 |
485 | /argparse/2.0.1:
486 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
487 | dev: true
488 |
489 | /aria-query/4.2.2:
490 | resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==}
491 | engines: {node: '>=6.0'}
492 | dependencies:
493 | '@babel/runtime': 7.18.0
494 | '@babel/runtime-corejs3': 7.18.0
495 | dev: true
496 |
497 | /array-includes/3.1.5:
498 | resolution: {integrity: sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==}
499 | engines: {node: '>= 0.4'}
500 | dependencies:
501 | call-bind: 1.0.2
502 | define-properties: 1.1.4
503 | es-abstract: 1.20.1
504 | get-intrinsic: 1.1.1
505 | is-string: 1.0.7
506 | dev: true
507 |
508 | /array-union/2.1.0:
509 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
510 | engines: {node: '>=8'}
511 | dev: true
512 |
513 | /array.prototype.flat/1.3.0:
514 | resolution: {integrity: sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==}
515 | engines: {node: '>= 0.4'}
516 | dependencies:
517 | call-bind: 1.0.2
518 | define-properties: 1.1.4
519 | es-abstract: 1.20.1
520 | es-shim-unscopables: 1.0.0
521 | dev: true
522 |
523 | /array.prototype.flatmap/1.3.0:
524 | resolution: {integrity: sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==}
525 | engines: {node: '>= 0.4'}
526 | dependencies:
527 | call-bind: 1.0.2
528 | define-properties: 1.1.4
529 | es-abstract: 1.20.1
530 | es-shim-unscopables: 1.0.0
531 | dev: true
532 |
533 | /ast-types-flow/0.0.7:
534 | resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==}
535 | dev: true
536 |
537 | /autoprefixer/10.4.7_postcss@8.4.14:
538 | resolution: {integrity: sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==}
539 | engines: {node: ^10 || ^12 || >=14}
540 | hasBin: true
541 | peerDependencies:
542 | postcss: ^8.1.0
543 | dependencies:
544 | browserslist: 4.20.3
545 | caniuse-lite: 1.0.30001342
546 | fraction.js: 4.2.0
547 | normalize-range: 0.1.2
548 | picocolors: 1.0.0
549 | postcss: 8.4.14
550 | postcss-value-parser: 4.2.0
551 | dev: true
552 |
553 | /axe-core/4.4.2:
554 | resolution: {integrity: sha512-LVAaGp/wkkgYJcjmHsoKx4juT1aQvJyPcW09MLCjVTh3V2cc6PnyempiLMNH5iMdfIX/zdbjUx2KDjMLCTdPeA==}
555 | engines: {node: '>=12'}
556 | dev: true
557 |
558 | /axobject-query/2.2.0:
559 | resolution: {integrity: sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==}
560 | dev: true
561 |
562 | /balanced-match/1.0.2:
563 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
564 |
565 | /big-integer/1.6.51:
566 | resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==}
567 | engines: {node: '>=0.6'}
568 | dev: false
569 |
570 | /binary-extensions/2.2.0:
571 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
572 | engines: {node: '>=8'}
573 | dev: true
574 |
575 | /brace-expansion/1.1.11:
576 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
577 | dependencies:
578 | balanced-match: 1.0.2
579 | concat-map: 0.0.1
580 |
581 | /braces/3.0.2:
582 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
583 | engines: {node: '>=8'}
584 | dependencies:
585 | fill-range: 7.0.1
586 | dev: true
587 |
588 | /broadcast-channel/3.7.0:
589 | resolution: {integrity: sha512-cIAKJXAxGJceNZGTZSBzMxzyOn72cVgPnKx4dc6LRjQgbaJUQqhy5rzL3zbMxkMWsGKkv2hSFkPRMEXfoMZ2Mg==}
590 | dependencies:
591 | '@babel/runtime': 7.18.0
592 | detect-node: 2.1.0
593 | js-sha3: 0.8.0
594 | microseconds: 0.2.0
595 | nano-time: 1.0.0
596 | oblivious-set: 1.0.0
597 | rimraf: 3.0.2
598 | unload: 2.2.0
599 | dev: false
600 |
601 | /browserslist/4.20.3:
602 | resolution: {integrity: sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==}
603 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
604 | hasBin: true
605 | dependencies:
606 | caniuse-lite: 1.0.30001342
607 | electron-to-chromium: 1.4.138
608 | escalade: 3.1.1
609 | node-releases: 2.0.5
610 | picocolors: 1.0.0
611 | dev: true
612 |
613 | /call-bind/1.0.2:
614 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
615 | dependencies:
616 | function-bind: 1.1.1
617 | get-intrinsic: 1.1.1
618 | dev: true
619 |
620 | /callsites/3.1.0:
621 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
622 | engines: {node: '>=6'}
623 | dev: true
624 |
625 | /camelcase-css/2.0.1:
626 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
627 | engines: {node: '>= 6'}
628 | dev: true
629 |
630 | /caniuse-lite/1.0.30001342:
631 | resolution: {integrity: sha512-bn6sOCu7L7jcbBbyNhLg0qzXdJ/PMbybZTH/BA6Roet9wxYRm6Tr9D0s0uhLkOZ6MSG+QU6txUgdpr3MXIVqjA==}
632 |
633 | /chalk/4.1.2:
634 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
635 | engines: {node: '>=10'}
636 | dependencies:
637 | ansi-styles: 4.3.0
638 | supports-color: 7.2.0
639 | dev: true
640 |
641 | /chokidar/3.5.3:
642 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
643 | engines: {node: '>= 8.10.0'}
644 | dependencies:
645 | anymatch: 3.1.2
646 | braces: 3.0.2
647 | glob-parent: 5.1.2
648 | is-binary-path: 2.1.0
649 | is-glob: 4.0.3
650 | normalize-path: 3.0.0
651 | readdirp: 3.6.0
652 | optionalDependencies:
653 | fsevents: 2.3.2
654 | dev: true
655 |
656 | /color-convert/2.0.1:
657 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
658 | engines: {node: '>=7.0.0'}
659 | dependencies:
660 | color-name: 1.1.4
661 | dev: true
662 |
663 | /color-name/1.1.4:
664 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
665 | dev: true
666 |
667 | /concat-map/0.0.1:
668 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
669 |
670 | /copy-to-clipboard/3.3.1:
671 | resolution: {integrity: sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==}
672 | dependencies:
673 | toggle-selection: 1.0.6
674 | dev: false
675 |
676 | /core-js-pure/3.22.7:
677 | resolution: {integrity: sha512-wTriFxiZI+C8msGeh7fJcbC/a0V8fdInN1oS2eK79DMBGs8iIJiXhtFJCiT3rBa8w6zroHWW3p8ArlujZ/Mz+w==}
678 | requiresBuild: true
679 | dev: true
680 |
681 | /cross-spawn/7.0.3:
682 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
683 | engines: {node: '>= 8'}
684 | dependencies:
685 | path-key: 3.1.1
686 | shebang-command: 2.0.0
687 | which: 2.0.2
688 | dev: true
689 |
690 | /cssesc/3.0.0:
691 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
692 | engines: {node: '>=4'}
693 | hasBin: true
694 | dev: true
695 |
696 | /csstype/3.1.0:
697 | resolution: {integrity: sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==}
698 | dev: true
699 |
700 | /damerau-levenshtein/1.0.8:
701 | resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
702 | dev: true
703 |
704 | /debounce/1.2.1:
705 | resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
706 | dev: false
707 |
708 | /debug/2.6.9:
709 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
710 | peerDependencies:
711 | supports-color: '*'
712 | peerDependenciesMeta:
713 | supports-color:
714 | optional: true
715 | dependencies:
716 | ms: 2.0.0
717 | dev: true
718 |
719 | /debug/3.2.7:
720 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
721 | peerDependencies:
722 | supports-color: '*'
723 | peerDependenciesMeta:
724 | supports-color:
725 | optional: true
726 | dependencies:
727 | ms: 2.1.3
728 | dev: true
729 |
730 | /debug/4.3.4:
731 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
732 | engines: {node: '>=6.0'}
733 | peerDependencies:
734 | supports-color: '*'
735 | peerDependenciesMeta:
736 | supports-color:
737 | optional: true
738 | dependencies:
739 | ms: 2.1.2
740 | dev: true
741 |
742 | /deep-is/0.1.4:
743 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
744 | dev: true
745 |
746 | /define-properties/1.1.4:
747 | resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==}
748 | engines: {node: '>= 0.4'}
749 | dependencies:
750 | has-property-descriptors: 1.0.0
751 | object-keys: 1.1.1
752 | dev: true
753 |
754 | /defined/1.0.0:
755 | resolution: {integrity: sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=}
756 | dev: true
757 |
758 | /detect-node/2.1.0:
759 | resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
760 | dev: false
761 |
762 | /detective/5.2.0:
763 | resolution: {integrity: sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==}
764 | engines: {node: '>=0.8.0'}
765 | hasBin: true
766 | dependencies:
767 | acorn-node: 1.8.2
768 | defined: 1.0.0
769 | minimist: 1.2.6
770 | dev: true
771 |
772 | /didyoumean/1.2.2:
773 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
774 | dev: true
775 |
776 | /dir-glob/3.0.1:
777 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
778 | engines: {node: '>=8'}
779 | dependencies:
780 | path-type: 4.0.0
781 | dev: true
782 |
783 | /dlv/1.1.3:
784 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
785 | dev: true
786 |
787 | /doctrine/2.1.0:
788 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
789 | engines: {node: '>=0.10.0'}
790 | dependencies:
791 | esutils: 2.0.3
792 | dev: true
793 |
794 | /doctrine/3.0.0:
795 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
796 | engines: {node: '>=6.0.0'}
797 | dependencies:
798 | esutils: 2.0.3
799 | dev: true
800 |
801 | /electron-to-chromium/1.4.138:
802 | resolution: {integrity: sha512-IOyp2Seq3w4QLln+yZWcMF3VXhhduz4bwg9gfI+CnP5TkzwNXQ8FCZuwwPsnes73AfWdf5J2n2OXdUwDUspDPQ==}
803 | dev: true
804 |
805 | /emoji-regex/9.2.2:
806 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
807 | dev: true
808 |
809 | /es-abstract/1.20.1:
810 | resolution: {integrity: sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==}
811 | engines: {node: '>= 0.4'}
812 | dependencies:
813 | call-bind: 1.0.2
814 | es-to-primitive: 1.2.1
815 | function-bind: 1.1.1
816 | function.prototype.name: 1.1.5
817 | get-intrinsic: 1.1.1
818 | get-symbol-description: 1.0.0
819 | has: 1.0.3
820 | has-property-descriptors: 1.0.0
821 | has-symbols: 1.0.3
822 | internal-slot: 1.0.3
823 | is-callable: 1.2.4
824 | is-negative-zero: 2.0.2
825 | is-regex: 1.1.4
826 | is-shared-array-buffer: 1.0.2
827 | is-string: 1.0.7
828 | is-weakref: 1.0.2
829 | object-inspect: 1.12.1
830 | object-keys: 1.1.1
831 | object.assign: 4.1.2
832 | regexp.prototype.flags: 1.4.3
833 | string.prototype.trimend: 1.0.5
834 | string.prototype.trimstart: 1.0.5
835 | unbox-primitive: 1.0.2
836 | dev: true
837 |
838 | /es-shim-unscopables/1.0.0:
839 | resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==}
840 | dependencies:
841 | has: 1.0.3
842 | dev: true
843 |
844 | /es-to-primitive/1.2.1:
845 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
846 | engines: {node: '>= 0.4'}
847 | dependencies:
848 | is-callable: 1.2.4
849 | is-date-object: 1.0.5
850 | is-symbol: 1.0.4
851 | dev: true
852 |
853 | /escalade/3.1.1:
854 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
855 | engines: {node: '>=6'}
856 | dev: true
857 |
858 | /escape-string-regexp/4.0.0:
859 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
860 | engines: {node: '>=10'}
861 | dev: true
862 |
863 | /eslint-config-next/12.1.6_6vdljae35l7howjttefzzsim3e:
864 | resolution: {integrity: sha512-qoiS3g/EPzfCTkGkaPBSX9W0NGE/B1wNO3oWrd76QszVGrdpLggNqcO8+LR6MB0CNqtp9Q8NoeVrxNVbzM9hqA==}
865 | peerDependencies:
866 | eslint: ^7.23.0 || ^8.0.0
867 | next: '>=10.2.0'
868 | typescript: '>=3.3.1'
869 | peerDependenciesMeta:
870 | typescript:
871 | optional: true
872 | dependencies:
873 | '@next/eslint-plugin-next': 12.1.6
874 | '@rushstack/eslint-patch': 1.1.3
875 | '@typescript-eslint/parser': 5.26.0_hcfsmds2fshutdssjqluwm76uu
876 | eslint: 8.15.0
877 | eslint-import-resolver-node: 0.3.6
878 | eslint-import-resolver-typescript: 2.7.1_gwd37gqv3vjv3xlpl7ju3ag2qu
879 | eslint-plugin-import: 2.26.0_w7vyenmttn5y2zryvpdemshvcq
880 | eslint-plugin-jsx-a11y: 6.5.1_eslint@8.15.0
881 | eslint-plugin-react: 7.30.0_eslint@8.15.0
882 | eslint-plugin-react-hooks: 4.5.0_eslint@8.15.0
883 | next: 12.1.6_ef5jwxihqo6n7gxfmzogljlgcm
884 | typescript: 4.6.4
885 | transitivePeerDependencies:
886 | - eslint-import-resolver-webpack
887 | - supports-color
888 | dev: true
889 |
890 | /eslint-import-resolver-node/0.3.6:
891 | resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==}
892 | dependencies:
893 | debug: 3.2.7
894 | resolve: 1.22.0
895 | transitivePeerDependencies:
896 | - supports-color
897 | dev: true
898 |
899 | /eslint-import-resolver-typescript/2.7.1_gwd37gqv3vjv3xlpl7ju3ag2qu:
900 | resolution: {integrity: sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==}
901 | engines: {node: '>=4'}
902 | peerDependencies:
903 | eslint: '*'
904 | eslint-plugin-import: '*'
905 | dependencies:
906 | debug: 4.3.4
907 | eslint: 8.15.0
908 | eslint-plugin-import: 2.26.0_w7vyenmttn5y2zryvpdemshvcq
909 | glob: 7.2.3
910 | is-glob: 4.0.3
911 | resolve: 1.22.0
912 | tsconfig-paths: 3.14.1
913 | transitivePeerDependencies:
914 | - supports-color
915 | dev: true
916 |
917 | /eslint-module-utils/2.7.3_yxrttxwxgn5axzfjkhhzgts2eq:
918 | resolution: {integrity: sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==}
919 | engines: {node: '>=4'}
920 | peerDependencies:
921 | '@typescript-eslint/parser': '*'
922 | eslint-import-resolver-node: '*'
923 | eslint-import-resolver-typescript: '*'
924 | eslint-import-resolver-webpack: '*'
925 | peerDependenciesMeta:
926 | '@typescript-eslint/parser':
927 | optional: true
928 | eslint-import-resolver-node:
929 | optional: true
930 | eslint-import-resolver-typescript:
931 | optional: true
932 | eslint-import-resolver-webpack:
933 | optional: true
934 | dependencies:
935 | '@typescript-eslint/parser': 5.26.0_hcfsmds2fshutdssjqluwm76uu
936 | debug: 3.2.7
937 | eslint-import-resolver-node: 0.3.6
938 | eslint-import-resolver-typescript: 2.7.1_gwd37gqv3vjv3xlpl7ju3ag2qu
939 | find-up: 2.1.0
940 | transitivePeerDependencies:
941 | - supports-color
942 | dev: true
943 |
944 | /eslint-plugin-import/2.26.0_w7vyenmttn5y2zryvpdemshvcq:
945 | resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==}
946 | engines: {node: '>=4'}
947 | peerDependencies:
948 | '@typescript-eslint/parser': '*'
949 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
950 | peerDependenciesMeta:
951 | '@typescript-eslint/parser':
952 | optional: true
953 | dependencies:
954 | '@typescript-eslint/parser': 5.26.0_hcfsmds2fshutdssjqluwm76uu
955 | array-includes: 3.1.5
956 | array.prototype.flat: 1.3.0
957 | debug: 2.6.9
958 | doctrine: 2.1.0
959 | eslint: 8.15.0
960 | eslint-import-resolver-node: 0.3.6
961 | eslint-module-utils: 2.7.3_yxrttxwxgn5axzfjkhhzgts2eq
962 | has: 1.0.3
963 | is-core-module: 2.9.0
964 | is-glob: 4.0.3
965 | minimatch: 3.1.2
966 | object.values: 1.1.5
967 | resolve: 1.22.0
968 | tsconfig-paths: 3.14.1
969 | transitivePeerDependencies:
970 | - eslint-import-resolver-typescript
971 | - eslint-import-resolver-webpack
972 | - supports-color
973 | dev: true
974 |
975 | /eslint-plugin-jsx-a11y/6.5.1_eslint@8.15.0:
976 | resolution: {integrity: sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==}
977 | engines: {node: '>=4.0'}
978 | peerDependencies:
979 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
980 | dependencies:
981 | '@babel/runtime': 7.18.0
982 | aria-query: 4.2.2
983 | array-includes: 3.1.5
984 | ast-types-flow: 0.0.7
985 | axe-core: 4.4.2
986 | axobject-query: 2.2.0
987 | damerau-levenshtein: 1.0.8
988 | emoji-regex: 9.2.2
989 | eslint: 8.15.0
990 | has: 1.0.3
991 | jsx-ast-utils: 3.3.0
992 | language-tags: 1.0.5
993 | minimatch: 3.1.2
994 | dev: true
995 |
996 | /eslint-plugin-react-hooks/4.5.0_eslint@8.15.0:
997 | resolution: {integrity: sha512-8k1gRt7D7h03kd+SAAlzXkQwWK22BnK6GKZG+FJA6BAGy22CFvl8kCIXKpVux0cCxMWDQUPqSok0LKaZ0aOcCw==}
998 | engines: {node: '>=10'}
999 | peerDependencies:
1000 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
1001 | dependencies:
1002 | eslint: 8.15.0
1003 | dev: true
1004 |
1005 | /eslint-plugin-react/7.30.0_eslint@8.15.0:
1006 | resolution: {integrity: sha512-RgwH7hjW48BleKsYyHK5vUAvxtE9SMPDKmcPRQgtRCYaZA0XQPt5FSkrU3nhz5ifzMZcA8opwmRJ2cmOO8tr5A==}
1007 | engines: {node: '>=4'}
1008 | peerDependencies:
1009 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
1010 | dependencies:
1011 | array-includes: 3.1.5
1012 | array.prototype.flatmap: 1.3.0
1013 | doctrine: 2.1.0
1014 | eslint: 8.15.0
1015 | estraverse: 5.3.0
1016 | jsx-ast-utils: 3.3.0
1017 | minimatch: 3.1.2
1018 | object.entries: 1.1.5
1019 | object.fromentries: 2.0.5
1020 | object.hasown: 1.1.1
1021 | object.values: 1.1.5
1022 | prop-types: 15.8.1
1023 | resolve: 2.0.0-next.3
1024 | semver: 6.3.0
1025 | string.prototype.matchall: 4.0.7
1026 | dev: true
1027 |
1028 | /eslint-scope/7.1.1:
1029 | resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==}
1030 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1031 | dependencies:
1032 | esrecurse: 4.3.0
1033 | estraverse: 5.3.0
1034 | dev: true
1035 |
1036 | /eslint-utils/3.0.0_eslint@8.15.0:
1037 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
1038 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
1039 | peerDependencies:
1040 | eslint: '>=5'
1041 | dependencies:
1042 | eslint: 8.15.0
1043 | eslint-visitor-keys: 2.1.0
1044 | dev: true
1045 |
1046 | /eslint-visitor-keys/2.1.0:
1047 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
1048 | engines: {node: '>=10'}
1049 | dev: true
1050 |
1051 | /eslint-visitor-keys/3.3.0:
1052 | resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==}
1053 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1054 | dev: true
1055 |
1056 | /eslint/8.15.0:
1057 | resolution: {integrity: sha512-GG5USZ1jhCu8HJkzGgeK8/+RGnHaNYZGrGDzUtigK3BsGESW/rs2az23XqE0WVwDxy1VRvvjSSGu5nB0Bu+6SA==}
1058 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1059 | hasBin: true
1060 | dependencies:
1061 | '@eslint/eslintrc': 1.3.0
1062 | '@humanwhocodes/config-array': 0.9.5
1063 | ajv: 6.12.6
1064 | chalk: 4.1.2
1065 | cross-spawn: 7.0.3
1066 | debug: 4.3.4
1067 | doctrine: 3.0.0
1068 | escape-string-regexp: 4.0.0
1069 | eslint-scope: 7.1.1
1070 | eslint-utils: 3.0.0_eslint@8.15.0
1071 | eslint-visitor-keys: 3.3.0
1072 | espree: 9.3.2
1073 | esquery: 1.4.0
1074 | esutils: 2.0.3
1075 | fast-deep-equal: 3.1.3
1076 | file-entry-cache: 6.0.1
1077 | functional-red-black-tree: 1.0.1
1078 | glob-parent: 6.0.2
1079 | globals: 13.15.0
1080 | ignore: 5.2.0
1081 | import-fresh: 3.3.0
1082 | imurmurhash: 0.1.4
1083 | is-glob: 4.0.3
1084 | js-yaml: 4.1.0
1085 | json-stable-stringify-without-jsonify: 1.0.1
1086 | levn: 0.4.1
1087 | lodash.merge: 4.6.2
1088 | minimatch: 3.1.2
1089 | natural-compare: 1.4.0
1090 | optionator: 0.9.1
1091 | regexpp: 3.2.0
1092 | strip-ansi: 6.0.1
1093 | strip-json-comments: 3.1.1
1094 | text-table: 0.2.0
1095 | v8-compile-cache: 2.3.0
1096 | transitivePeerDependencies:
1097 | - supports-color
1098 | dev: true
1099 |
1100 | /espree/9.3.2:
1101 | resolution: {integrity: sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==}
1102 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1103 | dependencies:
1104 | acorn: 8.7.1
1105 | acorn-jsx: 5.3.2_acorn@8.7.1
1106 | eslint-visitor-keys: 3.3.0
1107 | dev: true
1108 |
1109 | /esquery/1.4.0:
1110 | resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==}
1111 | engines: {node: '>=0.10'}
1112 | dependencies:
1113 | estraverse: 5.3.0
1114 | dev: true
1115 |
1116 | /esrecurse/4.3.0:
1117 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
1118 | engines: {node: '>=4.0'}
1119 | dependencies:
1120 | estraverse: 5.3.0
1121 | dev: true
1122 |
1123 | /estraverse/5.3.0:
1124 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
1125 | engines: {node: '>=4.0'}
1126 | dev: true
1127 |
1128 | /esutils/2.0.3:
1129 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1130 | engines: {node: '>=0.10.0'}
1131 | dev: true
1132 |
1133 | /fast-deep-equal/3.1.3:
1134 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1135 | dev: true
1136 |
1137 | /fast-glob/3.2.11:
1138 | resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==}
1139 | engines: {node: '>=8.6.0'}
1140 | dependencies:
1141 | '@nodelib/fs.stat': 2.0.5
1142 | '@nodelib/fs.walk': 1.2.8
1143 | glob-parent: 5.1.2
1144 | merge2: 1.4.1
1145 | micromatch: 4.0.5
1146 | dev: true
1147 |
1148 | /fast-json-stable-stringify/2.1.0:
1149 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1150 | dev: true
1151 |
1152 | /fast-levenshtein/2.0.6:
1153 | resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=}
1154 | dev: true
1155 |
1156 | /fastq/1.13.0:
1157 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==}
1158 | dependencies:
1159 | reusify: 1.0.4
1160 | dev: true
1161 |
1162 | /file-entry-cache/6.0.1:
1163 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
1164 | engines: {node: ^10.12.0 || >=12.0.0}
1165 | dependencies:
1166 | flat-cache: 3.0.4
1167 | dev: true
1168 |
1169 | /fill-range/7.0.1:
1170 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1171 | engines: {node: '>=8'}
1172 | dependencies:
1173 | to-regex-range: 5.0.1
1174 | dev: true
1175 |
1176 | /find-up/2.1.0:
1177 | resolution: {integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c=}
1178 | engines: {node: '>=4'}
1179 | dependencies:
1180 | locate-path: 2.0.0
1181 | dev: true
1182 |
1183 | /flat-cache/3.0.4:
1184 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
1185 | engines: {node: ^10.12.0 || >=12.0.0}
1186 | dependencies:
1187 | flatted: 3.2.5
1188 | rimraf: 3.0.2
1189 | dev: true
1190 |
1191 | /flatted/3.2.5:
1192 | resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==}
1193 | dev: true
1194 |
1195 | /fraction.js/4.2.0:
1196 | resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
1197 | dev: true
1198 |
1199 | /fs.realpath/1.0.0:
1200 | resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=}
1201 |
1202 | /fsevents/2.3.2:
1203 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
1204 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1205 | os: [darwin]
1206 | requiresBuild: true
1207 | dev: true
1208 | optional: true
1209 |
1210 | /function-bind/1.1.1:
1211 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
1212 | dev: true
1213 |
1214 | /function.prototype.name/1.1.5:
1215 | resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==}
1216 | engines: {node: '>= 0.4'}
1217 | dependencies:
1218 | call-bind: 1.0.2
1219 | define-properties: 1.1.4
1220 | es-abstract: 1.20.1
1221 | functions-have-names: 1.2.3
1222 | dev: true
1223 |
1224 | /functional-red-black-tree/1.0.1:
1225 | resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=}
1226 | dev: true
1227 |
1228 | /functions-have-names/1.2.3:
1229 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
1230 | dev: true
1231 |
1232 | /get-intrinsic/1.1.1:
1233 | resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==}
1234 | dependencies:
1235 | function-bind: 1.1.1
1236 | has: 1.0.3
1237 | has-symbols: 1.0.3
1238 | dev: true
1239 |
1240 | /get-symbol-description/1.0.0:
1241 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
1242 | engines: {node: '>= 0.4'}
1243 | dependencies:
1244 | call-bind: 1.0.2
1245 | get-intrinsic: 1.1.1
1246 | dev: true
1247 |
1248 | /glob-parent/5.1.2:
1249 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1250 | engines: {node: '>= 6'}
1251 | dependencies:
1252 | is-glob: 4.0.3
1253 | dev: true
1254 |
1255 | /glob-parent/6.0.2:
1256 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1257 | engines: {node: '>=10.13.0'}
1258 | dependencies:
1259 | is-glob: 4.0.3
1260 | dev: true
1261 |
1262 | /glob/7.1.7:
1263 | resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==}
1264 | dependencies:
1265 | fs.realpath: 1.0.0
1266 | inflight: 1.0.6
1267 | inherits: 2.0.4
1268 | minimatch: 3.1.2
1269 | once: 1.4.0
1270 | path-is-absolute: 1.0.1
1271 | dev: true
1272 |
1273 | /glob/7.2.3:
1274 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1275 | dependencies:
1276 | fs.realpath: 1.0.0
1277 | inflight: 1.0.6
1278 | inherits: 2.0.4
1279 | minimatch: 3.1.2
1280 | once: 1.4.0
1281 | path-is-absolute: 1.0.1
1282 |
1283 | /globals/13.15.0:
1284 | resolution: {integrity: sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==}
1285 | engines: {node: '>=8'}
1286 | dependencies:
1287 | type-fest: 0.20.2
1288 | dev: true
1289 |
1290 | /globby/11.1.0:
1291 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
1292 | engines: {node: '>=10'}
1293 | dependencies:
1294 | array-union: 2.1.0
1295 | dir-glob: 3.0.1
1296 | fast-glob: 3.2.11
1297 | ignore: 5.2.0
1298 | merge2: 1.4.1
1299 | slash: 3.0.0
1300 | dev: true
1301 |
1302 | /has-bigints/1.0.2:
1303 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
1304 | dev: true
1305 |
1306 | /has-flag/4.0.0:
1307 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1308 | engines: {node: '>=8'}
1309 | dev: true
1310 |
1311 | /has-property-descriptors/1.0.0:
1312 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==}
1313 | dependencies:
1314 | get-intrinsic: 1.1.1
1315 | dev: true
1316 |
1317 | /has-symbols/1.0.3:
1318 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
1319 | engines: {node: '>= 0.4'}
1320 | dev: true
1321 |
1322 | /has-tostringtag/1.0.0:
1323 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
1324 | engines: {node: '>= 0.4'}
1325 | dependencies:
1326 | has-symbols: 1.0.3
1327 | dev: true
1328 |
1329 | /has/1.0.3:
1330 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
1331 | engines: {node: '>= 0.4.0'}
1332 | dependencies:
1333 | function-bind: 1.1.1
1334 | dev: true
1335 |
1336 | /ignore/5.2.0:
1337 | resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==}
1338 | engines: {node: '>= 4'}
1339 | dev: true
1340 |
1341 | /import-fresh/3.3.0:
1342 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1343 | engines: {node: '>=6'}
1344 | dependencies:
1345 | parent-module: 1.0.1
1346 | resolve-from: 4.0.0
1347 | dev: true
1348 |
1349 | /imurmurhash/0.1.4:
1350 | resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=}
1351 | engines: {node: '>=0.8.19'}
1352 | dev: true
1353 |
1354 | /inflight/1.0.6:
1355 | resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=}
1356 | dependencies:
1357 | once: 1.4.0
1358 | wrappy: 1.0.2
1359 |
1360 | /inherits/2.0.4:
1361 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1362 |
1363 | /internal-slot/1.0.3:
1364 | resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==}
1365 | engines: {node: '>= 0.4'}
1366 | dependencies:
1367 | get-intrinsic: 1.1.1
1368 | has: 1.0.3
1369 | side-channel: 1.0.4
1370 | dev: true
1371 |
1372 | /is-bigint/1.0.4:
1373 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
1374 | dependencies:
1375 | has-bigints: 1.0.2
1376 | dev: true
1377 |
1378 | /is-binary-path/2.1.0:
1379 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
1380 | engines: {node: '>=8'}
1381 | dependencies:
1382 | binary-extensions: 2.2.0
1383 | dev: true
1384 |
1385 | /is-boolean-object/1.1.2:
1386 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
1387 | engines: {node: '>= 0.4'}
1388 | dependencies:
1389 | call-bind: 1.0.2
1390 | has-tostringtag: 1.0.0
1391 | dev: true
1392 |
1393 | /is-callable/1.2.4:
1394 | resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==}
1395 | engines: {node: '>= 0.4'}
1396 | dev: true
1397 |
1398 | /is-core-module/2.9.0:
1399 | resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==}
1400 | dependencies:
1401 | has: 1.0.3
1402 | dev: true
1403 |
1404 | /is-date-object/1.0.5:
1405 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
1406 | engines: {node: '>= 0.4'}
1407 | dependencies:
1408 | has-tostringtag: 1.0.0
1409 | dev: true
1410 |
1411 | /is-extglob/2.1.1:
1412 | resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=}
1413 | engines: {node: '>=0.10.0'}
1414 | dev: true
1415 |
1416 | /is-glob/4.0.3:
1417 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1418 | engines: {node: '>=0.10.0'}
1419 | dependencies:
1420 | is-extglob: 2.1.1
1421 | dev: true
1422 |
1423 | /is-negative-zero/2.0.2:
1424 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
1425 | engines: {node: '>= 0.4'}
1426 | dev: true
1427 |
1428 | /is-number-object/1.0.7:
1429 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
1430 | engines: {node: '>= 0.4'}
1431 | dependencies:
1432 | has-tostringtag: 1.0.0
1433 | dev: true
1434 |
1435 | /is-number/7.0.0:
1436 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1437 | engines: {node: '>=0.12.0'}
1438 | dev: true
1439 |
1440 | /is-regex/1.1.4:
1441 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
1442 | engines: {node: '>= 0.4'}
1443 | dependencies:
1444 | call-bind: 1.0.2
1445 | has-tostringtag: 1.0.0
1446 | dev: true
1447 |
1448 | /is-shared-array-buffer/1.0.2:
1449 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==}
1450 | dependencies:
1451 | call-bind: 1.0.2
1452 | dev: true
1453 |
1454 | /is-string/1.0.7:
1455 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
1456 | engines: {node: '>= 0.4'}
1457 | dependencies:
1458 | has-tostringtag: 1.0.0
1459 | dev: true
1460 |
1461 | /is-symbol/1.0.4:
1462 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
1463 | engines: {node: '>= 0.4'}
1464 | dependencies:
1465 | has-symbols: 1.0.3
1466 | dev: true
1467 |
1468 | /is-weakref/1.0.2:
1469 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
1470 | dependencies:
1471 | call-bind: 1.0.2
1472 | dev: true
1473 |
1474 | /isexe/2.0.0:
1475 | resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=}
1476 | dev: true
1477 |
1478 | /js-sha3/0.8.0:
1479 | resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==}
1480 | dev: false
1481 |
1482 | /js-tokens/4.0.0:
1483 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1484 |
1485 | /js-yaml/4.1.0:
1486 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1487 | hasBin: true
1488 | dependencies:
1489 | argparse: 2.0.1
1490 | dev: true
1491 |
1492 | /json-schema-traverse/0.4.1:
1493 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1494 | dev: true
1495 |
1496 | /json-stable-stringify-without-jsonify/1.0.1:
1497 | resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=}
1498 | dev: true
1499 |
1500 | /json5/1.0.1:
1501 | resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==}
1502 | hasBin: true
1503 | dependencies:
1504 | minimist: 1.2.6
1505 | dev: true
1506 |
1507 | /jsx-ast-utils/3.3.0:
1508 | resolution: {integrity: sha512-XzO9luP6L0xkxwhIJMTJQpZo/eeN60K08jHdexfD569AGxeNug6UketeHXEhROoM8aR7EcUoOQmIhcJQjcuq8Q==}
1509 | engines: {node: '>=4.0'}
1510 | dependencies:
1511 | array-includes: 3.1.5
1512 | object.assign: 4.1.2
1513 | dev: true
1514 |
1515 | /language-subtag-registry/0.3.21:
1516 | resolution: {integrity: sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==}
1517 | dev: true
1518 |
1519 | /language-tags/1.0.5:
1520 | resolution: {integrity: sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=}
1521 | dependencies:
1522 | language-subtag-registry: 0.3.21
1523 | dev: true
1524 |
1525 | /levn/0.4.1:
1526 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1527 | engines: {node: '>= 0.8.0'}
1528 | dependencies:
1529 | prelude-ls: 1.2.1
1530 | type-check: 0.4.0
1531 | dev: true
1532 |
1533 | /lilconfig/2.0.5:
1534 | resolution: {integrity: sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==}
1535 | engines: {node: '>=10'}
1536 | dev: true
1537 |
1538 | /locate-path/2.0.0:
1539 | resolution: {integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=}
1540 | engines: {node: '>=4'}
1541 | dependencies:
1542 | p-locate: 2.0.0
1543 | path-exists: 3.0.0
1544 | dev: true
1545 |
1546 | /lodash.merge/4.6.2:
1547 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1548 | dev: true
1549 |
1550 | /loose-envify/1.4.0:
1551 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
1552 | hasBin: true
1553 | dependencies:
1554 | js-tokens: 4.0.0
1555 |
1556 | /lru-cache/6.0.0:
1557 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
1558 | engines: {node: '>=10'}
1559 | dependencies:
1560 | yallist: 4.0.0
1561 | dev: true
1562 |
1563 | /match-sorter/6.3.1:
1564 | resolution: {integrity: sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==}
1565 | dependencies:
1566 | '@babel/runtime': 7.18.0
1567 | remove-accents: 0.4.2
1568 | dev: false
1569 |
1570 | /merge2/1.4.1:
1571 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1572 | engines: {node: '>= 8'}
1573 | dev: true
1574 |
1575 | /micromatch/4.0.5:
1576 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
1577 | engines: {node: '>=8.6'}
1578 | dependencies:
1579 | braces: 3.0.2
1580 | picomatch: 2.3.1
1581 | dev: true
1582 |
1583 | /microseconds/0.2.0:
1584 | resolution: {integrity: sha512-n7DHHMjR1avBbSpsTBj6fmMGh2AGrifVV4e+WYc3Q9lO+xnSZ3NyhcBND3vzzatt05LFhoKFRxrIyklmLlUtyA==}
1585 | dev: false
1586 |
1587 | /minimatch/3.1.2:
1588 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1589 | dependencies:
1590 | brace-expansion: 1.1.11
1591 |
1592 | /minimist/1.2.6:
1593 | resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==}
1594 | dev: true
1595 |
1596 | /ms/2.0.0:
1597 | resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=}
1598 | dev: true
1599 |
1600 | /ms/2.1.2:
1601 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1602 | dev: true
1603 |
1604 | /ms/2.1.3:
1605 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1606 | dev: true
1607 |
1608 | /nano-time/1.0.0:
1609 | resolution: {integrity: sha1-sFVPaa2J4i0JB/ehKwmTpdlhN+8=}
1610 | dependencies:
1611 | big-integer: 1.6.51
1612 | dev: false
1613 |
1614 | /nanoid/3.3.4:
1615 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
1616 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1617 | hasBin: true
1618 |
1619 | /natural-compare/1.4.0:
1620 | resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=}
1621 | dev: true
1622 |
1623 | /next/12.1.6_ef5jwxihqo6n7gxfmzogljlgcm:
1624 | resolution: {integrity: sha512-cebwKxL3/DhNKfg9tPZDQmbRKjueqykHHbgaoG4VBRH3AHQJ2HO0dbKFiS1hPhe1/qgc2d/hFeadsbPicmLD+A==}
1625 | engines: {node: '>=12.22.0'}
1626 | hasBin: true
1627 | peerDependencies:
1628 | fibers: '>= 3.1.0'
1629 | node-sass: ^6.0.0 || ^7.0.0
1630 | react: ^17.0.2 || ^18.0.0-0
1631 | react-dom: ^17.0.2 || ^18.0.0-0
1632 | sass: ^1.3.0
1633 | peerDependenciesMeta:
1634 | fibers:
1635 | optional: true
1636 | node-sass:
1637 | optional: true
1638 | sass:
1639 | optional: true
1640 | dependencies:
1641 | '@next/env': 12.1.6
1642 | caniuse-lite: 1.0.30001342
1643 | postcss: 8.4.5
1644 | react: 18.1.0
1645 | react-dom: 18.1.0_react@18.1.0
1646 | styled-jsx: 5.0.2_react@18.1.0
1647 | optionalDependencies:
1648 | '@next/swc-android-arm-eabi': 12.1.6
1649 | '@next/swc-android-arm64': 12.1.6
1650 | '@next/swc-darwin-arm64': 12.1.6
1651 | '@next/swc-darwin-x64': 12.1.6
1652 | '@next/swc-linux-arm-gnueabihf': 12.1.6
1653 | '@next/swc-linux-arm64-gnu': 12.1.6
1654 | '@next/swc-linux-arm64-musl': 12.1.6
1655 | '@next/swc-linux-x64-gnu': 12.1.6
1656 | '@next/swc-linux-x64-musl': 12.1.6
1657 | '@next/swc-win32-arm64-msvc': 12.1.6
1658 | '@next/swc-win32-ia32-msvc': 12.1.6
1659 | '@next/swc-win32-x64-msvc': 12.1.6
1660 | transitivePeerDependencies:
1661 | - '@babel/core'
1662 | - babel-plugin-macros
1663 | dev: false
1664 |
1665 | /node-releases/2.0.5:
1666 | resolution: {integrity: sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==}
1667 | dev: true
1668 |
1669 | /normalize-path/3.0.0:
1670 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1671 | engines: {node: '>=0.10.0'}
1672 | dev: true
1673 |
1674 | /normalize-range/0.1.2:
1675 | resolution: {integrity: sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=}
1676 | engines: {node: '>=0.10.0'}
1677 | dev: true
1678 |
1679 | /object-assign/4.1.1:
1680 | resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=}
1681 | engines: {node: '>=0.10.0'}
1682 | dev: true
1683 |
1684 | /object-hash/3.0.0:
1685 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
1686 | engines: {node: '>= 6'}
1687 | dev: true
1688 |
1689 | /object-inspect/1.12.1:
1690 | resolution: {integrity: sha512-Y/jF6vnvEtOPGiKD1+q+X0CiUYRQtEHp89MLLUJ7TUivtH8Ugn2+3A7Rynqk7BRsAoqeOQWnFnjpDrKSxDgIGA==}
1691 | dev: true
1692 |
1693 | /object-keys/1.1.1:
1694 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
1695 | engines: {node: '>= 0.4'}
1696 | dev: true
1697 |
1698 | /object.assign/4.1.2:
1699 | resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==}
1700 | engines: {node: '>= 0.4'}
1701 | dependencies:
1702 | call-bind: 1.0.2
1703 | define-properties: 1.1.4
1704 | has-symbols: 1.0.3
1705 | object-keys: 1.1.1
1706 | dev: true
1707 |
1708 | /object.entries/1.1.5:
1709 | resolution: {integrity: sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==}
1710 | engines: {node: '>= 0.4'}
1711 | dependencies:
1712 | call-bind: 1.0.2
1713 | define-properties: 1.1.4
1714 | es-abstract: 1.20.1
1715 | dev: true
1716 |
1717 | /object.fromentries/2.0.5:
1718 | resolution: {integrity: sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==}
1719 | engines: {node: '>= 0.4'}
1720 | dependencies:
1721 | call-bind: 1.0.2
1722 | define-properties: 1.1.4
1723 | es-abstract: 1.20.1
1724 | dev: true
1725 |
1726 | /object.hasown/1.1.1:
1727 | resolution: {integrity: sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==}
1728 | dependencies:
1729 | define-properties: 1.1.4
1730 | es-abstract: 1.20.1
1731 | dev: true
1732 |
1733 | /object.values/1.1.5:
1734 | resolution: {integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==}
1735 | engines: {node: '>= 0.4'}
1736 | dependencies:
1737 | call-bind: 1.0.2
1738 | define-properties: 1.1.4
1739 | es-abstract: 1.20.1
1740 | dev: true
1741 |
1742 | /oblivious-set/1.0.0:
1743 | resolution: {integrity: sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw==}
1744 | dev: false
1745 |
1746 | /once/1.4.0:
1747 | resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=}
1748 | dependencies:
1749 | wrappy: 1.0.2
1750 |
1751 | /optionator/0.9.1:
1752 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
1753 | engines: {node: '>= 0.8.0'}
1754 | dependencies:
1755 | deep-is: 0.1.4
1756 | fast-levenshtein: 2.0.6
1757 | levn: 0.4.1
1758 | prelude-ls: 1.2.1
1759 | type-check: 0.4.0
1760 | word-wrap: 1.2.3
1761 | dev: true
1762 |
1763 | /p-limit/1.3.0:
1764 | resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==}
1765 | engines: {node: '>=4'}
1766 | dependencies:
1767 | p-try: 1.0.0
1768 | dev: true
1769 |
1770 | /p-locate/2.0.0:
1771 | resolution: {integrity: sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=}
1772 | engines: {node: '>=4'}
1773 | dependencies:
1774 | p-limit: 1.3.0
1775 | dev: true
1776 |
1777 | /p-try/1.0.0:
1778 | resolution: {integrity: sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=}
1779 | engines: {node: '>=4'}
1780 | dev: true
1781 |
1782 | /parent-module/1.0.1:
1783 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1784 | engines: {node: '>=6'}
1785 | dependencies:
1786 | callsites: 3.1.0
1787 | dev: true
1788 |
1789 | /path-exists/3.0.0:
1790 | resolution: {integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=}
1791 | engines: {node: '>=4'}
1792 | dev: true
1793 |
1794 | /path-is-absolute/1.0.1:
1795 | resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=}
1796 | engines: {node: '>=0.10.0'}
1797 |
1798 | /path-key/3.1.1:
1799 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1800 | engines: {node: '>=8'}
1801 | dev: true
1802 |
1803 | /path-parse/1.0.7:
1804 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1805 | dev: true
1806 |
1807 | /path-type/4.0.0:
1808 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
1809 | engines: {node: '>=8'}
1810 | dev: true
1811 |
1812 | /picocolors/1.0.0:
1813 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
1814 |
1815 | /picomatch/2.3.1:
1816 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1817 | engines: {node: '>=8.6'}
1818 | dev: true
1819 |
1820 | /postcss-js/4.0.0_postcss@8.4.14:
1821 | resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==}
1822 | engines: {node: ^12 || ^14 || >= 16}
1823 | peerDependencies:
1824 | postcss: ^8.3.3
1825 | dependencies:
1826 | camelcase-css: 2.0.1
1827 | postcss: 8.4.14
1828 | dev: true
1829 |
1830 | /postcss-load-config/3.1.4_postcss@8.4.14:
1831 | resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
1832 | engines: {node: '>= 10'}
1833 | peerDependencies:
1834 | postcss: '>=8.0.9'
1835 | ts-node: '>=9.0.0'
1836 | peerDependenciesMeta:
1837 | postcss:
1838 | optional: true
1839 | ts-node:
1840 | optional: true
1841 | dependencies:
1842 | lilconfig: 2.0.5
1843 | postcss: 8.4.14
1844 | yaml: 1.10.2
1845 | dev: true
1846 |
1847 | /postcss-nested/5.0.6_postcss@8.4.14:
1848 | resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==}
1849 | engines: {node: '>=12.0'}
1850 | peerDependencies:
1851 | postcss: ^8.2.14
1852 | dependencies:
1853 | postcss: 8.4.14
1854 | postcss-selector-parser: 6.0.10
1855 | dev: true
1856 |
1857 | /postcss-selector-parser/6.0.10:
1858 | resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
1859 | engines: {node: '>=4'}
1860 | dependencies:
1861 | cssesc: 3.0.0
1862 | util-deprecate: 1.0.2
1863 | dev: true
1864 |
1865 | /postcss-value-parser/4.2.0:
1866 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
1867 | dev: true
1868 |
1869 | /postcss/8.4.14:
1870 | resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==}
1871 | engines: {node: ^10 || ^12 || >=14}
1872 | dependencies:
1873 | nanoid: 3.3.4
1874 | picocolors: 1.0.0
1875 | source-map-js: 1.0.2
1876 | dev: true
1877 |
1878 | /postcss/8.4.5:
1879 | resolution: {integrity: sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==}
1880 | engines: {node: ^10 || ^12 || >=14}
1881 | dependencies:
1882 | nanoid: 3.3.4
1883 | picocolors: 1.0.0
1884 | source-map-js: 1.0.2
1885 | dev: false
1886 |
1887 | /prelude-ls/1.2.1:
1888 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
1889 | engines: {node: '>= 0.8.0'}
1890 | dev: true
1891 |
1892 | /prisma/3.14.0:
1893 | resolution: {integrity: sha512-l9MOgNCn/paDE+i1K2fp9NZ+Du4trzPTJsGkaQHVBufTGqzoYHuNk8JfzXuIn0Gte6/ZjyKj652Jq/Lc1tp2yw==}
1894 | engines: {node: '>=12.6'}
1895 | hasBin: true
1896 | requiresBuild: true
1897 | dependencies:
1898 | '@prisma/engines': 3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a
1899 | dev: false
1900 |
1901 | /prop-types/15.8.1:
1902 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
1903 | dependencies:
1904 | loose-envify: 1.4.0
1905 | object-assign: 4.1.1
1906 | react-is: 16.13.1
1907 | dev: true
1908 |
1909 | /punycode/2.1.1:
1910 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==}
1911 | engines: {node: '>=6'}
1912 | dev: true
1913 |
1914 | /queue-microtask/1.2.3:
1915 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1916 | dev: true
1917 |
1918 | /quick-lru/5.1.1:
1919 | resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
1920 | engines: {node: '>=10'}
1921 | dev: true
1922 |
1923 | /random-word-slugs/0.1.6:
1924 | resolution: {integrity: sha512-EVPGKyhXTdnBlMCrqBvby3nf9Jz+W/rVuP2nOi68aDZa6VJ2OXvz+VDCwl8jULBLZ1Ht8wscRA+/SogeI9NYGw==}
1925 | dev: false
1926 |
1927 | /react-dom/18.1.0_react@18.1.0:
1928 | resolution: {integrity: sha512-fU1Txz7Budmvamp7bshe4Zi32d0ll7ect+ccxNu9FlObT605GOEB8BfO4tmRJ39R5Zj831VCpvQ05QPBW5yb+w==}
1929 | peerDependencies:
1930 | react: ^18.1.0
1931 | dependencies:
1932 | loose-envify: 1.4.0
1933 | react: 18.1.0
1934 | scheduler: 0.22.0
1935 | dev: false
1936 |
1937 | /react-is/16.13.1:
1938 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
1939 | dev: true
1940 |
1941 | /react-query/3.39.0_ef5jwxihqo6n7gxfmzogljlgcm:
1942 | resolution: {integrity: sha512-Od0IkSuS79WJOhzWBx/ys0x13+7wFqgnn64vBqqAAnZ9whocVhl/y1padD5uuZ6EIkXbFbInax0qvY7zGM0thA==}
1943 | peerDependencies:
1944 | react: ^16.8.0 || ^17.0.0 || ^18.0.0
1945 | react-dom: '*'
1946 | react-native: '*'
1947 | peerDependenciesMeta:
1948 | react-dom:
1949 | optional: true
1950 | react-native:
1951 | optional: true
1952 | dependencies:
1953 | '@babel/runtime': 7.18.0
1954 | broadcast-channel: 3.7.0
1955 | match-sorter: 6.3.1
1956 | react: 18.1.0
1957 | react-dom: 18.1.0_react@18.1.0
1958 | dev: false
1959 |
1960 | /react-ssr-prepass/1.5.0_react@18.1.0:
1961 | resolution: {integrity: sha512-yFNHrlVEReVYKsLI5lF05tZoHveA5pGzjFbFJY/3pOqqjGOmMmqx83N4hIjN2n6E1AOa+eQEUxs3CgRnPmT0RQ==}
1962 | peerDependencies:
1963 | react: ^16.8.0 || ^17.0.0 || ^18.0.0
1964 | dependencies:
1965 | react: 18.1.0
1966 | dev: false
1967 |
1968 | /react/18.1.0:
1969 | resolution: {integrity: sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ==}
1970 | engines: {node: '>=0.10.0'}
1971 | dependencies:
1972 | loose-envify: 1.4.0
1973 | dev: false
1974 |
1975 | /readdirp/3.6.0:
1976 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
1977 | engines: {node: '>=8.10.0'}
1978 | dependencies:
1979 | picomatch: 2.3.1
1980 | dev: true
1981 |
1982 | /regenerator-runtime/0.13.9:
1983 | resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==}
1984 |
1985 | /regexp.prototype.flags/1.4.3:
1986 | resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==}
1987 | engines: {node: '>= 0.4'}
1988 | dependencies:
1989 | call-bind: 1.0.2
1990 | define-properties: 1.1.4
1991 | functions-have-names: 1.2.3
1992 | dev: true
1993 |
1994 | /regexpp/3.2.0:
1995 | resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==}
1996 | engines: {node: '>=8'}
1997 | dev: true
1998 |
1999 | /remove-accents/0.4.2:
2000 | resolution: {integrity: sha1-CkPTqq4egNuRngeuJUsoXZ4ce7U=}
2001 | dev: false
2002 |
2003 | /resolve-from/4.0.0:
2004 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
2005 | engines: {node: '>=4'}
2006 | dev: true
2007 |
2008 | /resolve/1.22.0:
2009 | resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==}
2010 | hasBin: true
2011 | dependencies:
2012 | is-core-module: 2.9.0
2013 | path-parse: 1.0.7
2014 | supports-preserve-symlinks-flag: 1.0.0
2015 | dev: true
2016 |
2017 | /resolve/2.0.0-next.3:
2018 | resolution: {integrity: sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==}
2019 | dependencies:
2020 | is-core-module: 2.9.0
2021 | path-parse: 1.0.7
2022 | dev: true
2023 |
2024 | /reusify/1.0.4:
2025 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
2026 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
2027 | dev: true
2028 |
2029 | /rimraf/3.0.2:
2030 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
2031 | hasBin: true
2032 | dependencies:
2033 | glob: 7.2.3
2034 |
2035 | /run-parallel/1.2.0:
2036 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
2037 | dependencies:
2038 | queue-microtask: 1.2.3
2039 | dev: true
2040 |
2041 | /scheduler/0.22.0:
2042 | resolution: {integrity: sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ==}
2043 | dependencies:
2044 | loose-envify: 1.4.0
2045 | dev: false
2046 |
2047 | /semver/6.3.0:
2048 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
2049 | hasBin: true
2050 | dev: true
2051 |
2052 | /semver/7.3.7:
2053 | resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==}
2054 | engines: {node: '>=10'}
2055 | hasBin: true
2056 | dependencies:
2057 | lru-cache: 6.0.0
2058 | dev: true
2059 |
2060 | /shebang-command/2.0.0:
2061 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
2062 | engines: {node: '>=8'}
2063 | dependencies:
2064 | shebang-regex: 3.0.0
2065 | dev: true
2066 |
2067 | /shebang-regex/3.0.0:
2068 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
2069 | engines: {node: '>=8'}
2070 | dev: true
2071 |
2072 | /side-channel/1.0.4:
2073 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
2074 | dependencies:
2075 | call-bind: 1.0.2
2076 | get-intrinsic: 1.1.1
2077 | object-inspect: 1.12.1
2078 | dev: true
2079 |
2080 | /slash/3.0.0:
2081 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
2082 | engines: {node: '>=8'}
2083 | dev: true
2084 |
2085 | /source-map-js/1.0.2:
2086 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
2087 | engines: {node: '>=0.10.0'}
2088 |
2089 | /string.prototype.matchall/4.0.7:
2090 | resolution: {integrity: sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==}
2091 | dependencies:
2092 | call-bind: 1.0.2
2093 | define-properties: 1.1.4
2094 | es-abstract: 1.20.1
2095 | get-intrinsic: 1.1.1
2096 | has-symbols: 1.0.3
2097 | internal-slot: 1.0.3
2098 | regexp.prototype.flags: 1.4.3
2099 | side-channel: 1.0.4
2100 | dev: true
2101 |
2102 | /string.prototype.trimend/1.0.5:
2103 | resolution: {integrity: sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==}
2104 | dependencies:
2105 | call-bind: 1.0.2
2106 | define-properties: 1.1.4
2107 | es-abstract: 1.20.1
2108 | dev: true
2109 |
2110 | /string.prototype.trimstart/1.0.5:
2111 | resolution: {integrity: sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==}
2112 | dependencies:
2113 | call-bind: 1.0.2
2114 | define-properties: 1.1.4
2115 | es-abstract: 1.20.1
2116 | dev: true
2117 |
2118 | /strip-ansi/6.0.1:
2119 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
2120 | engines: {node: '>=8'}
2121 | dependencies:
2122 | ansi-regex: 5.0.1
2123 | dev: true
2124 |
2125 | /strip-bom/3.0.0:
2126 | resolution: {integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=}
2127 | engines: {node: '>=4'}
2128 | dev: true
2129 |
2130 | /strip-json-comments/3.1.1:
2131 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
2132 | engines: {node: '>=8'}
2133 | dev: true
2134 |
2135 | /styled-jsx/5.0.2_react@18.1.0:
2136 | resolution: {integrity: sha512-LqPQrbBh3egD57NBcHET4qcgshPks+yblyhPlH2GY8oaDgKs8SK4C3dBh3oSJjgzJ3G5t1SYEZGHkP+QEpX9EQ==}
2137 | engines: {node: '>= 12.0.0'}
2138 | peerDependencies:
2139 | '@babel/core': '*'
2140 | babel-plugin-macros: '*'
2141 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
2142 | peerDependenciesMeta:
2143 | '@babel/core':
2144 | optional: true
2145 | babel-plugin-macros:
2146 | optional: true
2147 | dependencies:
2148 | react: 18.1.0
2149 | dev: false
2150 |
2151 | /supports-color/7.2.0:
2152 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
2153 | engines: {node: '>=8'}
2154 | dependencies:
2155 | has-flag: 4.0.0
2156 | dev: true
2157 |
2158 | /supports-preserve-symlinks-flag/1.0.0:
2159 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
2160 | engines: {node: '>= 0.4'}
2161 | dev: true
2162 |
2163 | /tailwindcss/3.0.24:
2164 | resolution: {integrity: sha512-H3uMmZNWzG6aqmg9q07ZIRNIawoiEcNFKDfL+YzOPuPsXuDXxJxB9icqzLgdzKNwjG3SAro2h9SYav8ewXNgig==}
2165 | engines: {node: '>=12.13.0'}
2166 | hasBin: true
2167 | dependencies:
2168 | arg: 5.0.1
2169 | chokidar: 3.5.3
2170 | color-name: 1.1.4
2171 | detective: 5.2.0
2172 | didyoumean: 1.2.2
2173 | dlv: 1.1.3
2174 | fast-glob: 3.2.11
2175 | glob-parent: 6.0.2
2176 | is-glob: 4.0.3
2177 | lilconfig: 2.0.5
2178 | normalize-path: 3.0.0
2179 | object-hash: 3.0.0
2180 | picocolors: 1.0.0
2181 | postcss: 8.4.14
2182 | postcss-js: 4.0.0_postcss@8.4.14
2183 | postcss-load-config: 3.1.4_postcss@8.4.14
2184 | postcss-nested: 5.0.6_postcss@8.4.14
2185 | postcss-selector-parser: 6.0.10
2186 | postcss-value-parser: 4.2.0
2187 | quick-lru: 5.1.1
2188 | resolve: 1.22.0
2189 | transitivePeerDependencies:
2190 | - ts-node
2191 | dev: true
2192 |
2193 | /text-table/0.2.0:
2194 | resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=}
2195 | dev: true
2196 |
2197 | /to-regex-range/5.0.1:
2198 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
2199 | engines: {node: '>=8.0'}
2200 | dependencies:
2201 | is-number: 7.0.0
2202 | dev: true
2203 |
2204 | /toggle-selection/1.0.6:
2205 | resolution: {integrity: sha1-bkWxJj8gF/oKzH2J14sVuL932jI=}
2206 | dev: false
2207 |
2208 | /tsconfig-paths/3.14.1:
2209 | resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==}
2210 | dependencies:
2211 | '@types/json5': 0.0.29
2212 | json5: 1.0.1
2213 | minimist: 1.2.6
2214 | strip-bom: 3.0.0
2215 | dev: true
2216 |
2217 | /tslib/1.14.1:
2218 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
2219 | dev: true
2220 |
2221 | /tsutils/3.21.0_typescript@4.6.4:
2222 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
2223 | engines: {node: '>= 6'}
2224 | peerDependencies:
2225 | 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'
2226 | dependencies:
2227 | tslib: 1.14.1
2228 | typescript: 4.6.4
2229 | dev: true
2230 |
2231 | /type-check/0.4.0:
2232 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
2233 | engines: {node: '>= 0.8.0'}
2234 | dependencies:
2235 | prelude-ls: 1.2.1
2236 | dev: true
2237 |
2238 | /type-fest/0.20.2:
2239 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
2240 | engines: {node: '>=10'}
2241 | dev: true
2242 |
2243 | /typescript/4.6.4:
2244 | resolution: {integrity: sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==}
2245 | engines: {node: '>=4.2.0'}
2246 | hasBin: true
2247 | dev: true
2248 |
2249 | /unbox-primitive/1.0.2:
2250 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
2251 | dependencies:
2252 | call-bind: 1.0.2
2253 | has-bigints: 1.0.2
2254 | has-symbols: 1.0.3
2255 | which-boxed-primitive: 1.0.2
2256 | dev: true
2257 |
2258 | /unload/2.2.0:
2259 | resolution: {integrity: sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA==}
2260 | dependencies:
2261 | '@babel/runtime': 7.18.0
2262 | detect-node: 2.1.0
2263 | dev: false
2264 |
2265 | /uri-js/4.4.1:
2266 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
2267 | dependencies:
2268 | punycode: 2.1.1
2269 | dev: true
2270 |
2271 | /util-deprecate/1.0.2:
2272 | resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=}
2273 | dev: true
2274 |
2275 | /v8-compile-cache/2.3.0:
2276 | resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==}
2277 | dev: true
2278 |
2279 | /which-boxed-primitive/1.0.2:
2280 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
2281 | dependencies:
2282 | is-bigint: 1.0.4
2283 | is-boolean-object: 1.1.2
2284 | is-number-object: 1.0.7
2285 | is-string: 1.0.7
2286 | is-symbol: 1.0.4
2287 | dev: true
2288 |
2289 | /which/2.0.2:
2290 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2291 | engines: {node: '>= 8'}
2292 | hasBin: true
2293 | dependencies:
2294 | isexe: 2.0.0
2295 | dev: true
2296 |
2297 | /word-wrap/1.2.3:
2298 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
2299 | engines: {node: '>=0.10.0'}
2300 | dev: true
2301 |
2302 | /wrappy/1.0.2:
2303 | resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=}
2304 |
2305 | /xtend/4.0.2:
2306 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
2307 | engines: {node: '>=0.4'}
2308 | dev: true
2309 |
2310 | /yallist/4.0.0:
2311 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
2312 | dev: true
2313 |
2314 | /yaml/1.10.2:
2315 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
2316 | engines: {node: '>= 6'}
2317 | dev: true
2318 |
2319 | /zod/3.17.3:
2320 | resolution: {integrity: sha512-4oKP5zvG6GGbMlqBkI5FESOAweldEhSOZ6LI6cG+JzUT7ofj1ZOC0PJudpQOpT1iqOFpYYtX5Pw0+o403y4bcg==}
2321 | dev: false
2322 |
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/prisma/schema.prisma:
--------------------------------------------------------------------------------
1 | generator client {
2 | provider = "prisma-client-js"
3 | previewFeatures = ["referentialIntegrity"]
4 | }
5 |
6 | datasource db {
7 | provider = "mysql"
8 | url = env("DATABASE_URL")
9 | referentialIntegrity = "prisma"
10 | }
11 |
12 | model ShortLink {
13 | id Int @id @default(autoincrement())
14 | createdAt DateTime @default(now())
15 | url String @db.VarChar(3000)
16 | slug String @unique
17 |
18 | @@index([slug])
19 | }
20 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nexxeln/deoxys/0b1f5cdccf28bbbe9d7729949e17d73c6546f0d3/public/favicon.ico
--------------------------------------------------------------------------------
/src/components/CreateLink.tsx:
--------------------------------------------------------------------------------
1 | import React, { useState } from "react";
2 | import { generateSlug } from "random-word-slugs";
3 | import { debounce } from "debounce";
4 | import copy from "copy-to-clipboard";
5 |
6 | import { trpc } from "../utils/trpc";
7 |
8 | type Form = {
9 | slug: string;
10 | url: string;
11 | };
12 |
13 | const CreateLink = () => {
14 | const [form, setForm] = useState
136 | );
137 | };
138 |
139 | export default CreateLink;
140 |
--------------------------------------------------------------------------------
/src/db/client.ts:
--------------------------------------------------------------------------------
1 | import { PrismaClient } from "@prisma/client";
2 |
3 | declare global {
4 | // allow global `var` declarations
5 | // eslint-disable-next-line no-var
6 | var prisma: PrismaClient | undefined;
7 | }
8 |
9 | export const prisma =
10 | global.prisma ||
11 | new PrismaClient({
12 | log: ["query"],
13 | });
14 |
15 | if (process.env.NODE_ENV !== "production") global.prisma = prisma;
16 |
--------------------------------------------------------------------------------
/src/pages/_app.tsx:
--------------------------------------------------------------------------------
1 | import { withTRPC } from "@trpc/next";
2 | import { AppType } from "next/dist/shared/lib/utils";
3 | import { AppRouter } from "./api/trpc/[trpc]";
4 | import "../styles/globals.css";
5 |
6 | const MyApp: AppType = ({ Component, pageProps }) => {
7 | return ;
8 | };
9 |
10 | function getBaseUrl() {
11 | if (process.browser) return ""; // Browser should use current path
12 | if (process.env.VERCEL_URL) return `https://${process.env.VERCEL_URL}`; // SSR should use vercel url
13 |
14 | return `http://localhost:${process.env.PORT ?? 3000}`; // dev SSR should use localhost
15 | }
16 |
17 | export default withTRPC({
18 | config() {
19 | const url = `${getBaseUrl()}/api/trpc`;
20 |
21 | return {
22 | url,
23 | };
24 | },
25 | ssr: false,
26 | })(MyApp);
27 |
--------------------------------------------------------------------------------
/src/pages/_middleware.ts:
--------------------------------------------------------------------------------
1 | import { NextFetchEvent, NextRequest, NextResponse } from "next/server";
2 |
3 | export async function middleware(req: NextRequest, event: NextFetchEvent) {
4 | if (
5 | req.nextUrl.pathname.startsWith("/api/") ||
6 | req.nextUrl.pathname === "/"
7 | ) {
8 | return;
9 | }
10 | const slug = req.nextUrl.pathname.split("/").pop();
11 |
12 | const fetchSlug = await fetch(`${req.nextUrl.origin}/api/get-link/${slug}`);
13 |
14 | if (fetchSlug.status === 404) {
15 | return NextResponse.redirect(req.nextUrl.origin);
16 | }
17 |
18 | const data = await fetchSlug.json();
19 |
20 | if (data?.url) {
21 | return NextResponse.redirect(data.url);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/pages/api/get-link/[slug].ts:
--------------------------------------------------------------------------------
1 | import type { NextApiRequest, NextApiResponse } from "next";
2 |
3 | import { prisma } from "../../../db/client";
4 |
5 | export default async (req: NextApiRequest, res: NextApiResponse) => {
6 | const slug = req.query["slug"];
7 |
8 | if (!slug || typeof slug !== "string") {
9 | res.status(404).json({ message: "please provide a slug" });
10 |
11 | return;
12 | }
13 |
14 | const data = await prisma.shortLink.findFirst({
15 | where: {
16 | slug: {
17 | equals: slug,
18 | },
19 | },
20 | });
21 |
22 | if (!data) {
23 | res.status(404).json({ message: "short link not found" });
24 |
25 | return;
26 | }
27 |
28 | res.setHeader("Content-Type", "application/json");
29 | res.setHeader("Access-Control-Allow-Origin", "*");
30 | res.setHeader("Cache-Control", "s-maxage=1000000000, stale-while-revalidate");
31 |
32 | res.json(data);
33 |
34 | return;
35 | };
36 |
--------------------------------------------------------------------------------
/src/pages/api/trpc/[trpc].ts:
--------------------------------------------------------------------------------
1 | import * as trpc from "@trpc/server";
2 | import * as trpcNext from "@trpc/server/adapters/next";
3 | import { z } from "zod";
4 |
5 | import { prisma } from "../../../db/client";
6 |
7 | export const appRouter = trpc
8 | .router()
9 | .query("checkSlug", {
10 | input: z.object({ slug: z.string() }),
11 | async resolve({ input }) {
12 | const slugCount = await prisma.shortLink.count({
13 | where: {
14 | slug: {
15 | equals: input.slug,
16 | },
17 | },
18 | });
19 |
20 | return { used: slugCount > 0 };
21 | },
22 | })
23 | .mutation("createShortLink", {
24 | input: z.object({ slug: z.string(), url: z.string() }),
25 | async resolve({ input }) {
26 | try {
27 | await prisma.shortLink.create({
28 | data: {
29 | slug: input.slug,
30 | url: input.url,
31 | },
32 | });
33 | } catch (error) {
34 | console.log(error);
35 | }
36 | },
37 | });
38 |
39 | export type AppRouter = typeof appRouter;
40 |
41 | export default trpcNext.createNextApiHandler({
42 | router: appRouter,
43 | createContext: () => null,
44 | });
45 |
--------------------------------------------------------------------------------
/src/pages/index.tsx:
--------------------------------------------------------------------------------
1 | import type { NextPage } from "next";
2 | import dynamic from "next/dynamic";
3 | import Head from "next/head";
4 | import { Suspense } from "react";
5 |
6 | const CreateLink = dynamic(() => import("../components/CreateLink"), {
7 | ssr: false,
8 | });
9 |
10 | const Home: NextPage = () => {
11 | return (
12 | <>
13 |
14 | Deoxys
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | deoxys
23 |
24 | a fast link shortener
25 |
26 |
27 |
28 |
29 | >
30 | );
31 | };
32 |
33 | export default Home;
34 |
--------------------------------------------------------------------------------
/src/styles/globals.css:
--------------------------------------------------------------------------------
1 | @import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap");
2 |
3 | @tailwind base;
4 | @tailwind components;
5 | @tailwind utilities;
6 |
7 | html,
8 | body {
9 | @apply font-manrope;
10 | }
11 |
--------------------------------------------------------------------------------
/src/utils/trpc.ts:
--------------------------------------------------------------------------------
1 | import type { AppRouter } from "../pages/api/trpc/[trpc]";
2 | import { createReactQueryHooks } from "@trpc/react";
3 |
4 | export const trpc = createReactQueryHooks();
5 |
--------------------------------------------------------------------------------
/tailwind.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | content: ["./src/**/*.{ts,tsx}"],
3 | theme: {
4 | extend: {
5 | fontFamily: {
6 | manrope: ["Manrope", "sans-serif"],
7 | },
8 | },
9 | },
10 | plugins: [],
11 | };
12 |
--------------------------------------------------------------------------------
/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"],
20 | "exclude": ["node_modules"]
21 | }
22 |
--------------------------------------------------------------------------------