initial commit with new name

Seto Elkahfi committed Nov 24, 2024 at 21:38 UTC 4aaff318687511972c2f91445e38b77274fa563e
39 files changed +4184
.eslintrc.json new
+3
@@ -0,0 +1,3 @@
1 +{
2 + "extends": "next/core-web-vitals"
3 +}
.gitignore new
+32
@@ -0,0 +1,32 @@
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*.local
30 +
31 +# vercel
32 +.vercel
.npmrc new
+1
@@ -0,0 +1 @@
1 +registry=https://registry.npmjs.org
.nvmrc new
+1
@@ -0,0 +1 @@
1 +v21.7.3
README.md new
+34
@@ -0,0 +1,34 @@
1 +This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
2 +
3 +## Getting Started
4 +
5 +First, run the development server:
6 +
7 +```bash
8 +yarn dev
9 +```
10 +
11 +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
12 +
13 +You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file.
14 +
15 +[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`.
16 +
17 +The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.
18 +
19 +This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.
20 +
21 +## Learn More
22 +
23 +To learn more about Next.js, take a look at the following resources:
24 +
25 +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
26 +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
27 +
28 +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
29 +
30 +## Deploy on smbCloud
31 +
32 +The easiest way to deploy your Next.js app is to use the [smbCloud Platform](https://console.smbcloud.xyz/new?utm_medium=github&filter=next.js&utm_source=create-next-app&utm_campaign=smbcloud-web-readme).
33 +
34 +Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
jsconfig.json new
+8
@@ -0,0 +1,8 @@
1 +{
2 + "compilerOptions": {
3 + "baseUrl": ".",
4 + "paths": {
5 + "@/*": ["./*"]
6 + }
7 + }
8 +}
lib/axios.js new
+7
@@ -0,0 +1,7 @@
1 +import axios from "axios";
2 +
3 +const baseURL = process.env.NEXT_PUBLIC_BASE_URL_API || "http://localhost:8088/v1/";
4 +
5 +export default axios.create({
6 + baseURL: baseURL
7 +});
\ No newline at end of file
next-env.d.ts new
+5
@@ -0,0 +1,5 @@
1 +/// <reference types="next" />
2 +/// <reference types="next/image-types/global" />
3 +
4 +// NOTE: This file should not be edited
5 +// see https://nextjs.org/docs/pages/building-your-application/configuring/typescript for more information.
next.config.js new
+9
@@ -0,0 +1,9 @@
1 +/** @type {import('next').NextConfig} */
2 +const nextConfig = {
3 + reactStrictMode: true,
4 + images: {
5 + domains: ['avatars.githubusercontent.com'],
6 + },
7 +}
8 +
9 +module.exports = nextConfig
package.json new
+25
@@ -0,0 +1,25 @@
1 +{
2 + "name": "smbcloud-web",
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 + "@vercel/analytics": "^0.1.11",
13 + "axios": "^1.0.0",
14 + "eslint": "^8.32.0",
15 + "eslint-config-next": "^14.0.0",
16 + "next": "^14.0.0",
17 + "react": "18.2.0",
18 + "react-dom": "18.2.0",
19 + "react-icons": "^4.10.1"
20 + },
21 + "devDependencies": {
22 + "@types/node": "22.7.6",
23 + "@types/react": "18.3.11"
24 + }
25 +}
pages/_app.tsx new
+11
@@ -0,0 +1,11 @@
1 +import '@/styles/globals.css'
2 +import { Analytics } from '@vercel/analytics/react'
3 +
4 +export default function App({ Component, pageProps }) {
5 + return (
6 + <>
7 + <Component {...pageProps} />
8 + <Analytics />
9 + </>
10 + )
11 +}
pages/_document.tsx new
+13
@@ -0,0 +1,13 @@
1 +import { Html, Head, Main, NextScript } from 'next/document'
2 +
3 +export default function Document() {
4 + return (
5 + <Html lang="en">
6 + <Head />
7 + <body>
8 + <Main />
9 + <NextScript />
10 + </body>
11 + </Html>
12 + )
13 +}
pages/about.tsx new
+29
@@ -0,0 +1,29 @@
1 +import { Inter } from "next/font/google"
2 +import sharedStyles from '@/styles/Shared.module.css'
3 +import SharedTopBar from './shared/topbar'
4 +import SharedHead from './shared/head'
5 +import SharedFooter from './shared/footer'
6 +const inter = Inter({ subsets: ['latin'] })
7 +
8 +export default function About() {
9 + return (
10 + <>
11 + <SharedHead
12 + title="Login with your GitHub account."
13 + description="Learn smbCloud, a new cloud platform. For your explosive ideas: a controlled demolition."
14 + />
15 + <main className={sharedStyles.main}>
16 + <SharedTopBar />
17 + <div>
18 + <h1 className={inter.className}>
19 + About
20 + </h1>
21 + <p className={inter.className}>
22 + smbCloud is a new cloud platform. For your explosive ideas: a controlled demolition.
23 + </p>
24 + </div>
25 + <SharedFooter />
26 + </main>
27 + </>
28 + )
29 +}
\ No newline at end of file
pages/api/hello.ts new
+5
@@ -0,0 +1,5 @@
1 +// Next.js API route support: https://nextjs.org/docs/api-routes/introduction
2 +
3 +export default function handler(req, res) {
4 + res.status(200).json({ name: 'John Doe' })
5 +}
pages/authorize.tsx new
+123
@@ -0,0 +1,123 @@
1 +import { Inter } from "next/font/google"
2 +import sharedStyles from '@/styles/Shared.module.css'
3 +import authorizeStyles from '@/styles/Authorize.module.css'
4 +import SharedTopBar from './shared/topbar'
5 +import SharedHead from './shared/head'
6 +import SharedFooter from './shared/footer'
7 +import axios from "../lib/axios"
8 +import Link from "next/link"
9 +import Image from "next/image"
10 +import Router from "next/router"
11 +const inter = Inter({ subsets: ['latin'] })
12 +
13 +export const getServerSideProps = async (context) => {
14 + const code = context.query.code
15 + const res = await axios.post(`authorize`, { code })
16 + const obj = res.data
17 + return {
18 + props: obj
19 + }
20 +}
21 +
22 +
23 +export default function Authorize({
24 + status, message, user_info, user_email
25 +}) {
26 +
27 + // render singup form if we have success response
28 + // render error message if we have error response
29 + if (status === 200) {
30 + return <SignupForm
31 + status={status}
32 + message={message}
33 + user_email={user_email}
34 + user_info={user_info}
35 + />
36 + }
37 +
38 + return (
39 + <>
40 + <SharedHead
41 + title="Something wrong when login with your GitHub account."
42 + description="Something wrong when login with your GitHub account.."
43 + />
44 + <main className={sharedStyles.main}>
45 + <SharedTopBar />
46 + <h1 className={inter.className}>Error</h1>
47 + <div className={inter.className}>
48 + <span >{message} Please retry: </span>
49 + <Link href="/login" >
50 + <code className={sharedStyles.code}>
51 + $ smb login retry
52 + </code>
53 + </Link>
54 + </div>
55 + <SharedFooter />
56 + </main>
57 + </>
58 + )
59 +}
60 +
61 +function SignupForm(props) {
62 +
63 + const createAccount = async (user_info, user_email) => {
64 + console.log(user_info)
65 + Router.push({
66 + pathname: '/signup',
67 + query: {
68 + user_info: JSON.stringify(user_info),
69 + user_email: JSON.stringify(user_email)
70 + }
71 + }, '/signup')
72 + }
73 +
74 + return (
75 + <>
76 + <SharedHead
77 + title="Link your GitHub account to smbCloud."
78 + description="Link your GitHub account to smbCloud, the full-suite front-end developer platforms."
79 + />
80 + <main className={sharedStyles.main}>
81 + <SharedTopBar />
82 + <h1 className={inter.className}>Signup</h1>
83 + <p className={inter.className}>
84 + Link your GitHub account to smbCloud, the full-suite front-end developer platforms.
85 + You will need to confirm your email address {props.user_email.email} to complete the signup process.
86 + </p>
87 + <div className={authorizeStyles.syncContainer}>
88 + <div>
89 + <Image
90 + src={props.user_info?.avatar_url}
91 + alt="Picture of the author"
92 + width={50}
93 + height={50}
94 + blurDataURL="data:..."
95 + placeholder="blur"
96 + className={sharedStyles.avatar}
97 + />
98 + </div>
99 + <div>
100 + <div className={authorizeStyles.arrow}>
101 + <span></span>
102 + <span></span>
103 + <span></span>
104 + </div>
105 + </div>
106 + <div>
107 + <code className={sharedStyles.code}>
108 + $ smb
109 + </code>
110 + </div>
111 + </div>
112 + <Link onClick={() => {
113 + createAccount(props.user_info, props.user_email)
114 + }} href=''>
115 + <code className={sharedStyles.code}>
116 + $ smb account create
117 + </code>
118 + </Link>
119 + <SharedFooter />
120 + </main>
121 + </>
122 + )
123 +}
\ No newline at end of file
pages/contact.tsx new
+29
@@ -0,0 +1,29 @@
1 +import { Inter } from "next/font/google"
2 +import sharedStyles from '@/styles/Shared.module.css'
3 +import SharedTopBar from './shared/topbar'
4 +import SharedHead from './shared/head'
5 +import SharedFooter from './shared/footer'
6 +const inter = Inter({ subsets: ['latin'] })
7 +
8 +export default function Github() {
9 + return (
10 + <>
11 + <SharedHead
12 + title="Login with your GitHub account."
13 + description="Learn smbCloud, a new cloud platform. For your explosive ideas: a controlled demolition."
14 + />
15 + <main className={sharedStyles.main}>
16 + <SharedTopBar />
17 + <div>
18 + <h1 className={inter.className}>
19 + Contact
20 + </h1>
21 + <p className={inter.className}>
22 + smbCloud is a new cloud platform. For your explosive ideas: a controlled demolition.
23 + </p>
24 + </div>
25 + <SharedFooter/>
26 + </main>
27 + </>
28 + )
29 +}
\ No newline at end of file
pages/index.tsx new
+64
@@ -0,0 +1,64 @@
1 +import { Inter } from 'next/font/google'
2 +import sharedStyles from '@/styles/Shared.module.css'
3 +import SharedTopBar from './shared/topbar'
4 +import SharedHead from './shared/head'
5 +import SharedFooter from './shared/footer'
6 +
7 +const inter = Inter({ subsets: ['latin'] })
8 +
9 +function Breadcrumb() {
10 + return (
11 + <>
12 + <a href={process.env.NEXT_PUBLIC_BASE_URL}>
13 + Home
14 + </a>
15 + </>
16 + )
17 +}
18 +
19 +export default function Home() {
20 + return (
21 + <>
22 + <SharedHead
23 + title="smbCloud - A new cloud."
24 + description="A new cloud platform. For your explosive ideas: a controlled demolition."
25 + />
26 + <main className={sharedStyles.main}>
27 + <SharedTopBar />
28 + <div className={sharedStyles.center}>
29 + <h1 className={inter.className}>smbCloud</h1>
30 + </div>
31 +
32 + <div className={sharedStyles.grid}>
33 + <a
34 + href={process.env.NEXT_PUBLIC_BASE_URL_DOCS}
35 + className={sharedStyles.card}
36 + target="_blank"
37 + rel="noopener noreferrer"
38 + >
39 + <h2 className={inter.className}>
40 + Docs <span>-&gt;</span>
41 + </h2>
42 + <p className={inter.className}>
43 + Find in-depth information about smbCloud features and&nbsp;API.
44 + </p>
45 + </a>
46 +
47 + <a
48 + href={process.env.NEXT_PUBLIC_BASE_URL + `/learn`}
49 + className={sharedStyles.card}
50 + >
51 + <h2 className={inter.className}>
52 + Learn <span>-&gt;</span>
53 + </h2>
54 + <p className={inter.className}>
55 + Learn about smbCloud in an interactive course with&nbsp;quizzes!
56 + </p>
57 + </a>
58 + </div>
59 +
60 + <SharedFooter />
61 + </main>
62 + </>
63 + )
64 +}
pages/learn.tsx new
+51
@@ -0,0 +1,51 @@
1 +import { Inter } from '@next/font/google'
2 +import sharedStyles from '@/styles/Shared.module.css'
3 +import SharedTopBar from './shared/topbar'
4 +import SharedHead from './shared/head'
5 +import SharedFooter from './shared/footer'
6 +const inter = Inter({ subsets: ['latin'] })
7 +
8 +export default function Learn() {
9 + return (
10 + <>
11 + <SharedHead
12 + title="Learn smbCloud - A new cloud."
13 + description="Learn smbCloud, a new cloud platform. For your explosive ideas: a controlled demolition."
14 + />
15 + <main className={sharedStyles.main}>
16 + <SharedTopBar />
17 + <div className={sharedStyles.center}>
18 + <h2 className={inter.className}>
19 + Learn smbCloud
20 + </h2>
21 + </div>
22 + <div className={sharedStyles.grid}>
23 + <a
24 + href={process.env.NEXT_PUBLIC_BASE_URL + `/learn/platform`}
25 + className={sharedStyles.card}
26 + >
27 + <h2 className={inter.className}>
28 + Platform <span>-&gt;</span>
29 + </h2>
30 + <p className={inter.className}>
31 + Learn about smbCloud platform.
32 + </p>
33 + </a>
34 +
35 + <a
36 + href={process.env.NEXT_PUBLIC_BASE_URL + `/learn/sdk`}
37 + className={sharedStyles.card}
38 + >
39 + <h2 className={inter.className}>
40 + SDK<span>-&gt;</span>
41 + </h2>
42 + <p className={inter.className}>
43 + Learn about smbCloud SDK!
44 + </p>
45 + </a>
46 + </div>
47 + <SharedFooter />
48 + </main>
49 + </>
50 + )
51 +}
\ No newline at end of file
pages/learn/platform.tsx new
+57
@@ -0,0 +1,57 @@
1 +import { Inter } from '@next/font/google'
2 +import SharedHead from "./../shared/head";
3 +import SharedTopBar from "./../shared/topbar";
4 +import sharedStyles from "./../../styles/Shared.module.css";
5 +import SharedFooter from '../shared/footer';
6 +const inter = Inter({ subsets: ["latin"] });
7 +
8 +function Breadcrumb() {
9 + return (
10 + <>
11 + <a href={process.env.NEXT_PUBLIC_BASE_URL}>
12 + Home
13 + </a>
14 + &nbsp;/&nbsp;
15 + <a href={process.env.NEXT_PUBLIC_BASE_URL + `learn`}>
16 + Learn
17 + </a>
18 + &nbsp;/&nbsp;
19 + <a href={process.env.NEXT_PUBLIC_BASE_URL + `learn/platform`}>
20 + Platform
21 + </a>
22 + </>
23 + )
24 +}
25 +
26 +export default function Platform() {
27 + return (
28 + <>
29 + <SharedHead
30 + title="smbCloud Platform - Learn smbCloud - A new cloud."
31 + description="Learn smbCloud Platform, a new cloud platform. For your explosive ideas: a controlled demolition."
32 + />
33 + <main className={sharedStyles.main}>
34 + <SharedTopBar breadcrumb={<Breadcrumb />} />
35 + <div className={sharedStyles.center}>
36 + <h2 className={inter.className}>
37 + smbCloud Platform
38 + </h2>
39 + </div>
40 + <div className={sharedStyles.grid}>
41 + <a
42 + href={process.env.NEXT_PUBLIC_BASE_URL}
43 + className={sharedStyles.card}
44 + >
45 + <h2 className={inter.className}>
46 + Frontend Platform <span>-&gt;</span>
47 + </h2>
48 + <p className={inter.className}>
49 + Learn about smbCloud platform.
50 + </p>
51 + </a>
52 + </div>
53 + <SharedFooter />
54 + </main>
55 + </>
56 + )
57 +}
\ No newline at end of file
pages/learn/sdk.tsx new
+60
@@ -0,0 +1,60 @@
1 +import { Inter } from '@next/font/google'
2 +import SharedHead from "./../shared/head";
3 +import SharedTopBar from "./../shared/topbar";
4 +import sharedStyles from "./../../styles/Shared.module.css";
5 +import SharedFooter from '../shared/footer';
6 +const inter = Inter({ subsets: ["latin"] });
7 +
8 +function Breadcrumb() {
9 + return (
10 + <>
11 + <a href={process.env.NEXT_PUBLIC_BASE_URL}>
12 + Home
13 + </a>
14 + &nbsp;/&nbsp;
15 + <a href={process.env.NEXT_PUBLIC_BASE_URL + `/learn`}>
16 + Learn
17 + </a>
18 + &nbsp;/&nbsp;
19 + <a href={process.env.NEXT_PUBLIC_BASE_URL + `/learn/sdk`}>
20 + SDK
21 + </a>
22 + </>
23 + )
24 +}
25 +
26 +export default function Sdk() {
27 + return (
28 + <>
29 + <SharedHead
30 + title="smbCloud SDK - Learn smbCloud - A new cloud."
31 + description="Learn smbCloud SDK, a new cloud platform. For your explosive ideas: a controlled demolition."
32 + />
33 + <main className={sharedStyles.main}>
34 + <SharedTopBar breadcrumb={<Breadcrumb />} />
35 + <div className={inter.className}>
36 + <h1 className={inter.className}>
37 + SDK
38 + </h1>
39 + <p className={inter.className}>SDK (Software development Kit) is a set of library that one can use to integrate an existing software.</p>
40 + </div>
41 +
42 + <div className={sharedStyles.center}></div>
43 + <div className={sharedStyles.grid}>
44 + <a
45 + href={process.env.NEXT_PUBLIC_BASE_URL}
46 + className={sharedStyles.card}
47 + >
48 + <h2 className={inter.className}>
49 + SDK <span>-&gt;</span>
50 + </h2>
51 + <p className={inter.className}>
52 + Learn about smbCloud SDK.
53 + </p>
54 + </a>
55 + </div>
56 + <SharedFooter />
57 + </main>
58 + </>
59 + )
60 +}
\ No newline at end of file
pages/login.tsx new
+49
@@ -0,0 +1,49 @@
1 +import { Inter } from "next/font/google"
2 +import sharedStyles from '@/styles/Shared.module.css'
3 +import loginStyles from '@/styles/Login.module.css'
4 +import SharedTopBar from './shared/topbar'
5 +import SharedHead from './shared/head'
6 +import SharedFooter from './shared/footer'
7 +const inter = Inter({ subsets: ['latin'] })
8 +
9 +export const getServerSideProps = (context) => {
10 + console.log('getServerSideProps body', context.query)
11 + return {
12 + props: JSON.parse(JSON.stringify(context.query))
13 + }
14 +}
15 +
16 +export default function Login(props) {
17 + let errorMessage = ''
18 + if (props.error) {
19 + const error = JSON.parse(props.error)
20 + errorMessage = error.message
21 + }
22 +
23 + const styleGithub = { "--color": '#e8eaea' };
24 +
25 + return (
26 + <>
27 + <SharedHead
28 + title="Login with your GitHub account."
29 + description="Learn smbCloud, a new cloud platform. For your explosive ideas: a controlled demolition."
30 + />
31 + <main className={sharedStyles.main}>
32 + <SharedTopBar />
33 + <div className={inter.className}>
34 + <a className={loginStyles.button} href="https://github.com/login/oauth/authorize?client_id=053e152f1b78ecee552b&redirect_uri=http://localhost:3000/authorize" style={styleGithub}>
35 + <span></span>
36 + <span></span>
37 + <span></span>
38 + <span></span>
39 + Login with Github
40 + </a>
41 + </div>
42 + <div className={inter.className}>
43 + <span className={loginStyles.error}>{errorMessage}</span>
44 + </div>
45 + <SharedFooter />
46 + </main>
47 + </>
48 + )
49 +}
\ No newline at end of file
pages/shared/footer.tsx new
+18
@@ -0,0 +1,18 @@
1 +import styles from '@/styles/Shared.module.css'
2 +import { BsGithub } from 'react-icons/bs'
3 +import { GrDebian } from 'react-icons/gr'
4 +
5 +export default function SharedFooter(props) {
6 + return (
7 + <>
8 + <div className={styles.footer}>
9 + <a href={process.env.NEXT_PUBLIC_GITHUB_URL} rel="noopener noreferrer" target='__blank' title='smbCloud GitHub page'>
10 + <BsGithub size={25}/>
11 + </a>
12 + <a href='https://debian.org' rel="noopener noreferrer" target='__blank' title='Running on Debian'>
13 + <GrDebian size={25}/>
14 + </a>
15 + </div>
16 + </>
17 + )
18 +}
\ No newline at end of file
pages/shared/head.tsx new
+14
@@ -0,0 +1,14 @@
1 +import Head from 'next/head'
2 +
3 +export default function SharedHead(props) {
4 + return (
5 + <>
6 + <Head>
7 + <title>{props.title}</title>
8 + <meta name="description" content={props.description} />
9 + <meta name="viewport" content="width=device-width, initial-scale=1" />
10 + <link rel="icon" href="/favicon.ico" />
11 + </Head>
12 + </>
13 + )
14 +}
\ No newline at end of file
pages/shared/topbar.tsx new
+39
@@ -0,0 +1,39 @@
1 +
2 +import styles from '@/styles/Shared.module.css'
3 +
4 +function PageLinks() {
5 + return (
6 + <>
7 + <a href={process.env.NEXT_PUBLIC_BASE_URL}>
8 + Home
9 + </a>
10 + &nbsp;/&nbsp;
11 + <a href={process.env.NEXT_PUBLIC_BASE_URL + `about`}>
12 + About
13 + </a>
14 + &nbsp;/&nbsp;
15 + <a href={process.env.NEXT_PUBLIC_BASE_URL + `contact`}>
16 + Contact
17 + </a>
18 + </>
19 + )
20 +}
21 +
22 +export default function SharedTopBar(props) {
23 + return (
24 + <>
25 + <div className={styles.description}>
26 + <p>
27 + <code className={styles.code}>
28 + <a href={process.env.NEXT_PUBLIC_BASE_URL + `login`} >
29 + $ smb login
30 + </a>
31 + </code>
32 + </p>
33 + <div>
34 + <PageLinks />
35 + </div>
36 + </div>
37 + </>
38 + )
39 +}
\ No newline at end of file
pages/signup.tsx new
+60
@@ -0,0 +1,60 @@
1 +import axios from "../lib/axios"
2 +import SharedTopBar from './shared/topbar'
3 +import SharedHead from './shared/head'
4 +import sharedStyles from '@/styles/Shared.module.css'
5 +import { Inter } from "next/font/google"
6 +import SharedFooter from './shared/footer'
7 +const inter = Inter({ subsets: ['latin'] })
8 +
9 +export const getServerSideProps = async (context) => {
10 + const query = context.query
11 + // Check if we have user_info and user_email
12 + if (!query.user_info || !query.user_email) {
13 + return {
14 + redirect: {
15 + destination: '/login',
16 + permanent: false,
17 + },
18 + }
19 + }
20 +
21 + const userInfo = JSON.parse(query.user_info)
22 + const userEmail = JSON.parse(query.user_email)
23 +
24 + const res = await axios.post(`users`, {
25 + user: {
26 + email: userEmail.email,
27 + authorizations_attributes: [{
28 + provider: 0,
29 + uid: userInfo.id
30 + }]
31 + }
32 + })
33 + const obj = res.data
34 + return {
35 + props: obj
36 + }
37 +}
38 +
39 +export default function Signup() {
40 + return (
41 + <>
42 + <SharedHead
43 + title="Create your account"
44 + description="Create your account."
45 + />
46 + <main className={sharedStyles.main}>
47 + <SharedTopBar />
48 + <h1 className={inter.className}>Create your account</h1>
49 + <div className={inter.className}>
50 + <div className={sharedStyles.center}>
51 + <p className={inter.className}>
52 + Your account has been created. You need to confirm your email.
53 + You will be redirect to the login page. Or click the link on the top left corner.</p>
54 + </div>
55 + </div>
56 + <SharedFooter />
57 + </main>
58 + </>
59 + )
60 +}
\ No newline at end of file
pages/terms.tsx new
+40
@@ -0,0 +1,40 @@
1 +import { Inter } from "next/font/google"
2 +import sharedStyles from '@/styles/Shared.module.css'
3 +import SharedTopBar from './shared/topbar'
4 +import SharedHead from './shared/head'
5 +import SharedFooter from './shared/footer'
6 +const inter = Inter({ subsets: ['latin'] })
7 +
8 +function Breadcrumb() {
9 + return (
10 + <>
11 + <a href={process.env.NEXT_PUBLIC_BASE_URL}>
12 + Home
13 + </a>
14 + &nbsp;/&nbsp;
15 + <a href={process.env.NEXT_PUBLIC_BASE_URL + `/login`}>
16 + Login
17 + </a>
18 + </>
19 + )
20 +}
21 +
22 +export default function Github() {
23 + return (
24 + <>
25 + <SharedHead
26 + title="Login with your GitHub account."
27 + description="Learn smbCloud, a new cloud platform. For your explosive ideas: a controlled demolition."
28 + />
29 + <main className={sharedStyles.main}>
30 + <SharedTopBar />
31 + <div>
32 + <a href="https://github.com/login/oauth/authorize?client_id=Iv1.07128cb5ebc13f09" className={sharedStyles.button}>
33 + Login with Github
34 + </a>
35 + </div>
36 + <SharedFooter breadcrumb={ <Breadcrumb /> }/>
37 + </main>
38 + </>
39 + )
40 +}
\ No newline at end of file
pages/v1/keep
pages/v1/users/confirmation.ts new
+58
@@ -0,0 +1,58 @@
1 +import axios from "../../../lib/axios"
2 +import SharedHead from "../../shared/head"
3 +import sharedStyles from '@/styles/Shared.module.css'
4 +import SharedTopBar from "@/pages/shared/topbar"
5 +import { Inter } from "next/font/google"
6 +import SharedFooter from "@/pages/shared/footer"
7 +import { BsMailbox2 } from "react-icons/bs"
8 +import Link from "next/link"
9 +const inter = Inter({ subsets: ['latin'] })
10 +
11 +export const getServerSideProps = async ({ query }) => {
12 + const confirmationToken = query.confirmation_token
13 + try {
14 + const res = await axios.get(`users/confirmation?confirmation_token=${confirmationToken}`)
15 + console.log(res)
16 + const user = res.data
17 + return {
18 + props: {
19 + user
20 + }
21 + }
22 + } catch (error) {
23 + console.log('Error confirmation', error.response.data)
24 + return {
25 + redirect: {
26 + destination: `/login?error=${JSON.stringify(error.response.data)}`,
27 + permanent: false,
28 + }
29 + }
30 + }
31 +}
32 +
33 +export default function Confirmation({ user }) {
34 +
35 + return (
36 + <>
37 + <SharedHead
38 + title="Your email has been verified."
39 + description="Your email has been verified. Now you can login with your GitHub account."
40 + />
41 + <main className={sharedStyles.main}>
42 + <SharedTopBar />
43 + <h1 className={inter.className}>Confirmation</h1>
44 + <div className={inter.className}>
45 + <div className={sharedStyles.center}>
46 + <BsMailbox2 size="5em" />
47 + </div>
48 + <div className={sharedStyles.center}>
49 + <p className={inter.className}>
50 + Your email has been verified. Now you can login with your GitHub account.
51 + You will be redirect to the login page. Or click the link on the top left corner.</p>
52 + </div>
53 + </div>
54 + <SharedFooter />
55 + </main>
56 + </>
57 + )
58 +}
\ No newline at end of file
pnpm-lock.yaml new
+2756
@@ -0,0 +1,2756 @@
1 +lockfileVersion: '6.0'
2 +
3 +settings:
4 + autoInstallPeers: true
5 + excludeLinksFromLockfile: false
6 +
7 +dependencies:
8 + '@vercel/analytics':
9 + specifier: ^0.1.11
10 + version: 0.1.11(react@18.2.0)
11 + axios:
12 + specifier: ^1.0.0
13 + version: 1.7.7
14 + eslint:
15 + specifier: ^8.32.0
16 + version: 8.57.1
17 + eslint-config-next:
18 + specifier: ^14.0.0
19 + version: 14.2.15(eslint@8.57.1)(typescript@5.6.3)
20 + next:
21 + specifier: ^14.0.0
22 + version: 14.2.15(react-dom@18.2.0)(react@18.2.0)
23 + react:
24 + specifier: 18.2.0
25 + version: 18.2.0
26 + react-dom:
27 + specifier: 18.2.0
28 + version: 18.2.0(react@18.2.0)
29 + react-icons:
30 + specifier: ^4.10.1
31 + version: 4.12.0(react@18.2.0)
32 +
33 +devDependencies:
34 + '@types/node':
35 + specifier: 22.7.6
36 + version: 22.7.6
37 + '@types/react':
38 + specifier: 18.3.11
39 + version: 18.3.11
40 +
41 +packages:
42 +
43 + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.1):
44 + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
45 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
46 + peerDependencies:
47 + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
48 + dependencies:
49 + eslint: 8.57.1
50 + eslint-visitor-keys: 3.4.3
51 + dev: false
52 +
53 + /@eslint-community/regexpp@4.11.1:
54 + resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==}
55 + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
56 + dev: false
57 +
58 + /@eslint/eslintrc@2.1.4:
59 + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
60 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
61 + dependencies:
62 + ajv: 6.12.6
63 + debug: 4.3.7
64 + espree: 9.6.1
65 + globals: 13.24.0
66 + ignore: 5.3.2
67 + import-fresh: 3.3.0
68 + js-yaml: 4.1.0
69 + minimatch: 3.1.2
70 + strip-json-comments: 3.1.1
71 + transitivePeerDependencies:
72 + - supports-color
73 + dev: false
74 +
75 + /@eslint/js@8.57.1:
76 + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==}
77 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
78 + dev: false
79 +
80 + /@humanwhocodes/config-array@0.13.0:
81 + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==}
82 + engines: {node: '>=10.10.0'}
83 + deprecated: Use @eslint/config-array instead
84 + dependencies:
85 + '@humanwhocodes/object-schema': 2.0.3
86 + debug: 4.3.7
87 + minimatch: 3.1.2
88 + transitivePeerDependencies:
89 + - supports-color
90 + dev: false
91 +
92 + /@humanwhocodes/module-importer@1.0.1:
93 + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
94 + engines: {node: '>=12.22'}
95 + dev: false
96 +
97 + /@humanwhocodes/object-schema@2.0.3:
98 + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
99 + deprecated: Use @eslint/object-schema instead
100 + dev: false
101 +
102 + /@isaacs/cliui@8.0.2:
103 + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
104 + engines: {node: '>=12'}
105 + dependencies:
106 + string-width: 5.1.2
107 + string-width-cjs: /string-width@4.2.3
108 + strip-ansi: 7.1.0
109 + strip-ansi-cjs: /strip-ansi@6.0.1
110 + wrap-ansi: 8.1.0
111 + wrap-ansi-cjs: /wrap-ansi@7.0.0
112 + dev: false
113 +
114 + /@next/env@14.2.15:
115 + resolution: {integrity: sha512-S1qaj25Wru2dUpcIZMjxeMVSwkt8BK4dmWHHiBuRstcIyOsMapqT4A4jSB6onvqeygkSSmOkyny9VVx8JIGamQ==}
116 + dev: false
117 +
118 + /@next/eslint-plugin-next@14.2.15:
119 + resolution: {integrity: sha512-pKU0iqKRBlFB/ocOI1Ip2CkKePZpYpnw5bEItEkuZ/Nr9FQP1+p7VDWr4VfOdff4i9bFmrOaeaU1bFEyAcxiMQ==}
120 + dependencies:
121 + glob: 10.3.10
122 + dev: false
123 +
124 + /@next/swc-darwin-arm64@14.2.15:
125 + resolution: {integrity: sha512-Rvh7KU9hOUBnZ9TJ28n2Oa7dD9cvDBKua9IKx7cfQQ0GoYUwg9ig31O2oMwH3wm+pE3IkAQ67ZobPfEgurPZIA==}
126 + engines: {node: '>= 10'}
127 + cpu: [arm64]
128 + os: [darwin]
129 + requiresBuild: true
130 + dev: false
131 + optional: true
132 +
133 + /@next/swc-darwin-x64@14.2.15:
134 + resolution: {integrity: sha512-5TGyjFcf8ampZP3e+FyCax5zFVHi+Oe7sZyaKOngsqyaNEpOgkKB3sqmymkZfowy3ufGA/tUgDPPxpQx931lHg==}
135 + engines: {node: '>= 10'}
136 + cpu: [x64]
137 + os: [darwin]
138 + requiresBuild: true
139 + dev: false
140 + optional: true
141 +
142 + /@next/swc-linux-arm64-gnu@14.2.15:
143 + resolution: {integrity: sha512-3Bwv4oc08ONiQ3FiOLKT72Q+ndEMyLNsc/D3qnLMbtUYTQAmkx9E/JRu0DBpHxNddBmNT5hxz1mYBphJ3mfrrw==}
144 + engines: {node: '>= 10'}
145 + cpu: [arm64]
146 + os: [linux]
147 + requiresBuild: true
148 + dev: false
149 + optional: true
150 +
151 + /@next/swc-linux-arm64-musl@14.2.15:
152 + resolution: {integrity: sha512-k5xf/tg1FBv/M4CMd8S+JL3uV9BnnRmoe7F+GWC3DxkTCD9aewFRH1s5rJ1zkzDa+Do4zyN8qD0N8c84Hu96FQ==}
153 + engines: {node: '>= 10'}
154 + cpu: [arm64]
155 + os: [linux]
156 + requiresBuild: true
157 + dev: false
158 + optional: true
159 +
160 + /@next/swc-linux-x64-gnu@14.2.15:
161 + resolution: {integrity: sha512-kE6q38hbrRbKEkkVn62reLXhThLRh6/TvgSP56GkFNhU22TbIrQDEMrO7j0IcQHcew2wfykq8lZyHFabz0oBrA==}
162 + engines: {node: '>= 10'}
163 + cpu: [x64]
164 + os: [linux]
165 + requiresBuild: true
166 + dev: false
167 + optional: true
168 +
169 + /@next/swc-linux-x64-musl@14.2.15:
170 + resolution: {integrity: sha512-PZ5YE9ouy/IdO7QVJeIcyLn/Rc4ml9M2G4y3kCM9MNf1YKvFY4heg3pVa/jQbMro+tP6yc4G2o9LjAz1zxD7tQ==}
171 + engines: {node: '>= 10'}
172 + cpu: [x64]
173 + os: [linux]
174 + requiresBuild: true
175 + dev: false
176 + optional: true
177 +
178 + /@next/swc-win32-arm64-msvc@14.2.15:
179 + resolution: {integrity: sha512-2raR16703kBvYEQD9HNLyb0/394yfqzmIeyp2nDzcPV4yPjqNUG3ohX6jX00WryXz6s1FXpVhsCo3i+g4RUX+g==}
180 + engines: {node: '>= 10'}
181 + cpu: [arm64]
182 + os: [win32]
183 + requiresBuild: true
184 + dev: false
185 + optional: true
186 +
187 + /@next/swc-win32-ia32-msvc@14.2.15:
188 + resolution: {integrity: sha512-fyTE8cklgkyR1p03kJa5zXEaZ9El+kDNM5A+66+8evQS5e/6v0Gk28LqA0Jet8gKSOyP+OTm/tJHzMlGdQerdQ==}
189 + engines: {node: '>= 10'}
190 + cpu: [ia32]
191 + os: [win32]
192 + requiresBuild: true
193 + dev: false
194 + optional: true
195 +
196 + /@next/swc-win32-x64-msvc@14.2.15:
197 + resolution: {integrity: sha512-SzqGbsLsP9OwKNUG9nekShTwhj6JSB9ZLMWQ8g1gG6hdE5gQLncbnbymrwy2yVmH9nikSLYRYxYMFu78Ggp7/g==}
198 + engines: {node: '>= 10'}
199 + cpu: [x64]
200 + os: [win32]
201 + requiresBuild: true
202 + dev: false
203 + optional: true
204 +
205 + /@nodelib/fs.scandir@2.1.5:
206 + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
207 + engines: {node: '>= 8'}
208 + dependencies:
209 + '@nodelib/fs.stat': 2.0.5
210 + run-parallel: 1.2.0
211 + dev: false
212 +
213 + /@nodelib/fs.stat@2.0.5:
214 + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
215 + engines: {node: '>= 8'}
216 + dev: false
217 +
218 + /@nodelib/fs.walk@1.2.8:
219 + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
220 + engines: {node: '>= 8'}
221 + dependencies:
222 + '@nodelib/fs.scandir': 2.1.5
223 + fastq: 1.17.1
224 + dev: false
225 +
226 + /@nolyfill/is-core-module@1.0.39:
227 + resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==}
228 + engines: {node: '>=12.4.0'}
229 + dev: false
230 +
231 + /@pkgjs/parseargs@0.11.0:
232 + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
233 + engines: {node: '>=14'}
234 + requiresBuild: true
235 + dev: false
236 + optional: true
237 +
238 + /@rtsao/scc@1.1.0:
239 + resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==}
240 + dev: false
241 +
242 + /@rushstack/eslint-patch@1.10.4:
243 + resolution: {integrity: sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==}
244 + dev: false
245 +
246 + /@swc/counter@0.1.3:
247 + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
248 + dev: false
249 +
250 + /@swc/helpers@0.5.5:
251 + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==}
252 + dependencies:
253 + '@swc/counter': 0.1.3
254 + tslib: 2.8.0
255 + dev: false
256 +
257 + /@types/json5@0.0.29:
258 + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
259 + dev: false
260 +
261 + /@types/node@22.7.6:
262 + resolution: {integrity: sha512-/d7Rnj0/ExXDMcioS78/kf1lMzYk4BZV8MZGTBKzTGZ6/406ukkbYlIsZmMPhcR5KlkunDHQLrtAVmSq7r+mSw==}
263 + dependencies:
264 + undici-types: 6.19.8
265 + dev: true
266 +
267 + /@types/prop-types@15.7.13:
268 + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==}
269 + dev: true
270 +
271 + /@types/react@18.3.11:
272 + resolution: {integrity: sha512-r6QZ069rFTjrEYgFdOck1gK7FLVsgJE7tTz0pQBczlBNUhBNk0MQH4UbnFSwjpQLMkLzgqvBBa+qGpLje16eTQ==}
273 + dependencies:
274 + '@types/prop-types': 15.7.13
275 + csstype: 3.1.3
276 + dev: true
277 +
278 + /@typescript-eslint/eslint-plugin@8.10.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.1)(typescript@5.6.3):
279 + resolution: {integrity: sha512-phuB3hoP7FFKbRXxjl+DRlQDuJqhpOnm5MmtROXyWi3uS/Xg2ZXqiQfcG2BJHiN4QKyzdOJi3NEn/qTnjUlkmQ==}
280 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
281 + peerDependencies:
282 + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
283 + eslint: ^8.57.0 || ^9.0.0
284 + typescript: '*'
285 + peerDependenciesMeta:
286 + typescript:
287 + optional: true
288 + dependencies:
289 + '@eslint-community/regexpp': 4.11.1
290 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.3)
291 + '@typescript-eslint/scope-manager': 8.10.0
292 + '@typescript-eslint/type-utils': 8.10.0(eslint@8.57.1)(typescript@5.6.3)
293 + '@typescript-eslint/utils': 8.10.0(eslint@8.57.1)(typescript@5.6.3)
294 + '@typescript-eslint/visitor-keys': 8.10.0
295 + eslint: 8.57.1
296 + graphemer: 1.4.0
297 + ignore: 5.3.2
298 + natural-compare: 1.4.0
299 + ts-api-utils: 1.3.0(typescript@5.6.3)
300 + typescript: 5.6.3
301 + transitivePeerDependencies:
302 + - supports-color
303 + dev: false
304 +
305 + /@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3):
306 + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==}
307 + engines: {node: ^16.0.0 || >=18.0.0}
308 + peerDependencies:
309 + eslint: ^7.0.0 || ^8.0.0
310 + typescript: '*'
311 + peerDependenciesMeta:
312 + typescript:
313 + optional: true
314 + dependencies:
315 + '@typescript-eslint/scope-manager': 6.21.0
316 + '@typescript-eslint/types': 6.21.0
317 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.3)
318 + '@typescript-eslint/visitor-keys': 6.21.0
319 + debug: 4.3.7
320 + eslint: 8.57.1
321 + typescript: 5.6.3
322 + transitivePeerDependencies:
323 + - supports-color
324 + dev: false
325 +
326 + /@typescript-eslint/scope-manager@6.21.0:
327 + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==}
328 + engines: {node: ^16.0.0 || >=18.0.0}
329 + dependencies:
330 + '@typescript-eslint/types': 6.21.0
331 + '@typescript-eslint/visitor-keys': 6.21.0
332 + dev: false
333 +
334 + /@typescript-eslint/scope-manager@8.10.0:
335 + resolution: {integrity: sha512-AgCaEjhfql9MDKjMUxWvH7HjLeBqMCBfIaBbzzIcBbQPZE7CPh1m6FF+L75NUMJFMLYhCywJXIDEMa3//1A0dw==}
336 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
337 + dependencies:
338 + '@typescript-eslint/types': 8.10.0
339 + '@typescript-eslint/visitor-keys': 8.10.0
340 + dev: false
341 +
342 + /@typescript-eslint/type-utils@8.10.0(eslint@8.57.1)(typescript@5.6.3):
343 + resolution: {integrity: sha512-PCpUOpyQSpxBn230yIcK+LeCQaXuxrgCm2Zk1S+PTIRJsEfU6nJ0TtwyH8pIwPK/vJoA+7TZtzyAJSGBz+s/dg==}
344 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
345 + peerDependencies:
346 + typescript: '*'
347 + peerDependenciesMeta:
348 + typescript:
349 + optional: true
350 + dependencies:
351 + '@typescript-eslint/typescript-estree': 8.10.0(typescript@5.6.3)
352 + '@typescript-eslint/utils': 8.10.0(eslint@8.57.1)(typescript@5.6.3)
353 + debug: 4.3.7
354 + ts-api-utils: 1.3.0(typescript@5.6.3)
355 + typescript: 5.6.3
356 + transitivePeerDependencies:
357 + - eslint
358 + - supports-color
359 + dev: false
360 +
361 + /@typescript-eslint/types@6.21.0:
362 + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==}
363 + engines: {node: ^16.0.0 || >=18.0.0}
364 + dev: false
365 +
366 + /@typescript-eslint/types@8.10.0:
367 + resolution: {integrity: sha512-k/E48uzsfJCRRbGLapdZgrX52csmWJ2rcowwPvOZ8lwPUv3xW6CcFeJAXgx4uJm+Ge4+a4tFOkdYvSpxhRhg1w==}
368 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
369 + dev: false
370 +
371 + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.6.3):
372 + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==}
373 + engines: {node: ^16.0.0 || >=18.0.0}
374 + peerDependencies:
375 + typescript: '*'
376 + peerDependenciesMeta:
377 + typescript:
378 + optional: true
379 + dependencies:
380 + '@typescript-eslint/types': 6.21.0
381 + '@typescript-eslint/visitor-keys': 6.21.0
382 + debug: 4.3.7
383 + globby: 11.1.0
384 + is-glob: 4.0.3
385 + minimatch: 9.0.3
386 + semver: 7.6.3
387 + ts-api-utils: 1.3.0(typescript@5.6.3)
388 + typescript: 5.6.3
389 + transitivePeerDependencies:
390 + - supports-color
391 + dev: false
392 +
393 + /@typescript-eslint/typescript-estree@8.10.0(typescript@5.6.3):
394 + resolution: {integrity: sha512-3OE0nlcOHaMvQ8Xu5gAfME3/tWVDpb/HxtpUZ1WeOAksZ/h/gwrBzCklaGzwZT97/lBbbxJ16dMA98JMEngW4w==}
395 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
396 + peerDependencies:
397 + typescript: '*'
398 + peerDependenciesMeta:
399 + typescript:
400 + optional: true
401 + dependencies:
402 + '@typescript-eslint/types': 8.10.0
403 + '@typescript-eslint/visitor-keys': 8.10.0
404 + debug: 4.3.7
405 + fast-glob: 3.3.2
406 + is-glob: 4.0.3
407 + minimatch: 9.0.5
408 + semver: 7.6.3
409 + ts-api-utils: 1.3.0(typescript@5.6.3)
410 + typescript: 5.6.3
411 + transitivePeerDependencies:
412 + - supports-color
413 + dev: false
414 +
415 + /@typescript-eslint/utils@8.10.0(eslint@8.57.1)(typescript@5.6.3):
416 + resolution: {integrity: sha512-Oq4uZ7JFr9d1ZunE/QKy5egcDRXT/FrS2z/nlxzPua2VHFtmMvFNDvpq1m/hq0ra+T52aUezfcjGRIB7vNJF9w==}
417 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
418 + peerDependencies:
419 + eslint: ^8.57.0 || ^9.0.0
420 + dependencies:
421 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1)
422 + '@typescript-eslint/scope-manager': 8.10.0
423 + '@typescript-eslint/types': 8.10.0
424 + '@typescript-eslint/typescript-estree': 8.10.0(typescript@5.6.3)
425 + eslint: 8.57.1
426 + transitivePeerDependencies:
427 + - supports-color
428 + - typescript
429 + dev: false
430 +
431 + /@typescript-eslint/visitor-keys@6.21.0:
432 + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==}
433 + engines: {node: ^16.0.0 || >=18.0.0}
434 + dependencies:
435 + '@typescript-eslint/types': 6.21.0
436 + eslint-visitor-keys: 3.4.3
437 + dev: false
438 +
439 + /@typescript-eslint/visitor-keys@8.10.0:
440 + resolution: {integrity: sha512-k8nekgqwr7FadWk548Lfph6V3r9OVqjzAIVskE7orMZR23cGJjAOVazsZSJW+ElyjfTM4wx/1g88Mi70DDtG9A==}
441 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
442 + dependencies:
443 + '@typescript-eslint/types': 8.10.0
444 + eslint-visitor-keys: 3.4.3
445 + dev: false
446 +
447 + /@ungap/structured-clone@1.2.0:
448 + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
449 + dev: false
450 +
451 + /@vercel/analytics@0.1.11(react@18.2.0):
452 + resolution: {integrity: sha512-mj5CPR02y0BRs1tN3oZcBNAX9a8NxsIUl9vElDPcqxnMfP0RbRc9fI9Ud7+QDg/1Izvt5uMumsr+6YsmVHcyuw==}
453 + peerDependencies:
454 + react: ^16.8||^17||^18
455 + dependencies:
456 + react: 18.2.0
457 + dev: false
458 +
459 + /acorn-jsx@5.3.2(acorn@8.13.0):
460 + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
461 + peerDependencies:
462 + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
463 + dependencies:
464 + acorn: 8.13.0
465 + dev: false
466 +
467 + /acorn@8.13.0:
468 + resolution: {integrity: sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==}
469 + engines: {node: '>=0.4.0'}
470 + hasBin: true
471 + dev: false
472 +
473 + /ajv@6.12.6:
474 + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
475 + dependencies:
476 + fast-deep-equal: 3.1.3
477 + fast-json-stable-stringify: 2.1.0
478 + json-schema-traverse: 0.4.1
479 + uri-js: 4.4.1
480 + dev: false
481 +
482 + /ansi-regex@5.0.1:
483 + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
484 + engines: {node: '>=8'}
485 + dev: false
486 +
487 + /ansi-regex@6.1.0:
488 + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
489 + engines: {node: '>=12'}
490 + dev: false
491 +
492 + /ansi-styles@4.3.0:
493 + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
494 + engines: {node: '>=8'}
495 + dependencies:
496 + color-convert: 2.0.1
497 + dev: false
498 +
499 + /ansi-styles@6.2.1:
500 + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
501 + engines: {node: '>=12'}
502 + dev: false
503 +
504 + /argparse@2.0.1:
505 + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
506 + dev: false
507 +
508 + /aria-query@5.1.3:
509 + resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==}
510 + dependencies:
511 + deep-equal: 2.2.3
512 + dev: false
513 +
514 + /array-buffer-byte-length@1.0.1:
515 + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
516 + engines: {node: '>= 0.4'}
517 + dependencies:
518 + call-bind: 1.0.7
519 + is-array-buffer: 3.0.4
520 + dev: false
521 +
522 + /array-includes@3.1.8:
523 + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==}
524 + engines: {node: '>= 0.4'}
525 + dependencies:
526 + call-bind: 1.0.7
527 + define-properties: 1.2.1
528 + es-abstract: 1.23.3
529 + es-object-atoms: 1.0.0
530 + get-intrinsic: 1.2.4
531 + is-string: 1.0.7
532 + dev: false
533 +
534 + /array-union@2.1.0:
535 + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
536 + engines: {node: '>=8'}
537 + dev: false
538 +
539 + /array.prototype.findlast@1.2.5:
540 + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
541 + engines: {node: '>= 0.4'}
542 + dependencies:
543 + call-bind: 1.0.7
544 + define-properties: 1.2.1
545 + es-abstract: 1.23.3
546 + es-errors: 1.3.0
547 + es-object-atoms: 1.0.0
548 + es-shim-unscopables: 1.0.2
549 + dev: false
550 +
551 + /array.prototype.findlastindex@1.2.5:
552 + resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==}
553 + engines: {node: '>= 0.4'}
554 + dependencies:
555 + call-bind: 1.0.7
556 + define-properties: 1.2.1
557 + es-abstract: 1.23.3
558 + es-errors: 1.3.0
559 + es-object-atoms: 1.0.0
560 + es-shim-unscopables: 1.0.2
561 + dev: false
562 +
563 + /array.prototype.flat@1.3.2:
564 + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
565 + engines: {node: '>= 0.4'}
566 + dependencies:
567 + call-bind: 1.0.7
568 + define-properties: 1.2.1
569 + es-abstract: 1.23.3
570 + es-shim-unscopables: 1.0.2
571 + dev: false
572 +
573 + /array.prototype.flatmap@1.3.2:
574 + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
575 + engines: {node: '>= 0.4'}
576 + dependencies:
577 + call-bind: 1.0.7
578 + define-properties: 1.2.1
579 + es-abstract: 1.23.3
580 + es-shim-unscopables: 1.0.2
581 + dev: false
582 +
583 + /array.prototype.tosorted@1.1.4:
584 + resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==}
585 + engines: {node: '>= 0.4'}
586 + dependencies:
587 + call-bind: 1.0.7
588 + define-properties: 1.2.1
589 + es-abstract: 1.23.3
590 + es-errors: 1.3.0
591 + es-shim-unscopables: 1.0.2
592 + dev: false
593 +
594 + /arraybuffer.prototype.slice@1.0.3:
595 + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
596 + engines: {node: '>= 0.4'}
597 + dependencies:
598 + array-buffer-byte-length: 1.0.1
599 + call-bind: 1.0.7
600 + define-properties: 1.2.1
601 + es-abstract: 1.23.3
602 + es-errors: 1.3.0
603 + get-intrinsic: 1.2.4
604 + is-array-buffer: 3.0.4
605 + is-shared-array-buffer: 1.0.3
606 + dev: false
607 +
608 + /ast-types-flow@0.0.8:
609 + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
610 + dev: false
611 +
612 + /asynckit@0.4.0:
613 + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
614 + dev: false
615 +
616 + /available-typed-arrays@1.0.7:
617 + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
618 + engines: {node: '>= 0.4'}
619 + dependencies:
620 + possible-typed-array-names: 1.0.0
621 + dev: false
622 +
623 + /axe-core@4.10.1:
624 + resolution: {integrity: sha512-qPC9o+kD8Tir0lzNGLeghbOrWMr3ZJpaRlCIb6Uobt/7N4FiEDvqUMnxzCHRHmg8vOg14kr5gVNyScRmbMaJ9g==}
625 + engines: {node: '>=4'}
626 + dev: false
627 +
628 + /axios@1.7.7:
629 + resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==}
630 + dependencies:
631 + follow-redirects: 1.15.9
632 + form-data: 4.0.1
633 + proxy-from-env: 1.1.0
634 + transitivePeerDependencies:
635 + - debug
636 + dev: false
637 +
638 + /axobject-query@4.1.0:
639 + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
640 + engines: {node: '>= 0.4'}
641 + dev: false
642 +
643 + /balanced-match@1.0.2:
644 + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
645 + dev: false
646 +
647 + /brace-expansion@1.1.11:
648 + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
649 + dependencies:
650 + balanced-match: 1.0.2
651 + concat-map: 0.0.1
652 + dev: false
653 +
654 + /brace-expansion@2.0.1:
655 + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
656 + dependencies:
657 + balanced-match: 1.0.2
658 + dev: false
659 +
660 + /braces@3.0.3:
661 + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
662 + engines: {node: '>=8'}
663 + dependencies:
664 + fill-range: 7.1.1
665 + dev: false
666 +
667 + /busboy@1.6.0:
668 + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
669 + engines: {node: '>=10.16.0'}
670 + dependencies:
671 + streamsearch: 1.1.0
672 + dev: false
673 +
674 + /call-bind@1.0.7:
675 + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
676 + engines: {node: '>= 0.4'}
677 + dependencies:
678 + es-define-property: 1.0.0
679 + es-errors: 1.3.0
680 + function-bind: 1.1.2
681 + get-intrinsic: 1.2.4
682 + set-function-length: 1.2.2
683 + dev: false
684 +
685 + /callsites@3.1.0:
686 + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
687 + engines: {node: '>=6'}
688 + dev: false
689 +
690 + /caniuse-lite@1.0.30001669:
691 + resolution: {integrity: sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==}
692 + dev: false
693 +
694 + /chalk@4.1.2:
695 + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
696 + engines: {node: '>=10'}
697 + dependencies:
698 + ansi-styles: 4.3.0
699 + supports-color: 7.2.0
700 + dev: false
701 +
702 + /client-only@0.0.1:
703 + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
704 + dev: false
705 +
706 + /color-convert@2.0.1:
707 + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
708 + engines: {node: '>=7.0.0'}
709 + dependencies:
710 + color-name: 1.1.4
711 + dev: false
712 +
713 + /color-name@1.1.4:
714 + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
715 + dev: false
716 +
717 + /combined-stream@1.0.8:
718 + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
719 + engines: {node: '>= 0.8'}
720 + dependencies:
721 + delayed-stream: 1.0.0
722 + dev: false
723 +
724 + /concat-map@0.0.1:
725 + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
726 + dev: false
727 +
728 + /cross-spawn@7.0.3:
729 + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
730 + engines: {node: '>= 8'}
731 + dependencies:
732 + path-key: 3.1.1
733 + shebang-command: 2.0.0
734 + which: 2.0.2
735 + dev: false
736 +
737 + /csstype@3.1.3:
738 + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
739 + dev: true
740 +
741 + /damerau-levenshtein@1.0.8:
742 + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
743 + dev: false
744 +
745 + /data-view-buffer@1.0.1:
746 + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
747 + engines: {node: '>= 0.4'}
748 + dependencies:
749 + call-bind: 1.0.7
750 + es-errors: 1.3.0
751 + is-data-view: 1.0.1
752 + dev: false
753 +
754 + /data-view-byte-length@1.0.1:
755 + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
756 + engines: {node: '>= 0.4'}
757 + dependencies:
758 + call-bind: 1.0.7
759 + es-errors: 1.3.0
760 + is-data-view: 1.0.1
761 + dev: false
762 +
763 + /data-view-byte-offset@1.0.0:
764 + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
765 + engines: {node: '>= 0.4'}
766 + dependencies:
767 + call-bind: 1.0.7
768 + es-errors: 1.3.0
769 + is-data-view: 1.0.1
770 + dev: false
771 +
772 + /debug@3.2.7:
773 + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
774 + peerDependencies:
775 + supports-color: '*'
776 + peerDependenciesMeta:
777 + supports-color:
778 + optional: true
779 + dependencies:
780 + ms: 2.1.3
781 + dev: false
782 +
783 + /debug@4.3.7:
784 + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
785 + engines: {node: '>=6.0'}
786 + peerDependencies:
787 + supports-color: '*'
788 + peerDependenciesMeta:
789 + supports-color:
790 + optional: true
791 + dependencies:
792 + ms: 2.1.3
793 + dev: false
794 +
795 + /deep-equal@2.2.3:
796 + resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==}
797 + engines: {node: '>= 0.4'}
798 + dependencies:
799 + array-buffer-byte-length: 1.0.1
800 + call-bind: 1.0.7
801 + es-get-iterator: 1.1.3
802 + get-intrinsic: 1.2.4
803 + is-arguments: 1.1.1
804 + is-array-buffer: 3.0.4
805 + is-date-object: 1.0.5
806 + is-regex: 1.1.4
807 + is-shared-array-buffer: 1.0.3
808 + isarray: 2.0.5
809 + object-is: 1.1.6
810 + object-keys: 1.1.1
811 + object.assign: 4.1.5
812 + regexp.prototype.flags: 1.5.3
813 + side-channel: 1.0.6
814 + which-boxed-primitive: 1.0.2
815 + which-collection: 1.0.2
816 + which-typed-array: 1.1.15
817 + dev: false
818 +
819 + /deep-is@0.1.4:
820 + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
821 + dev: false
822 +
823 + /define-data-property@1.1.4:
824 + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
825 + engines: {node: '>= 0.4'}
826 + dependencies:
827 + es-define-property: 1.0.0
828 + es-errors: 1.3.0
829 + gopd: 1.0.1
830 + dev: false
831 +
832 + /define-properties@1.2.1:
833 + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
834 + engines: {node: '>= 0.4'}
835 + dependencies:
836 + define-data-property: 1.1.4
837 + has-property-descriptors: 1.0.2
838 + object-keys: 1.1.1
839 + dev: false
840 +
841 + /delayed-stream@1.0.0:
842 + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
843 + engines: {node: '>=0.4.0'}
844 + dev: false
845 +
846 + /dir-glob@3.0.1:
847 + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
848 + engines: {node: '>=8'}
849 + dependencies:
850 + path-type: 4.0.0
851 + dev: false
852 +
853 + /doctrine@2.1.0:
854 + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
855 + engines: {node: '>=0.10.0'}
856 + dependencies:
857 + esutils: 2.0.3
858 + dev: false
859 +
860 + /doctrine@3.0.0:
861 + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
862 + engines: {node: '>=6.0.0'}
863 + dependencies:
864 + esutils: 2.0.3
865 + dev: false
866 +
867 + /eastasianwidth@0.2.0:
868 + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
869 + dev: false
870 +
871 + /emoji-regex@8.0.0:
872 + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
873 + dev: false
874 +
875 + /emoji-regex@9.2.2:
876 + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
877 + dev: false
878 +
879 + /enhanced-resolve@5.17.1:
880 + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==}
881 + engines: {node: '>=10.13.0'}
882 + dependencies:
883 + graceful-fs: 4.2.11
884 + tapable: 2.2.1
885 + dev: false
886 +
887 + /es-abstract@1.23.3:
888 + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
889 + engines: {node: '>= 0.4'}
890 + dependencies:
891 + array-buffer-byte-length: 1.0.1
892 + arraybuffer.prototype.slice: 1.0.3
893 + available-typed-arrays: 1.0.7
894 + call-bind: 1.0.7
895 + data-view-buffer: 1.0.1
896 + data-view-byte-length: 1.0.1
897 + data-view-byte-offset: 1.0.0
898 + es-define-property: 1.0.0
899 + es-errors: 1.3.0
900 + es-object-atoms: 1.0.0
901 + es-set-tostringtag: 2.0.3
902 + es-to-primitive: 1.2.1
903 + function.prototype.name: 1.1.6
904 + get-intrinsic: 1.2.4
905 + get-symbol-description: 1.0.2
906 + globalthis: 1.0.4
907 + gopd: 1.0.1
908 + has-property-descriptors: 1.0.2
909 + has-proto: 1.0.3
910 + has-symbols: 1.0.3
911 + hasown: 2.0.2
912 + internal-slot: 1.0.7
913 + is-array-buffer: 3.0.4
914 + is-callable: 1.2.7
915 + is-data-view: 1.0.1
916 + is-negative-zero: 2.0.3
917 + is-regex: 1.1.4
918 + is-shared-array-buffer: 1.0.3
919 + is-string: 1.0.7
920 + is-typed-array: 1.1.13
921 + is-weakref: 1.0.2
922 + object-inspect: 1.13.2
923 + object-keys: 1.1.1
924 + object.assign: 4.1.5
925 + regexp.prototype.flags: 1.5.3
926 + safe-array-concat: 1.1.2
927 + safe-regex-test: 1.0.3
928 + string.prototype.trim: 1.2.9
929 + string.prototype.trimend: 1.0.8
930 + string.prototype.trimstart: 1.0.8
931 + typed-array-buffer: 1.0.2
932 + typed-array-byte-length: 1.0.1
933 + typed-array-byte-offset: 1.0.2
934 + typed-array-length: 1.0.6
935 + unbox-primitive: 1.0.2
936 + which-typed-array: 1.1.15
937 + dev: false
938 +
939 + /es-define-property@1.0.0:
940 + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
941 + engines: {node: '>= 0.4'}
942 + dependencies:
943 + get-intrinsic: 1.2.4
944 + dev: false
945 +
946 + /es-errors@1.3.0:
947 + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
948 + engines: {node: '>= 0.4'}
949 + dev: false
950 +
951 + /es-get-iterator@1.1.3:
952 + resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==}
953 + dependencies:
954 + call-bind: 1.0.7
955 + get-intrinsic: 1.2.4
956 + has-symbols: 1.0.3
957 + is-arguments: 1.1.1
958 + is-map: 2.0.3
959 + is-set: 2.0.3
960 + is-string: 1.0.7
961 + isarray: 2.0.5
962 + stop-iteration-iterator: 1.0.0
963 + dev: false
964 +
965 + /es-iterator-helpers@1.1.0:
966 + resolution: {integrity: sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw==}
967 + engines: {node: '>= 0.4'}
968 + dependencies:
969 + call-bind: 1.0.7
970 + define-properties: 1.2.1
971 + es-abstract: 1.23.3
972 + es-errors: 1.3.0
973 + es-set-tostringtag: 2.0.3
974 + function-bind: 1.1.2
975 + get-intrinsic: 1.2.4
976 + globalthis: 1.0.4
977 + has-property-descriptors: 1.0.2
978 + has-proto: 1.0.3
979 + has-symbols: 1.0.3
980 + internal-slot: 1.0.7
981 + iterator.prototype: 1.1.3
982 + safe-array-concat: 1.1.2
983 + dev: false
984 +
985 + /es-object-atoms@1.0.0:
986 + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
987 + engines: {node: '>= 0.4'}
988 + dependencies:
989 + es-errors: 1.3.0
990 + dev: false
991 +
992 + /es-set-tostringtag@2.0.3:
993 + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
994 + engines: {node: '>= 0.4'}
995 + dependencies:
996 + get-intrinsic: 1.2.4
997 + has-tostringtag: 1.0.2
998 + hasown: 2.0.2
999 + dev: false
1000 +
1001 + /es-shim-unscopables@1.0.2:
1002 + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
1003 + dependencies:
1004 + hasown: 2.0.2
1005 + dev: false
1006 +
1007 + /es-to-primitive@1.2.1:
1008 + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
1009 + engines: {node: '>= 0.4'}
1010 + dependencies:
1011 + is-callable: 1.2.7
1012 + is-date-object: 1.0.5
1013 + is-symbol: 1.0.4
1014 + dev: false
1015 +
1016 + /escape-string-regexp@4.0.0:
1017 + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
1018 + engines: {node: '>=10'}
1019 + dev: false
1020 +
1021 + /eslint-config-next@14.2.15(eslint@8.57.1)(typescript@5.6.3):
1022 + resolution: {integrity: sha512-mKg+NC/8a4JKLZRIOBplxXNdStgxy7lzWuedUaCc8tev+Al9mwDUTujQH6W6qXDH9kycWiVo28tADWGvpBsZcQ==}
1023 + peerDependencies:
1024 + eslint: ^7.23.0 || ^8.0.0
1025 + typescript: '>=3.3.1'
1026 + peerDependenciesMeta:
1027 + typescript:
1028 + optional: true
1029 + dependencies:
1030 + '@next/eslint-plugin-next': 14.2.15
1031 + '@rushstack/eslint-patch': 1.10.4
1032 + '@typescript-eslint/eslint-plugin': 8.10.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.1)(typescript@5.6.3)
1033 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.3)
1034 + eslint: 8.57.1
1035 + eslint-import-resolver-node: 0.3.9
1036 + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1)
1037 + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
1038 + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1)
1039 + eslint-plugin-react: 7.37.1(eslint@8.57.1)
1040 + eslint-plugin-react-hooks: 5.0.0-canary-7118f5dd7-20230705(eslint@8.57.1)
1041 + typescript: 5.6.3
1042 + transitivePeerDependencies:
1043 + - eslint-import-resolver-webpack
1044 + - eslint-plugin-import-x
1045 + - supports-color
1046 + dev: false
1047 +
1048 + /eslint-import-resolver-node@0.3.9:
1049 + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
1050 + dependencies:
1051 + debug: 3.2.7
1052 + is-core-module: 2.15.1
1053 + resolve: 1.22.8
1054 + transitivePeerDependencies:
1055 + - supports-color
1056 + dev: false
1057 +
1058 + /eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1):
1059 + resolution: {integrity: sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==}
1060 + engines: {node: ^14.18.0 || >=16.0.0}
1061 + peerDependencies:
1062 + eslint: '*'
1063 + eslint-plugin-import: '*'
1064 + eslint-plugin-import-x: '*'
1065 + peerDependenciesMeta:
1066 + eslint-plugin-import:
1067 + optional: true
1068 + eslint-plugin-import-x:
1069 + optional: true
1070 + dependencies:
1071 + '@nolyfill/is-core-module': 1.0.39
1072 + debug: 4.3.7
1073 + enhanced-resolve: 5.17.1
1074 + eslint: 8.57.1
1075 + eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
1076 + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
1077 + fast-glob: 3.3.2
1078 + get-tsconfig: 4.8.1
1079 + is-bun-module: 1.2.1
1080 + is-glob: 4.0.3
1081 + transitivePeerDependencies:
1082 + - '@typescript-eslint/parser'
1083 + - eslint-import-resolver-node
1084 + - eslint-import-resolver-webpack
1085 + - supports-color
1086 + dev: false
1087 +
1088 + /eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1):
1089 + resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==}
1090 + engines: {node: '>=4'}
1091 + peerDependencies:
1092 + '@typescript-eslint/parser': '*'
1093 + eslint: '*'
1094 + eslint-import-resolver-node: '*'
1095 + eslint-import-resolver-typescript: '*'
1096 + eslint-import-resolver-webpack: '*'
1097 + peerDependenciesMeta:
1098 + '@typescript-eslint/parser':
1099 + optional: true
1100 + eslint:
1101 + optional: true
1102 + eslint-import-resolver-node:
1103 + optional: true
1104 + eslint-import-resolver-typescript:
1105 + optional: true
1106 + eslint-import-resolver-webpack:
1107 + optional: true
1108 + dependencies:
1109 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.3)
1110 + debug: 3.2.7
1111 + eslint: 8.57.1
1112 + eslint-import-resolver-node: 0.3.9
1113 + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1)
1114 + transitivePeerDependencies:
1115 + - supports-color
1116 + dev: false
1117 +
1118 + /eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1):
1119 + resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==}
1120 + engines: {node: '>=4'}
1121 + peerDependencies:
1122 + '@typescript-eslint/parser': '*'
1123 + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9
1124 + peerDependenciesMeta:
1125 + '@typescript-eslint/parser':
1126 + optional: true
1127 + dependencies:
1128 + '@rtsao/scc': 1.1.0
1129 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.3)
1130 + array-includes: 3.1.8
1131 + array.prototype.findlastindex: 1.2.5
1132 + array.prototype.flat: 1.3.2
1133 + array.prototype.flatmap: 1.3.2
1134 + debug: 3.2.7
1135 + doctrine: 2.1.0
1136 + eslint: 8.57.1
1137 + eslint-import-resolver-node: 0.3.9
1138 + eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
1139 + hasown: 2.0.2
1140 + is-core-module: 2.15.1
1141 + is-glob: 4.0.3
1142 + minimatch: 3.1.2
1143 + object.fromentries: 2.0.8
1144 + object.groupby: 1.0.3
1145 + object.values: 1.2.0
1146 + semver: 6.3.1
1147 + string.prototype.trimend: 1.0.8
1148 + tsconfig-paths: 3.15.0
1149 + transitivePeerDependencies:
1150 + - eslint-import-resolver-typescript
1151 + - eslint-import-resolver-webpack
1152 + - supports-color
1153 + dev: false
1154 +
1155 + /eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1):
1156 + resolution: {integrity: sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==}
1157 + engines: {node: '>=4.0'}
1158 + peerDependencies:
1159 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9
1160 + dependencies:
1161 + aria-query: 5.1.3
1162 + array-includes: 3.1.8
1163 + array.prototype.flatmap: 1.3.2
1164 + ast-types-flow: 0.0.8
1165 + axe-core: 4.10.1
1166 + axobject-query: 4.1.0
1167 + damerau-levenshtein: 1.0.8
1168 + emoji-regex: 9.2.2
1169 + es-iterator-helpers: 1.1.0
1170 + eslint: 8.57.1
1171 + hasown: 2.0.2
1172 + jsx-ast-utils: 3.3.5
1173 + language-tags: 1.0.9
1174 + minimatch: 3.1.2
1175 + object.fromentries: 2.0.8
1176 + safe-regex-test: 1.0.3
1177 + string.prototype.includes: 2.0.1
1178 + dev: false
1179 +
1180 + /eslint-plugin-react-hooks@5.0.0-canary-7118f5dd7-20230705(eslint@8.57.1):
1181 + resolution: {integrity: sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==}
1182 + engines: {node: '>=10'}
1183 + peerDependencies:
1184 + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
1185 + dependencies:
1186 + eslint: 8.57.1
1187 + dev: false
1188 +
1189 + /eslint-plugin-react@7.37.1(eslint@8.57.1):
1190 + resolution: {integrity: sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg==}
1191 + engines: {node: '>=4'}
1192 + peerDependencies:
1193 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
1194 + dependencies:
1195 + array-includes: 3.1.8
1196 + array.prototype.findlast: 1.2.5
1197 + array.prototype.flatmap: 1.3.2
1198 + array.prototype.tosorted: 1.1.4
1199 + doctrine: 2.1.0
1200 + es-iterator-helpers: 1.1.0
1201 + eslint: 8.57.1
1202 + estraverse: 5.3.0
1203 + hasown: 2.0.2
1204 + jsx-ast-utils: 3.3.5
1205 + minimatch: 3.1.2
1206 + object.entries: 1.1.8
1207 + object.fromentries: 2.0.8
1208 + object.values: 1.2.0
1209 + prop-types: 15.8.1
1210 + resolve: 2.0.0-next.5
1211 + semver: 6.3.1
1212 + string.prototype.matchall: 4.0.11
1213 + string.prototype.repeat: 1.0.0
1214 + dev: false
1215 +
1216 + /eslint-scope@7.2.2:
1217 + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
1218 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1219 + dependencies:
1220 + esrecurse: 4.3.0
1221 + estraverse: 5.3.0
1222 + dev: false
1223 +
1224 + /eslint-visitor-keys@3.4.3:
1225 + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
1226 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1227 + dev: false
1228 +
1229 + /eslint@8.57.1:
1230 + resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==}
1231 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1232 + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
1233 + hasBin: true
1234 + dependencies:
1235 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1)
1236 + '@eslint-community/regexpp': 4.11.1
1237 + '@eslint/eslintrc': 2.1.4
1238 + '@eslint/js': 8.57.1
1239 + '@humanwhocodes/config-array': 0.13.0
1240 + '@humanwhocodes/module-importer': 1.0.1
1241 + '@nodelib/fs.walk': 1.2.8
1242 + '@ungap/structured-clone': 1.2.0
1243 + ajv: 6.12.6
1244 + chalk: 4.1.2
1245 + cross-spawn: 7.0.3
1246 + debug: 4.3.7
1247 + doctrine: 3.0.0
1248 + escape-string-regexp: 4.0.0
1249 + eslint-scope: 7.2.2
1250 + eslint-visitor-keys: 3.4.3
1251 + espree: 9.6.1
1252 + esquery: 1.6.0
1253 + esutils: 2.0.3
1254 + fast-deep-equal: 3.1.3
1255 + file-entry-cache: 6.0.1
1256 + find-up: 5.0.0
1257 + glob-parent: 6.0.2
1258 + globals: 13.24.0
1259 + graphemer: 1.4.0
1260 + ignore: 5.3.2
1261 + imurmurhash: 0.1.4
1262 + is-glob: 4.0.3
1263 + is-path-inside: 3.0.3
1264 + js-yaml: 4.1.0
1265 + json-stable-stringify-without-jsonify: 1.0.1
1266 + levn: 0.4.1
1267 + lodash.merge: 4.6.2
1268 + minimatch: 3.1.2
1269 + natural-compare: 1.4.0
1270 + optionator: 0.9.4
1271 + strip-ansi: 6.0.1
1272 + text-table: 0.2.0
1273 + transitivePeerDependencies:
1274 + - supports-color
1275 + dev: false
1276 +
1277 + /espree@9.6.1:
1278 + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
1279 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1280 + dependencies:
1281 + acorn: 8.13.0
1282 + acorn-jsx: 5.3.2(acorn@8.13.0)
1283 + eslint-visitor-keys: 3.4.3
1284 + dev: false
1285 +
1286 + /esquery@1.6.0:
1287 + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
1288 + engines: {node: '>=0.10'}
1289 + dependencies:
1290 + estraverse: 5.3.0
1291 + dev: false
1292 +
1293 + /esrecurse@4.3.0:
1294 + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
1295 + engines: {node: '>=4.0'}
1296 + dependencies:
1297 + estraverse: 5.3.0
1298 + dev: false
1299 +
1300 + /estraverse@5.3.0:
1301 + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
1302 + engines: {node: '>=4.0'}
1303 + dev: false
1304 +
1305 + /esutils@2.0.3:
1306 + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1307 + engines: {node: '>=0.10.0'}
1308 + dev: false
1309 +
1310 + /fast-deep-equal@3.1.3:
1311 + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1312 + dev: false
1313 +
1314 + /fast-glob@3.3.2:
1315 + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
1316 + engines: {node: '>=8.6.0'}
1317 + dependencies:
1318 + '@nodelib/fs.stat': 2.0.5
1319 + '@nodelib/fs.walk': 1.2.8
1320 + glob-parent: 5.1.2
1321 + merge2: 1.4.1
1322 + micromatch: 4.0.8
1323 + dev: false
1324 +
1325 + /fast-json-stable-stringify@2.1.0:
1326 + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1327 + dev: false
1328 +
1329 + /fast-levenshtein@2.0.6:
1330 + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
1331 + dev: false
1332 +
1333 + /fastq@1.17.1:
1334 + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
1335 + dependencies:
1336 + reusify: 1.0.4
1337 + dev: false
1338 +
1339 + /file-entry-cache@6.0.1:
1340 + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
1341 + engines: {node: ^10.12.0 || >=12.0.0}
1342 + dependencies:
1343 + flat-cache: 3.2.0
1344 + dev: false
1345 +
1346 + /fill-range@7.1.1:
1347 + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
1348 + engines: {node: '>=8'}
1349 + dependencies:
1350 + to-regex-range: 5.0.1
1351 + dev: false
1352 +
1353 + /find-up@5.0.0:
1354 + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1355 + engines: {node: '>=10'}
1356 + dependencies:
1357 + locate-path: 6.0.0
1358 + path-exists: 4.0.0
1359 + dev: false
1360 +
1361 + /flat-cache@3.2.0:
1362 + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
1363 + engines: {node: ^10.12.0 || >=12.0.0}
1364 + dependencies:
1365 + flatted: 3.3.1
1366 + keyv: 4.5.4
1367 + rimraf: 3.0.2
1368 + dev: false
1369 +
1370 + /flatted@3.3.1:
1371 + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
1372 + dev: false
1373 +
1374 + /follow-redirects@1.15.9:
1375 + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==}
1376 + engines: {node: '>=4.0'}
1377 + peerDependencies:
1378 + debug: '*'
1379 + peerDependenciesMeta:
1380 + debug:
1381 + optional: true
1382 + dev: false
1383 +
1384 + /for-each@0.3.3:
1385 + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
1386 + dependencies:
1387 + is-callable: 1.2.7
1388 + dev: false
1389 +
1390 + /foreground-child@3.3.0:
1391 + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
1392 + engines: {node: '>=14'}
1393 + dependencies:
1394 + cross-spawn: 7.0.3
1395 + signal-exit: 4.1.0
1396 + dev: false
1397 +
1398 + /form-data@4.0.1:
1399 + resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==}
1400 + engines: {node: '>= 6'}
1401 + dependencies:
1402 + asynckit: 0.4.0
1403 + combined-stream: 1.0.8
1404 + mime-types: 2.1.35
1405 + dev: false
1406 +
1407 + /fs.realpath@1.0.0:
1408 + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1409 + dev: false
1410 +
1411 + /function-bind@1.1.2:
1412 + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
1413 + dev: false
1414 +
1415 + /function.prototype.name@1.1.6:
1416 + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
1417 + engines: {node: '>= 0.4'}
1418 + dependencies:
1419 + call-bind: 1.0.7
1420 + define-properties: 1.2.1
1421 + es-abstract: 1.23.3
1422 + functions-have-names: 1.2.3
1423 + dev: false
1424 +
1425 + /functions-have-names@1.2.3:
1426 + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
1427 + dev: false
1428 +
1429 + /get-intrinsic@1.2.4:
1430 + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
1431 + engines: {node: '>= 0.4'}
1432 + dependencies:
1433 + es-errors: 1.3.0
1434 + function-bind: 1.1.2
1435 + has-proto: 1.0.3
1436 + has-symbols: 1.0.3
1437 + hasown: 2.0.2
1438 + dev: false
1439 +
1440 + /get-symbol-description@1.0.2:
1441 + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
1442 + engines: {node: '>= 0.4'}
1443 + dependencies:
1444 + call-bind: 1.0.7
1445 + es-errors: 1.3.0
1446 + get-intrinsic: 1.2.4
1447 + dev: false
1448 +
1449 + /get-tsconfig@4.8.1:
1450 + resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==}
1451 + dependencies:
1452 + resolve-pkg-maps: 1.0.0
1453 + dev: false
1454 +
1455 + /glob-parent@5.1.2:
1456 + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1457 + engines: {node: '>= 6'}
1458 + dependencies:
1459 + is-glob: 4.0.3
1460 + dev: false
1461 +
1462 + /glob-parent@6.0.2:
1463 + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1464 + engines: {node: '>=10.13.0'}
1465 + dependencies:
1466 + is-glob: 4.0.3
1467 + dev: false
1468 +
1469 + /glob@10.3.10:
1470 + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==}
1471 + engines: {node: '>=16 || 14 >=14.17'}
1472 + hasBin: true
1473 + dependencies:
1474 + foreground-child: 3.3.0
1475 + jackspeak: 2.3.6
1476 + minimatch: 9.0.3
1477 + minipass: 7.1.2
1478 + path-scurry: 1.11.1
1479 + dev: false
1480 +
1481 + /glob@7.2.3:
1482 + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1483 + deprecated: Glob versions prior to v9 are no longer supported
1484 + dependencies:
1485 + fs.realpath: 1.0.0
1486 + inflight: 1.0.6
1487 + inherits: 2.0.4
1488 + minimatch: 3.1.2
1489 + once: 1.4.0
1490 + path-is-absolute: 1.0.1
1491 + dev: false
1492 +
1493 + /globals@13.24.0:
1494 + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
1495 + engines: {node: '>=8'}
1496 + dependencies:
1497 + type-fest: 0.20.2
1498 + dev: false
1499 +
1500 + /globalthis@1.0.4:
1501 + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
1502 + engines: {node: '>= 0.4'}
1503 + dependencies:
1504 + define-properties: 1.2.1
1505 + gopd: 1.0.1
1506 + dev: false
1507 +
1508 + /globby@11.1.0:
1509 + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
1510 + engines: {node: '>=10'}
1511 + dependencies:
1512 + array-union: 2.1.0
1513 + dir-glob: 3.0.1
1514 + fast-glob: 3.3.2
1515 + ignore: 5.3.2
1516 + merge2: 1.4.1
1517 + slash: 3.0.0
1518 + dev: false
1519 +
1520 + /gopd@1.0.1:
1521 + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
1522 + dependencies:
1523 + get-intrinsic: 1.2.4
1524 + dev: false
1525 +
1526 + /graceful-fs@4.2.11:
1527 + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
1528 + dev: false
1529 +
1530 + /graphemer@1.4.0:
1531 + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
1532 + dev: false
1533 +
1534 + /has-bigints@1.0.2:
1535 + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
1536 + dev: false
1537 +
1538 + /has-flag@4.0.0:
1539 + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1540 + engines: {node: '>=8'}
1541 + dev: false
1542 +
1543 + /has-property-descriptors@1.0.2:
1544 + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
1545 + dependencies:
1546 + es-define-property: 1.0.0
1547 + dev: false
1548 +
1549 + /has-proto@1.0.3:
1550 + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
1551 + engines: {node: '>= 0.4'}
1552 + dev: false
1553 +
1554 + /has-symbols@1.0.3:
1555 + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
1556 + engines: {node: '>= 0.4'}
1557 + dev: false
1558 +
1559 + /has-tostringtag@1.0.2:
1560 + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
1561 + engines: {node: '>= 0.4'}
1562 + dependencies:
1563 + has-symbols: 1.0.3
1564 + dev: false
1565 +
1566 + /hasown@2.0.2:
1567 + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
1568 + engines: {node: '>= 0.4'}
1569 + dependencies:
1570 + function-bind: 1.1.2
1571 + dev: false
1572 +
1573 + /ignore@5.3.2:
1574 + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
1575 + engines: {node: '>= 4'}
1576 + dev: false
1577 +
1578 + /import-fresh@3.3.0:
1579 + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1580 + engines: {node: '>=6'}
1581 + dependencies:
1582 + parent-module: 1.0.1
1583 + resolve-from: 4.0.0
1584 + dev: false
1585 +
1586 + /imurmurhash@0.1.4:
1587 + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
1588 + engines: {node: '>=0.8.19'}
1589 + dev: false
1590 +
1591 + /inflight@1.0.6:
1592 + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1593 + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
1594 + dependencies:
1595 + once: 1.4.0
1596 + wrappy: 1.0.2
1597 + dev: false
1598 +
1599 + /inherits@2.0.4:
1600 + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1601 + dev: false
1602 +
1603 + /internal-slot@1.0.7:
1604 + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
1605 + engines: {node: '>= 0.4'}
1606 + dependencies:
1607 + es-errors: 1.3.0
1608 + hasown: 2.0.2
1609 + side-channel: 1.0.6
1610 + dev: false
1611 +
1612 + /is-arguments@1.1.1:
1613 + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==}
1614 + engines: {node: '>= 0.4'}
1615 + dependencies:
1616 + call-bind: 1.0.7
1617 + has-tostringtag: 1.0.2
1618 + dev: false
1619 +
1620 + /is-array-buffer@3.0.4:
1621 + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
1622 + engines: {node: '>= 0.4'}
1623 + dependencies:
1624 + call-bind: 1.0.7
1625 + get-intrinsic: 1.2.4
1626 + dev: false
1627 +
1628 + /is-async-function@2.0.0:
1629 + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
1630 + engines: {node: '>= 0.4'}
1631 + dependencies:
1632 + has-tostringtag: 1.0.2
1633 + dev: false
1634 +
1635 + /is-bigint@1.0.4:
1636 + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
1637 + dependencies:
1638 + has-bigints: 1.0.2
1639 + dev: false
1640 +
1641 + /is-boolean-object@1.1.2:
1642 + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
1643 + engines: {node: '>= 0.4'}
1644 + dependencies:
1645 + call-bind: 1.0.7
1646 + has-tostringtag: 1.0.2
1647 + dev: false
1648 +
1649 + /is-bun-module@1.2.1:
1650 + resolution: {integrity: sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q==}
1651 + dependencies:
1652 + semver: 7.6.3
1653 + dev: false
1654 +
1655 + /is-callable@1.2.7:
1656 + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
1657 + engines: {node: '>= 0.4'}
1658 + dev: false
1659 +
1660 + /is-core-module@2.15.1:
1661 + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==}
1662 + engines: {node: '>= 0.4'}
1663 + dependencies:
1664 + hasown: 2.0.2
1665 + dev: false
1666 +
1667 + /is-data-view@1.0.1:
1668 + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
1669 + engines: {node: '>= 0.4'}
1670 + dependencies:
1671 + is-typed-array: 1.1.13
1672 + dev: false
1673 +
1674 + /is-date-object@1.0.5:
1675 + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
1676 + engines: {node: '>= 0.4'}
1677 + dependencies:
1678 + has-tostringtag: 1.0.2
1679 + dev: false
1680 +
1681 + /is-extglob@2.1.1:
1682 + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1683 + engines: {node: '>=0.10.0'}
1684 + dev: false
1685 +
1686 + /is-finalizationregistry@1.0.2:
1687 + resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==}
1688 + dependencies:
1689 + call-bind: 1.0.7
1690 + dev: false
1691 +
1692 + /is-fullwidth-code-point@3.0.0:
1693 + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
1694 + engines: {node: '>=8'}
1695 + dev: false
1696 +
1697 + /is-generator-function@1.0.10:
1698 + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
1699 + engines: {node: '>= 0.4'}
1700 + dependencies:
1701 + has-tostringtag: 1.0.2
1702 + dev: false
1703 +
1704 + /is-glob@4.0.3:
1705 + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1706 + engines: {node: '>=0.10.0'}
1707 + dependencies:
1708 + is-extglob: 2.1.1
1709 + dev: false
1710 +
1711 + /is-map@2.0.3:
1712 + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
1713 + engines: {node: '>= 0.4'}
1714 + dev: false
1715 +
1716 + /is-negative-zero@2.0.3:
1717 + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
1718 + engines: {node: '>= 0.4'}
1719 + dev: false
1720 +
1721 + /is-number-object@1.0.7:
1722 + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
1723 + engines: {node: '>= 0.4'}
1724 + dependencies:
1725 + has-tostringtag: 1.0.2
1726 + dev: false
1727 +
1728 + /is-number@7.0.0:
1729 + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1730 + engines: {node: '>=0.12.0'}
1731 + dev: false
1732 +
1733 + /is-path-inside@3.0.3:
1734 + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
1735 + engines: {node: '>=8'}
1736 + dev: false
1737 +
1738 + /is-regex@1.1.4:
1739 + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
1740 + engines: {node: '>= 0.4'}
1741 + dependencies:
1742 + call-bind: 1.0.7
1743 + has-tostringtag: 1.0.2
1744 + dev: false
1745 +
1746 + /is-set@2.0.3:
1747 + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
1748 + engines: {node: '>= 0.4'}
1749 + dev: false
1750 +
1751 + /is-shared-array-buffer@1.0.3:
1752 + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
1753 + engines: {node: '>= 0.4'}
1754 + dependencies:
1755 + call-bind: 1.0.7
1756 + dev: false
1757 +
1758 + /is-string@1.0.7:
1759 + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
1760 + engines: {node: '>= 0.4'}
1761 + dependencies:
1762 + has-tostringtag: 1.0.2
1763 + dev: false
1764 +
1765 + /is-symbol@1.0.4:
1766 + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
1767 + engines: {node: '>= 0.4'}
1768 + dependencies:
1769 + has-symbols: 1.0.3
1770 + dev: false
1771 +
1772 + /is-typed-array@1.1.13:
1773 + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
1774 + engines: {node: '>= 0.4'}
1775 + dependencies:
1776 + which-typed-array: 1.1.15
1777 + dev: false
1778 +
1779 + /is-weakmap@2.0.2:
1780 + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
1781 + engines: {node: '>= 0.4'}
1782 + dev: false
1783 +
1784 + /is-weakref@1.0.2:
1785 + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
1786 + dependencies:
1787 + call-bind: 1.0.7
1788 + dev: false
1789 +
1790 + /is-weakset@2.0.3:
1791 + resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==}
1792 + engines: {node: '>= 0.4'}
1793 + dependencies:
1794 + call-bind: 1.0.7
1795 + get-intrinsic: 1.2.4
1796 + dev: false
1797 +
1798 + /isarray@2.0.5:
1799 + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
1800 + dev: false
1801 +
1802 + /isexe@2.0.0:
1803 + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1804 + dev: false
1805 +
1806 + /iterator.prototype@1.1.3:
1807 + resolution: {integrity: sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==}
1808 + engines: {node: '>= 0.4'}
1809 + dependencies:
1810 + define-properties: 1.2.1
1811 + get-intrinsic: 1.2.4
1812 + has-symbols: 1.0.3
1813 + reflect.getprototypeof: 1.0.6
1814 + set-function-name: 2.0.2
1815 + dev: false
1816 +
1817 + /jackspeak@2.3.6:
1818 + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
1819 + engines: {node: '>=14'}
1820 + dependencies:
1821 + '@isaacs/cliui': 8.0.2
1822 + optionalDependencies:
1823 + '@pkgjs/parseargs': 0.11.0
1824 + dev: false
1825 +
1826 + /js-tokens@4.0.0:
1827 + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1828 + dev: false
1829 +
1830 + /js-yaml@4.1.0:
1831 + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1832 + hasBin: true
1833 + dependencies:
1834 + argparse: 2.0.1
1835 + dev: false
1836 +
1837 + /json-buffer@3.0.1:
1838 + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
1839 + dev: false
1840 +
1841 + /json-schema-traverse@0.4.1:
1842 + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1843 + dev: false
1844 +
1845 + /json-stable-stringify-without-jsonify@1.0.1:
1846 + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
1847 + dev: false
1848 +
1849 + /json5@1.0.2:
1850 + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
1851 + hasBin: true
1852 + dependencies:
1853 + minimist: 1.2.8
1854 + dev: false
1855 +
1856 + /jsx-ast-utils@3.3.5:
1857 + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
1858 + engines: {node: '>=4.0'}
1859 + dependencies:
1860 + array-includes: 3.1.8
1861 + array.prototype.flat: 1.3.2
1862 + object.assign: 4.1.5
1863 + object.values: 1.2.0
1864 + dev: false
1865 +
1866 + /keyv@4.5.4:
1867 + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
1868 + dependencies:
1869 + json-buffer: 3.0.1
1870 + dev: false
1871 +
1872 + /language-subtag-registry@0.3.23:
1873 + resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==}
1874 + dev: false
1875 +
1876 + /language-tags@1.0.9:
1877 + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
1878 + engines: {node: '>=0.10'}
1879 + dependencies:
1880 + language-subtag-registry: 0.3.23
1881 + dev: false
1882 +
1883 + /levn@0.4.1:
1884 + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1885 + engines: {node: '>= 0.8.0'}
1886 + dependencies:
1887 + prelude-ls: 1.2.1
1888 + type-check: 0.4.0
1889 + dev: false
1890 +
1891 + /locate-path@6.0.0:
1892 + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1893 + engines: {node: '>=10'}
1894 + dependencies:
1895 + p-locate: 5.0.0
1896 + dev: false
1897 +
1898 + /lodash.merge@4.6.2:
1899 + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1900 + dev: false
1901 +
1902 + /loose-envify@1.4.0:
1903 + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
1904 + hasBin: true
1905 + dependencies:
1906 + js-tokens: 4.0.0
1907 + dev: false
1908 +
1909 + /lru-cache@10.4.3:
1910 + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
1911 + dev: false
1912 +
1913 + /merge2@1.4.1:
1914 + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1915 + engines: {node: '>= 8'}
1916 + dev: false
1917 +
1918 + /micromatch@4.0.8:
1919 + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
1920 + engines: {node: '>=8.6'}
1921 + dependencies:
1922 + braces: 3.0.3
1923 + picomatch: 2.3.1
1924 + dev: false
1925 +
1926 + /mime-db@1.52.0:
1927 + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
1928 + engines: {node: '>= 0.6'}
1929 + dev: false
1930 +
1931 + /mime-types@2.1.35:
1932 + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
1933 + engines: {node: '>= 0.6'}
1934 + dependencies:
1935 + mime-db: 1.52.0
1936 + dev: false
1937 +
1938 + /minimatch@3.1.2:
1939 + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1940 + dependencies:
1941 + brace-expansion: 1.1.11
1942 + dev: false
1943 +
1944 + /minimatch@9.0.3:
1945 + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
1946 + engines: {node: '>=16 || 14 >=14.17'}
1947 + dependencies:
1948 + brace-expansion: 2.0.1
1949 + dev: false
1950 +
1951 + /minimatch@9.0.5:
1952 + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
1953 + engines: {node: '>=16 || 14 >=14.17'}
1954 + dependencies:
1955 + brace-expansion: 2.0.1
1956 + dev: false
1957 +
1958 + /minimist@1.2.8:
1959 + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
1960 + dev: false
1961 +
1962 + /minipass@7.1.2:
1963 + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
1964 + engines: {node: '>=16 || 14 >=14.17'}
1965 + dev: false
1966 +
1967 + /ms@2.1.3:
1968 + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1969 + dev: false
1970 +
1971 + /nanoid@3.3.7:
1972 + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
1973 + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1974 + hasBin: true
1975 + dev: false
1976 +
1977 + /natural-compare@1.4.0:
1978 + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1979 + dev: false
1980 +
1981 + /next@14.2.15(react-dom@18.2.0)(react@18.2.0):
1982 + resolution: {integrity: sha512-h9ctmOokpoDphRvMGnwOJAedT6zKhwqyZML9mDtspgf4Rh3Pn7UTYKqePNoDvhsWBAO5GoPNYshnAUGIazVGmw==}
1983 + engines: {node: '>=18.17.0'}
1984 + hasBin: true
1985 + peerDependencies:
1986 + '@opentelemetry/api': ^1.1.0
1987 + '@playwright/test': ^1.41.2
1988 + react: ^18.2.0
1989 + react-dom: ^18.2.0
1990 + sass: ^1.3.0
1991 + peerDependenciesMeta:
1992 + '@opentelemetry/api':
1993 + optional: true
1994 + '@playwright/test':
1995 + optional: true
1996 + sass:
1997 + optional: true
1998 + dependencies:
1999 + '@next/env': 14.2.15
2000 + '@swc/helpers': 0.5.5
2001 + busboy: 1.6.0
2002 + caniuse-lite: 1.0.30001669
2003 + graceful-fs: 4.2.11
2004 + postcss: 8.4.31
2005 + react: 18.2.0
2006 + react-dom: 18.2.0(react@18.2.0)
2007 + styled-jsx: 5.1.1(react@18.2.0)
2008 + optionalDependencies:
2009 + '@next/swc-darwin-arm64': 14.2.15
2010 + '@next/swc-darwin-x64': 14.2.15
2011 + '@next/swc-linux-arm64-gnu': 14.2.15
2012 + '@next/swc-linux-arm64-musl': 14.2.15
2013 + '@next/swc-linux-x64-gnu': 14.2.15
2014 + '@next/swc-linux-x64-musl': 14.2.15
2015 + '@next/swc-win32-arm64-msvc': 14.2.15
2016 + '@next/swc-win32-ia32-msvc': 14.2.15
2017 + '@next/swc-win32-x64-msvc': 14.2.15
2018 + transitivePeerDependencies:
2019 + - '@babel/core'
2020 + - babel-plugin-macros
2021 + dev: false
2022 +
2023 + /object-assign@4.1.1:
2024 + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
2025 + engines: {node: '>=0.10.0'}
2026 + dev: false
2027 +
2028 + /object-inspect@1.13.2:
2029 + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==}
2030 + engines: {node: '>= 0.4'}
2031 + dev: false
2032 +
2033 + /object-is@1.1.6:
2034 + resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==}
2035 + engines: {node: '>= 0.4'}
2036 + dependencies:
2037 + call-bind: 1.0.7
2038 + define-properties: 1.2.1
2039 + dev: false
2040 +
2041 + /object-keys@1.1.1:
2042 + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
2043 + engines: {node: '>= 0.4'}
2044 + dev: false
2045 +
2046 + /object.assign@4.1.5:
2047 + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
2048 + engines: {node: '>= 0.4'}
2049 + dependencies:
2050 + call-bind: 1.0.7
2051 + define-properties: 1.2.1
2052 + has-symbols: 1.0.3
2053 + object-keys: 1.1.1
2054 + dev: false
2055 +
2056 + /object.entries@1.1.8:
2057 + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==}
2058 + engines: {node: '>= 0.4'}
2059 + dependencies:
2060 + call-bind: 1.0.7
2061 + define-properties: 1.2.1
2062 + es-object-atoms: 1.0.0
2063 + dev: false
2064 +
2065 + /object.fromentries@2.0.8:
2066 + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
2067 + engines: {node: '>= 0.4'}
2068 + dependencies:
2069 + call-bind: 1.0.7
2070 + define-properties: 1.2.1
2071 + es-abstract: 1.23.3
2072 + es-object-atoms: 1.0.0
2073 + dev: false
2074 +
2075 + /object.groupby@1.0.3:
2076 + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==}
2077 + engines: {node: '>= 0.4'}
2078 + dependencies:
2079 + call-bind: 1.0.7
2080 + define-properties: 1.2.1
2081 + es-abstract: 1.23.3
2082 + dev: false
2083 +
2084 + /object.values@1.2.0:
2085 + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==}
2086 + engines: {node: '>= 0.4'}
2087 + dependencies:
2088 + call-bind: 1.0.7
2089 + define-properties: 1.2.1
2090 + es-object-atoms: 1.0.0
2091 + dev: false
2092 +
2093 + /once@1.4.0:
2094 + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
2095 + dependencies:
2096 + wrappy: 1.0.2
2097 + dev: false
2098 +
2099 + /optionator@0.9.4:
2100 + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
2101 + engines: {node: '>= 0.8.0'}
2102 + dependencies:
2103 + deep-is: 0.1.4
2104 + fast-levenshtein: 2.0.6
2105 + levn: 0.4.1
2106 + prelude-ls: 1.2.1
2107 + type-check: 0.4.0
2108 + word-wrap: 1.2.5
2109 + dev: false
2110 +
2111 + /p-limit@3.1.0:
2112 + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
2113 + engines: {node: '>=10'}
2114 + dependencies:
2115 + yocto-queue: 0.1.0
2116 + dev: false
2117 +
2118 + /p-locate@5.0.0:
2119 + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
2120 + engines: {node: '>=10'}
2121 + dependencies:
2122 + p-limit: 3.1.0
2123 + dev: false
2124 +
2125 + /parent-module@1.0.1:
2126 + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
2127 + engines: {node: '>=6'}
2128 + dependencies:
2129 + callsites: 3.1.0
2130 + dev: false
2131 +
2132 + /path-exists@4.0.0:
2133 + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
2134 + engines: {node: '>=8'}
2135 + dev: false
2136 +
2137 + /path-is-absolute@1.0.1:
2138 + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
2139 + engines: {node: '>=0.10.0'}
2140 + dev: false
2141 +
2142 + /path-key@3.1.1:
2143 + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
2144 + engines: {node: '>=8'}
2145 + dev: false
2146 +
2147 + /path-parse@1.0.7:
2148 + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
2149 + dev: false
2150 +
2151 + /path-scurry@1.11.1:
2152 + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
2153 + engines: {node: '>=16 || 14 >=14.18'}
2154 + dependencies:
2155 + lru-cache: 10.4.3
2156 + minipass: 7.1.2
2157 + dev: false
2158 +
2159 + /path-type@4.0.0:
2160 + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
2161 + engines: {node: '>=8'}
2162 + dev: false
2163 +
2164 + /picocolors@1.1.1:
2165 + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
2166 + dev: false
2167 +
2168 + /picomatch@2.3.1:
2169 + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
2170 + engines: {node: '>=8.6'}
2171 + dev: false
2172 +
2173 + /possible-typed-array-names@1.0.0:
2174 + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
2175 + engines: {node: '>= 0.4'}
2176 + dev: false
2177 +
2178 + /postcss@8.4.31:
2179 + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
2180 + engines: {node: ^10 || ^12 || >=14}
2181 + dependencies:
2182 + nanoid: 3.3.7
2183 + picocolors: 1.1.1
2184 + source-map-js: 1.2.1
2185 + dev: false
2186 +
2187 + /prelude-ls@1.2.1:
2188 + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
2189 + engines: {node: '>= 0.8.0'}
2190 + dev: false
2191 +
2192 + /prop-types@15.8.1:
2193 + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
2194 + dependencies:
2195 + loose-envify: 1.4.0
2196 + object-assign: 4.1.1
2197 + react-is: 16.13.1
2198 + dev: false
2199 +
2200 + /proxy-from-env@1.1.0:
2201 + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
2202 + dev: false
2203 +
2204 + /punycode@2.3.1:
2205 + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
2206 + engines: {node: '>=6'}
2207 + dev: false
2208 +
2209 + /queue-microtask@1.2.3:
2210 + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
2211 + dev: false
2212 +
2213 + /react-dom@18.2.0(react@18.2.0):
2214 + resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
2215 + peerDependencies:
2216 + react: ^18.2.0
2217 + dependencies:
2218 + loose-envify: 1.4.0
2219 + react: 18.2.0
2220 + scheduler: 0.23.2
2221 + dev: false
2222 +
2223 + /react-icons@4.12.0(react@18.2.0):
2224 + resolution: {integrity: sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw==}
2225 + peerDependencies:
2226 + react: '*'
2227 + dependencies:
2228 + react: 18.2.0
2229 + dev: false
2230 +
2231 + /react-is@16.13.1:
2232 + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
2233 + dev: false
2234 +
2235 + /react@18.2.0:
2236 + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
2237 + engines: {node: '>=0.10.0'}
2238 + dependencies:
2239 + loose-envify: 1.4.0
2240 + dev: false
2241 +
2242 + /reflect.getprototypeof@1.0.6:
2243 + resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==}
2244 + engines: {node: '>= 0.4'}
2245 + dependencies:
2246 + call-bind: 1.0.7
2247 + define-properties: 1.2.1
2248 + es-abstract: 1.23.3
2249 + es-errors: 1.3.0
2250 + get-intrinsic: 1.2.4
2251 + globalthis: 1.0.4
2252 + which-builtin-type: 1.1.4
2253 + dev: false
2254 +
2255 + /regexp.prototype.flags@1.5.3:
2256 + resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==}
2257 + engines: {node: '>= 0.4'}
2258 + dependencies:
2259 + call-bind: 1.0.7
2260 + define-properties: 1.2.1
2261 + es-errors: 1.3.0
2262 + set-function-name: 2.0.2
2263 + dev: false
2264 +
2265 + /resolve-from@4.0.0:
2266 + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
2267 + engines: {node: '>=4'}
2268 + dev: false
2269 +
2270 + /resolve-pkg-maps@1.0.0:
2271 + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
2272 + dev: false
2273 +
2274 + /resolve@1.22.8:
2275 + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
2276 + hasBin: true
2277 + dependencies:
2278 + is-core-module: 2.15.1
2279 + path-parse: 1.0.7
2280 + supports-preserve-symlinks-flag: 1.0.0
2281 + dev: false
2282 +
2283 + /resolve@2.0.0-next.5:
2284 + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
2285 + hasBin: true
2286 + dependencies:
2287 + is-core-module: 2.15.1
2288 + path-parse: 1.0.7
2289 + supports-preserve-symlinks-flag: 1.0.0
2290 + dev: false
2291 +
2292 + /reusify@1.0.4:
2293 + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
2294 + engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
2295 + dev: false
2296 +
2297 + /rimraf@3.0.2:
2298 + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
2299 + deprecated: Rimraf versions prior to v4 are no longer supported
2300 + hasBin: true
2301 + dependencies:
2302 + glob: 7.2.3
2303 + dev: false
2304 +
2305 + /run-parallel@1.2.0:
2306 + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
2307 + dependencies:
2308 + queue-microtask: 1.2.3
2309 + dev: false
2310 +
2311 + /safe-array-concat@1.1.2:
2312 + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
2313 + engines: {node: '>=0.4'}
2314 + dependencies:
2315 + call-bind: 1.0.7
2316 + get-intrinsic: 1.2.4
2317 + has-symbols: 1.0.3
2318 + isarray: 2.0.5
2319 + dev: false
2320 +
2321 + /safe-regex-test@1.0.3:
2322 + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
2323 + engines: {node: '>= 0.4'}
2324 + dependencies:
2325 + call-bind: 1.0.7
2326 + es-errors: 1.3.0
2327 + is-regex: 1.1.4
2328 + dev: false
2329 +
2330 + /scheduler@0.23.2:
2331 + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
2332 + dependencies:
2333 + loose-envify: 1.4.0
2334 + dev: false
2335 +
2336 + /semver@6.3.1:
2337 + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
2338 + hasBin: true
2339 + dev: false
2340 +
2341 + /semver@7.6.3:
2342 + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
2343 + engines: {node: '>=10'}
2344 + hasBin: true
2345 + dev: false
2346 +
2347 + /set-function-length@1.2.2:
2348 + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
2349 + engines: {node: '>= 0.4'}
2350 + dependencies:
2351 + define-data-property: 1.1.4
2352 + es-errors: 1.3.0
2353 + function-bind: 1.1.2
2354 + get-intrinsic: 1.2.4
2355 + gopd: 1.0.1
2356 + has-property-descriptors: 1.0.2
2357 + dev: false
2358 +
2359 + /set-function-name@2.0.2:
2360 + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
2361 + engines: {node: '>= 0.4'}
2362 + dependencies:
2363 + define-data-property: 1.1.4
2364 + es-errors: 1.3.0
2365 + functions-have-names: 1.2.3
2366 + has-property-descriptors: 1.0.2
2367 + dev: false
2368 +
2369 + /shebang-command@2.0.0:
2370 + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
2371 + engines: {node: '>=8'}
2372 + dependencies:
2373 + shebang-regex: 3.0.0
2374 + dev: false
2375 +
2376 + /shebang-regex@3.0.0:
2377 + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
2378 + engines: {node: '>=8'}
2379 + dev: false
2380 +
2381 + /side-channel@1.0.6:
2382 + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
2383 + engines: {node: '>= 0.4'}
2384 + dependencies:
2385 + call-bind: 1.0.7
2386 + es-errors: 1.3.0
2387 + get-intrinsic: 1.2.4
2388 + object-inspect: 1.13.2
2389 + dev: false
2390 +
2391 + /signal-exit@4.1.0:
2392 + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
2393 + engines: {node: '>=14'}
2394 + dev: false
2395 +
2396 + /slash@3.0.0:
2397 + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
2398 + engines: {node: '>=8'}
2399 + dev: false
2400 +
2401 + /source-map-js@1.2.1:
2402 + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
2403 + engines: {node: '>=0.10.0'}
2404 + dev: false
2405 +
2406 + /stop-iteration-iterator@1.0.0:
2407 + resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==}
2408 + engines: {node: '>= 0.4'}
2409 + dependencies:
2410 + internal-slot: 1.0.7
2411 + dev: false
2412 +
2413 + /streamsearch@1.1.0:
2414 + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
2415 + engines: {node: '>=10.0.0'}
2416 + dev: false
2417 +
2418 + /string-width@4.2.3:
2419 + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
2420 + engines: {node: '>=8'}
2421 + dependencies:
2422 + emoji-regex: 8.0.0
2423 + is-fullwidth-code-point: 3.0.0
2424 + strip-ansi: 6.0.1
2425 + dev: false
2426 +
2427 + /string-width@5.1.2:
2428 + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
2429 + engines: {node: '>=12'}
2430 + dependencies:
2431 + eastasianwidth: 0.2.0
2432 + emoji-regex: 9.2.2
2433 + strip-ansi: 7.1.0
2434 + dev: false
2435 +
2436 + /string.prototype.includes@2.0.1:
2437 + resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==}
2438 + engines: {node: '>= 0.4'}
2439 + dependencies:
2440 + call-bind: 1.0.7
2441 + define-properties: 1.2.1
2442 + es-abstract: 1.23.3
2443 + dev: false
2444 +
2445 + /string.prototype.matchall@4.0.11:
2446 + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==}
2447 + engines: {node: '>= 0.4'}
2448 + dependencies:
2449 + call-bind: 1.0.7
2450 + define-properties: 1.2.1
2451 + es-abstract: 1.23.3
2452 + es-errors: 1.3.0
2453 + es-object-atoms: 1.0.0
2454 + get-intrinsic: 1.2.4
2455 + gopd: 1.0.1
2456 + has-symbols: 1.0.3
2457 + internal-slot: 1.0.7
2458 + regexp.prototype.flags: 1.5.3
2459 + set-function-name: 2.0.2
2460 + side-channel: 1.0.6
2461 + dev: false
2462 +
2463 + /string.prototype.repeat@1.0.0:
2464 + resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==}
2465 + dependencies:
2466 + define-properties: 1.2.1
2467 + es-abstract: 1.23.3
2468 + dev: false
2469 +
2470 + /string.prototype.trim@1.2.9:
2471 + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
2472 + engines: {node: '>= 0.4'}
2473 + dependencies:
2474 + call-bind: 1.0.7
2475 + define-properties: 1.2.1
2476 + es-abstract: 1.23.3
2477 + es-object-atoms: 1.0.0
2478 + dev: false
2479 +
2480 + /string.prototype.trimend@1.0.8:
2481 + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
2482 + dependencies:
2483 + call-bind: 1.0.7
2484 + define-properties: 1.2.1
2485 + es-object-atoms: 1.0.0
2486 + dev: false
2487 +
2488 + /string.prototype.trimstart@1.0.8:
2489 + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
2490 + engines: {node: '>= 0.4'}
2491 + dependencies:
2492 + call-bind: 1.0.7
2493 + define-properties: 1.2.1
2494 + es-object-atoms: 1.0.0
2495 + dev: false
2496 +
2497 + /strip-ansi@6.0.1:
2498 + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
2499 + engines: {node: '>=8'}
2500 + dependencies:
2501 + ansi-regex: 5.0.1
2502 + dev: false
2503 +
2504 + /strip-ansi@7.1.0:
2505 + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
2506 + engines: {node: '>=12'}
2507 + dependencies:
2508 + ansi-regex: 6.1.0
2509 + dev: false
2510 +
2511 + /strip-bom@3.0.0:
2512 + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
2513 + engines: {node: '>=4'}
2514 + dev: false
2515 +
2516 + /strip-json-comments@3.1.1:
2517 + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
2518 + engines: {node: '>=8'}
2519 + dev: false
2520 +
2521 + /styled-jsx@5.1.1(react@18.2.0):
2522 + resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
2523 + engines: {node: '>= 12.0.0'}
2524 + peerDependencies:
2525 + '@babel/core': '*'
2526 + babel-plugin-macros: '*'
2527 + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
2528 + peerDependenciesMeta:
2529 + '@babel/core':
2530 + optional: true
2531 + babel-plugin-macros:
2532 + optional: true
2533 + dependencies:
2534 + client-only: 0.0.1
2535 + react: 18.2.0
2536 + dev: false
2537 +
2538 + /supports-color@7.2.0:
2539 + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
2540 + engines: {node: '>=8'}
2541 + dependencies:
2542 + has-flag: 4.0.0
2543 + dev: false
2544 +
2545 + /supports-preserve-symlinks-flag@1.0.0:
2546 + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
2547 + engines: {node: '>= 0.4'}
2548 + dev: false
2549 +
2550 + /tapable@2.2.1:
2551 + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
2552 + engines: {node: '>=6'}
2553 + dev: false
2554 +
2555 + /text-table@0.2.0:
2556 + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
2557 + dev: false
2558 +
2559 + /to-regex-range@5.0.1:
2560 + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
2561 + engines: {node: '>=8.0'}
2562 + dependencies:
2563 + is-number: 7.0.0
2564 + dev: false
2565 +
2566 + /ts-api-utils@1.3.0(typescript@5.6.3):
2567 + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
2568 + engines: {node: '>=16'}
2569 + peerDependencies:
2570 + typescript: '>=4.2.0'
2571 + dependencies:
2572 + typescript: 5.6.3
2573 + dev: false
2574 +
2575 + /tsconfig-paths@3.15.0:
2576 + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
2577 + dependencies:
2578 + '@types/json5': 0.0.29
2579 + json5: 1.0.2
2580 + minimist: 1.2.8
2581 + strip-bom: 3.0.0
2582 + dev: false
2583 +
2584 + /tslib@2.8.0:
2585 + resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==}
2586 + dev: false
2587 +
2588 + /type-check@0.4.0:
2589 + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
2590 + engines: {node: '>= 0.8.0'}
2591 + dependencies:
2592 + prelude-ls: 1.2.1
2593 + dev: false
2594 +
2595 + /type-fest@0.20.2:
2596 + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
2597 + engines: {node: '>=10'}
2598 + dev: false
2599 +
2600 + /typed-array-buffer@1.0.2:
2601 + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
2602 + engines: {node: '>= 0.4'}
2603 + dependencies:
2604 + call-bind: 1.0.7
2605 + es-errors: 1.3.0
2606 + is-typed-array: 1.1.13
2607 + dev: false
2608 +
2609 + /typed-array-byte-length@1.0.1:
2610 + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
2611 + engines: {node: '>= 0.4'}
2612 + dependencies:
2613 + call-bind: 1.0.7
2614 + for-each: 0.3.3
2615 + gopd: 1.0.1
2616 + has-proto: 1.0.3
2617 + is-typed-array: 1.1.13
2618 + dev: false
2619 +
2620 + /typed-array-byte-offset@1.0.2:
2621 + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
2622 + engines: {node: '>= 0.4'}
2623 + dependencies:
2624 + available-typed-arrays: 1.0.7
2625 + call-bind: 1.0.7
2626 + for-each: 0.3.3
2627 + gopd: 1.0.1
2628 + has-proto: 1.0.3
2629 + is-typed-array: 1.1.13
2630 + dev: false
2631 +
2632 + /typed-array-length@1.0.6:
2633 + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
2634 + engines: {node: '>= 0.4'}
2635 + dependencies:
2636 + call-bind: 1.0.7
2637 + for-each: 0.3.3
2638 + gopd: 1.0.1
2639 + has-proto: 1.0.3
2640 + is-typed-array: 1.1.13
2641 + possible-typed-array-names: 1.0.0
2642 + dev: false
2643 +
2644 + /typescript@5.6.3:
2645 + resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==}
2646 + engines: {node: '>=14.17'}
2647 + hasBin: true
2648 + dev: false
2649 +
2650 + /unbox-primitive@1.0.2:
2651 + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
2652 + dependencies:
2653 + call-bind: 1.0.7
2654 + has-bigints: 1.0.2
2655 + has-symbols: 1.0.3
2656 + which-boxed-primitive: 1.0.2
2657 + dev: false
2658 +
2659 + /undici-types@6.19.8:
2660 + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
2661 + dev: true
2662 +
2663 + /uri-js@4.4.1:
2664 + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
2665 + dependencies:
2666 + punycode: 2.3.1
2667 + dev: false
2668 +
2669 + /which-boxed-primitive@1.0.2:
2670 + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
2671 + dependencies:
2672 + is-bigint: 1.0.4
2673 + is-boolean-object: 1.1.2
2674 + is-number-object: 1.0.7
2675 + is-string: 1.0.7
2676 + is-symbol: 1.0.4
2677 + dev: false
2678 +
2679 + /which-builtin-type@1.1.4:
2680 + resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==}
2681 + engines: {node: '>= 0.4'}
2682 + dependencies:
2683 + function.prototype.name: 1.1.6
2684 + has-tostringtag: 1.0.2
2685 + is-async-function: 2.0.0
2686 + is-date-object: 1.0.5
2687 + is-finalizationregistry: 1.0.2
2688 + is-generator-function: 1.0.10
2689 + is-regex: 1.1.4
2690 + is-weakref: 1.0.2
2691 + isarray: 2.0.5
2692 + which-boxed-primitive: 1.0.2
2693 + which-collection: 1.0.2
2694 + which-typed-array: 1.1.15
2695 + dev: false
2696 +
2697 + /which-collection@1.0.2:
2698 + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
2699 + engines: {node: '>= 0.4'}
2700 + dependencies:
2701 + is-map: 2.0.3
2702 + is-set: 2.0.3
2703 + is-weakmap: 2.0.2
2704 + is-weakset: 2.0.3
2705 + dev: false
2706 +
2707 + /which-typed-array@1.1.15:
2708 + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
2709 + engines: {node: '>= 0.4'}
2710 + dependencies:
2711 + available-typed-arrays: 1.0.7
2712 + call-bind: 1.0.7
2713 + for-each: 0.3.3
2714 + gopd: 1.0.1
2715 + has-tostringtag: 1.0.2
2716 + dev: false
2717 +
2718 + /which@2.0.2:
2719 + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2720 + engines: {node: '>= 8'}
2721 + hasBin: true
2722 + dependencies:
2723 + isexe: 2.0.0
2724 + dev: false
2725 +
2726 + /word-wrap@1.2.5:
2727 + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
2728 + engines: {node: '>=0.10.0'}
2729 + dev: false
2730 +
2731 + /wrap-ansi@7.0.0:
2732 + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
2733 + engines: {node: '>=10'}
2734 + dependencies:
2735 + ansi-styles: 4.3.0
2736 + string-width: 4.2.3
2737 + strip-ansi: 6.0.1
2738 + dev: false
2739 +
2740 + /wrap-ansi@8.1.0:
2741 + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
2742 + engines: {node: '>=12'}
2743 + dependencies:
2744 + ansi-styles: 6.2.1
2745 + string-width: 5.1.2
2746 + strip-ansi: 7.1.0
2747 + dev: false
2748 +
2749 + /wrappy@1.0.2:
2750 + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
2751 + dev: false
2752 +
2753 + /yocto-queue@0.1.0:
2754 + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
2755 + engines: {node: '>=10'}
2756 + dev: false
public/debian-openlogo.svg new
+39
@@ -0,0 +1,39 @@
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<!-- Generator: Adobe Illustrator 10.0, SVG Export Plug-In . SVG Version: 3.0.0 Build 77) -->
3 +<svg xmlns:x="http://ns.adobe.com/Extensibility/1.0/" xmlns:i="http://ns.adobe.com/AdobeIllustrator/10.0/" xmlns:graph="http://ns.adobe.com/Graphs/1.0/" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/" i:viewOrigin="251 467" i:rulerOrigin="0 0" i:pageBounds="0 792 612 0" width="108.758" height="144.133" viewBox="0 0 108.758 144.133" overflow="visible" enable-background="new 0 0 108.758 144.133" xml:space="preserve">
4 + <metadata>
5 + <variableSets xmlns="http://ns.adobe.com/Variables/1.0/">
6 + <variableSet varSetName="binding1" locked="none">
7 + <variables/>
8 + <v:sampleDataSets xmlns="http://ns.adobe.com/GenericCustomNamespace/1.0/" xmlns:v="http://ns.adobe.com/Variables/1.0/"/>
9 + </variableSet>
10 + </variableSets>
11 + <sfw xmlns="http://ns.adobe.com/SaveForWeb/1.0/">
12 + <slices/>
13 + <sliceSourceBounds y="322.867" x="251" width="108.758" height="144.133" bottomLeftOrigin="true"/>
14 + </sfw>
15 + </metadata>
16 + <g id="Layer_1" i:layer="yes" i:dimmedPercent="50" i:rgbTrio="#4F008000FFFF">
17 + <g>
18 + <path i:knockout="Off" fill="#A80030" d="M60.969,47.645c-1.494,0.02,0.281,0.768,2.232,1.069 c0.541-0.422,1.027-0.846,1.463-1.26C63.451,47.751,62.215,47.758,60.969,47.645"/>
19 + <path i:knockout="Off" fill="#A80030" d="M68.986,45.646c0.893-1.229,1.541-2.573,1.77-3.963 c-0.201,0.99-0.736,1.845-1.244,2.749c-2.793,1.759-0.264-1.044-0.002-2.111C66.508,46.104,69.096,44.589,68.986,45.646"/>
20 + <path i:knockout="Off" fill="#A80030" d="M71.949,37.942c0.182-2.691-0.529-1.839-0.768-0.814 C71.459,37.274,71.68,39.026,71.949,37.942"/>
21 + <path i:knockout="Off" fill="#A80030" d="M55.301,1.163c0.798,0.142,1.724,0.252,1.591,0.443 C57.768,1.413,57.965,1.239,55.301,1.163"/>
22 + <path i:knockout="Off" fill="#A80030" d="M56.893,1.606l-0.561,0.117l0.523-0.048L56.893,1.606"/>
23 + <path i:knockout="Off" fill="#A80030" d="M81.762,38.962c0.09,2.416-0.705,3.59-1.424,5.666l-1.293,0.643 c-1.057,2.054,0.105,1.304-0.652,2.937c-1.652,1.467-5.006,4.589-6.08,4.875c-0.785-0.017,0.531-0.926,0.703-1.281 c-2.209,1.516-1.773,2.276-5.152,3.199l-0.098-0.221c-8.33,3.92-19.902-3.847-19.75-14.443c-0.088,0.672-0.253,0.504-0.437,0.774 c-0.43-5.451,2.518-10.926,7.49-13.165c4.863-2.406,10.564-1.42,14.045,1.829c-1.912-2.506-5.721-5.163-10.232-4.917 c-4.421,0.072-8.558,2.881-9.938,5.932c-2.264,1.425-2.528,5.496-3.514,6.242c-1.329,9.76,2.497,13.975,8.97,18.936 c1.016,0.686,0.286,0.791,0.422,1.313c-2.15-1.006-4.118-2.526-5.738-4.387c0.86,1.257,1.787,2.479,2.986,3.439 c-2.029-0.685-4.738-4.913-5.527-5.085c3.495,6.258,14.178,10.975,19.775,8.634c-2.59,0.096-5.879,0.053-8.787-1.022 c-1.225-0.629-2.884-1.93-2.587-2.173c7.636,2.851,15.522,2.158,22.128-3.137c1.682-1.31,3.518-3.537,4.049-3.567 c-0.799,1.202,0.137,0.578-0.477,1.639c1.672-2.701-0.729-1.1,1.73-4.664l0.908,1.25c-0.34-2.244,2.785-4.966,2.467-8.512 c0.717-1.084,0.799,1.168,0.039,3.662c1.055-2.767,0.279-3.212,0.549-5.496c0.291,0.768,0.678,1.583,0.875,2.394 c-0.688-2.675,0.703-4.503,1.049-6.058c-0.342-0.15-1.061,1.182-1.227-1.976c0.025-1.372,0.383-0.719,0.52-1.057 c-0.268-0.155-0.975-1.207-1.404-3.224c0.309-0.475,0.832,1.229,1.256,1.298c-0.273-1.603-0.742-2.826-0.762-4.057 c-1.24-2.59-0.439,0.346-1.443-1.112c-1.32-4.114,1.094-0.955,1.258-2.823c1.998,2.895,3.137,7.385,3.662,9.244 c-0.4-2.267-1.045-4.464-1.834-6.589c0.609,0.257-0.979-4.663,0.791-1.405c-1.889-6.945-8.078-13.435-13.773-16.479 c0.695,0.637,1.574,1.437,1.26,1.563c-2.834-1.685-2.336-1.818-2.742-2.53c-2.305-0.939-2.459,0.077-3.984,0.002 c-4.35-2.308-5.188-2.063-9.191-3.507l0.182,0.852c-2.881-0.96-3.357,0.362-6.47,0.002c-0.189-0.147,0.998-0.536,1.976-0.677 c-2.786,0.368-2.656-0.55-5.382,0.101c0.671-0.471,1.383-0.784,2.099-1.184c-2.271,0.138-5.424,1.322-4.451,0.244 c-3.705,1.654-10.286,3.975-13.979,7.438l-0.116-0.776c-1.692,2.031-7.379,6.066-7.832,8.699l-0.453,0.105 c-0.879,1.491-1.45,3.18-2.148,4.713c-1.151,1.963-1.688,0.756-1.524,1.064c-2.265,4.592-3.392,8.45-4.363,11.616 c0.692,1.035,0.017,6.232,0.278,10.391c-1.136,20.544,14.418,40.489,31.42,45.093c2.492,0.893,6.197,0.861,9.349,0.949 c-3.718-1.064-4.198-0.563-7.822-1.826c-2.613-1.232-3.185-2.637-5.037-4.244l0.733,1.295c-3.63-1.285-2.111-1.59-5.065-2.525 l0.783-1.021c-1.177-0.09-3.117-1.982-3.647-3.033l-1.288,0.051c-1.546-1.906-2.371-3.283-2.31-4.35l-0.416,0.742 c-0.471-0.809-5.691-7.158-2.983-5.68c-0.503-0.458-1.172-0.747-1.897-2.066l0.551-0.629c-1.301-1.677-2.398-3.826-2.314-4.542 c0.695,0.938,1.177,1.114,1.655,1.275c-3.291-8.164-3.476-0.449-5.967-8.31l0.526-0.042c-0.403-0.611-0.65-1.27-0.974-1.919 l0.23-2.285c-2.368-2.736-0.662-11.645-0.319-16.53c0.235-1.986,1.977-4.101,3.3-7.418l-0.806-0.138 c1.542-2.688,8.802-10.799,12.166-10.383c1.629-2.046-0.324-0.008-0.643-0.522c3.579-3.703,4.704-2.616,7.119-3.283 c2.603-1.545-2.235,0.604-1.001-0.589c4.503-1.149,3.19-2.614,9.063-3.197c0.62,0.352-1.437,0.544-1.953,1.001 c3.75-1.836,11.869-1.417,17.145,1.018c6.117,2.861,12.994,11.314,13.266,19.267l0.309,0.083 c-0.156,3.162,0.484,6.819-0.627,10.177L81.762,38.962"/>
24 + <path i:knockout="Off" fill="#A80030" d="M44.658,49.695l-0.211,1.047c0.983,1.335,1.763,2.781,3.016,3.821 C46.561,52.804,45.892,52.077,44.658,49.695"/>
25 + <path i:knockout="Off" fill="#A80030" d="M46.979,49.605c-0.52-0.576-0.826-1.268-1.172-1.956 c0.33,1.211,1.006,2.252,1.633,3.312L46.979,49.605"/>
26 + <path i:knockout="Off" fill="#A80030" d="M88.063,40.675l-0.219,0.552c-0.402,2.858-1.273,5.686-2.605,8.309 C86.711,46.769,87.66,43.742,88.063,40.675"/>
27 + <path i:knockout="Off" fill="#A80030" d="M55.598,0.446C56.607,0.077,58.08,0.243,59.154,0c-1.398,0.117-2.789,0.187-4.162,0.362 L55.598,0.446"/>
28 + <path i:knockout="Off" fill="#A80030" d="M20.127,19.308c0.233,2.154-1.62,2.991,0.41,1.569 C21.627,18.423,20.113,20.2,20.127,19.308"/>
29 + <path i:knockout="Off" fill="#A80030" d="M17.739,29.282c0.469-1.437,0.553-2.299,0.732-3.132 C17.178,27.804,17.875,28.157,17.739,29.282"/>
30 + <path i:knockout="Off" d="M13.437,125.506c-0.045,0.047-0.045,7.506-0.138,9.453c-0.092,1.574-0.232,4.957-3.568,4.957 c-3.429,0-4.263-3.939-4.541-5.652c-0.324-1.9-0.324-3.477-0.324-4.17c0-2.225,0.139-8.436,5.375-8.436 c1.576,0,2.456,0.465,3.151,0.834L13.437,125.506z M0,130.975c0,13.066,6.951,13.066,7.97,13.066 c2.873,0,4.727-1.576,5.514-4.309l0.093,4.123c0.881-0.047,1.761-0.139,3.197-0.139c0.51,0,0.926,0,1.298,0.047 c0.371,0,0.741,0.045,1.158,0.092c-0.741-1.482-1.297-4.818-1.297-12.049c0-7.043,0-18.951,0.602-22.566 c-1.667,0.789-3.105,1.299-6.256,1.576c1.251,1.344,1.251,2.039,1.251,8.154c-0.879-0.277-1.992-0.602-3.892-0.602 C1.344,118.369,0,125.598,0,130.975"/>
31 + <path i:knockout="Off" d="M25.13,128.609c0.047-3.846,0.835-7.275,4.124-7.275c3.615,0,3.891,3.984,3.799,7.275H25.13z M37.64,129.074c0-5.422-1.065-10.752-7.923-10.752c-9.452,0-9.452,10.475-9.452,12.697c0,9.406,4.216,13.113,11.306,13.113 c3.149,0,4.68-0.461,5.514-0.695c-0.046-1.668,0.185-2.734,0.465-4.17c-0.975,0.604-2.226,1.391-5.006,1.391 c-7.229,0-7.322-6.582-7.322-8.852H37.55L37.64,129.074"/>
32 + <path i:knockout="Off" d="M52.715,131.066c0,4.309-0.787,10.102-6.162,10.102c-0.742,0-1.668-0.141-2.27-0.279 c-0.093-1.668-0.093-4.541-0.093-7.877c0-3.986,0.416-6.068,0.742-7.09c0.972-3.289,3.15-3.334,3.566-3.334 C52.02,122.588,52.715,127.453,52.715,131.066z M39.417,136.117c0,3.43,0,5.375-0.556,6.857c1.9,0.742,4.262,1.158,7.09,1.158 c1.807,0,7.043,0,9.869-5.791c1.344-2.688,1.807-6.303,1.807-9.037c0-1.668-0.186-5.328-1.529-7.646 c-1.296-2.176-3.382-3.289-5.605-3.289c-4.449,0-5.746,3.707-6.44,5.607c0-2.363,0.045-10.611,0.415-14.828 c-3.011,1.391-4.866,1.621-6.857,1.807c1.807,0.74,1.807,3.801,1.807,13.764V136.117"/>
33 + <path i:knockout="Off" d="M66.535,143.855c-0.928-0.139-1.578-0.232-2.922-0.232c-1.48,0-2.502,0.094-3.566,0.232 c0.463-0.881,0.648-1.299,0.787-4.309c0.186-4.125,0.232-15.154-0.092-17.471c-0.232-1.762-0.648-2.039-1.297-2.502 c3.799-0.371,4.865-0.648,6.625-1.482c-0.369,2.037-0.418,3.059-0.418,6.162C65.561,140.242,65.514,141.955,66.535,143.855"/>
34 + <path i:knockout="Off" d="M81.373,130.74c-0.092,2.92-0.139,4.959-0.928,6.58c-0.973,2.086-2.594,2.688-3.799,2.688 c-2.783,0-3.383-2.316-3.383-4.586c0-4.355,3.893-4.682,5.652-4.682H81.373z M68.629,136.441c0,2.92,0.881,5.838,3.477,7.09 c1.158,0.51,2.316,0.51,2.688,0.51c4.264,0,5.699-3.152,6.58-5.098c-0.047,2.039,0,3.289,0.139,4.912 c0.834-0.047,1.668-0.139,3.059-0.139c0.787,0,1.529,0.092,2.316,0.139c-0.51-0.787-0.787-1.252-0.928-3.059 c-0.092-1.76-0.092-3.521-0.092-5.977l0.047-9.453c0-3.523-0.928-6.998-7.879-6.998c-4.586,0-7.273,1.391-8.617,2.086 c0.557,1.02,1.02,1.898,1.436,3.893c1.809-1.576,4.172-2.41,6.58-2.41c3.848,0,3.848,2.549,3.848,6.162 c-0.881-0.045-1.623-0.137-2.875-0.137C72.521,127.963,68.629,130.23,68.629,136.441"/>
35 + <path i:knockout="Off" d="M108.063,139.268c0.047,1.576,0.047,3.244,0.695,4.588c-1.021-0.092-1.623-0.232-3.521-0.232 c-1.113,0-1.715,0.094-2.596,0.232c0.184-0.602,0.279-0.834,0.371-1.623c0.139-1.064,0.232-4.633,0.232-5.885v-5.004 c0-2.178,0-5.33-0.141-6.441c-0.092-0.787-0.322-2.918-3.012-2.918c-2.641,0-3.521,1.945-3.846,3.521 c-0.369,1.621-0.369,3.383-0.369,10.24c0.045,5.932,0.045,6.486,0.508,8.109c-0.787-0.092-1.76-0.184-3.15-0.184 c-1.113,0-1.854,0.045-2.779,0.184c0.324-0.742,0.51-1.113,0.602-3.707c0.094-2.549,0.279-15.061-0.141-18.025 c-0.23-1.809-0.695-2.225-1.203-2.688c3.754-0.186,4.957-0.789,6.117-1.389v4.91c0.555-1.438,1.713-4.635,6.348-4.635 c5.793,0,5.838,4.217,5.885,6.996V139.268"/>
36 + <path i:knockout="Off" fill="#A80030" d="M66.926,111.533l-3.838,3.836l-3.836-3.836l3.836-3.836L66.926,111.533"/>
37 + </g>
38 + </g>
39 +</svg>
public/favicon.ico
Binary files /dev/null and b/public/favicon.ico differ
public/logo.png
Binary files /dev/null and b/public/logo.png differ
styles/Authorize.module.css new
+60
@@ -0,0 +1,60 @@
1 +.syncContainer {
2 + display: inherit;
3 + justify-content: space-between;
4 + max-width: 400px;
5 + margin: 0 auto;
6 + padding: 10px 0;
7 +}
8 +
9 +.syncContainer div {
10 + display: inline-block;
11 + margin-top: auto;
12 + margin-bottom: auto;
13 + width: 75px;
14 + margin-left: 3em;
15 + margin-right: 3em;
16 +}
17 +
18 +.arrow {
19 + position: absolute;
20 + width: 3vw;
21 + top: 50%;
22 + left: 45%;
23 + transform: translate(-50%, -50%);
24 + transform: rotate(270deg);
25 + cursor: pointer;
26 + margin-left: 0;
27 +}
28 +
29 +.arrow span {
30 + display: block;
31 + width: 1.5vw;
32 + height: 1.5vw;
33 + border-bottom: 5px solid white;
34 + border-right: 5px solid white;
35 + transform: rotate(45deg);
36 + margin: -10px;
37 + animation: animate 2s infinite;
38 +}
39 +
40 +.arrow span:nth-child(2) {
41 + animation-delay: -0.2s;
42 +}
43 +
44 +.arrow span:nth-child(3) {
45 + animation-delay: -0.4s;
46 +}
47 +
48 +@keyframes animate {
49 + 0% {
50 + opacity: 0;
51 + transform: rotate(45deg) translate(-20px, -20px);
52 + }
53 + 50% {
54 + opacity: 1;
55 + }
56 + 100% {
57 + opacity: 0;
58 + transform: rotate(45deg) translate(20px, 20px);
59 + }
60 +}
\ No newline at end of file
styles/Home.module.css
styles/Learn.module.css
styles/Login.module.css new
+121
@@ -0,0 +1,121 @@
1 +.button {
2 + position: relative;
3 + padding: 16px 30px;
4 + color: var(--color);
5 + border: 2px solid rgba(0, 0, 0, 0.5);
6 + border-radius: 4px;
7 + text-shadow: 0 0 15px var(--color);
8 + text-decoration: none;
9 + text-transform: uppercase;
10 + letter-spacing: 0.1rem;
11 + transition: 0.5s;
12 + z-index: 1;
13 +}
14 +
15 +.button:hover {
16 + color: #1d1b1b;
17 + border: 2px solid rgba(0, 0, 0, 0);
18 + box-shadow: 0 0 0px var(--color);
19 +}
20 +
21 +.button::before {
22 + content: '';
23 + position: absolute;
24 + top: 0;
25 + left: 0;
26 + width: 100%;
27 + height: 100%;
28 + background: var(--color);
29 + z-index: -1;
30 + transform: scale(0);
31 + transition: 0.5s;
32 +}
33 +
34 +.button:hover::before {
35 + transform: scale(1);
36 + transition-delay: 0.5s;
37 + box-shadow: 0 0 10px var(--color),
38 + 0 0 30px var(--color),
39 + 0 0 60px var(--color);
40 +}
41 +
42 +.button span {
43 + position: absolute;
44 + background: var(--color);
45 + pointer-events: none;
46 + border-radius: 2px;
47 + box-shadow: 0 0 10px var(--color),
48 + 0 0 20px var(--color),
49 + 0 0 30px var(--color),
50 + 0 0 50px var(--color),
51 + 0 0 100px var(--color);
52 + transition: 0.5s ease-in-out;
53 + transition-delay: 0.25s;
54 +}
55 +
56 +.button:hover span {
57 + opacity: 0;
58 + transition-delay: 0s;
59 +}
60 +
61 +.button span:nth-child(1),
62 +.button span:nth-child(3) {
63 + width: 40px;
64 + height: 4px;
65 +}
66 +
67 +.button:hover span:nth-child(1),
68 +.button:hover span:nth-child(3) {
69 + transform: translateX(0);
70 +}
71 +
72 +.button span:nth-child(2),
73 +.button span:nth-child(4) {
74 + width: 4px;
75 + height: 40px;
76 +}
77 +
78 +.button:hover span:nth-child(1),
79 +.button:hover span:nth-child(3) {
80 + transform: translateY(0);
81 +}
82 +
83 +.button span:nth-child(1) {
84 + top: calc(50% - 2px);
85 + left: -50px;
86 + transform-origin: left;
87 +}
88 +
89 +.button:hover span:nth-child(1) {
90 + left: 50%;
91 +}
92 +
93 +.button span:nth-child(3) {
94 + top: calc(50% - 2px);
95 + right: -50px;
96 + transform-origin: right;
97 +}
98 +
99 +.button:hover span:nth-child(3) {
100 + right: 50%;
101 +}
102 +
103 +.button span:nth-child(2) {
104 + left: calc(50% - 2px);
105 + top: -50px;
106 + transform-origin: top;
107 +}
108 +
109 +.button:hover span:nth-child(2) {
110 + top: 50%;
111 +}
112 +
113 +.button span:nth-child(4) {
114 + left: calc(50% - 2px);
115 + bottom: -50px;
116 + transform-origin: bottom;
117 +}
118 +
119 +.button:hover span:nth-child(4) {
120 + bottom: 50%;
121 +}
\ No newline at end of file
styles/Shared.module.css new
+237
@@ -0,0 +1,237 @@
1 +.main {
2 + display: flex;
3 + flex-direction: column;
4 + justify-content: space-between;
5 + align-items: center;
6 + padding: 6rem;
7 + min-height: 100vh;
8 +}
9 +
10 +.description {
11 + display: inherit;
12 + justify-content: inherit;
13 + align-items: inherit;
14 + font-size: 0.85rem;
15 + max-width: var(--max-width);
16 + width: 100%;
17 + z-index: 2;
18 + font-family: var(--font-mono);
19 +}
20 +
21 +.description a {
22 + display: flex;
23 + justify-content: center;
24 + align-items: center;
25 + gap: 0.5rem;
26 +}
27 +
28 +.description p {
29 + position: relative;
30 + margin: 0;
31 + padding: 1rem;
32 + background-color: rgba(var(--callout-rgb), 0.5);
33 + border: 1px solid rgba(var(--callout-border-rgb), 0.3);
34 + border-radius: var(--border-radius);
35 +}
36 +
37 +.description div {
38 + display: flex;
39 + justify-content: center;
40 + align-items: center;
41 + gap: 0.2rem;
42 +}
43 +
44 +.footer {
45 + display: inherit;
46 + justify-content: inherit;
47 +}
48 +
49 +.code {
50 + font-weight: 700;
51 + font-family: var(--font-mono);
52 +}
53 +
54 +.grid {
55 + display: grid;
56 + grid-template-columns: repeat(4, minmax(50%, auto));
57 + width: var(--max-width);
58 + max-width: 100%;
59 +}
60 +
61 +.card {
62 + padding: 1rem 1.2rem;
63 + border-radius: var(--border-radius);
64 + background: rgba(var(--card-rgb), 0);
65 + border: 1px solid rgba(var(--card-border-rgb), 0);
66 + transition: background 200ms, border 200ms;
67 +}
68 +
69 +.card span {
70 + display: inline-block;
71 + transition: transform 200ms;
72 +}
73 +
74 +.card h2 {
75 + font-weight: 600;
76 + margin-bottom: 0.7rem;
77 +}
78 +
79 +.card p {
80 + margin: 0;
81 + opacity: 0.6;
82 + font-size: 0.9rem;
83 + line-height: 1.5;
84 + max-width: 30ch;
85 +}
86 +
87 +.center {
88 + display: flex;
89 + justify-content: center;
90 + align-items: center;
91 + position: relative;
92 + padding: 4rem 0;
93 +}
94 +
95 +.center::before {
96 + background: var(--secondary-glow);
97 + border-radius: 50%;
98 + width: 480px;
99 + height: 360px;
100 + margin-left: -400px;
101 +}
102 +
103 +.center::after {
104 + background: var(--primary-glow);
105 + width: 240px;
106 + height: 180px;
107 + z-index: -1;
108 +}
109 +
110 +.center::before,
111 +.center::after {
112 + content: '';
113 + left: 50%;
114 + position: absolute;
115 + filter: blur(45px);
116 + transform: translateZ(0);
117 +}
118 +
119 +.avatar {
120 + border-radius: 50%;
121 +}
122 +
123 +.footer {
124 + display: flex;
125 + justify-content: center;
126 + align-items: center;
127 + gap: 2rem;
128 + padding: 2rem 0;
129 +}
130 +
131 +/* Enable hover only on non-touch devices */
132 +@media (hover: hover) and (pointer: fine) {
133 + .card:hover {
134 + background: rgba(var(--card-rgb), 0.1);
135 + border: 1px solid rgba(var(--card-border-rgb), 0.15);
136 + }
137 +
138 + .card:hover span {
139 + transform: translateX(4px);
140 + }
141 +}
142 +
143 +@media (prefers-reduced-motion) {
144 + .card:hover span {
145 + transform: none;
146 + }
147 +}
148 +
149 +/* Mobile */
150 +@media (max-width: 700px) {
151 + .content {
152 + padding: 4rem;
153 + }
154 +
155 + .grid {
156 + grid-template-columns: 1fr;
157 + margin-bottom: 120px;
158 + max-width: 320px;
159 + text-align: center;
160 + }
161 +
162 + .card {
163 + padding: 1rem 2.5rem;
164 + }
165 +
166 + .card h2 {
167 + margin-bottom: 0.5rem;
168 + }
169 +
170 + .center {
171 + padding: 8rem 0 6rem;
172 + }
173 +
174 + .center::before {
175 + transform: none;
176 + height: 300px;
177 + }
178 +
179 + .description {
180 + font-size: 0.8rem;
181 + }
182 +
183 + .description a {
184 + padding: 1rem;
185 + }
186 +
187 + .description p,
188 + .description div {
189 + display: flex;
190 + justify-content: center;
191 + position: fixed;
192 + width: 100%;
193 + }
194 +
195 + .description p {
196 + align-items: center;
197 + inset: 0 0 auto;
198 + padding: 2rem 1rem 1.4rem;
199 + border-radius: 0;
200 + border: none;
201 + border-bottom: 1px solid rgba(var(--callout-border-rgb), 0.25);
202 + background: linear-gradient(to bottom,
203 + rgba(var(--background-start-rgb), 1),
204 + rgba(var(--callout-rgb), 0.5));
205 + background-clip: padding-box;
206 + backdrop-filter: blur(24px);
207 + }
208 +
209 + .description div {
210 + align-items: center;
211 + pointer-events: none;
212 + inset: auto 0 0;
213 + padding: 2rem;
214 + height: 200px;
215 + background: linear-gradient(to bottom,
216 + transparent 0%,
217 + rgb(var(--background-end-rgb)) 40%);
218 + z-index: 1;
219 + }
220 +}
221 +
222 +/* Tablet and Smaller Desktop */
223 +@media (min-width: 701px) and (max-width: 1120px) {
224 + .grid {
225 + grid-template-columns: repeat(2, 50%);
226 + }
227 +}
228 +
229 +@keyframes rotate {
230 + from {
231 + transform: rotate(360deg);
232 + }
233 +
234 + to {
235 + transform: rotate(0deg);
236 + }
237 +}
\ No newline at end of file
styles/globals.css new
+94
@@ -0,0 +1,94 @@
1 +:root {
2 + --max-width: 1100px;
3 + --border-radius: 12px;
4 + --font-mono: ui-monospace, Menlo, Monaco, 'Cascadia Mono', 'Segoe UI Mono',
5 + 'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro',
6 + 'Fira Mono', 'Droid Sans Mono', 'Courier New', monospace;
7 +
8 + --foreground-rgb: 0, 0, 0;
9 + --background-start-rgb: 214, 219, 220;
10 + --background-end-rgb: 255, 255, 255;
11 +
12 + --primary-glow: conic-gradient(from 180deg at 50% 50%,
13 + #16abff33 0deg,
14 + #0885ff33 55deg,
15 + #54d6ff33 120deg,
16 + #0071ff33 160deg,
17 + transparent 360deg);
18 + --secondary-glow: radial-gradient(rgba(255, 255, 255, 1),
19 + rgba(255, 255, 255, 0));
20 +
21 + --tile-start-rgb: 239, 245, 249;
22 + --tile-end-rgb: 228, 232, 233;
23 + --tile-border: conic-gradient(#00000080,
24 + #00000040,
25 + #00000030,
26 + #00000020,
27 + #00000010,
28 + #00000010,
29 + #00000080);
30 +
31 + --callout-rgb: 238, 240, 241;
32 + --callout-border-rgb: 172, 175, 176;
33 + --card-rgb: 180, 185, 188;
34 + --card-border-rgb: 131, 134, 135;
35 +}
36 +
37 +@media (prefers-color-scheme: dark) {
38 + :root {
39 + --foreground-rgb: 255, 255, 255;
40 + --background-start-rgb: 0, 0, 0;
41 + --background-end-rgb: 0, 0, 0;
42 +
43 + --primary-glow: radial-gradient(rgba(1, 65, 255, 0.4), rgba(1, 65, 255, 0));
44 + --secondary-glow: linear-gradient(to bottom right,
45 + rgba(1, 65, 255, 0),
46 + rgba(1, 65, 255, 0),
47 + rgba(1, 65, 255, 0.3));
48 +
49 + --tile-start-rgb: 2, 13, 46;
50 + --tile-end-rgb: 2, 5, 19;
51 + --tile-border: conic-gradient(#ffffff80,
52 + #ffffff40,
53 + #ffffff30,
54 + #ffffff20,
55 + #ffffff10,
56 + #ffffff10,
57 + #ffffff80);
58 +
59 + --callout-rgb: 20, 20, 20;
60 + --callout-border-rgb: 108, 108, 108;
61 + --card-rgb: 100, 100, 100;
62 + --card-border-rgb: 200, 200, 200;
63 + }
64 +}
65 +
66 +* {
67 + box-sizing: border-box;
68 + padding: 0;
69 + margin: 0;
70 +}
71 +
72 +html,
73 +body {
74 + max-width: 100vw;
75 + overflow-x: hidden;
76 +}
77 +
78 +body {
79 + color: rgb(var(--foreground-rgb));
80 + background: linear-gradient(to bottom,
81 + transparent,
82 + rgb(var(--background-end-rgb))) rgb(var(--background-start-rgb));
83 +}
84 +
85 +a {
86 + color: inherit;
87 + text-decoration: none;
88 +}
89 +
90 +@media (prefers-color-scheme: dark) {
91 + html {
92 + color-scheme: dark;
93 + }
94 +}
\ No newline at end of file
tsconfig.json new
+32
@@ -0,0 +1,32 @@
1 +{
2 + "compilerOptions": {
3 + "lib": [
4 + "dom",
5 + "dom.iterable",
6 + "esnext"
7 + ],
8 + "allowJs": true,
9 + "skipLibCheck": true,
10 + "strict": false,
11 + "noEmit": true,
12 + "incremental": true,
13 + "module": "esnext",
14 + "esModuleInterop": true,
15 + "moduleResolution": "node",
16 + "resolveJsonModule": true,
17 + "isolatedModules": true,
18 + "jsx": "preserve",
19 + "paths": {
20 + "@/*": ["./*"]
21 + }
22 + },
23 + "include": [
24 + "next-env.d.ts",
25 + "**/*.ts",
26 + "**/*.tsx"
27 + ],
28 +
29 + "exclude": [
30 + "node_modules"
31 + ]
32 +}