├── bun.lockb
├── .gitattributes
├── public
├── favicon.ico
├── assets
│ ├── hbd2.mp3
│ ├── hbd.lottie
│ ├── korea-hbd.mp3
│ └── confetti.lottie
├── favicon-16x16.png
├── favicon-32x32.png
├── mstile-150x150.png
├── apple-touch-icon.png
├── android-chrome-192x192.png
├── android-chrome-384x384.png
├── browserconfig.xml
├── site.webmanifest
├── safari-pinned-tab.svg
└── vite.svg
├── .codesandbox
├── icon.png
├── template.json
└── tasks.json
├── src
├── assets
│ ├── images
│ │ ├── logo.jpg
│ │ ├── logo.png
│ │ └── urbanbrush-20210210104354908637.jpg
│ ├── fonts
│ │ └── Montserrat
│ │ │ ├── static
│ │ │ ├── Montserrat-Black.ttf
│ │ │ ├── Montserrat-Bold.ttf
│ │ │ ├── Montserrat-Italic.ttf
│ │ │ ├── Montserrat-Light.ttf
│ │ │ ├── Montserrat-Medium.ttf
│ │ │ ├── Montserrat-Thin.ttf
│ │ │ ├── Montserrat-Regular.ttf
│ │ │ ├── Montserrat-SemiBold.ttf
│ │ │ ├── Montserrat-BlackItalic.ttf
│ │ │ ├── Montserrat-BoldItalic.ttf
│ │ │ ├── Montserrat-ExtraBold.ttf
│ │ │ ├── Montserrat-ExtraLight.ttf
│ │ │ ├── Montserrat-LightItalic.ttf
│ │ │ ├── Montserrat-ThinItalic.ttf
│ │ │ ├── Montserrat-MediumItalic.ttf
│ │ │ ├── Montserrat-ExtraBoldItalic.ttf
│ │ │ ├── Montserrat-ExtraLightItalic.ttf
│ │ │ └── Montserrat-SemiBoldItalic.ttf
│ │ │ ├── Montserrat-VariableFont_wght.ttf
│ │ │ ├── Montserrat-Italic-VariableFont_wght.ttf
│ │ │ ├── README.txt
│ │ │ └── OFL.txt
│ └── react.svg
├── vite-env.d.ts
├── main.tsx
├── components
│ ├── Cake
│ │ └── index.tsx
│ ├── Name
│ │ └── index.tsx
│ └── CakeActions
│ │ └── index.tsx
├── App.css
├── index.scss
└── App.tsx
├── vercel.json
├── .devcontainer
└── devcontainer.json
├── tsconfig.node.json
├── .gitignore
├── .eslintrc.cjs
├── tsconfig.json
├── vite.config.ts
├── index.html
├── LICENSE
├── package.json
├── README.md
├── .github
└── workflows
│ └── deploy.yml
└── pnpm-lock.yaml
/bun.lockb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/bun.lockb
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/public/favicon.ico
--------------------------------------------------------------------------------
/.codesandbox/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/.codesandbox/icon.png
--------------------------------------------------------------------------------
/public/assets/hbd2.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/public/assets/hbd2.mp3
--------------------------------------------------------------------------------
/public/assets/hbd.lottie:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/public/assets/hbd.lottie
--------------------------------------------------------------------------------
/public/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/public/favicon-16x16.png
--------------------------------------------------------------------------------
/public/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/public/favicon-32x32.png
--------------------------------------------------------------------------------
/public/mstile-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/public/mstile-150x150.png
--------------------------------------------------------------------------------
/src/assets/images/logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/images/logo.jpg
--------------------------------------------------------------------------------
/src/assets/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/images/logo.png
--------------------------------------------------------------------------------
/public/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/public/apple-touch-icon.png
--------------------------------------------------------------------------------
/public/assets/korea-hbd.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/public/assets/korea-hbd.mp3
--------------------------------------------------------------------------------
/public/assets/confetti.lottie:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/public/assets/confetti.lottie
--------------------------------------------------------------------------------
/public/android-chrome-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/public/android-chrome-192x192.png
--------------------------------------------------------------------------------
/public/android-chrome-384x384.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/public/android-chrome-384x384.png
--------------------------------------------------------------------------------
/vercel.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": 2,
3 | "public": false,
4 | "github": {
5 | "enabled": false
6 | }
7 | }
--------------------------------------------------------------------------------
/.devcontainer/devcontainer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Devcontainer",
3 | "image": "ghcr.io/codesandbox/devcontainers/typescript-node:latest"
4 | }
5 |
--------------------------------------------------------------------------------
/src/assets/images/urbanbrush-20210210104354908637.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/images/urbanbrush-20210210104354908637.jpg
--------------------------------------------------------------------------------
/src/assets/fonts/Montserrat/static/Montserrat-Black.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/fonts/Montserrat/static/Montserrat-Black.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/Montserrat/static/Montserrat-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/fonts/Montserrat/static/Montserrat-Bold.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/Montserrat/static/Montserrat-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/fonts/Montserrat/static/Montserrat-Italic.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/Montserrat/static/Montserrat-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/fonts/Montserrat/static/Montserrat-Light.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/Montserrat/static/Montserrat-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/fonts/Montserrat/static/Montserrat-Medium.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/Montserrat/static/Montserrat-Thin.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/fonts/Montserrat/static/Montserrat-Thin.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/Montserrat/static/Montserrat-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/fonts/Montserrat/static/Montserrat-Regular.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/Montserrat/static/Montserrat-SemiBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/fonts/Montserrat/static/Montserrat-SemiBold.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/Montserrat/Montserrat-VariableFont_wght.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/fonts/Montserrat/Montserrat-VariableFont_wght.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/Montserrat/static/Montserrat-BlackItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/fonts/Montserrat/static/Montserrat-BlackItalic.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/Montserrat/static/Montserrat-BoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/fonts/Montserrat/static/Montserrat-BoldItalic.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/Montserrat/static/Montserrat-ExtraBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/fonts/Montserrat/static/Montserrat-ExtraBold.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/Montserrat/static/Montserrat-ExtraLight.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/fonts/Montserrat/static/Montserrat-ExtraLight.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/Montserrat/static/Montserrat-LightItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/fonts/Montserrat/static/Montserrat-LightItalic.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/Montserrat/static/Montserrat-ThinItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/fonts/Montserrat/static/Montserrat-ThinItalic.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/Montserrat/static/Montserrat-MediumItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/fonts/Montserrat/static/Montserrat-MediumItalic.ttf
--------------------------------------------------------------------------------
/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | declare namespace JSX {
4 | interface IntrinsicElements {
5 | "dotlottie-player": unknown;
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/assets/fonts/Montserrat/static/Montserrat-ExtraBoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/fonts/Montserrat/static/Montserrat-ExtraBoldItalic.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/Montserrat/static/Montserrat-ExtraLightItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/fonts/Montserrat/static/Montserrat-ExtraLightItalic.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/Montserrat/static/Montserrat-SemiBoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/fonts/Montserrat/static/Montserrat-SemiBoldItalic.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/Montserrat/Montserrat-Italic-VariableFont_wght.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chnirt/birthday-cake/HEAD/src/assets/fonts/Montserrat/Montserrat-Italic-VariableFont_wght.ttf
--------------------------------------------------------------------------------
/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "skipLibCheck": true,
5 | "module": "ESNext",
6 | "moduleResolution": "bundler",
7 | "allowSyntheticDefaultImports": true
8 | },
9 | "include": ["vite.config.ts"]
10 | }
11 |
--------------------------------------------------------------------------------
/public/browserconfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | #da532c
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.codesandbox/template.json:
--------------------------------------------------------------------------------
1 | {
2 | "title": "React (Vite + TS)",
3 | "description": "React running from the Vite dev server!",
4 | "iconUrl": "https://github.com/codesandbox/sandbox-templates/blob/main/react-vite-ts/.codesandbox/icon.png?raw=true",
5 | "tags": ["react", "vite", "javascript", "typescript"],
6 | "published": true
7 | }
8 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/src/main.tsx:
--------------------------------------------------------------------------------
1 | import "regenerator-runtime/runtime";
2 | import React from "react";
3 | import ReactDOM from "react-dom/client";
4 | import App from "./App.tsx";
5 | import "./index.scss";
6 | import { ToastContainer } from "react-toastify";
7 | import "react-toastify/dist/ReactToastify.css";
8 |
9 | ReactDOM.createRoot(document.getElementById("root")!).render(
10 |
11 |
12 |
13 |
14 | );
15 |
--------------------------------------------------------------------------------
/.eslintrc.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | env: { browser: true, es2020: true },
4 | extends: [
5 | "eslint:recommended",
6 | "plugin:@typescript-eslint/recommended",
7 | "plugin:react-hooks/recommended",
8 | ],
9 | ignorePatterns: ["dist", ".eslintrc.cjs"],
10 | parser: "@typescript-eslint/parser",
11 | plugins: ["react-refresh"],
12 | rules: {
13 | "react-refresh/only-export-components": [
14 | "warn",
15 | { allowConstantExport: true },
16 | ],
17 | },
18 | };
19 |
--------------------------------------------------------------------------------
/public/site.webmanifest:
--------------------------------------------------------------------------------
1 | {
2 | "name": "",
3 | "short_name": "",
4 | "icons": [
5 | {
6 | "src": "/android-chrome-192x192.png",
7 | "sizes": "192x192",
8 | "type": "image/png"
9 | },
10 | {
11 | "src": "/android-chrome-384x384.png",
12 | "sizes": "384x384",
13 | "type": "image/png"
14 | }
15 | ],
16 | "theme_color": "#ffffff",
17 | "background_color": "#ffffff",
18 | "display": "standalone"
19 | }
20 |
--------------------------------------------------------------------------------
/src/components/Cake/index.tsx:
--------------------------------------------------------------------------------
1 | export const Cake = ({ candleVisible }: { candleVisible: boolean }) => {
2 | return (
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | {candleVisible ?
: null}
14 |
15 |
16 | );
17 | };
18 |
--------------------------------------------------------------------------------
/public/safari-pinned-tab.svg:
--------------------------------------------------------------------------------
1 |
2 |
4 |
16 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2020",
4 | "useDefineForClassFields": true,
5 | "lib": ["ES2020", "DOM", "DOM.Iterable"],
6 | "module": "ESNext",
7 | "skipLibCheck": true,
8 |
9 | /* Bundler mode */
10 | "moduleResolution": "bundler",
11 | "allowImportingTsExtensions": true,
12 | "resolveJsonModule": true,
13 | "isolatedModules": true,
14 | "noEmit": true,
15 | "jsx": "react-jsx",
16 |
17 | /* Linting */
18 | "strict": true,
19 | "noUnusedLocals": true,
20 | "noUnusedParameters": true,
21 | "noFallthroughCasesInSwitch": true
22 | },
23 | "include": ["src"],
24 | "references": [{ "path": "./tsconfig.node.json" }]
25 | }
26 |
--------------------------------------------------------------------------------
/src/App.css:
--------------------------------------------------------------------------------
1 | #root {
2 | max-width: 1280px;
3 | margin: 0 auto;
4 | text-align: center;
5 | }
6 |
7 | .logo {
8 | height: 6em;
9 | padding: 1.5em;
10 | will-change: filter;
11 | transition: filter 300ms;
12 | }
13 | .logo:hover {
14 | filter: drop-shadow(0 0 2em #646cffaa);
15 | }
16 | .logo.react:hover {
17 | filter: drop-shadow(0 0 2em #61dafbaa);
18 | }
19 |
20 | @keyframes logo-spin {
21 | from {
22 | transform: rotate(0deg);
23 | }
24 | to {
25 | transform: rotate(360deg);
26 | }
27 | }
28 |
29 | @media (prefers-reduced-motion: no-preference) {
30 | a:nth-of-type(2) .logo {
31 | animation: logo-spin infinite 20s linear;
32 | }
33 | }
34 |
35 | .card {
36 | padding: 2em;
37 | }
38 |
39 | .read-the-docs {
40 | color: #888;
41 | }
42 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "vite";
2 | import react from "@vitejs/plugin-react";
3 | import version from "vite-plugin-package-version";
4 |
5 | // https://vitejs.dev/config/
6 | export default defineConfig({
7 | plugins: [react(), version()],
8 | build: {
9 | rollupOptions: {
10 | output: {
11 | // manualChunks(id) {
12 | // if (id.includes("node_modules")) {
13 | // return id
14 | // .toString()
15 | // .split("node_modules/")[1]
16 | // .split("/")[0]
17 | // .toString();
18 | // }
19 | // },
20 | manualChunks: {
21 | // Specify manual chunk names and modules
22 | react: ["react", "react-dom"],
23 | lottie: ["react-lottie"],
24 | },
25 | },
26 | },
27 | },
28 | });
29 |
--------------------------------------------------------------------------------
/.codesandbox/tasks.json:
--------------------------------------------------------------------------------
1 | {
2 | // These tasks will run in order when initializing your CodeSandbox project.
3 | "setupTasks": [
4 | {
5 | "name": "Install Dependencies",
6 | "command": "pnpm install --force"
7 | }
8 | ],
9 |
10 | // These tasks can be run from CodeSandbox. Running one will open a log in the app.
11 | "tasks": {
12 | "dev": {
13 | "name": "dev",
14 | "command": "pnpm dev",
15 | "runAtStart": true,
16 | "preview": {
17 | "port": 5173
18 | }
19 | },
20 | "build": {
21 | "name": "build",
22 | "command": "pnpm build",
23 | "runAtStart": false
24 | },
25 | "preview": {
26 | "name": "preview",
27 | "command": "pnpm preview",
28 | "runAtStart": false
29 | },
30 | "install": {
31 | "name": "install dependencies",
32 | "command": "pnpm install"
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Birthday Cake
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2024 Chin Trinh
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "birthday-cake",
3 | "private": true,
4 | "version": "0.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vite",
8 | "build": "tsc && vite build",
9 | "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
10 | "preview": "vite preview"
11 | },
12 | "dependencies": {
13 | "@dotlottie/player-component": "^2.7.12",
14 | "@types/react-lottie": "1.2.10",
15 | "react": "^18.2.0",
16 | "react-audio-player": "0.17.0",
17 | "react-copy-to-clipboard": "^5.1.0",
18 | "react-dom": "^18.2.0",
19 | "react-icons": "^5.1.0",
20 | "react-joyride": "^2.8.1",
21 | "react-lottie": "1.2.4",
22 | "react-toastify": "^10.0.5",
23 | "regenerator-runtime": "0.14.1",
24 | "sass": "1.72.0",
25 | "vite-plugin-package-version": "^1.1.0"
26 | },
27 | "devDependencies": {
28 | "@types/react": "^18.2.65",
29 | "@types/react-copy-to-clipboard": "^5.0.7",
30 | "@types/react-dom": "^18.2.21",
31 | "@typescript-eslint/eslint-plugin": "^7.2.0",
32 | "@typescript-eslint/parser": "^7.2.0",
33 | "@vitejs/plugin-react": "^4.2.1",
34 | "eslint": "^8.57.0",
35 | "eslint-plugin-react-hooks": "^4.6.0",
36 | "eslint-plugin-react-refresh": "^0.4.5",
37 | "typescript": "^5.4.2",
38 | "vite": "^5.1.6"
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # React + TypeScript + Vite
2 |
3 | This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
4 |
5 | Currently, two official plugins are available:
6 |
7 | - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
8 | - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
9 |
10 | ## Expanding the ESLint configuration
11 |
12 | If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
13 |
14 | - Configure the top-level `parserOptions` property like this:
15 |
16 | ```js
17 | export default {
18 | // other rules...
19 | parserOptions: {
20 | ecmaVersion: "latest",
21 | sourceType: "module",
22 | project: ["./tsconfig.json", "./tsconfig.node.json"],
23 | tsconfigRootDir: __dirname,
24 | },
25 | };
26 | ```
27 |
28 | - Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`
29 | - Optionally add `plugin:@typescript-eslint/stylistic-type-checked`
30 | - Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list
31 |
--------------------------------------------------------------------------------
/public/vite.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/components/Name/index.tsx:
--------------------------------------------------------------------------------
1 | import { SetStateAction, forwardRef, useCallback, useEffect } from "react";
2 |
3 | interface InputProps {
4 | name: string;
5 | setName: React.Dispatch>;
6 | shareMode: boolean;
7 | playing: boolean;
8 | run: boolean;
9 | }
10 |
11 | export const Name: React.FC & InputProps> =
12 | forwardRef(
13 | (
14 | { name, setName, shareMode, playing, run, ...rest }: InputProps,
15 | ref: React.LegacyRef
16 | ) => {
17 | console.log("🚀 ~ playing:", playing);
18 | console.log("🚀 ~ shareMode:", shareMode);
19 | const onChange = useCallback(
20 | (e: { target: { value: SetStateAction } }) => {
21 | setName(e.target.value);
22 | window.history.pushState({}, "", `?name=${e.target.value}`);
23 | },
24 | [setName]
25 | );
26 |
27 | useEffect(() => {
28 | const queryString = window.location.search;
29 | const urlParams = new URLSearchParams(queryString);
30 | const nameParam = urlParams.get("name");
31 | if (nameParam !== null) {
32 | setName(nameParam);
33 | }
34 | }, [setName]);
35 |
36 | return (
37 |
49 | 0 ? "block" : "none",
69 | }
70 | : {}),
71 | },
72 | value: name,
73 | onChange,
74 | disabled: shareMode || playing || run,
75 | readOnly: shareMode || playing || run,
76 | spellCheck: false,
77 | autoFocus: true,
78 | placeholder: "Enter your name",
79 | ...rest,
80 | }}
81 | />
82 |
83 | );
84 | }
85 | );
86 |
--------------------------------------------------------------------------------
/src/assets/fonts/Montserrat/README.txt:
--------------------------------------------------------------------------------
1 | Montserrat Variable Font
2 | ========================
3 |
4 | This download contains Montserrat as both variable fonts and static fonts.
5 |
6 | Montserrat is a variable font with this axis:
7 | wght
8 |
9 | This means all the styles are contained in these files:
10 | Montserrat-VariableFont_wght.ttf
11 | Montserrat-Italic-VariableFont_wght.ttf
12 |
13 | If your app fully supports variable fonts, you can now pick intermediate styles
14 | that aren’t available as static fonts. Not all apps support variable fonts, and
15 | in those cases you can use the static font files for Montserrat:
16 | static/Montserrat-Thin.ttf
17 | static/Montserrat-ExtraLight.ttf
18 | static/Montserrat-Light.ttf
19 | static/Montserrat-Regular.ttf
20 | static/Montserrat-Medium.ttf
21 | static/Montserrat-SemiBold.ttf
22 | static/Montserrat-Bold.ttf
23 | static/Montserrat-ExtraBold.ttf
24 | static/Montserrat-Black.ttf
25 | static/Montserrat-ThinItalic.ttf
26 | static/Montserrat-ExtraLightItalic.ttf
27 | static/Montserrat-LightItalic.ttf
28 | static/Montserrat-Italic.ttf
29 | static/Montserrat-MediumItalic.ttf
30 | static/Montserrat-SemiBoldItalic.ttf
31 | static/Montserrat-BoldItalic.ttf
32 | static/Montserrat-ExtraBoldItalic.ttf
33 | static/Montserrat-BlackItalic.ttf
34 |
35 | Get started
36 | -----------
37 |
38 | 1. Install the font files you want to use
39 |
40 | 2. Use your app's font picker to view the font family and all the
41 | available styles
42 |
43 | Learn more about variable fonts
44 | -------------------------------
45 |
46 | https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts
47 | https://variablefonts.typenetwork.com
48 | https://medium.com/variable-fonts
49 |
50 | In desktop apps
51 |
52 | https://theblog.adobe.com/can-variable-fonts-illustrator-cc
53 | https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts
54 |
55 | Online
56 |
57 | https://developers.google.com/fonts/docs/getting_started
58 | https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide
59 | https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts
60 |
61 | Installing fonts
62 |
63 | MacOS: https://support.apple.com/en-us/HT201749
64 | Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux
65 | Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows
66 |
67 | Android Apps
68 |
69 | https://developers.google.com/fonts/docs/android
70 | https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
71 |
72 | License
73 | -------
74 | Please read the full license text (OFL.txt) to understand the permissions,
75 | restrictions and requirements for usage, redistribution, and modification.
76 |
77 | You can use them in your products & projects – print or digital,
78 | commercial or otherwise.
79 |
80 | This isn't legal advice, please consider consulting a lawyer and see the full
81 | license for all details.
82 |
--------------------------------------------------------------------------------
/.github/workflows/deploy.yml:
--------------------------------------------------------------------------------
1 | name: Deploy and Tag Release
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 | tags:
8 | - "*"
9 |
10 | # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
11 | # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
12 | concurrency:
13 | group: "deloy"
14 | cancel-in-progress: false
15 |
16 | jobs:
17 | update_version_build_and_deploy_production:
18 | if: startsWith(github.ref, 'refs/tags/')
19 | runs-on: ubuntu-latest
20 | steps:
21 | - name: Checkout repository
22 | uses: actions/checkout@v4
23 |
24 | - name: Reset Git working directory
25 | run: git reset --hard
26 |
27 | - name: Detect package manager
28 | id: detect-package-manager
29 | run: |
30 | if [ -f "${{ github.workspace }}/yarn.lock" ]; then
31 | echo "manager=yarn" >> $GITHUB_OUTPUT
32 | echo "command=install" >> $GITHUB_OUTPUT
33 | echo "runner=yarn" >> $GITHUB_OUTPUT
34 | exit 0
35 | elif [ -f "${{ github.workspace }}/package.json" ]; then
36 | echo "manager=npm" >> $GITHUB_OUTPUT
37 | echo "command=ci" >> $GITHUB_OUTPUT
38 | echo "runner=npx --no-install" >> $GITHUB_OUTPUT
39 | exit 0
40 | else
41 | echo "Unable to determine package manager"
42 | exit 1
43 | fi
44 |
45 | - name: Setup Node
46 | uses: actions/setup-node@v4
47 | with:
48 | node-version: "20"
49 |
50 | - name: Update Version in package.json
51 | id: update_version
52 | if: startsWith(github.ref, 'refs/tags/')
53 | run: |
54 | new_version=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,')
55 | npm version $new_version --no-git-tag-version
56 | echo "Updated version to $new_version in package.json"
57 | echo "new_version=${new_version}" >> $GITHUB_ENV
58 |
59 | - name: Commit Version Change
60 | if: startsWith(github.ref, 'refs/tags/')
61 | run: |
62 | git config --local user.email "action@github.com"
63 | git config --local user.name "GitHub Action"
64 | git add package.json
65 | git commit -m "Update version to ${new_version}"
66 | git push origin HEAD:main
67 |
68 | - name: Restore cache
69 | uses: actions/cache@v4
70 | with:
71 | path: |
72 | .next/cache
73 | # Generate a new cache whenever packages or source files change.
74 | key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }}
75 | # If source files changed but packages didn't, rebuild from a prior cache.
76 | restore-keys: |
77 | ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}-
78 |
79 | - name: Install dependencies
80 | run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }}
81 |
82 | - name: Build
83 | run: ${{ steps.detect-package-manager.outputs.runner }} npx run build
84 |
85 | - name: Deploy to Vercel (Production)
86 | uses: amondnet/vercel-action@v25 #deploy
87 | with:
88 | vercel-token: ${{ secrets.VERCEL_TOKEN }} # Required
89 | github-token: ${{ secrets.GITHUB_TOKEN }} #Optional
90 | vercel-args: "--prod" #Optional
91 | vercel-org-id: ${{ secrets.VERCEL_ORG_ID}} #Required
92 | vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID}} #Required
93 | github-comment: false
--------------------------------------------------------------------------------
/src/assets/react.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/components/CakeActions/index.tsx:
--------------------------------------------------------------------------------
1 | import { Fragment } from "react/jsx-runtime";
2 | import {
3 | TbPlayerPlayFilled,
4 | TbPlayerPauseFilled,
5 | TbPlayerStopFilled,
6 | TbInfoCircleFilled,
7 | TbFlame,
8 | TbFlameOff,
9 | TbShare3,
10 | } from "react-icons/tb";
11 | import { useCallback } from "react";
12 | import { CopyToClipboard } from "react-copy-to-clipboard";
13 | import { toast } from "react-toastify";
14 |
15 | const buttonStyle = {
16 | color: "#ffffff",
17 | opacity: 0.9,
18 | borderWidth: 0,
19 | display: "flex",
20 | justifyContent: "center",
21 | alignItems: "center",
22 | backgroundColor: "#000000",
23 | };
24 |
25 | export const CakeActions = ({
26 | run,
27 | start,
28 | pause,
29 | stop,
30 | toggleLightCandle,
31 | setRun,
32 | playing,
33 | paused,
34 | candleVisible,
35 | }: // eslint-disable-next-line @typescript-eslint/no-explicit-any
36 | any) => {
37 | const guide = useCallback(() => setRun(true), [setRun]);
38 |
39 | const actions = useCallback(() => {
40 | return (
41 |
42 | {!playing || paused ? (
43 |
47 | ) : null}
48 | {playing && !paused ? (
49 |
53 | ) : null}
54 | {playing ? (
55 |
59 | ) : null}
60 |
68 | {!playing ? (
69 |
73 | ) : null}
74 | toast("Copied to clipboard!")}
77 | >
78 |
81 |
82 |
83 | );
84 | }, [
85 | candleVisible,
86 | guide,
87 | pause,
88 | paused,
89 | playing,
90 | start,
91 | stop,
92 | toggleLightCandle,
93 | ]);
94 |
95 | const guideActions = useCallback(() => {
96 | return (
97 |
98 |
102 |
106 |
110 |
119 |
122 |
123 | );
124 | }, [candleVisible, pause, run, start, stop, toggleLightCandle]);
125 |
126 | return (
127 |
138 | {run ? guideActions() : actions()}
139 |
140 | );
141 | };
142 |
--------------------------------------------------------------------------------
/src/assets/fonts/Montserrat/OFL.txt:
--------------------------------------------------------------------------------
1 | Copyright 2011 The Montserrat Project Authors (https://github.com/JulietaUla/Montserrat)
2 |
3 | This Font Software is licensed under the SIL Open Font License, Version 1.1.
4 | This license is copied below, and is also available with a FAQ at:
5 | https://openfontlicense.org
6 |
7 |
8 | -----------------------------------------------------------
9 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
10 | -----------------------------------------------------------
11 |
12 | PREAMBLE
13 | The goals of the Open Font License (OFL) are to stimulate worldwide
14 | development of collaborative font projects, to support the font creation
15 | efforts of academic and linguistic communities, and to provide a free and
16 | open framework in which fonts may be shared and improved in partnership
17 | with others.
18 |
19 | The OFL allows the licensed fonts to be used, studied, modified and
20 | redistributed freely as long as they are not sold by themselves. The
21 | fonts, including any derivative works, can be bundled, embedded,
22 | redistributed and/or sold with any software provided that any reserved
23 | names are not used by derivative works. The fonts and derivatives,
24 | however, cannot be released under any other type of license. The
25 | requirement for fonts to remain under this license does not apply
26 | to any document created using the fonts or their derivatives.
27 |
28 | DEFINITIONS
29 | "Font Software" refers to the set of files released by the Copyright
30 | Holder(s) under this license and clearly marked as such. This may
31 | include source files, build scripts and documentation.
32 |
33 | "Reserved Font Name" refers to any names specified as such after the
34 | copyright statement(s).
35 |
36 | "Original Version" refers to the collection of Font Software components as
37 | distributed by the Copyright Holder(s).
38 |
39 | "Modified Version" refers to any derivative made by adding to, deleting,
40 | or substituting -- in part or in whole -- any of the components of the
41 | Original Version, by changing formats or by porting the Font Software to a
42 | new environment.
43 |
44 | "Author" refers to any designer, engineer, programmer, technical
45 | writer or other person who contributed to the Font Software.
46 |
47 | PERMISSION & CONDITIONS
48 | Permission is hereby granted, free of charge, to any person obtaining
49 | a copy of the Font Software, to use, study, copy, merge, embed, modify,
50 | redistribute, and sell modified and unmodified copies of the Font
51 | Software, subject to the following conditions:
52 |
53 | 1) Neither the Font Software nor any of its individual components,
54 | in Original or Modified Versions, may be sold by itself.
55 |
56 | 2) Original or Modified Versions of the Font Software may be bundled,
57 | redistributed and/or sold with any software, provided that each copy
58 | contains the above copyright notice and this license. These can be
59 | included either as stand-alone text files, human-readable headers or
60 | in the appropriate machine-readable metadata fields within text or
61 | binary files as long as those fields can be easily viewed by the user.
62 |
63 | 3) No Modified Version of the Font Software may use the Reserved Font
64 | Name(s) unless explicit written permission is granted by the corresponding
65 | Copyright Holder. This restriction only applies to the primary font name as
66 | presented to the users.
67 |
68 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
69 | Software shall not be used to promote, endorse or advertise any
70 | Modified Version, except to acknowledge the contribution(s) of the
71 | Copyright Holder(s) and the Author(s) or with their explicit written
72 | permission.
73 |
74 | 5) The Font Software, modified or unmodified, in part or in whole,
75 | must be distributed entirely under this license, and must not be
76 | distributed under any other license. The requirement for fonts to
77 | remain under this license does not apply to any document created
78 | using the Font Software.
79 |
80 | TERMINATION
81 | This license becomes null and void if any of the above conditions are
82 | not met.
83 |
84 | DISCLAIMER
85 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
86 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
87 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
88 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
89 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
90 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
91 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
92 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
93 | OTHER DEALINGS IN THE FONT SOFTWARE.
94 |
--------------------------------------------------------------------------------
/src/index.scss:
--------------------------------------------------------------------------------
1 | :root {
2 | font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
3 | line-height: 1.5;
4 | font-weight: 400;
5 |
6 | color-scheme: light dark;
7 | color: rgba(255, 255, 255, 0.87);
8 | background-color: #242424;
9 |
10 | font-synthesis: none;
11 | text-rendering: optimizeLegibility;
12 | -webkit-font-smoothing: antialiased;
13 | -moz-osx-font-smoothing: grayscale;
14 | }
15 |
16 | a {
17 | font-weight: 500;
18 | color: #646cff;
19 | text-decoration: inherit;
20 | }
21 | a:hover {
22 | color: #535bf2;
23 | }
24 |
25 | body {
26 | margin: 0;
27 | // display: flex;
28 | // place-items: center;
29 | min-width: 320px;
30 | height: 100dvh;
31 | }
32 |
33 | h1 {
34 | font-size: 3.2em;
35 | line-height: 1.1;
36 | }
37 |
38 | button {
39 | border-radius: 8px;
40 | border: 1px solid transparent;
41 | padding: 0.6em 1.2em;
42 | font-size: 1em;
43 | font-weight: 500;
44 | font-family: inherit;
45 | background-color: #1a1a1a;
46 | cursor: pointer;
47 | transition: border-color 0.25s;
48 | }
49 | button:hover {
50 | border-color: #646cff;
51 | }
52 | button:focus,
53 | button:focus-visible {
54 | outline: 4px auto -webkit-focus-ring-color;
55 | }
56 |
57 | @media (prefers-color-scheme: light) {
58 | :root {
59 | color: #213547;
60 | background-color: #ffffff;
61 | }
62 | a:hover {
63 | color: #747bff;
64 | }
65 | button {
66 | background-color: #f9f9f9;
67 | }
68 | }
69 |
70 | $vanilla: #f0e4d0;
71 | $chocolate: #553c13;
72 |
73 | body {
74 | background-color: #333;
75 | }
76 |
77 | @mixin foodColoring($color) {
78 | background-color: $color;
79 | box-shadow:
80 | 0 2px 0px lighten($color, 5%),
81 | 0 4px 0px darken($color, 8.2%),
82 | 0 6px 0px darken($color, 8.4%),
83 | 0 8px 0px darken($color, 8.6%),
84 | 0 10px 0px darken($color, 8.8%),
85 | 0 12px 0px darken($color, 9%),
86 | 0 14px 0px darken($color, 9.2%),
87 | 0 16px 0px darken($color, 9.4%),
88 | 0 18px 0px darken($color, 9.6%),
89 | 0 20px 0px darken($color, 9.8%),
90 | 0 22px 0px darken($color, 10%),
91 | 0 24px 0px darken($color, 10.2%),
92 | 0 26px 0px darken($color, 10.4%),
93 | 0 28px 0px darken($color, 10.6%),
94 | 0 30px 0px darken($color, 10.8%);
95 | }
96 |
97 | .cake {
98 | position: absolute;
99 | width: 250px;
100 | height: 200px;
101 | top: 50%;
102 | left: 50%;
103 | margin-top: -70px;
104 | margin-left: -125px;
105 | }
106 |
107 | .plate {
108 | width: 270px;
109 | height: 110px;
110 | position: absolute;
111 | bottom: -10px;
112 | left: -10px;
113 | background-color: #ccc;
114 | border-radius: 50%;
115 | box-shadow:
116 | 0 2px 0 darken(#ccc, 10%),
117 | 0 4px 0 darken(#ccc, 10%),
118 | 0 5px 40px rgba(black, 0.5);
119 | }
120 |
121 | .cake > * {
122 | position: absolute;
123 | }
124 |
125 | .layer {
126 | position: absolute;
127 | display: block;
128 | width: 250px;
129 | height: 100px;
130 | border-radius: 50%;
131 | @include foodColoring($chocolate);
132 | }
133 |
134 | .layer-top {
135 | top: 0px;
136 | }
137 | .layer-middle {
138 | top: 33px;
139 | }
140 | .layer-bottom {
141 | top: 66px;
142 | }
143 |
144 | .icing {
145 | top: 2px;
146 | left: 5px;
147 | background-color: $vanilla;
148 | width: 240px;
149 | height: 90px;
150 | border-radius: 50%;
151 | &:before {
152 | content: "";
153 | position: absolute;
154 | top: 4px;
155 | right: 5px;
156 | bottom: 6px;
157 | left: 5px;
158 | background-color: lighten($vanilla, 3%);
159 | box-shadow:
160 | 0 0 4px lighten($vanilla, 5%),
161 | 0 0 4px lighten($vanilla, 5%),
162 | 0 0 4px lighten($vanilla, 5%);
163 | border-radius: 50%;
164 | z-index: 1;
165 | }
166 | }
167 |
168 | .drip {
169 | display: block;
170 | width: 50px;
171 | height: 60px;
172 | border-bottom-left-radius: 25px;
173 | border-bottom-right-radius: 25px;
174 | background-color: $vanilla;
175 | }
176 |
177 | .drip1 {
178 | top: 53px;
179 | left: 5px;
180 | transform: skewY(15deg);
181 | height: 48px;
182 | width: 40px;
183 | }
184 |
185 | .drip2 {
186 | top: 69px;
187 | left: 181px;
188 | transform: skewY(-15deg);
189 | }
190 |
191 | .drip3 {
192 | top: 54px;
193 | left: 90px;
194 | width: 80px;
195 | border-bottom-left-radius: 40px;
196 | border-bottom-right-radius: 40px;
197 | }
198 |
199 | .candle {
200 | background-color: #7b020b;
201 | width: 16px;
202 | height: 50px;
203 | border-radius: 8px / 4px;
204 | top: -20px;
205 | left: 50%;
206 | margin-left: -8px;
207 | z-index: 10;
208 | &:before {
209 | content: "";
210 | position: absolute;
211 | top: 0;
212 | left: 0;
213 | width: 16px;
214 | height: 8px;
215 | border-radius: 50%;
216 | background-color: lighten(#7b020b, 10%);
217 | }
218 | }
219 |
220 | .flame {
221 | position: absolute;
222 | background-color: orange;
223 | width: 15px;
224 | height: 35px;
225 | border-radius: 10px 10px 10px 10px / 25px 25px 10px 10px;
226 | top: -34px;
227 | left: 50%;
228 | margin-left: -7.5px;
229 | z-index: 10;
230 | box-shadow:
231 | 0 0 10px rgba(orange, 0.5),
232 | 0 0 20px rgba(orange, 0.5),
233 | 0 0 60px rgba(orange, 0.5),
234 | 0 0 80px rgba(orange, 0.5);
235 | transform-origin: 50% 90%;
236 | animation: flicker 1s ease-in-out alternate infinite;
237 | }
238 |
239 | @keyframes flicker {
240 | 0% {
241 | transform: skewX(5deg);
242 | box-shadow:
243 | 0 0 10px rgba(orange, 0.2),
244 | 0 0 20px rgba(orange, 0.2),
245 | 0 0 60px rgba(orange, 0.2),
246 | 0 0 80px rgba(orange, 0.2);
247 | }
248 | 25% {
249 | transform: skewX(-5deg);
250 | box-shadow:
251 | 0 0 10px rgba(orange, 0.5),
252 | 0 0 20px rgba(orange, 0.5),
253 | 0 0 60px rgba(orange, 0.5),
254 | 0 0 80px rgba(orange, 0.5);
255 | }
256 | 50% {
257 | transform: skewX(10deg);
258 | box-shadow:
259 | 0 0 10px rgba(orange, 0.3),
260 | 0 0 20px rgba(orange, 0.3),
261 | 0 0 60px rgba(orange, 0.3),
262 | 0 0 80px rgba(orange, 0.3);
263 | }
264 | 75% {
265 | transform: skewX(-10deg);
266 | box-shadow:
267 | 0 0 10px rgba(orange, 0.4),
268 | 0 0 20px rgba(orange, 0.4),
269 | 0 0 60px rgba(orange, 0.4),
270 | 0 0 80px rgba(orange, 0.4);
271 | }
272 | 100% {
273 | transform: skewX(5deg);
274 | box-shadow:
275 | 0 0 10px rgba(orange, 0.5),
276 | 0 0 20px rgba(orange, 0.5),
277 | 0 0 60px rgba(orange, 0.5),
278 | 0 0 80px rgba(orange, 0.5);
279 | }
280 | }
281 |
--------------------------------------------------------------------------------
/src/App.tsx:
--------------------------------------------------------------------------------
1 | // import reactLogo from "./assets/react.svg";
2 | // import viteLogo from "/vite.svg";
3 | import {
4 | KeyboardEvent,
5 | useCallback,
6 | useEffect,
7 | useLayoutEffect,
8 | useRef,
9 | useState,
10 | } from "react";
11 | import "@dotlottie/player-component";
12 | import "./App.css";
13 | import { Cake } from "./components/Cake";
14 | import { CakeActions } from "./components/CakeActions";
15 | import { Name } from "./components/Name";
16 | import Joyride, { ACTIONS, CallBackProps } from "react-joyride";
17 |
18 | // const version = import.meta.env.PACKAGE_VERSION;
19 |
20 | const src = new URL("/assets/hbd2.mp3", import.meta.url).href;
21 |
22 | const steps = [
23 | {
24 | target: "#name",
25 | content: "This is the input to enter the name.",
26 | placement: "bottom",
27 | disableBeacon: true,
28 | },
29 | {
30 | target: "#candle",
31 | content: "Blow on the Lightning port to extinguish the candle.",
32 | placement: "bottom",
33 | },
34 | {
35 | target: "#start",
36 | content: "Press start to play music and light the candle.",
37 | placement: "top",
38 | },
39 | {
40 | target: "#pause",
41 | content: "Press pause if you want the music to pause temporarily.",
42 | placement: "top",
43 | },
44 | {
45 | target: "#stop",
46 | content: "Press stop if you want to cancel temporarily.",
47 | placement: "top",
48 | },
49 | {
50 | target: "#toggle-candle",
51 | content: "Press button if you want to light or blow out the candle.",
52 | placement: "top",
53 | },
54 | {
55 | target: "#share",
56 | content: "Change the name and click 'Share' to send the gift to anyone.",
57 | placement: "top",
58 | },
59 | // eslint-disable-next-line @typescript-eslint/no-explicit-any
60 | ] as any;
61 |
62 | const sharedSteps = [
63 | {
64 | target: "#start",
65 | content: "Click here",
66 | placement: "top",
67 | disableBeacon: true,
68 | },
69 | // eslint-disable-next-line @typescript-eslint/no-explicit-any
70 | ] as any;
71 |
72 | function App() {
73 | const [candleVisible, setCandleVisible] = useState(false);
74 |
75 | const audioRef = useRef(new Audio(src));
76 | const microphoneStreamRef = useRef(undefined);
77 |
78 | const [playing, setPlaying] = useState(false);
79 | const [paused, setPaused] = useState(false);
80 | const [run, setRun] = useState(true);
81 | const [shareMode, setShareMode] = useState(false);
82 |
83 | const [name, setName] = useState("");
84 | const nameRef = useRef(null);
85 |
86 | const visibility = shareMode || playing
87 |
88 | const lightCandle = useCallback(() => setCandleVisible(true), []);
89 |
90 | const turnOffTheCandle = useCallback(() => setCandleVisible(false), []);
91 |
92 | const toggleLightCandle = useCallback(
93 | () => setCandleVisible((prevState) => !prevState),
94 | []
95 | );
96 |
97 | const startAudio = useCallback(() => {
98 | setPlaying(true);
99 | audioRef.current.load();
100 | audioRef.current.play();
101 | setPaused(false);
102 | }, []);
103 |
104 | const pause = useCallback(() => {
105 | audioRef.current.pause();
106 | setPaused(true);
107 | }, []);
108 |
109 | const stopAudio = useCallback(() => {
110 | setPlaying(false);
111 | audioRef.current.pause();
112 | audioRef.current.currentTime = 0;
113 | setPaused(false);
114 | }, []);
115 |
116 | const start = useCallback(() => {
117 | startAudio();
118 | lightCandle();
119 | }, [lightCandle, startAudio]);
120 |
121 | const stop = useCallback(() => {
122 | stopAudio();
123 | turnOffTheCandle();
124 | setTimeout(() => {
125 | nameRef.current ? nameRef.current.focus() : undefined;
126 | }, 0);
127 | }, [stopAudio, turnOffTheCandle]);
128 |
129 | const blowCandles = useCallback(async (stream: MediaStream) => {
130 | try {
131 | microphoneStreamRef.current = stream;
132 |
133 | const audioContext = new AudioContext();
134 | const source = audioContext.createMediaStreamSource(stream);
135 | const analyser = audioContext.createAnalyser();
136 | source.connect(analyser);
137 | analyser.fftSize = 2048;
138 |
139 | const bufferLength = analyser.frequencyBinCount;
140 | const dataArray = new Uint8Array(bufferLength);
141 |
142 | const detectBlow = () => {
143 | analyser.getByteFrequencyData(dataArray);
144 | const average =
145 | dataArray.reduce((acc, val) => acc + val, 0) / bufferLength;
146 | const threshold = 43;
147 |
148 | if (average > threshold) {
149 | setCandleVisible(false);
150 | }
151 | };
152 |
153 | setInterval(detectBlow, 100);
154 | } catch (error) {
155 | console.error("Error accessing microphone:", error);
156 | }
157 | }, []);
158 |
159 | const handleJoyrideCallback = useCallback(
160 | (data: CallBackProps) => {
161 | const { action } = data;
162 | if (action === ACTIONS.RESET || action === ACTIONS.CLOSE) {
163 | // do something
164 | setRun(false);
165 | setTimeout(() => {
166 | nameRef.current ? nameRef.current.focus() : undefined;
167 | }, 0);
168 | }
169 | },
170 | [setRun]
171 | );
172 |
173 | const onEnded = useCallback(() => { }, []);
174 |
175 | const onKeyPress = (event: KeyboardEvent) => {
176 | if (event.key === "Enter") {
177 | setTimeout(() => {
178 | nameRef.current ? nameRef.current.blur() : undefined;
179 | }, 0);
180 | }
181 | };
182 |
183 | useEffect(() => {
184 | (async () => {
185 | try {
186 | const stream = await navigator.mediaDevices.getUserMedia({
187 | audio: true,
188 | });
189 |
190 | if (stream) {
191 | blowCandles(stream);
192 | }
193 | } catch (error) {
194 | console.error("Error accessing microphone:", error);
195 | }
196 | })();
197 |
198 | return () => {
199 | if (microphoneStreamRef.current) {
200 | microphoneStreamRef.current
201 | .getTracks()
202 | .forEach((track) => track.stop());
203 | }
204 | };
205 | }, [blowCandles]);
206 |
207 | useLayoutEffect(() => {
208 | const queryString = window.location.search;
209 | const urlParams = new URLSearchParams(queryString);
210 | const sharedParam = urlParams.get("shared");
211 | if (sharedParam) {
212 | setCandleVisible(true);
213 | setShareMode(true);
214 | }
215 | }, []);
216 |
217 | return (
218 |
227 |
255 |
283 |
284 |
285 |
286 |
287 |
298 |
299 |
300 |
301 |
309 |
319 |
320 |
321 |
329 |
339 |
340 |
341 |
349 |
362 |
363 |
364 | {/*
373 | {version}
374 |
*/}
375 |
376 | );
377 | }
378 |
379 | export default App;
380 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '6.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | dependencies:
8 | '@dotlottie/player-component':
9 | specifier: ^2.7.12
10 | version: 2.7.12
11 | '@types/react-lottie':
12 | specifier: 1.2.10
13 | version: 1.2.10
14 | react:
15 | specifier: ^18.2.0
16 | version: 18.2.0
17 | react-audio-player:
18 | specifier: 0.17.0
19 | version: 0.17.0(react-dom@18.2.0)(react@18.2.0)
20 | react-copy-to-clipboard:
21 | specifier: ^5.1.0
22 | version: 5.1.0(react@18.2.0)
23 | react-dom:
24 | specifier: ^18.2.0
25 | version: 18.2.0(react@18.2.0)
26 | react-icons:
27 | specifier: ^5.1.0
28 | version: 5.1.0(react@18.2.0)
29 | react-joyride:
30 | specifier: ^2.8.1
31 | version: 2.8.1(@types/react@18.2.65)(react-dom@18.2.0)(react@18.2.0)
32 | react-lottie:
33 | specifier: 1.2.4
34 | version: 1.2.4(react@18.2.0)
35 | react-toastify:
36 | specifier: ^10.0.5
37 | version: 10.0.5(react-dom@18.2.0)(react@18.2.0)
38 | regenerator-runtime:
39 | specifier: 0.14.1
40 | version: 0.14.1
41 | sass:
42 | specifier: 1.72.0
43 | version: 1.72.0
44 | vite-plugin-package-version:
45 | specifier: ^1.1.0
46 | version: 1.1.0(vite@5.1.6)
47 |
48 | devDependencies:
49 | '@types/react':
50 | specifier: ^18.2.65
51 | version: 18.2.65
52 | '@types/react-copy-to-clipboard':
53 | specifier: ^5.0.7
54 | version: 5.0.7
55 | '@types/react-dom':
56 | specifier: ^18.2.21
57 | version: 18.2.21
58 | '@typescript-eslint/eslint-plugin':
59 | specifier: ^7.2.0
60 | version: 7.2.0(@typescript-eslint/parser@7.2.0)(eslint@8.57.0)(typescript@5.4.2)
61 | '@typescript-eslint/parser':
62 | specifier: ^7.2.0
63 | version: 7.2.0(eslint@8.57.0)(typescript@5.4.2)
64 | '@vitejs/plugin-react':
65 | specifier: ^4.2.1
66 | version: 4.2.1(vite@5.1.6)
67 | eslint:
68 | specifier: ^8.57.0
69 | version: 8.57.0
70 | eslint-plugin-react-hooks:
71 | specifier: ^4.6.0
72 | version: 4.6.0(eslint@8.57.0)
73 | eslint-plugin-react-refresh:
74 | specifier: ^0.4.5
75 | version: 0.4.5(eslint@8.57.0)
76 | typescript:
77 | specifier: ^5.4.2
78 | version: 5.4.2
79 | vite:
80 | specifier: ^5.1.6
81 | version: 5.1.6(sass@1.72.0)
82 |
83 | packages:
84 |
85 | /@aashutoshrathi/word-wrap@1.2.6:
86 | resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
87 | engines: {node: '>=0.10.0'}
88 | dev: true
89 |
90 | /@ampproject/remapping@2.2.1:
91 | resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
92 | engines: {node: '>=6.0.0'}
93 | dependencies:
94 | '@jridgewell/gen-mapping': 0.3.3
95 | '@jridgewell/trace-mapping': 0.3.21
96 | dev: true
97 |
98 | /@babel/code-frame@7.23.5:
99 | resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==}
100 | engines: {node: '>=6.9.0'}
101 | dependencies:
102 | '@babel/highlight': 7.23.4
103 | chalk: 2.4.2
104 | dev: true
105 |
106 | /@babel/compat-data@7.23.5:
107 | resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==}
108 | engines: {node: '>=6.9.0'}
109 | dev: true
110 |
111 | /@babel/core@7.23.7:
112 | resolution: {integrity: sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==}
113 | engines: {node: '>=6.9.0'}
114 | dependencies:
115 | '@ampproject/remapping': 2.2.1
116 | '@babel/code-frame': 7.23.5
117 | '@babel/generator': 7.23.6
118 | '@babel/helper-compilation-targets': 7.23.6
119 | '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7)
120 | '@babel/helpers': 7.23.8
121 | '@babel/parser': 7.23.6
122 | '@babel/template': 7.22.15
123 | '@babel/traverse': 7.23.7
124 | '@babel/types': 7.23.6
125 | convert-source-map: 2.0.0
126 | debug: 4.3.4
127 | gensync: 1.0.0-beta.2
128 | json5: 2.2.3
129 | semver: 6.3.1
130 | transitivePeerDependencies:
131 | - supports-color
132 | dev: true
133 |
134 | /@babel/generator@7.23.6:
135 | resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==}
136 | engines: {node: '>=6.9.0'}
137 | dependencies:
138 | '@babel/types': 7.23.6
139 | '@jridgewell/gen-mapping': 0.3.3
140 | '@jridgewell/trace-mapping': 0.3.21
141 | jsesc: 2.5.2
142 | dev: true
143 |
144 | /@babel/helper-compilation-targets@7.23.6:
145 | resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==}
146 | engines: {node: '>=6.9.0'}
147 | dependencies:
148 | '@babel/compat-data': 7.23.5
149 | '@babel/helper-validator-option': 7.23.5
150 | browserslist: 4.22.2
151 | lru-cache: 5.1.1
152 | semver: 6.3.1
153 | dev: true
154 |
155 | /@babel/helper-environment-visitor@7.22.20:
156 | resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
157 | engines: {node: '>=6.9.0'}
158 | dev: true
159 |
160 | /@babel/helper-function-name@7.23.0:
161 | resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
162 | engines: {node: '>=6.9.0'}
163 | dependencies:
164 | '@babel/template': 7.22.15
165 | '@babel/types': 7.23.6
166 | dev: true
167 |
168 | /@babel/helper-hoist-variables@7.22.5:
169 | resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
170 | engines: {node: '>=6.9.0'}
171 | dependencies:
172 | '@babel/types': 7.23.6
173 | dev: true
174 |
175 | /@babel/helper-module-imports@7.22.15:
176 | resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==}
177 | engines: {node: '>=6.9.0'}
178 | dependencies:
179 | '@babel/types': 7.23.6
180 | dev: true
181 |
182 | /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.7):
183 | resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
184 | engines: {node: '>=6.9.0'}
185 | peerDependencies:
186 | '@babel/core': ^7.0.0
187 | dependencies:
188 | '@babel/core': 7.23.7
189 | '@babel/helper-environment-visitor': 7.22.20
190 | '@babel/helper-module-imports': 7.22.15
191 | '@babel/helper-simple-access': 7.22.5
192 | '@babel/helper-split-export-declaration': 7.22.6
193 | '@babel/helper-validator-identifier': 7.22.20
194 | dev: true
195 |
196 | /@babel/helper-plugin-utils@7.22.5:
197 | resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==}
198 | engines: {node: '>=6.9.0'}
199 | dev: true
200 |
201 | /@babel/helper-simple-access@7.22.5:
202 | resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
203 | engines: {node: '>=6.9.0'}
204 | dependencies:
205 | '@babel/types': 7.23.6
206 | dev: true
207 |
208 | /@babel/helper-split-export-declaration@7.22.6:
209 | resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
210 | engines: {node: '>=6.9.0'}
211 | dependencies:
212 | '@babel/types': 7.23.6
213 | dev: true
214 |
215 | /@babel/helper-string-parser@7.23.4:
216 | resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
217 | engines: {node: '>=6.9.0'}
218 | dev: true
219 |
220 | /@babel/helper-validator-identifier@7.22.20:
221 | resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
222 | engines: {node: '>=6.9.0'}
223 | dev: true
224 |
225 | /@babel/helper-validator-option@7.23.5:
226 | resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
227 | engines: {node: '>=6.9.0'}
228 | dev: true
229 |
230 | /@babel/helpers@7.23.8:
231 | resolution: {integrity: sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==}
232 | engines: {node: '>=6.9.0'}
233 | dependencies:
234 | '@babel/template': 7.22.15
235 | '@babel/traverse': 7.23.7
236 | '@babel/types': 7.23.6
237 | transitivePeerDependencies:
238 | - supports-color
239 | dev: true
240 |
241 | /@babel/highlight@7.23.4:
242 | resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==}
243 | engines: {node: '>=6.9.0'}
244 | dependencies:
245 | '@babel/helper-validator-identifier': 7.22.20
246 | chalk: 2.4.2
247 | js-tokens: 4.0.0
248 | dev: true
249 |
250 | /@babel/parser@7.23.6:
251 | resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==}
252 | engines: {node: '>=6.0.0'}
253 | hasBin: true
254 | dependencies:
255 | '@babel/types': 7.23.6
256 | dev: true
257 |
258 | /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.7):
259 | resolution: {integrity: sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==}
260 | engines: {node: '>=6.9.0'}
261 | peerDependencies:
262 | '@babel/core': ^7.0.0-0
263 | dependencies:
264 | '@babel/core': 7.23.7
265 | '@babel/helper-plugin-utils': 7.22.5
266 | dev: true
267 |
268 | /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.7):
269 | resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==}
270 | engines: {node: '>=6.9.0'}
271 | peerDependencies:
272 | '@babel/core': ^7.0.0-0
273 | dependencies:
274 | '@babel/core': 7.23.7
275 | '@babel/helper-plugin-utils': 7.22.5
276 | dev: true
277 |
278 | /@babel/template@7.22.15:
279 | resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==}
280 | engines: {node: '>=6.9.0'}
281 | dependencies:
282 | '@babel/code-frame': 7.23.5
283 | '@babel/parser': 7.23.6
284 | '@babel/types': 7.23.6
285 | dev: true
286 |
287 | /@babel/traverse@7.23.7:
288 | resolution: {integrity: sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==}
289 | engines: {node: '>=6.9.0'}
290 | dependencies:
291 | '@babel/code-frame': 7.23.5
292 | '@babel/generator': 7.23.6
293 | '@babel/helper-environment-visitor': 7.22.20
294 | '@babel/helper-function-name': 7.23.0
295 | '@babel/helper-hoist-variables': 7.22.5
296 | '@babel/helper-split-export-declaration': 7.22.6
297 | '@babel/parser': 7.23.6
298 | '@babel/types': 7.23.6
299 | debug: 4.3.4
300 | globals: 11.12.0
301 | transitivePeerDependencies:
302 | - supports-color
303 | dev: true
304 |
305 | /@babel/types@7.23.6:
306 | resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==}
307 | engines: {node: '>=6.9.0'}
308 | dependencies:
309 | '@babel/helper-string-parser': 7.23.4
310 | '@babel/helper-validator-identifier': 7.22.20
311 | to-fast-properties: 2.0.0
312 | dev: true
313 |
314 | /@dotlottie/common@0.7.11:
315 | resolution: {integrity: sha512-0ThV1uZVfKJ2pwYQy52EKH8edKnvEsSDGdxRf/n1Wz15xbqI+8qKs0BHSIQ7yLyaU5gFSaEooEgK1kTiKJaE4g==}
316 | engines: {node: '>18.0.0'}
317 | dependencies:
318 | '@dotlottie/dotlottie-js': 0.7.2
319 | '@preact/signals-core': 1.6.0
320 | howler: 2.2.4
321 | lottie-web: 5.12.2
322 | xstate: 4.38.3
323 | dev: false
324 |
325 | /@dotlottie/dotlottie-js@0.7.2:
326 | resolution: {integrity: sha512-BIEFkaKCRzVSHgKoZ2d/Squ1Rw4U93/YmHvON04PCx2gOBRAM2//GYUPcVijYHT8dQtom07KoyTKpXh0cRzKKw==}
327 | engines: {node: '>=18.0.0'}
328 | dependencies:
329 | browser-image-hash: 0.0.5
330 | fflate: 0.8.2
331 | sharp: 0.33.3
332 | sharp-phash: 2.1.0(sharp@0.33.3)
333 | valibot: 0.13.1
334 | dev: false
335 |
336 | /@dotlottie/player-component@2.7.12:
337 | resolution: {integrity: sha512-oNv/+bVnmBY3DILdY+ehBWk15Q76m8OByq8gPDpyEQwHf0kRJ6GUO074X1m8WPgvPKw0o8dYnz+UrbOFhZmmqA==}
338 | dependencies:
339 | '@dotlottie/common': 0.7.11
340 | lit: 2.8.0
341 | dev: false
342 |
343 | /@emnapi/runtime@1.1.1:
344 | resolution: {integrity: sha512-3bfqkzuR1KLx57nZfjr2NLnFOobvyS0aTszaEGCGqmYMVDRaGvgIZbjGSV/MHSSmLgQ/b9JFHQ5xm5WRZYd+XQ==}
345 | requiresBuild: true
346 | dependencies:
347 | tslib: 2.6.2
348 | dev: false
349 | optional: true
350 |
351 | /@esbuild/aix-ppc64@0.19.12:
352 | resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
353 | engines: {node: '>=12'}
354 | cpu: [ppc64]
355 | os: [aix]
356 | requiresBuild: true
357 | optional: true
358 |
359 | /@esbuild/android-arm64@0.19.12:
360 | resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
361 | engines: {node: '>=12'}
362 | cpu: [arm64]
363 | os: [android]
364 | requiresBuild: true
365 | optional: true
366 |
367 | /@esbuild/android-arm@0.19.12:
368 | resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
369 | engines: {node: '>=12'}
370 | cpu: [arm]
371 | os: [android]
372 | requiresBuild: true
373 | optional: true
374 |
375 | /@esbuild/android-x64@0.19.12:
376 | resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
377 | engines: {node: '>=12'}
378 | cpu: [x64]
379 | os: [android]
380 | requiresBuild: true
381 | optional: true
382 |
383 | /@esbuild/darwin-arm64@0.19.12:
384 | resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
385 | engines: {node: '>=12'}
386 | cpu: [arm64]
387 | os: [darwin]
388 | requiresBuild: true
389 | optional: true
390 |
391 | /@esbuild/darwin-x64@0.19.12:
392 | resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
393 | engines: {node: '>=12'}
394 | cpu: [x64]
395 | os: [darwin]
396 | requiresBuild: true
397 | optional: true
398 |
399 | /@esbuild/freebsd-arm64@0.19.12:
400 | resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
401 | engines: {node: '>=12'}
402 | cpu: [arm64]
403 | os: [freebsd]
404 | requiresBuild: true
405 | optional: true
406 |
407 | /@esbuild/freebsd-x64@0.19.12:
408 | resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
409 | engines: {node: '>=12'}
410 | cpu: [x64]
411 | os: [freebsd]
412 | requiresBuild: true
413 | optional: true
414 |
415 | /@esbuild/linux-arm64@0.19.12:
416 | resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
417 | engines: {node: '>=12'}
418 | cpu: [arm64]
419 | os: [linux]
420 | requiresBuild: true
421 | optional: true
422 |
423 | /@esbuild/linux-arm@0.19.12:
424 | resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
425 | engines: {node: '>=12'}
426 | cpu: [arm]
427 | os: [linux]
428 | requiresBuild: true
429 | optional: true
430 |
431 | /@esbuild/linux-ia32@0.19.12:
432 | resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
433 | engines: {node: '>=12'}
434 | cpu: [ia32]
435 | os: [linux]
436 | requiresBuild: true
437 | optional: true
438 |
439 | /@esbuild/linux-loong64@0.19.12:
440 | resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
441 | engines: {node: '>=12'}
442 | cpu: [loong64]
443 | os: [linux]
444 | requiresBuild: true
445 | optional: true
446 |
447 | /@esbuild/linux-mips64el@0.19.12:
448 | resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
449 | engines: {node: '>=12'}
450 | cpu: [mips64el]
451 | os: [linux]
452 | requiresBuild: true
453 | optional: true
454 |
455 | /@esbuild/linux-ppc64@0.19.12:
456 | resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
457 | engines: {node: '>=12'}
458 | cpu: [ppc64]
459 | os: [linux]
460 | requiresBuild: true
461 | optional: true
462 |
463 | /@esbuild/linux-riscv64@0.19.12:
464 | resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
465 | engines: {node: '>=12'}
466 | cpu: [riscv64]
467 | os: [linux]
468 | requiresBuild: true
469 | optional: true
470 |
471 | /@esbuild/linux-s390x@0.19.12:
472 | resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
473 | engines: {node: '>=12'}
474 | cpu: [s390x]
475 | os: [linux]
476 | requiresBuild: true
477 | optional: true
478 |
479 | /@esbuild/linux-x64@0.19.12:
480 | resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
481 | engines: {node: '>=12'}
482 | cpu: [x64]
483 | os: [linux]
484 | requiresBuild: true
485 | optional: true
486 |
487 | /@esbuild/netbsd-x64@0.19.12:
488 | resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
489 | engines: {node: '>=12'}
490 | cpu: [x64]
491 | os: [netbsd]
492 | requiresBuild: true
493 | optional: true
494 |
495 | /@esbuild/openbsd-x64@0.19.12:
496 | resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
497 | engines: {node: '>=12'}
498 | cpu: [x64]
499 | os: [openbsd]
500 | requiresBuild: true
501 | optional: true
502 |
503 | /@esbuild/sunos-x64@0.19.12:
504 | resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
505 | engines: {node: '>=12'}
506 | cpu: [x64]
507 | os: [sunos]
508 | requiresBuild: true
509 | optional: true
510 |
511 | /@esbuild/win32-arm64@0.19.12:
512 | resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
513 | engines: {node: '>=12'}
514 | cpu: [arm64]
515 | os: [win32]
516 | requiresBuild: true
517 | optional: true
518 |
519 | /@esbuild/win32-ia32@0.19.12:
520 | resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
521 | engines: {node: '>=12'}
522 | cpu: [ia32]
523 | os: [win32]
524 | requiresBuild: true
525 | optional: true
526 |
527 | /@esbuild/win32-x64@0.19.12:
528 | resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
529 | engines: {node: '>=12'}
530 | cpu: [x64]
531 | os: [win32]
532 | requiresBuild: true
533 | optional: true
534 |
535 | /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0):
536 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
537 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
538 | peerDependencies:
539 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
540 | dependencies:
541 | eslint: 8.57.0
542 | eslint-visitor-keys: 3.4.3
543 | dev: true
544 |
545 | /@eslint-community/regexpp@4.10.0:
546 | resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
547 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
548 | dev: true
549 |
550 | /@eslint/eslintrc@2.1.4:
551 | resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
552 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
553 | dependencies:
554 | ajv: 6.12.6
555 | debug: 4.3.4
556 | espree: 9.6.1
557 | globals: 13.24.0
558 | ignore: 5.3.1
559 | import-fresh: 3.3.0
560 | js-yaml: 4.1.0
561 | minimatch: 3.1.2
562 | strip-json-comments: 3.1.1
563 | transitivePeerDependencies:
564 | - supports-color
565 | dev: true
566 |
567 | /@eslint/js@8.57.0:
568 | resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
569 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
570 | dev: true
571 |
572 | /@gilbarbara/deep-equal@0.1.2:
573 | resolution: {integrity: sha512-jk+qzItoEb0D0xSSmrKDDzf9sheQj/BAPxlgNxgmOaA3mxpUa6ndJLYGZKsJnIVEQSD8zcTbyILz7I0HcnBCRA==}
574 | dev: false
575 |
576 | /@gilbarbara/deep-equal@0.3.1:
577 | resolution: {integrity: sha512-I7xWjLs2YSVMc5gGx1Z3ZG1lgFpITPndpi8Ku55GeEIKpACCPQNS/OTqQbxgTCfq0Ncvcc+CrFov96itVh6Qvw==}
578 | dev: false
579 |
580 | /@humanwhocodes/config-array@0.11.14:
581 | resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
582 | engines: {node: '>=10.10.0'}
583 | dependencies:
584 | '@humanwhocodes/object-schema': 2.0.2
585 | debug: 4.3.4
586 | minimatch: 3.1.2
587 | transitivePeerDependencies:
588 | - supports-color
589 | dev: true
590 |
591 | /@humanwhocodes/module-importer@1.0.1:
592 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
593 | engines: {node: '>=12.22'}
594 | dev: true
595 |
596 | /@humanwhocodes/object-schema@2.0.2:
597 | resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
598 | dev: true
599 |
600 | /@img/sharp-darwin-arm64@0.33.3:
601 | resolution: {integrity: sha512-FaNiGX1MrOuJ3hxuNzWgsT/mg5OHG/Izh59WW2mk1UwYHUwtfbhk5QNKYZgxf0pLOhx9ctGiGa2OykD71vOnSw==}
602 | engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
603 | cpu: [arm64]
604 | os: [darwin]
605 | requiresBuild: true
606 | optionalDependencies:
607 | '@img/sharp-libvips-darwin-arm64': 1.0.2
608 | dev: false
609 | optional: true
610 |
611 | /@img/sharp-darwin-x64@0.33.3:
612 | resolution: {integrity: sha512-2QeSl7QDK9ru//YBT4sQkoq7L0EAJZA3rtV+v9p8xTKl4U1bUqTIaCnoC7Ctx2kCjQgwFXDasOtPTCT8eCTXvw==}
613 | engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
614 | cpu: [x64]
615 | os: [darwin]
616 | requiresBuild: true
617 | optionalDependencies:
618 | '@img/sharp-libvips-darwin-x64': 1.0.2
619 | dev: false
620 | optional: true
621 |
622 | /@img/sharp-libvips-darwin-arm64@1.0.2:
623 | resolution: {integrity: sha512-tcK/41Rq8IKlSaKRCCAuuY3lDJjQnYIW1UXU1kxcEKrfL8WR7N6+rzNoOxoQRJWTAECuKwgAHnPvqXGN8XfkHA==}
624 | engines: {macos: '>=11', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
625 | cpu: [arm64]
626 | os: [darwin]
627 | requiresBuild: true
628 | dev: false
629 | optional: true
630 |
631 | /@img/sharp-libvips-darwin-x64@1.0.2:
632 | resolution: {integrity: sha512-Ofw+7oaWa0HiiMiKWqqaZbaYV3/UGL2wAPeLuJTx+9cXpCRdvQhCLG0IH8YGwM0yGWGLpsF4Su9vM1o6aer+Fw==}
633 | engines: {macos: '>=10.13', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
634 | cpu: [x64]
635 | os: [darwin]
636 | requiresBuild: true
637 | dev: false
638 | optional: true
639 |
640 | /@img/sharp-libvips-linux-arm64@1.0.2:
641 | resolution: {integrity: sha512-x7kCt3N00ofFmmkkdshwj3vGPCnmiDh7Gwnd4nUwZln2YjqPxV1NlTyZOvoDWdKQVDL911487HOueBvrpflagw==}
642 | engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
643 | cpu: [arm64]
644 | os: [linux]
645 | requiresBuild: true
646 | dev: false
647 | optional: true
648 |
649 | /@img/sharp-libvips-linux-arm@1.0.2:
650 | resolution: {integrity: sha512-iLWCvrKgeFoglQxdEwzu1eQV04o8YeYGFXtfWU26Zr2wWT3q3MTzC+QTCO3ZQfWd3doKHT4Pm2kRmLbupT+sZw==}
651 | engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
652 | cpu: [arm]
653 | os: [linux]
654 | requiresBuild: true
655 | dev: false
656 | optional: true
657 |
658 | /@img/sharp-libvips-linux-s390x@1.0.2:
659 | resolution: {integrity: sha512-cmhQ1J4qVhfmS6szYW7RT+gLJq9dH2i4maq+qyXayUSn9/3iY2ZeWpbAgSpSVbV2E1JUL2Gg7pwnYQ1h8rQIog==}
660 | engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
661 | cpu: [s390x]
662 | os: [linux]
663 | requiresBuild: true
664 | dev: false
665 | optional: true
666 |
667 | /@img/sharp-libvips-linux-x64@1.0.2:
668 | resolution: {integrity: sha512-E441q4Qdb+7yuyiADVi5J+44x8ctlrqn8XgkDTwr4qPJzWkaHwD489iZ4nGDgcuya4iMN3ULV6NwbhRZJ9Z7SQ==}
669 | engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
670 | cpu: [x64]
671 | os: [linux]
672 | requiresBuild: true
673 | dev: false
674 | optional: true
675 |
676 | /@img/sharp-libvips-linuxmusl-arm64@1.0.2:
677 | resolution: {integrity: sha512-3CAkndNpYUrlDqkCM5qhksfE+qSIREVpyoeHIU6jd48SJZViAmznoQQLAv4hVXF7xyUB9zf+G++e2v1ABjCbEQ==}
678 | engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
679 | cpu: [arm64]
680 | os: [linux]
681 | requiresBuild: true
682 | dev: false
683 | optional: true
684 |
685 | /@img/sharp-libvips-linuxmusl-x64@1.0.2:
686 | resolution: {integrity: sha512-VI94Q6khIHqHWNOh6LLdm9s2Ry4zdjWJwH56WoiJU7NTeDwyApdZZ8c+SADC8OH98KWNQXnE01UdJ9CSfZvwZw==}
687 | engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
688 | cpu: [x64]
689 | os: [linux]
690 | requiresBuild: true
691 | dev: false
692 | optional: true
693 |
694 | /@img/sharp-linux-arm64@0.33.3:
695 | resolution: {integrity: sha512-Zf+sF1jHZJKA6Gor9hoYG2ljr4wo9cY4twaxgFDvlG0Xz9V7sinsPp8pFd1XtlhTzYo0IhDbl3rK7P6MzHpnYA==}
696 | engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
697 | cpu: [arm64]
698 | os: [linux]
699 | requiresBuild: true
700 | optionalDependencies:
701 | '@img/sharp-libvips-linux-arm64': 1.0.2
702 | dev: false
703 | optional: true
704 |
705 | /@img/sharp-linux-arm@0.33.3:
706 | resolution: {integrity: sha512-Q7Ee3fFSC9P7vUSqVEF0zccJsZ8GiiCJYGWDdhEjdlOeS9/jdkyJ6sUSPj+bL8VuOYFSbofrW0t/86ceVhx32w==}
707 | engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
708 | cpu: [arm]
709 | os: [linux]
710 | requiresBuild: true
711 | optionalDependencies:
712 | '@img/sharp-libvips-linux-arm': 1.0.2
713 | dev: false
714 | optional: true
715 |
716 | /@img/sharp-linux-s390x@0.33.3:
717 | resolution: {integrity: sha512-vFk441DKRFepjhTEH20oBlFrHcLjPfI8B0pMIxGm3+yilKyYeHEVvrZhYFdqIseSclIqbQ3SnZMwEMWonY5XFA==}
718 | engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
719 | cpu: [s390x]
720 | os: [linux]
721 | requiresBuild: true
722 | optionalDependencies:
723 | '@img/sharp-libvips-linux-s390x': 1.0.2
724 | dev: false
725 | optional: true
726 |
727 | /@img/sharp-linux-x64@0.33.3:
728 | resolution: {integrity: sha512-Q4I++herIJxJi+qmbySd072oDPRkCg/SClLEIDh5IL9h1zjhqjv82H0Seupd+q2m0yOfD+/fJnjSoDFtKiHu2g==}
729 | engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
730 | cpu: [x64]
731 | os: [linux]
732 | requiresBuild: true
733 | optionalDependencies:
734 | '@img/sharp-libvips-linux-x64': 1.0.2
735 | dev: false
736 | optional: true
737 |
738 | /@img/sharp-linuxmusl-arm64@0.33.3:
739 | resolution: {integrity: sha512-qnDccehRDXadhM9PM5hLvcPRYqyFCBN31kq+ErBSZtZlsAc1U4Z85xf/RXv1qolkdu+ibw64fUDaRdktxTNP9A==}
740 | engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
741 | cpu: [arm64]
742 | os: [linux]
743 | requiresBuild: true
744 | optionalDependencies:
745 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.2
746 | dev: false
747 | optional: true
748 |
749 | /@img/sharp-linuxmusl-x64@0.33.3:
750 | resolution: {integrity: sha512-Jhchim8kHWIU/GZ+9poHMWRcefeaxFIs9EBqf9KtcC14Ojk6qua7ghKiPs0sbeLbLj/2IGBtDcxHyjCdYWkk2w==}
751 | engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
752 | cpu: [x64]
753 | os: [linux]
754 | requiresBuild: true
755 | optionalDependencies:
756 | '@img/sharp-libvips-linuxmusl-x64': 1.0.2
757 | dev: false
758 | optional: true
759 |
760 | /@img/sharp-wasm32@0.33.3:
761 | resolution: {integrity: sha512-68zivsdJ0koE96stdUfM+gmyaK/NcoSZK5dV5CAjES0FUXS9lchYt8LAB5rTbM7nlWtxaU/2GON0HVN6/ZYJAQ==}
762 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
763 | cpu: [wasm32]
764 | requiresBuild: true
765 | dependencies:
766 | '@emnapi/runtime': 1.1.1
767 | dev: false
768 | optional: true
769 |
770 | /@img/sharp-win32-ia32@0.33.3:
771 | resolution: {integrity: sha512-CyimAduT2whQD8ER4Ux7exKrtfoaUiVr7HG0zZvO0XTFn2idUWljjxv58GxNTkFb8/J9Ub9AqITGkJD6ZginxQ==}
772 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
773 | cpu: [ia32]
774 | os: [win32]
775 | requiresBuild: true
776 | dev: false
777 | optional: true
778 |
779 | /@img/sharp-win32-x64@0.33.3:
780 | resolution: {integrity: sha512-viT4fUIDKnli3IfOephGnolMzhz5VaTvDRkYqtZxOMIoMQ4MrAziO7pT1nVnOt2FAm7qW5aa+CCc13aEY6Le0g==}
781 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
782 | cpu: [x64]
783 | os: [win32]
784 | requiresBuild: true
785 | dev: false
786 | optional: true
787 |
788 | /@jridgewell/gen-mapping@0.3.3:
789 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
790 | engines: {node: '>=6.0.0'}
791 | dependencies:
792 | '@jridgewell/set-array': 1.1.2
793 | '@jridgewell/sourcemap-codec': 1.4.15
794 | '@jridgewell/trace-mapping': 0.3.21
795 | dev: true
796 |
797 | /@jridgewell/resolve-uri@3.1.1:
798 | resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
799 | engines: {node: '>=6.0.0'}
800 | dev: true
801 |
802 | /@jridgewell/set-array@1.1.2:
803 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
804 | engines: {node: '>=6.0.0'}
805 | dev: true
806 |
807 | /@jridgewell/sourcemap-codec@1.4.15:
808 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
809 | dev: true
810 |
811 | /@jridgewell/trace-mapping@0.3.21:
812 | resolution: {integrity: sha512-SRfKmRe1KvYnxjEMtxEr+J4HIeMX5YBg/qhRHpxEIGjhX1rshcHlnFUE9K0GazhVKWM7B+nARSkV8LuvJdJ5/g==}
813 | dependencies:
814 | '@jridgewell/resolve-uri': 3.1.1
815 | '@jridgewell/sourcemap-codec': 1.4.15
816 | dev: true
817 |
818 | /@lit-labs/ssr-dom-shim@1.2.0:
819 | resolution: {integrity: sha512-yWJKmpGE6lUURKAaIltoPIE/wrbY3TEkqQt+X0m+7fQNnAv0keydnYvbiJFP1PnMhizmIWRWOG5KLhYyc/xl+g==}
820 | dev: false
821 |
822 | /@lit/reactive-element@1.6.3:
823 | resolution: {integrity: sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==}
824 | dependencies:
825 | '@lit-labs/ssr-dom-shim': 1.2.0
826 | dev: false
827 |
828 | /@nodelib/fs.scandir@2.1.5:
829 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
830 | engines: {node: '>= 8'}
831 | dependencies:
832 | '@nodelib/fs.stat': 2.0.5
833 | run-parallel: 1.2.0
834 | dev: true
835 |
836 | /@nodelib/fs.stat@2.0.5:
837 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
838 | engines: {node: '>= 8'}
839 | dev: true
840 |
841 | /@nodelib/fs.walk@1.2.8:
842 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
843 | engines: {node: '>= 8'}
844 | dependencies:
845 | '@nodelib/fs.scandir': 2.1.5
846 | fastq: 1.17.1
847 | dev: true
848 |
849 | /@preact/signals-core@1.6.0:
850 | resolution: {integrity: sha512-O/XGxwP85h1F7+ouqTMOIZ3+V1whfaV9ToIVcuyGriD4JkSD00cQo54BKdqjvBJxbenvp7ynfqRHEwI6e+NIhw==}
851 | dev: false
852 |
853 | /@rgba-image/common@0.1.13:
854 | resolution: {integrity: sha512-AnOBmBpjSgcymTuVhTGy+RB4FfmEQqR2GeJY3d3xfvR9fl3HfhzwgVqopuh3bKSAT6KRpJr7wNmug0qr3oI7bA==}
855 | dev: false
856 |
857 | /@rgba-image/copy@0.1.3:
858 | resolution: {integrity: sha512-fscJhpp8YtVELGIwQsv1Pj6BEN4PEWAlMJ6a/HWzYxzVr3y/dut4BUrqeWRKiKeRXAGqaV6QxkBxAgYMQYZEvw==}
859 | dependencies:
860 | '@rgba-image/common': 0.1.13
861 | dev: false
862 |
863 | /@rgba-image/create-image@0.1.1:
864 | resolution: {integrity: sha512-ndExUNyi9Ooa/OZqiJS53vYrQ48FX7MDmMrEslDxhsorDsXpeKI9w689r4AYhT9CF9KZlBe8SmI++3BwSvvwAQ==}
865 | dependencies:
866 | '@rgba-image/common': 0.1.13
867 | dev: false
868 |
869 | /@rgba-image/lanczos@0.1.1:
870 | resolution: {integrity: sha512-MSGGU7BZmEbg1xHtNp+StARoN7R38zJnFgSEvSzB710nXsHGEaJt//z2VnPfRQTtKSKUXEnp95JSuqDlXTBrYA==}
871 | dependencies:
872 | '@rgba-image/common': 0.1.13
873 | '@rgba-image/copy': 0.1.3
874 | '@rgba-image/create-image': 0.1.1
875 | dev: false
876 |
877 | /@rollup/rollup-android-arm-eabi@4.13.0:
878 | resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==}
879 | cpu: [arm]
880 | os: [android]
881 | requiresBuild: true
882 | optional: true
883 |
884 | /@rollup/rollup-android-arm64@4.13.0:
885 | resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==}
886 | cpu: [arm64]
887 | os: [android]
888 | requiresBuild: true
889 | optional: true
890 |
891 | /@rollup/rollup-darwin-arm64@4.13.0:
892 | resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==}
893 | cpu: [arm64]
894 | os: [darwin]
895 | requiresBuild: true
896 | optional: true
897 |
898 | /@rollup/rollup-darwin-x64@4.13.0:
899 | resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==}
900 | cpu: [x64]
901 | os: [darwin]
902 | requiresBuild: true
903 | optional: true
904 |
905 | /@rollup/rollup-linux-arm-gnueabihf@4.13.0:
906 | resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==}
907 | cpu: [arm]
908 | os: [linux]
909 | requiresBuild: true
910 | optional: true
911 |
912 | /@rollup/rollup-linux-arm64-gnu@4.13.0:
913 | resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==}
914 | cpu: [arm64]
915 | os: [linux]
916 | requiresBuild: true
917 | optional: true
918 |
919 | /@rollup/rollup-linux-arm64-musl@4.13.0:
920 | resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==}
921 | cpu: [arm64]
922 | os: [linux]
923 | requiresBuild: true
924 | optional: true
925 |
926 | /@rollup/rollup-linux-riscv64-gnu@4.13.0:
927 | resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==}
928 | cpu: [riscv64]
929 | os: [linux]
930 | requiresBuild: true
931 | optional: true
932 |
933 | /@rollup/rollup-linux-x64-gnu@4.13.0:
934 | resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==}
935 | cpu: [x64]
936 | os: [linux]
937 | requiresBuild: true
938 | optional: true
939 |
940 | /@rollup/rollup-linux-x64-musl@4.13.0:
941 | resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==}
942 | cpu: [x64]
943 | os: [linux]
944 | requiresBuild: true
945 | optional: true
946 |
947 | /@rollup/rollup-win32-arm64-msvc@4.13.0:
948 | resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==}
949 | cpu: [arm64]
950 | os: [win32]
951 | requiresBuild: true
952 | optional: true
953 |
954 | /@rollup/rollup-win32-ia32-msvc@4.13.0:
955 | resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==}
956 | cpu: [ia32]
957 | os: [win32]
958 | requiresBuild: true
959 | optional: true
960 |
961 | /@rollup/rollup-win32-x64-msvc@4.13.0:
962 | resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==}
963 | cpu: [x64]
964 | os: [win32]
965 | requiresBuild: true
966 | optional: true
967 |
968 | /@types/babel__core@7.20.5:
969 | resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
970 | dependencies:
971 | '@babel/parser': 7.23.6
972 | '@babel/types': 7.23.6
973 | '@types/babel__generator': 7.6.8
974 | '@types/babel__template': 7.4.4
975 | '@types/babel__traverse': 7.20.5
976 | dev: true
977 |
978 | /@types/babel__generator@7.6.8:
979 | resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
980 | dependencies:
981 | '@babel/types': 7.23.6
982 | dev: true
983 |
984 | /@types/babel__template@7.4.4:
985 | resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
986 | dependencies:
987 | '@babel/parser': 7.23.6
988 | '@babel/types': 7.23.6
989 | dev: true
990 |
991 | /@types/babel__traverse@7.20.5:
992 | resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==}
993 | dependencies:
994 | '@babel/types': 7.23.6
995 | dev: true
996 |
997 | /@types/estree@1.0.5:
998 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
999 |
1000 | /@types/json-schema@7.0.15:
1001 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
1002 | dev: true
1003 |
1004 | /@types/prop-types@15.7.11:
1005 | resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==}
1006 |
1007 | /@types/react-copy-to-clipboard@5.0.7:
1008 | resolution: {integrity: sha512-Gft19D+as4M+9Whq1oglhmK49vqPhcLzk8WfvfLvaYMIPYanyfLy0+CwFucMJfdKoSFyySPmkkWn8/E6voQXjQ==}
1009 | dependencies:
1010 | '@types/react': 18.2.65
1011 | dev: true
1012 |
1013 | /@types/react-dom@18.2.21:
1014 | resolution: {integrity: sha512-gnvBA/21SA4xxqNXEwNiVcP0xSGHh/gi1VhWv9Bl46a0ItbTT5nFY+G9VSQpaG/8N/qdJpJ+vftQ4zflTtnjLw==}
1015 | dependencies:
1016 | '@types/react': 18.2.65
1017 | dev: true
1018 |
1019 | /@types/react-lottie@1.2.10:
1020 | resolution: {integrity: sha512-rCd1p3US4ELKJlqwVnP0h5b24zt5p9OCvKUoNpYExLqwbFZMWEiJ6EGLMmH7nmq5V7KomBIbWO2X/XRFsL0vCA==}
1021 | dependencies:
1022 | '@types/react': 18.2.65
1023 | dev: false
1024 |
1025 | /@types/react@18.2.65:
1026 | resolution: {integrity: sha512-98TsY0aW4jqx/3RqsUXwMDZSWR1Z4CUlJNue8ueS2/wcxZOsz4xmW1X8ieaWVRHcmmQM3R8xVA4XWB3dJnWwDQ==}
1027 | dependencies:
1028 | '@types/prop-types': 15.7.11
1029 | '@types/scheduler': 0.16.8
1030 | csstype: 3.1.3
1031 |
1032 | /@types/scheduler@0.16.8:
1033 | resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==}
1034 |
1035 | /@types/semver@7.5.8:
1036 | resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
1037 | dev: true
1038 |
1039 | /@types/trusted-types@2.0.7:
1040 | resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
1041 | dev: false
1042 |
1043 | /@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0)(eslint@8.57.0)(typescript@5.4.2):
1044 | resolution: {integrity: sha512-mdekAHOqS9UjlmyF/LSs6AIEvfceV749GFxoBAjwAv0nkevfKHWQFDMcBZWUiIC5ft6ePWivXoS36aKQ0Cy3sw==}
1045 | engines: {node: ^16.0.0 || >=18.0.0}
1046 | peerDependencies:
1047 | '@typescript-eslint/parser': ^7.0.0
1048 | eslint: ^8.56.0
1049 | typescript: '*'
1050 | peerDependenciesMeta:
1051 | typescript:
1052 | optional: true
1053 | dependencies:
1054 | '@eslint-community/regexpp': 4.10.0
1055 | '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.2)
1056 | '@typescript-eslint/scope-manager': 7.2.0
1057 | '@typescript-eslint/type-utils': 7.2.0(eslint@8.57.0)(typescript@5.4.2)
1058 | '@typescript-eslint/utils': 7.2.0(eslint@8.57.0)(typescript@5.4.2)
1059 | '@typescript-eslint/visitor-keys': 7.2.0
1060 | debug: 4.3.4
1061 | eslint: 8.57.0
1062 | graphemer: 1.4.0
1063 | ignore: 5.3.1
1064 | natural-compare: 1.4.0
1065 | semver: 7.6.0
1066 | ts-api-utils: 1.3.0(typescript@5.4.2)
1067 | typescript: 5.4.2
1068 | transitivePeerDependencies:
1069 | - supports-color
1070 | dev: true
1071 |
1072 | /@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.2):
1073 | resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==}
1074 | engines: {node: ^16.0.0 || >=18.0.0}
1075 | peerDependencies:
1076 | eslint: ^8.56.0
1077 | typescript: '*'
1078 | peerDependenciesMeta:
1079 | typescript:
1080 | optional: true
1081 | dependencies:
1082 | '@typescript-eslint/scope-manager': 7.2.0
1083 | '@typescript-eslint/types': 7.2.0
1084 | '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.4.2)
1085 | '@typescript-eslint/visitor-keys': 7.2.0
1086 | debug: 4.3.4
1087 | eslint: 8.57.0
1088 | typescript: 5.4.2
1089 | transitivePeerDependencies:
1090 | - supports-color
1091 | dev: true
1092 |
1093 | /@typescript-eslint/scope-manager@7.2.0:
1094 | resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==}
1095 | engines: {node: ^16.0.0 || >=18.0.0}
1096 | dependencies:
1097 | '@typescript-eslint/types': 7.2.0
1098 | '@typescript-eslint/visitor-keys': 7.2.0
1099 | dev: true
1100 |
1101 | /@typescript-eslint/type-utils@7.2.0(eslint@8.57.0)(typescript@5.4.2):
1102 | resolution: {integrity: sha512-xHi51adBHo9O9330J8GQYQwrKBqbIPJGZZVQTHHmy200hvkLZFWJIFtAG/7IYTWUyun6DE6w5InDReePJYJlJA==}
1103 | engines: {node: ^16.0.0 || >=18.0.0}
1104 | peerDependencies:
1105 | eslint: ^8.56.0
1106 | typescript: '*'
1107 | peerDependenciesMeta:
1108 | typescript:
1109 | optional: true
1110 | dependencies:
1111 | '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.4.2)
1112 | '@typescript-eslint/utils': 7.2.0(eslint@8.57.0)(typescript@5.4.2)
1113 | debug: 4.3.4
1114 | eslint: 8.57.0
1115 | ts-api-utils: 1.3.0(typescript@5.4.2)
1116 | typescript: 5.4.2
1117 | transitivePeerDependencies:
1118 | - supports-color
1119 | dev: true
1120 |
1121 | /@typescript-eslint/types@7.2.0:
1122 | resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==}
1123 | engines: {node: ^16.0.0 || >=18.0.0}
1124 | dev: true
1125 |
1126 | /@typescript-eslint/typescript-estree@7.2.0(typescript@5.4.2):
1127 | resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==}
1128 | engines: {node: ^16.0.0 || >=18.0.0}
1129 | peerDependencies:
1130 | typescript: '*'
1131 | peerDependenciesMeta:
1132 | typescript:
1133 | optional: true
1134 | dependencies:
1135 | '@typescript-eslint/types': 7.2.0
1136 | '@typescript-eslint/visitor-keys': 7.2.0
1137 | debug: 4.3.4
1138 | globby: 11.1.0
1139 | is-glob: 4.0.3
1140 | minimatch: 9.0.3
1141 | semver: 7.6.0
1142 | ts-api-utils: 1.3.0(typescript@5.4.2)
1143 | typescript: 5.4.2
1144 | transitivePeerDependencies:
1145 | - supports-color
1146 | dev: true
1147 |
1148 | /@typescript-eslint/utils@7.2.0(eslint@8.57.0)(typescript@5.4.2):
1149 | resolution: {integrity: sha512-YfHpnMAGb1Eekpm3XRK8hcMwGLGsnT6L+7b2XyRv6ouDuJU1tZir1GS2i0+VXRatMwSI1/UfcyPe53ADkU+IuA==}
1150 | engines: {node: ^16.0.0 || >=18.0.0}
1151 | peerDependencies:
1152 | eslint: ^8.56.0
1153 | dependencies:
1154 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
1155 | '@types/json-schema': 7.0.15
1156 | '@types/semver': 7.5.8
1157 | '@typescript-eslint/scope-manager': 7.2.0
1158 | '@typescript-eslint/types': 7.2.0
1159 | '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.4.2)
1160 | eslint: 8.57.0
1161 | semver: 7.6.0
1162 | transitivePeerDependencies:
1163 | - supports-color
1164 | - typescript
1165 | dev: true
1166 |
1167 | /@typescript-eslint/visitor-keys@7.2.0:
1168 | resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==}
1169 | engines: {node: ^16.0.0 || >=18.0.0}
1170 | dependencies:
1171 | '@typescript-eslint/types': 7.2.0
1172 | eslint-visitor-keys: 3.4.3
1173 | dev: true
1174 |
1175 | /@ungap/structured-clone@1.2.0:
1176 | resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
1177 | dev: true
1178 |
1179 | /@vitejs/plugin-react@4.2.1(vite@5.1.6):
1180 | resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==}
1181 | engines: {node: ^14.18.0 || >=16.0.0}
1182 | peerDependencies:
1183 | vite: ^4.2.0 || ^5.0.0
1184 | dependencies:
1185 | '@babel/core': 7.23.7
1186 | '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.7)
1187 | '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.7)
1188 | '@types/babel__core': 7.20.5
1189 | react-refresh: 0.14.0
1190 | vite: 5.1.6(sass@1.72.0)
1191 | transitivePeerDependencies:
1192 | - supports-color
1193 | dev: true
1194 |
1195 | /acorn-jsx@5.3.2(acorn@8.11.3):
1196 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
1197 | peerDependencies:
1198 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
1199 | dependencies:
1200 | acorn: 8.11.3
1201 | dev: true
1202 |
1203 | /acorn@8.11.3:
1204 | resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
1205 | engines: {node: '>=0.4.0'}
1206 | hasBin: true
1207 | dev: true
1208 |
1209 | /ajv@6.12.6:
1210 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
1211 | dependencies:
1212 | fast-deep-equal: 3.1.3
1213 | fast-json-stable-stringify: 2.1.0
1214 | json-schema-traverse: 0.4.1
1215 | uri-js: 4.4.1
1216 | dev: true
1217 |
1218 | /ansi-regex@5.0.1:
1219 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
1220 | engines: {node: '>=8'}
1221 | dev: true
1222 |
1223 | /ansi-styles@3.2.1:
1224 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
1225 | engines: {node: '>=4'}
1226 | dependencies:
1227 | color-convert: 1.9.3
1228 | dev: true
1229 |
1230 | /ansi-styles@4.3.0:
1231 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
1232 | engines: {node: '>=8'}
1233 | dependencies:
1234 | color-convert: 2.0.1
1235 | dev: true
1236 |
1237 | /anymatch@3.1.3:
1238 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
1239 | engines: {node: '>= 8'}
1240 | dependencies:
1241 | normalize-path: 3.0.0
1242 | picomatch: 2.3.1
1243 |
1244 | /argparse@2.0.1:
1245 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
1246 | dev: true
1247 |
1248 | /array-union@2.1.0:
1249 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
1250 | engines: {node: '>=8'}
1251 | dev: true
1252 |
1253 | /babel-runtime@6.26.0:
1254 | resolution: {integrity: sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==}
1255 | dependencies:
1256 | core-js: 2.6.12
1257 | regenerator-runtime: 0.11.1
1258 | dev: false
1259 |
1260 | /balanced-match@1.0.2:
1261 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
1262 | dev: true
1263 |
1264 | /binary-extensions@2.3.0:
1265 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
1266 | engines: {node: '>=8'}
1267 |
1268 | /brace-expansion@1.1.11:
1269 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
1270 | dependencies:
1271 | balanced-match: 1.0.2
1272 | concat-map: 0.0.1
1273 | dev: true
1274 |
1275 | /brace-expansion@2.0.1:
1276 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
1277 | dependencies:
1278 | balanced-match: 1.0.2
1279 | dev: true
1280 |
1281 | /braces@3.0.2:
1282 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
1283 | engines: {node: '>=8'}
1284 | dependencies:
1285 | fill-range: 7.0.1
1286 |
1287 | /browser-image-hash@0.0.5:
1288 | resolution: {integrity: sha512-j+rsA1L3vL8k8ji4pFPFAOU/wN/hegwk1eoMshFk3OtjzEzdDrT9Dz94OkLc43NhWGck2a9t5eQQok6zjJSPHQ==}
1289 | dependencies:
1290 | '@rgba-image/lanczos': 0.1.1
1291 | decimal.js: 10.4.3
1292 | wasm-imagemagick: 1.2.8
1293 | dev: false
1294 |
1295 | /browserslist@4.22.2:
1296 | resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==}
1297 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
1298 | hasBin: true
1299 | dependencies:
1300 | caniuse-lite: 1.0.30001576
1301 | electron-to-chromium: 1.4.629
1302 | node-releases: 2.0.14
1303 | update-browserslist-db: 1.0.13(browserslist@4.22.2)
1304 | dev: true
1305 |
1306 | /callsites@3.1.0:
1307 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
1308 | engines: {node: '>=6'}
1309 | dev: true
1310 |
1311 | /caniuse-lite@1.0.30001576:
1312 | resolution: {integrity: sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg==}
1313 | dev: true
1314 |
1315 | /chalk@2.4.2:
1316 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
1317 | engines: {node: '>=4'}
1318 | dependencies:
1319 | ansi-styles: 3.2.1
1320 | escape-string-regexp: 1.0.5
1321 | supports-color: 5.5.0
1322 | dev: true
1323 |
1324 | /chalk@4.1.2:
1325 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
1326 | engines: {node: '>=10'}
1327 | dependencies:
1328 | ansi-styles: 4.3.0
1329 | supports-color: 7.2.0
1330 | dev: true
1331 |
1332 | /chokidar@3.6.0:
1333 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
1334 | engines: {node: '>= 8.10.0'}
1335 | dependencies:
1336 | anymatch: 3.1.3
1337 | braces: 3.0.2
1338 | glob-parent: 5.1.2
1339 | is-binary-path: 2.1.0
1340 | is-glob: 4.0.3
1341 | normalize-path: 3.0.0
1342 | readdirp: 3.6.0
1343 | optionalDependencies:
1344 | fsevents: 2.3.3
1345 |
1346 | /clsx@2.1.1:
1347 | resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
1348 | engines: {node: '>=6'}
1349 | dev: false
1350 |
1351 | /color-convert@1.9.3:
1352 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
1353 | dependencies:
1354 | color-name: 1.1.3
1355 | dev: true
1356 |
1357 | /color-convert@2.0.1:
1358 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
1359 | engines: {node: '>=7.0.0'}
1360 | dependencies:
1361 | color-name: 1.1.4
1362 |
1363 | /color-name@1.1.3:
1364 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
1365 | dev: true
1366 |
1367 | /color-name@1.1.4:
1368 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
1369 |
1370 | /color-string@1.9.1:
1371 | resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
1372 | dependencies:
1373 | color-name: 1.1.4
1374 | simple-swizzle: 0.2.2
1375 | dev: false
1376 |
1377 | /color@4.2.3:
1378 | resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
1379 | engines: {node: '>=12.5.0'}
1380 | dependencies:
1381 | color-convert: 2.0.1
1382 | color-string: 1.9.1
1383 | dev: false
1384 |
1385 | /concat-map@0.0.1:
1386 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
1387 | dev: true
1388 |
1389 | /convert-source-map@2.0.0:
1390 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
1391 | dev: true
1392 |
1393 | /copy-to-clipboard@3.3.3:
1394 | resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==}
1395 | dependencies:
1396 | toggle-selection: 1.0.6
1397 | dev: false
1398 |
1399 | /core-js@2.6.12:
1400 | resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==}
1401 | deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
1402 | requiresBuild: true
1403 | dev: false
1404 |
1405 | /cross-spawn@7.0.3:
1406 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
1407 | engines: {node: '>= 8'}
1408 | dependencies:
1409 | path-key: 3.1.1
1410 | shebang-command: 2.0.0
1411 | which: 2.0.2
1412 | dev: true
1413 |
1414 | /csstype@3.1.3:
1415 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
1416 |
1417 | /debug@4.3.4:
1418 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
1419 | engines: {node: '>=6.0'}
1420 | peerDependencies:
1421 | supports-color: '*'
1422 | peerDependenciesMeta:
1423 | supports-color:
1424 | optional: true
1425 | dependencies:
1426 | ms: 2.1.2
1427 | dev: true
1428 |
1429 | /decimal.js@10.4.3:
1430 | resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
1431 | dev: false
1432 |
1433 | /deep-diff@1.0.2:
1434 | resolution: {integrity: sha512-aWS3UIVH+NPGCD1kki+DCU9Dua032iSsO43LqQpcs4R3+dVv7tX0qBGjiVHJHjplsoUM2XRO/KB92glqc68awg==}
1435 | dev: false
1436 |
1437 | /deep-is@0.1.4:
1438 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
1439 | dev: true
1440 |
1441 | /deepmerge@4.3.1:
1442 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
1443 | engines: {node: '>=0.10.0'}
1444 | dev: false
1445 |
1446 | /detect-libc@2.0.3:
1447 | resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
1448 | engines: {node: '>=8'}
1449 | dev: false
1450 |
1451 | /dir-glob@3.0.1:
1452 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
1453 | engines: {node: '>=8'}
1454 | dependencies:
1455 | path-type: 4.0.0
1456 | dev: true
1457 |
1458 | /doctrine@3.0.0:
1459 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
1460 | engines: {node: '>=6.0.0'}
1461 | dependencies:
1462 | esutils: 2.0.3
1463 | dev: true
1464 |
1465 | /electron-to-chromium@1.4.629:
1466 | resolution: {integrity: sha512-5UUkr3k3CZ/k+9Sw7vaaIMyOzMC0XbPyprKI3n0tbKDqkzTDOjK4izm7DxlkueRMim6ZZQ1ja9F7hoFVplHihA==}
1467 | dev: true
1468 |
1469 | /error-stack-parser@2.1.4:
1470 | resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==}
1471 | dependencies:
1472 | stackframe: 1.3.4
1473 | dev: false
1474 |
1475 | /esbuild@0.19.12:
1476 | resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
1477 | engines: {node: '>=12'}
1478 | hasBin: true
1479 | requiresBuild: true
1480 | optionalDependencies:
1481 | '@esbuild/aix-ppc64': 0.19.12
1482 | '@esbuild/android-arm': 0.19.12
1483 | '@esbuild/android-arm64': 0.19.12
1484 | '@esbuild/android-x64': 0.19.12
1485 | '@esbuild/darwin-arm64': 0.19.12
1486 | '@esbuild/darwin-x64': 0.19.12
1487 | '@esbuild/freebsd-arm64': 0.19.12
1488 | '@esbuild/freebsd-x64': 0.19.12
1489 | '@esbuild/linux-arm': 0.19.12
1490 | '@esbuild/linux-arm64': 0.19.12
1491 | '@esbuild/linux-ia32': 0.19.12
1492 | '@esbuild/linux-loong64': 0.19.12
1493 | '@esbuild/linux-mips64el': 0.19.12
1494 | '@esbuild/linux-ppc64': 0.19.12
1495 | '@esbuild/linux-riscv64': 0.19.12
1496 | '@esbuild/linux-s390x': 0.19.12
1497 | '@esbuild/linux-x64': 0.19.12
1498 | '@esbuild/netbsd-x64': 0.19.12
1499 | '@esbuild/openbsd-x64': 0.19.12
1500 | '@esbuild/sunos-x64': 0.19.12
1501 | '@esbuild/win32-arm64': 0.19.12
1502 | '@esbuild/win32-ia32': 0.19.12
1503 | '@esbuild/win32-x64': 0.19.12
1504 |
1505 | /escalade@3.1.1:
1506 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
1507 | engines: {node: '>=6'}
1508 | dev: true
1509 |
1510 | /escape-string-regexp@1.0.5:
1511 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
1512 | engines: {node: '>=0.8.0'}
1513 | dev: true
1514 |
1515 | /escape-string-regexp@4.0.0:
1516 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
1517 | engines: {node: '>=10'}
1518 | dev: true
1519 |
1520 | /eslint-plugin-react-hooks@4.6.0(eslint@8.57.0):
1521 | resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
1522 | engines: {node: '>=10'}
1523 | peerDependencies:
1524 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
1525 | dependencies:
1526 | eslint: 8.57.0
1527 | dev: true
1528 |
1529 | /eslint-plugin-react-refresh@0.4.5(eslint@8.57.0):
1530 | resolution: {integrity: sha512-D53FYKJa+fDmZMtriODxvhwrO+IOqrxoEo21gMA0sjHdU6dPVH4OhyFip9ypl8HOF5RV5KdTo+rBQLvnY2cO8w==}
1531 | peerDependencies:
1532 | eslint: '>=7'
1533 | dependencies:
1534 | eslint: 8.57.0
1535 | dev: true
1536 |
1537 | /eslint-scope@7.2.2:
1538 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
1539 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1540 | dependencies:
1541 | esrecurse: 4.3.0
1542 | estraverse: 5.3.0
1543 | dev: true
1544 |
1545 | /eslint-visitor-keys@3.4.3:
1546 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
1547 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1548 | dev: true
1549 |
1550 | /eslint@8.57.0:
1551 | resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
1552 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1553 | hasBin: true
1554 | dependencies:
1555 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
1556 | '@eslint-community/regexpp': 4.10.0
1557 | '@eslint/eslintrc': 2.1.4
1558 | '@eslint/js': 8.57.0
1559 | '@humanwhocodes/config-array': 0.11.14
1560 | '@humanwhocodes/module-importer': 1.0.1
1561 | '@nodelib/fs.walk': 1.2.8
1562 | '@ungap/structured-clone': 1.2.0
1563 | ajv: 6.12.6
1564 | chalk: 4.1.2
1565 | cross-spawn: 7.0.3
1566 | debug: 4.3.4
1567 | doctrine: 3.0.0
1568 | escape-string-regexp: 4.0.0
1569 | eslint-scope: 7.2.2
1570 | eslint-visitor-keys: 3.4.3
1571 | espree: 9.6.1
1572 | esquery: 1.5.0
1573 | esutils: 2.0.3
1574 | fast-deep-equal: 3.1.3
1575 | file-entry-cache: 6.0.1
1576 | find-up: 5.0.0
1577 | glob-parent: 6.0.2
1578 | globals: 13.24.0
1579 | graphemer: 1.4.0
1580 | ignore: 5.3.1
1581 | imurmurhash: 0.1.4
1582 | is-glob: 4.0.3
1583 | is-path-inside: 3.0.3
1584 | js-yaml: 4.1.0
1585 | json-stable-stringify-without-jsonify: 1.0.1
1586 | levn: 0.4.1
1587 | lodash.merge: 4.6.2
1588 | minimatch: 3.1.2
1589 | natural-compare: 1.4.0
1590 | optionator: 0.9.3
1591 | strip-ansi: 6.0.1
1592 | text-table: 0.2.0
1593 | transitivePeerDependencies:
1594 | - supports-color
1595 | dev: true
1596 |
1597 | /espree@9.6.1:
1598 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
1599 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1600 | dependencies:
1601 | acorn: 8.11.3
1602 | acorn-jsx: 5.3.2(acorn@8.11.3)
1603 | eslint-visitor-keys: 3.4.3
1604 | dev: true
1605 |
1606 | /esquery@1.5.0:
1607 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
1608 | engines: {node: '>=0.10'}
1609 | dependencies:
1610 | estraverse: 5.3.0
1611 | dev: true
1612 |
1613 | /esrecurse@4.3.0:
1614 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
1615 | engines: {node: '>=4.0'}
1616 | dependencies:
1617 | estraverse: 5.3.0
1618 | dev: true
1619 |
1620 | /estraverse@5.3.0:
1621 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
1622 | engines: {node: '>=4.0'}
1623 | dev: true
1624 |
1625 | /esutils@2.0.3:
1626 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1627 | engines: {node: '>=0.10.0'}
1628 | dev: true
1629 |
1630 | /fast-deep-equal@3.1.3:
1631 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1632 | dev: true
1633 |
1634 | /fast-glob@3.3.2:
1635 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
1636 | engines: {node: '>=8.6.0'}
1637 | dependencies:
1638 | '@nodelib/fs.stat': 2.0.5
1639 | '@nodelib/fs.walk': 1.2.8
1640 | glob-parent: 5.1.2
1641 | merge2: 1.4.1
1642 | micromatch: 4.0.5
1643 | dev: true
1644 |
1645 | /fast-json-stable-stringify@2.1.0:
1646 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1647 | dev: true
1648 |
1649 | /fast-levenshtein@2.0.6:
1650 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
1651 | dev: true
1652 |
1653 | /fastq@1.17.1:
1654 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
1655 | dependencies:
1656 | reusify: 1.0.4
1657 | dev: true
1658 |
1659 | /fflate@0.8.2:
1660 | resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
1661 | dev: false
1662 |
1663 | /file-entry-cache@6.0.1:
1664 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
1665 | engines: {node: ^10.12.0 || >=12.0.0}
1666 | dependencies:
1667 | flat-cache: 3.2.0
1668 | dev: true
1669 |
1670 | /fill-range@7.0.1:
1671 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1672 | engines: {node: '>=8'}
1673 | dependencies:
1674 | to-regex-range: 5.0.1
1675 |
1676 | /find-up@5.0.0:
1677 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1678 | engines: {node: '>=10'}
1679 | dependencies:
1680 | locate-path: 6.0.0
1681 | path-exists: 4.0.0
1682 | dev: true
1683 |
1684 | /flat-cache@3.2.0:
1685 | resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
1686 | engines: {node: ^10.12.0 || >=12.0.0}
1687 | dependencies:
1688 | flatted: 3.3.1
1689 | keyv: 4.5.4
1690 | rimraf: 3.0.2
1691 | dev: true
1692 |
1693 | /flatted@3.3.1:
1694 | resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
1695 | dev: true
1696 |
1697 | /fs.realpath@1.0.0:
1698 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1699 | dev: true
1700 |
1701 | /fsevents@2.3.3:
1702 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
1703 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1704 | os: [darwin]
1705 | requiresBuild: true
1706 | optional: true
1707 |
1708 | /gensync@1.0.0-beta.2:
1709 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
1710 | engines: {node: '>=6.9.0'}
1711 | dev: true
1712 |
1713 | /glob-parent@5.1.2:
1714 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1715 | engines: {node: '>= 6'}
1716 | dependencies:
1717 | is-glob: 4.0.3
1718 |
1719 | /glob-parent@6.0.2:
1720 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1721 | engines: {node: '>=10.13.0'}
1722 | dependencies:
1723 | is-glob: 4.0.3
1724 | dev: true
1725 |
1726 | /glob@7.2.3:
1727 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1728 | dependencies:
1729 | fs.realpath: 1.0.0
1730 | inflight: 1.0.6
1731 | inherits: 2.0.4
1732 | minimatch: 3.1.2
1733 | once: 1.4.0
1734 | path-is-absolute: 1.0.1
1735 | dev: true
1736 |
1737 | /globals@11.12.0:
1738 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
1739 | engines: {node: '>=4'}
1740 | dev: true
1741 |
1742 | /globals@13.24.0:
1743 | resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
1744 | engines: {node: '>=8'}
1745 | dependencies:
1746 | type-fest: 0.20.2
1747 | dev: true
1748 |
1749 | /globby@11.1.0:
1750 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
1751 | engines: {node: '>=10'}
1752 | dependencies:
1753 | array-union: 2.1.0
1754 | dir-glob: 3.0.1
1755 | fast-glob: 3.3.2
1756 | ignore: 5.3.1
1757 | merge2: 1.4.1
1758 | slash: 3.0.0
1759 | dev: true
1760 |
1761 | /graphemer@1.4.0:
1762 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
1763 | dev: true
1764 |
1765 | /has-flag@3.0.0:
1766 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
1767 | engines: {node: '>=4'}
1768 | dev: true
1769 |
1770 | /has-flag@4.0.0:
1771 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1772 | engines: {node: '>=8'}
1773 | dev: true
1774 |
1775 | /howler@2.2.4:
1776 | resolution: {integrity: sha512-iARIBPgcQrwtEr+tALF+rapJ8qSc+Set2GJQl7xT1MQzWaVkFebdJhR3alVlSiUf5U7nAANKuj3aWpwerocD5w==}
1777 | dev: false
1778 |
1779 | /ignore@5.3.1:
1780 | resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
1781 | engines: {node: '>= 4'}
1782 | dev: true
1783 |
1784 | /immutable@4.3.5:
1785 | resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==}
1786 |
1787 | /import-fresh@3.3.0:
1788 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1789 | engines: {node: '>=6'}
1790 | dependencies:
1791 | parent-module: 1.0.1
1792 | resolve-from: 4.0.0
1793 | dev: true
1794 |
1795 | /imurmurhash@0.1.4:
1796 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
1797 | engines: {node: '>=0.8.19'}
1798 | dev: true
1799 |
1800 | /inflight@1.0.6:
1801 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1802 | dependencies:
1803 | once: 1.4.0
1804 | wrappy: 1.0.2
1805 | dev: true
1806 |
1807 | /inherits@2.0.4:
1808 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1809 | dev: true
1810 |
1811 | /is-arrayish@0.3.2:
1812 | resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
1813 | dev: false
1814 |
1815 | /is-binary-path@2.1.0:
1816 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
1817 | engines: {node: '>=8'}
1818 | dependencies:
1819 | binary-extensions: 2.3.0
1820 |
1821 | /is-extglob@2.1.1:
1822 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1823 | engines: {node: '>=0.10.0'}
1824 |
1825 | /is-glob@4.0.3:
1826 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1827 | engines: {node: '>=0.10.0'}
1828 | dependencies:
1829 | is-extglob: 2.1.1
1830 |
1831 | /is-lite@0.8.2:
1832 | resolution: {integrity: sha512-JZfH47qTsslwaAsqbMI3Q6HNNjUuq6Cmzzww50TdP5Esb6e1y2sK2UAaZZuzfAzpoI2AkxoPQapZdlDuP6Vlsw==}
1833 | dev: false
1834 |
1835 | /is-lite@1.2.1:
1836 | resolution: {integrity: sha512-pgF+L5bxC+10hLBgf6R2P4ZZUBOQIIacbdo8YvuCP8/JvsWxG7aZ9p10DYuLtifFci4l3VITphhMlMV4Y+urPw==}
1837 | dev: false
1838 |
1839 | /is-number@7.0.0:
1840 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1841 | engines: {node: '>=0.12.0'}
1842 |
1843 | /is-path-inside@3.0.3:
1844 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
1845 | engines: {node: '>=8'}
1846 | dev: true
1847 |
1848 | /isexe@2.0.0:
1849 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1850 | dev: true
1851 |
1852 | /js-tokens@4.0.0:
1853 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1854 |
1855 | /js-yaml@4.1.0:
1856 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1857 | hasBin: true
1858 | dependencies:
1859 | argparse: 2.0.1
1860 | dev: true
1861 |
1862 | /jsesc@2.5.2:
1863 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
1864 | engines: {node: '>=4'}
1865 | hasBin: true
1866 | dev: true
1867 |
1868 | /json-buffer@3.0.1:
1869 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
1870 | dev: true
1871 |
1872 | /json-schema-traverse@0.4.1:
1873 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1874 | dev: true
1875 |
1876 | /json-stable-stringify-without-jsonify@1.0.1:
1877 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
1878 | dev: true
1879 |
1880 | /json5@2.2.3:
1881 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
1882 | engines: {node: '>=6'}
1883 | hasBin: true
1884 | dev: true
1885 |
1886 | /keyv@4.5.4:
1887 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
1888 | dependencies:
1889 | json-buffer: 3.0.1
1890 | dev: true
1891 |
1892 | /levn@0.4.1:
1893 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1894 | engines: {node: '>= 0.8.0'}
1895 | dependencies:
1896 | prelude-ls: 1.2.1
1897 | type-check: 0.4.0
1898 | dev: true
1899 |
1900 | /lit-element@3.3.3:
1901 | resolution: {integrity: sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==}
1902 | dependencies:
1903 | '@lit-labs/ssr-dom-shim': 1.2.0
1904 | '@lit/reactive-element': 1.6.3
1905 | lit-html: 2.8.0
1906 | dev: false
1907 |
1908 | /lit-html@2.8.0:
1909 | resolution: {integrity: sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==}
1910 | dependencies:
1911 | '@types/trusted-types': 2.0.7
1912 | dev: false
1913 |
1914 | /lit@2.8.0:
1915 | resolution: {integrity: sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==}
1916 | dependencies:
1917 | '@lit/reactive-element': 1.6.3
1918 | lit-element: 3.3.3
1919 | lit-html: 2.8.0
1920 | dev: false
1921 |
1922 | /locate-path@6.0.0:
1923 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1924 | engines: {node: '>=10'}
1925 | dependencies:
1926 | p-locate: 5.0.0
1927 | dev: true
1928 |
1929 | /lodash.merge@4.6.2:
1930 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1931 | dev: true
1932 |
1933 | /loose-envify@1.4.0:
1934 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
1935 | hasBin: true
1936 | dependencies:
1937 | js-tokens: 4.0.0
1938 | dev: false
1939 |
1940 | /lottie-web@5.12.2:
1941 | resolution: {integrity: sha512-uvhvYPC8kGPjXT3MyKMrL3JitEAmDMp30lVkuq/590Mw9ok6pWcFCwXJveo0t5uqYw1UREQHofD+jVpdjBv8wg==}
1942 | dev: false
1943 |
1944 | /lru-cache@5.1.1:
1945 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
1946 | dependencies:
1947 | yallist: 3.1.1
1948 | dev: true
1949 |
1950 | /lru-cache@6.0.0:
1951 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
1952 | engines: {node: '>=10'}
1953 | dependencies:
1954 | yallist: 4.0.0
1955 |
1956 | /merge2@1.4.1:
1957 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1958 | engines: {node: '>= 8'}
1959 | dev: true
1960 |
1961 | /micromatch@4.0.5:
1962 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
1963 | engines: {node: '>=8.6'}
1964 | dependencies:
1965 | braces: 3.0.2
1966 | picomatch: 2.3.1
1967 | dev: true
1968 |
1969 | /minimatch@3.1.2:
1970 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1971 | dependencies:
1972 | brace-expansion: 1.1.11
1973 | dev: true
1974 |
1975 | /minimatch@9.0.3:
1976 | resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
1977 | engines: {node: '>=16 || 14 >=14.17'}
1978 | dependencies:
1979 | brace-expansion: 2.0.1
1980 | dev: true
1981 |
1982 | /ms@2.1.2:
1983 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1984 | dev: true
1985 |
1986 | /nanoid@3.3.7:
1987 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
1988 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1989 | hasBin: true
1990 |
1991 | /natural-compare@1.4.0:
1992 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1993 | dev: true
1994 |
1995 | /node-releases@2.0.14:
1996 | resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
1997 | dev: true
1998 |
1999 | /normalize-path@3.0.0:
2000 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
2001 | engines: {node: '>=0.10.0'}
2002 |
2003 | /object-assign@4.1.1:
2004 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
2005 | engines: {node: '>=0.10.0'}
2006 | dev: false
2007 |
2008 | /once@1.4.0:
2009 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
2010 | dependencies:
2011 | wrappy: 1.0.2
2012 | dev: true
2013 |
2014 | /optionator@0.9.3:
2015 | resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
2016 | engines: {node: '>= 0.8.0'}
2017 | dependencies:
2018 | '@aashutoshrathi/word-wrap': 1.2.6
2019 | deep-is: 0.1.4
2020 | fast-levenshtein: 2.0.6
2021 | levn: 0.4.1
2022 | prelude-ls: 1.2.1
2023 | type-check: 0.4.0
2024 | dev: true
2025 |
2026 | /p-limit@3.1.0:
2027 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
2028 | engines: {node: '>=10'}
2029 | dependencies:
2030 | yocto-queue: 0.1.0
2031 | dev: true
2032 |
2033 | /p-locate@5.0.0:
2034 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
2035 | engines: {node: '>=10'}
2036 | dependencies:
2037 | p-limit: 3.1.0
2038 | dev: true
2039 |
2040 | /p-map@2.1.0:
2041 | resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==}
2042 | engines: {node: '>=6'}
2043 | dev: false
2044 |
2045 | /parent-module@1.0.1:
2046 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
2047 | engines: {node: '>=6'}
2048 | dependencies:
2049 | callsites: 3.1.0
2050 | dev: true
2051 |
2052 | /path-exists@4.0.0:
2053 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
2054 | engines: {node: '>=8'}
2055 | dev: true
2056 |
2057 | /path-is-absolute@1.0.1:
2058 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
2059 | engines: {node: '>=0.10.0'}
2060 | dev: true
2061 |
2062 | /path-key@3.1.1:
2063 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
2064 | engines: {node: '>=8'}
2065 | dev: true
2066 |
2067 | /path-type@4.0.0:
2068 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
2069 | engines: {node: '>=8'}
2070 | dev: true
2071 |
2072 | /picocolors@1.0.0:
2073 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
2074 |
2075 | /picomatch@2.3.1:
2076 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
2077 | engines: {node: '>=8.6'}
2078 |
2079 | /popper.js@1.16.1:
2080 | resolution: {integrity: sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==}
2081 | deprecated: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
2082 | dev: false
2083 |
2084 | /postcss@8.4.35:
2085 | resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==}
2086 | engines: {node: ^10 || ^12 || >=14}
2087 | dependencies:
2088 | nanoid: 3.3.7
2089 | picocolors: 1.0.0
2090 | source-map-js: 1.0.2
2091 |
2092 | /prelude-ls@1.2.1:
2093 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
2094 | engines: {node: '>= 0.8.0'}
2095 | dev: true
2096 |
2097 | /prop-types@15.8.1:
2098 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
2099 | dependencies:
2100 | loose-envify: 1.4.0
2101 | object-assign: 4.1.1
2102 | react-is: 16.13.1
2103 | dev: false
2104 |
2105 | /punycode@2.3.1:
2106 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
2107 | engines: {node: '>=6'}
2108 | dev: true
2109 |
2110 | /queue-microtask@1.2.3:
2111 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
2112 | dev: true
2113 |
2114 | /react-audio-player@0.17.0(react-dom@18.2.0)(react@18.2.0):
2115 | resolution: {integrity: sha512-aCZgusPxA9HK7rLZcTdhTbBH9l6do9vn3NorgoDZRxRxJlOy9uZWzPaKjd7QdcuP2vXpxGA/61JMnnOEY7NXeA==}
2116 | peerDependencies:
2117 | react: '>=16'
2118 | react-dom: '>=16'
2119 | dependencies:
2120 | prop-types: 15.8.1
2121 | react: 18.2.0
2122 | react-dom: 18.2.0(react@18.2.0)
2123 | dev: false
2124 |
2125 | /react-copy-to-clipboard@5.1.0(react@18.2.0):
2126 | resolution: {integrity: sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==}
2127 | peerDependencies:
2128 | react: ^15.3.0 || 16 || 17 || 18
2129 | dependencies:
2130 | copy-to-clipboard: 3.3.3
2131 | prop-types: 15.8.1
2132 | react: 18.2.0
2133 | dev: false
2134 |
2135 | /react-dom@18.2.0(react@18.2.0):
2136 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
2137 | peerDependencies:
2138 | react: ^18.2.0
2139 | dependencies:
2140 | loose-envify: 1.4.0
2141 | react: 18.2.0
2142 | scheduler: 0.23.0
2143 | dev: false
2144 |
2145 | /react-floater@0.7.9(react-dom@18.2.0)(react@18.2.0):
2146 | resolution: {integrity: sha512-NXqyp9o8FAXOATOEo0ZpyaQ2KPb4cmPMXGWkx377QtJkIXHlHRAGer7ai0r0C1kG5gf+KJ6Gy+gdNIiosvSicg==}
2147 | peerDependencies:
2148 | react: 15 - 18
2149 | react-dom: 15 - 18
2150 | dependencies:
2151 | deepmerge: 4.3.1
2152 | is-lite: 0.8.2
2153 | popper.js: 1.16.1
2154 | prop-types: 15.8.1
2155 | react: 18.2.0
2156 | react-dom: 18.2.0(react@18.2.0)
2157 | tree-changes: 0.9.3
2158 | dev: false
2159 |
2160 | /react-icons@5.1.0(react@18.2.0):
2161 | resolution: {integrity: sha512-D3zug1270S4hbSlIRJ0CUS97QE1yNNKDjzQe3HqY0aefp2CBn9VgzgES27sRR2gOvFK+0CNx/BW0ggOESp6fqQ==}
2162 | peerDependencies:
2163 | react: '*'
2164 | dependencies:
2165 | react: 18.2.0
2166 | dev: false
2167 |
2168 | /react-innertext@1.1.5(@types/react@18.2.65)(react@18.2.0):
2169 | resolution: {integrity: sha512-PWAqdqhxhHIv80dT9znP2KvS+hfkbRovFp4zFYHFFlOoQLRiawIic81gKb3U1wEyJZgMwgs3JoLtwryASRWP3Q==}
2170 | peerDependencies:
2171 | '@types/react': '>=0.0.0 <=99'
2172 | react: '>=0.0.0 <=99'
2173 | dependencies:
2174 | '@types/react': 18.2.65
2175 | react: 18.2.0
2176 | dev: false
2177 |
2178 | /react-is@16.13.1:
2179 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
2180 | dev: false
2181 |
2182 | /react-joyride@2.8.1(@types/react@18.2.65)(react-dom@18.2.0)(react@18.2.0):
2183 | resolution: {integrity: sha512-fVwCmoOvJsiFKKHn8mvPUYc4JUUkgAsQMvarpZDtFPTc4duj240b12+AB8+3NXlTYGZVnKNSTgFFzoSh9RxjmQ==}
2184 | peerDependencies:
2185 | react: 15 - 18
2186 | react-dom: 15 - 18
2187 | dependencies:
2188 | '@gilbarbara/deep-equal': 0.3.1
2189 | deep-diff: 1.0.2
2190 | deepmerge: 4.3.1
2191 | is-lite: 1.2.1
2192 | react: 18.2.0
2193 | react-dom: 18.2.0(react@18.2.0)
2194 | react-floater: 0.7.9(react-dom@18.2.0)(react@18.2.0)
2195 | react-innertext: 1.1.5(@types/react@18.2.65)(react@18.2.0)
2196 | react-is: 16.13.1
2197 | scroll: 3.0.1
2198 | scrollparent: 2.1.0
2199 | tree-changes: 0.11.2
2200 | type-fest: 4.17.0
2201 | transitivePeerDependencies:
2202 | - '@types/react'
2203 | dev: false
2204 |
2205 | /react-lottie@1.2.4(react@18.2.0):
2206 | resolution: {integrity: sha512-kBGxI+MIZGBf4wZhNCWwHkMcVP+kbpmrLWH/SkO0qCKc7D7eSPcxQbfpsmsCo8v2KCBYjuGSou+xTqK44D/jMg==}
2207 | engines: {npm: ^3.0.0}
2208 | peerDependencies:
2209 | react: '>=15.0.0'
2210 | dependencies:
2211 | babel-runtime: 6.26.0
2212 | lottie-web: 5.12.2
2213 | react: 18.2.0
2214 | dev: false
2215 |
2216 | /react-refresh@0.14.0:
2217 | resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==}
2218 | engines: {node: '>=0.10.0'}
2219 | dev: true
2220 |
2221 | /react-toastify@10.0.5(react-dom@18.2.0)(react@18.2.0):
2222 | resolution: {integrity: sha512-mNKt2jBXJg4O7pSdbNUfDdTsK9FIdikfsIE/yUCxbAEXl4HMyJaivrVFcn3Elvt5xvCQYhUZm+hqTIu1UXM3Pw==}
2223 | peerDependencies:
2224 | react: '>=18'
2225 | react-dom: '>=18'
2226 | dependencies:
2227 | clsx: 2.1.1
2228 | react: 18.2.0
2229 | react-dom: 18.2.0(react@18.2.0)
2230 | dev: false
2231 |
2232 | /react@18.2.0:
2233 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
2234 | engines: {node: '>=0.10.0'}
2235 | dependencies:
2236 | loose-envify: 1.4.0
2237 | dev: false
2238 |
2239 | /readdirp@3.6.0:
2240 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
2241 | engines: {node: '>=8.10.0'}
2242 | dependencies:
2243 | picomatch: 2.3.1
2244 |
2245 | /regenerator-runtime@0.11.1:
2246 | resolution: {integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==}
2247 | dev: false
2248 |
2249 | /regenerator-runtime@0.14.1:
2250 | resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
2251 | dev: false
2252 |
2253 | /resolve-from@4.0.0:
2254 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
2255 | engines: {node: '>=4'}
2256 | dev: true
2257 |
2258 | /reusify@1.0.4:
2259 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
2260 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
2261 | dev: true
2262 |
2263 | /rimraf@3.0.2:
2264 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
2265 | hasBin: true
2266 | dependencies:
2267 | glob: 7.2.3
2268 | dev: true
2269 |
2270 | /rollup@4.13.0:
2271 | resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==}
2272 | engines: {node: '>=18.0.0', npm: '>=8.0.0'}
2273 | hasBin: true
2274 | dependencies:
2275 | '@types/estree': 1.0.5
2276 | optionalDependencies:
2277 | '@rollup/rollup-android-arm-eabi': 4.13.0
2278 | '@rollup/rollup-android-arm64': 4.13.0
2279 | '@rollup/rollup-darwin-arm64': 4.13.0
2280 | '@rollup/rollup-darwin-x64': 4.13.0
2281 | '@rollup/rollup-linux-arm-gnueabihf': 4.13.0
2282 | '@rollup/rollup-linux-arm64-gnu': 4.13.0
2283 | '@rollup/rollup-linux-arm64-musl': 4.13.0
2284 | '@rollup/rollup-linux-riscv64-gnu': 4.13.0
2285 | '@rollup/rollup-linux-x64-gnu': 4.13.0
2286 | '@rollup/rollup-linux-x64-musl': 4.13.0
2287 | '@rollup/rollup-win32-arm64-msvc': 4.13.0
2288 | '@rollup/rollup-win32-ia32-msvc': 4.13.0
2289 | '@rollup/rollup-win32-x64-msvc': 4.13.0
2290 | fsevents: 2.3.3
2291 |
2292 | /run-parallel@1.2.0:
2293 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
2294 | dependencies:
2295 | queue-microtask: 1.2.3
2296 | dev: true
2297 |
2298 | /sass@1.72.0:
2299 | resolution: {integrity: sha512-Gpczt3WA56Ly0Mn8Sl21Vj94s1axi9hDIzDFn9Ph9x3C3p4nNyvsqJoQyVXKou6cBlfFWEgRW4rT8Tb4i3XnVA==}
2300 | engines: {node: '>=14.0.0'}
2301 | hasBin: true
2302 | dependencies:
2303 | chokidar: 3.6.0
2304 | immutable: 4.3.5
2305 | source-map-js: 1.0.2
2306 |
2307 | /scheduler@0.23.0:
2308 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
2309 | dependencies:
2310 | loose-envify: 1.4.0
2311 | dev: false
2312 |
2313 | /scroll@3.0.1:
2314 | resolution: {integrity: sha512-pz7y517OVls1maEzlirKO5nPYle9AXsFzTMNJrRGmT951mzpIBy7sNHOg5o/0MQd/NqliCiWnAi0kZneMPFLcg==}
2315 | dev: false
2316 |
2317 | /scrollparent@2.1.0:
2318 | resolution: {integrity: sha512-bnnvJL28/Rtz/kz2+4wpBjHzWoEzXhVg/TE8BeVGJHUqE8THNIRnDxDWMktwM+qahvlRdvlLdsQfYe+cuqfZeA==}
2319 | dev: false
2320 |
2321 | /semver@6.3.1:
2322 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
2323 | hasBin: true
2324 | dev: true
2325 |
2326 | /semver@7.6.0:
2327 | resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
2328 | engines: {node: '>=10'}
2329 | hasBin: true
2330 | dependencies:
2331 | lru-cache: 6.0.0
2332 |
2333 | /sharp-phash@2.1.0(sharp@0.33.3):
2334 | resolution: {integrity: sha512-9JYWr4tiKpjRA5Mi0qHn6LP2evS+GjdRVGjDFOSnO761m5Pavkpm83SyzauO2Ntt7znVqTn7J3XTUwHjRPAonw==}
2335 | engines: {node: '>= 10'}
2336 | peerDependencies:
2337 | sharp: '>= 0.25.4'
2338 | dependencies:
2339 | sharp: 0.33.3
2340 | dev: false
2341 |
2342 | /sharp@0.33.3:
2343 | resolution: {integrity: sha512-vHUeXJU1UvlO/BNwTpT0x/r53WkLUVxrmb5JTgW92fdFCFk0ispLMAeu/jPO2vjkXM1fYUi3K7/qcLF47pwM1A==}
2344 | engines: {libvips: '>=8.15.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0}
2345 | requiresBuild: true
2346 | dependencies:
2347 | color: 4.2.3
2348 | detect-libc: 2.0.3
2349 | semver: 7.6.0
2350 | optionalDependencies:
2351 | '@img/sharp-darwin-arm64': 0.33.3
2352 | '@img/sharp-darwin-x64': 0.33.3
2353 | '@img/sharp-libvips-darwin-arm64': 1.0.2
2354 | '@img/sharp-libvips-darwin-x64': 1.0.2
2355 | '@img/sharp-libvips-linux-arm': 1.0.2
2356 | '@img/sharp-libvips-linux-arm64': 1.0.2
2357 | '@img/sharp-libvips-linux-s390x': 1.0.2
2358 | '@img/sharp-libvips-linux-x64': 1.0.2
2359 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.2
2360 | '@img/sharp-libvips-linuxmusl-x64': 1.0.2
2361 | '@img/sharp-linux-arm': 0.33.3
2362 | '@img/sharp-linux-arm64': 0.33.3
2363 | '@img/sharp-linux-s390x': 0.33.3
2364 | '@img/sharp-linux-x64': 0.33.3
2365 | '@img/sharp-linuxmusl-arm64': 0.33.3
2366 | '@img/sharp-linuxmusl-x64': 0.33.3
2367 | '@img/sharp-wasm32': 0.33.3
2368 | '@img/sharp-win32-ia32': 0.33.3
2369 | '@img/sharp-win32-x64': 0.33.3
2370 | dev: false
2371 |
2372 | /shebang-command@2.0.0:
2373 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
2374 | engines: {node: '>=8'}
2375 | dependencies:
2376 | shebang-regex: 3.0.0
2377 | dev: true
2378 |
2379 | /shebang-regex@3.0.0:
2380 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
2381 | engines: {node: '>=8'}
2382 | dev: true
2383 |
2384 | /simple-swizzle@0.2.2:
2385 | resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
2386 | dependencies:
2387 | is-arrayish: 0.3.2
2388 | dev: false
2389 |
2390 | /slash@3.0.0:
2391 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
2392 | engines: {node: '>=8'}
2393 | dev: true
2394 |
2395 | /source-map-js@1.0.2:
2396 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
2397 | engines: {node: '>=0.10.0'}
2398 |
2399 | /source-map@0.5.6:
2400 | resolution: {integrity: sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==}
2401 | engines: {node: '>=0.10.0'}
2402 | dev: false
2403 |
2404 | /stack-generator@2.0.10:
2405 | resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==}
2406 | dependencies:
2407 | stackframe: 1.3.4
2408 | dev: false
2409 |
2410 | /stackframe@1.3.4:
2411 | resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==}
2412 | dev: false
2413 |
2414 | /stacktrace-gps@3.1.2:
2415 | resolution: {integrity: sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==}
2416 | dependencies:
2417 | source-map: 0.5.6
2418 | stackframe: 1.3.4
2419 | dev: false
2420 |
2421 | /stacktrace-js@2.0.2:
2422 | resolution: {integrity: sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==}
2423 | dependencies:
2424 | error-stack-parser: 2.1.4
2425 | stack-generator: 2.0.10
2426 | stacktrace-gps: 3.1.2
2427 | dev: false
2428 |
2429 | /strip-ansi@6.0.1:
2430 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
2431 | engines: {node: '>=8'}
2432 | dependencies:
2433 | ansi-regex: 5.0.1
2434 | dev: true
2435 |
2436 | /strip-json-comments@3.1.1:
2437 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
2438 | engines: {node: '>=8'}
2439 | dev: true
2440 |
2441 | /supports-color@5.5.0:
2442 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
2443 | engines: {node: '>=4'}
2444 | dependencies:
2445 | has-flag: 3.0.0
2446 | dev: true
2447 |
2448 | /supports-color@7.2.0:
2449 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
2450 | engines: {node: '>=8'}
2451 | dependencies:
2452 | has-flag: 4.0.0
2453 | dev: true
2454 |
2455 | /text-table@0.2.0:
2456 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
2457 | dev: true
2458 |
2459 | /to-fast-properties@2.0.0:
2460 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
2461 | engines: {node: '>=4'}
2462 | dev: true
2463 |
2464 | /to-regex-range@5.0.1:
2465 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
2466 | engines: {node: '>=8.0'}
2467 | dependencies:
2468 | is-number: 7.0.0
2469 |
2470 | /toggle-selection@1.0.6:
2471 | resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==}
2472 | dev: false
2473 |
2474 | /tree-changes@0.11.2:
2475 | resolution: {integrity: sha512-4gXlUthrl+RabZw6lLvcCDl6KfJOCmrC16BC5CRdut1EAH509Omgg0BfKLY+ViRlzrvYOTWR0FMS2SQTwzumrw==}
2476 | dependencies:
2477 | '@gilbarbara/deep-equal': 0.3.1
2478 | is-lite: 1.2.1
2479 | dev: false
2480 |
2481 | /tree-changes@0.9.3:
2482 | resolution: {integrity: sha512-vvvS+O6kEeGRzMglTKbc19ltLWNtmNt1cpBoSYLj/iEcPVvpJasemKOlxBrmZaCtDJoF+4bwv3m01UKYi8mukQ==}
2483 | dependencies:
2484 | '@gilbarbara/deep-equal': 0.1.2
2485 | is-lite: 0.8.2
2486 | dev: false
2487 |
2488 | /ts-api-utils@1.3.0(typescript@5.4.2):
2489 | resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
2490 | engines: {node: '>=16'}
2491 | peerDependencies:
2492 | typescript: '>=4.2.0'
2493 | dependencies:
2494 | typescript: 5.4.2
2495 | dev: true
2496 |
2497 | /tslib@2.6.2:
2498 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
2499 | requiresBuild: true
2500 | dev: false
2501 | optional: true
2502 |
2503 | /type-check@0.4.0:
2504 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
2505 | engines: {node: '>= 0.8.0'}
2506 | dependencies:
2507 | prelude-ls: 1.2.1
2508 | dev: true
2509 |
2510 | /type-fest@0.20.2:
2511 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
2512 | engines: {node: '>=10'}
2513 | dev: true
2514 |
2515 | /type-fest@4.17.0:
2516 | resolution: {integrity: sha512-9flrz1zkfLRH3jO3bLflmTxryzKMxVa7841VeMgBaNQGY6vH4RCcpN/sQLB7mQQYh1GZ5utT2deypMuCy4yicw==}
2517 | engines: {node: '>=16'}
2518 | dev: false
2519 |
2520 | /typescript@5.4.2:
2521 | resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==}
2522 | engines: {node: '>=14.17'}
2523 | hasBin: true
2524 | dev: true
2525 |
2526 | /update-browserslist-db@1.0.13(browserslist@4.22.2):
2527 | resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
2528 | hasBin: true
2529 | peerDependencies:
2530 | browserslist: '>= 4.21.0'
2531 | dependencies:
2532 | browserslist: 4.22.2
2533 | escalade: 3.1.1
2534 | picocolors: 1.0.0
2535 | dev: true
2536 |
2537 | /uri-js@4.4.1:
2538 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
2539 | dependencies:
2540 | punycode: 2.3.1
2541 | dev: true
2542 |
2543 | /valibot@0.13.1:
2544 | resolution: {integrity: sha512-SG2W1RHqE2LShl3p6tyERt6I+G6PQa9ZFVfkyNKXz01HBzL+tBeH5kXw/5AQeAzPJSjI3djVGBl1CyozA1kyBQ==}
2545 | dev: false
2546 |
2547 | /vite-plugin-package-version@1.1.0(vite@5.1.6):
2548 | resolution: {integrity: sha512-TPoFZXNanzcaKCIrC3e2L/TVRkkRLB6l4RPN/S7KbG7rWfyLcCEGsnXvxn6qR7fyZwXalnnSN/I9d6pSFjHpEA==}
2549 | peerDependencies:
2550 | vite: '>=2.0.0-beta.69'
2551 | dependencies:
2552 | vite: 5.1.6(sass@1.72.0)
2553 | dev: false
2554 |
2555 | /vite@5.1.6(sass@1.72.0):
2556 | resolution: {integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==}
2557 | engines: {node: ^18.0.0 || >=20.0.0}
2558 | hasBin: true
2559 | peerDependencies:
2560 | '@types/node': ^18.0.0 || >=20.0.0
2561 | less: '*'
2562 | lightningcss: ^1.21.0
2563 | sass: '*'
2564 | stylus: '*'
2565 | sugarss: '*'
2566 | terser: ^5.4.0
2567 | peerDependenciesMeta:
2568 | '@types/node':
2569 | optional: true
2570 | less:
2571 | optional: true
2572 | lightningcss:
2573 | optional: true
2574 | sass:
2575 | optional: true
2576 | stylus:
2577 | optional: true
2578 | sugarss:
2579 | optional: true
2580 | terser:
2581 | optional: true
2582 | dependencies:
2583 | esbuild: 0.19.12
2584 | postcss: 8.4.35
2585 | rollup: 4.13.0
2586 | sass: 1.72.0
2587 | optionalDependencies:
2588 | fsevents: 2.3.3
2589 |
2590 | /wasm-imagemagick@1.2.8:
2591 | resolution: {integrity: sha512-V7u80n7g+iAoV7sYgQKGSdG59J6/aSMGO0DDK0zxKnwOGjmVXyjP0yU4tX4cMrfC0t/Wk3I8TX7cmdbFQOYHpg==}
2592 | dependencies:
2593 | p-map: 2.1.0
2594 | stacktrace-js: 2.0.2
2595 | dev: false
2596 |
2597 | /which@2.0.2:
2598 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2599 | engines: {node: '>= 8'}
2600 | hasBin: true
2601 | dependencies:
2602 | isexe: 2.0.0
2603 | dev: true
2604 |
2605 | /wrappy@1.0.2:
2606 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
2607 | dev: true
2608 |
2609 | /xstate@4.38.3:
2610 | resolution: {integrity: sha512-SH7nAaaPQx57dx6qvfcIgqKRXIh4L0A1iYEqim4s1u7c9VoCgzZc+63FY90AKU4ZzOC2cfJzTnpO4zK7fCUzzw==}
2611 | dev: false
2612 |
2613 | /yallist@3.1.1:
2614 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
2615 | dev: true
2616 |
2617 | /yallist@4.0.0:
2618 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
2619 |
2620 | /yocto-queue@0.1.0:
2621 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
2622 | engines: {node: '>=10'}
2623 | dev: true
2624 |
--------------------------------------------------------------------------------