bentebbutt commited on
Commit
85e98ba
1 Parent(s): 4700928

Upload 27 files

Browse files
Dockerfile ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM nikolaik/python-nodejs:python3.11-nodejs21
2
+
3
+ # Install nginx
4
+ USER root
5
+ RUN apt-get -y update && apt-get -y install nginx
6
+ #RUN rm /etc/nginx/nginx.conf
7
+ # Setup directory structure for Nginx
8
+ RUN mkdir -p /var/cache/nginx \
9
+ /var/log/nginx \
10
+ /var/lib/nginx \
11
+ /var/www/html \
12
+ /usr/share/nginx/html
13
+ RUN touch /var/run/nginx.pid && touch /var/log/nginx/error.log
14
+
15
+ # Give permissions to 'pn' user for Nginx and static files directory
16
+ RUN chown -R pn:pn /var/cache/nginx \
17
+ /var/log/nginx \
18
+ /var/lib/nginx \
19
+ /var/run/nginx.pid \
20
+ /var/www/html \
21
+ /var/log/nginx/error.log \
22
+ /usr/share/nginx/html
23
+
24
+ # Switch back to the 'pn' user for installing dependencies and building the app
25
+ USER pn
26
+ ENV HOME=/home/pn \
27
+ PATH=/home/pn/.local/bin:$PATH
28
+
29
+ WORKDIR $HOME/app
30
+
31
+ # Copy the requirements and install Python dependencies
32
+ COPY --chown=pn requirements.txt requirements.txt
33
+ RUN pip install --no-cache-dir -r requirements.txt
34
+
35
+ # Handling frontend setup: Install dependencies and build
36
+ COPY --chown=pn frontend frontend
37
+ WORKDIR $HOME/app/frontend
38
+ RUN npm install
39
+ RUN npm run build && cp -r dist/. /usr/share/nginx/html && ls /usr/share/nginx/html
40
+
41
+
42
+
43
+ # Switch back to the app directory and setup the backend
44
+
45
+ WORKDIR $HOME/app
46
+
47
+ COPY --chown=pn backend backend
48
+
49
+
50
+ COPY --chown=pn nginx.conf /etc/nginx/sites-available/default
51
+ #COPY --chown=pn default.conf /etc/nginx/conf.d/default.conf
52
+
53
+ RUN ls -a
54
+ # Prepare the entrypoint script
55
+ COPY --chown=pn run.sh run.sh
56
+ RUN ls -a
57
+ RUN chmod +x run.sh
58
+
59
+ # Expose the port 8080
60
+ EXPOSE 8080 8000
61
+
62
+ CMD ["bash", "run.sh"]
README.md CHANGED
@@ -1,9 +1,10 @@
1
  ---
2
- title: Chainlit Single Container
3
- emoji: 🐨
4
- colorFrom: purple
5
- colorTo: red
6
  sdk: docker
 
7
  pinned: false
8
  ---
9
 
 
1
  ---
2
+ title: AAMI
3
+ emoji: 🏃
4
+ colorFrom: gray
5
+ colorTo: pink
6
  sdk: docker
7
+ app_port: 8080
8
  pinned: false
9
  ---
10
 
frontend/.eslintrc.cjs ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ }
frontend/.gitignore ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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?
frontend/README.md ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ parserOptions: {
18
+ ecmaVersion: 'latest',
19
+ sourceType: 'module',
20
+ project: ['./tsconfig.json', './tsconfig.node.json'],
21
+ tsconfigRootDir: __dirname,
22
+ },
23
+ ```
24
+
25
+ - Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`
26
+ - Optionally add `plugin:@typescript-eslint/stylistic-type-checked`
27
+ - 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
frontend/components.json ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema.json",
3
+ "style": "default",
4
+ "rsc": false,
5
+ "tsx": true,
6
+ "tailwind": {
7
+ "config": "tailwind.config.js",
8
+ "css": "src/index.css",
9
+ "baseColor": "slate",
10
+ "cssVariables": true
11
+ },
12
+ "aliases": {
13
+ "components": "@/components",
14
+ "utils": "@/lib/utils"
15
+ }
16
+ }
frontend/index.html ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>Custom frontend</title>
8
+ </head>
9
+ <body>
10
+ <div id="root"></div>
11
+ <script type="module" src="/src/main.tsx"></script>
12
+ </body>
13
+ </html>
frontend/package-lock.json ADDED
The diff for this file is too large to render. See raw diff
 
frontend/package.json ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "vite-project",
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
+ "@chainlit/react-client": "0.0.2",
14
+ "@radix-ui/react-slot": "^1.0.2",
15
+ "class-variance-authority": "^0.7.0",
16
+ "clsx": "^2.0.0",
17
+ "lucide-react": "^0.292.0",
18
+ "react": "^18.2.0",
19
+ "react-dom": "^18.2.0",
20
+ "recoil": "^0.7.7",
21
+ "tailwind-merge": "^2.0.0",
22
+ "tailwindcss-animate": "^1.0.7",
23
+ "uuid": "^9.0.1"
24
+ },
25
+ "devDependencies": {
26
+ "@types/node": "^20.9.0",
27
+ "@types/react": "^18.2.15",
28
+ "@types/react-dom": "^18.2.7",
29
+ "@types/uuid": "^9.0.7",
30
+ "@typescript-eslint/eslint-plugin": "^6.0.0",
31
+ "@typescript-eslint/parser": "^6.0.0",
32
+ "@vitejs/plugin-react-swc": "^3.3.2",
33
+ "autoprefixer": "^10.4.16",
34
+ "eslint": "^8.45.0",
35
+ "eslint-plugin-react-hooks": "^4.6.0",
36
+ "eslint-plugin-react-refresh": "^0.4.3",
37
+ "postcss": "^8.4.31",
38
+ "tailwindcss": "^3.3.5",
39
+ "typescript": "^5.0.2",
40
+ "vite": "^4.4.5"
41
+ }
42
+ }
frontend/pnpm-lock.yaml ADDED
@@ -0,0 +1,2055 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ lockfileVersion: '6.0'
2
+
3
+ settings:
4
+ autoInstallPeers: true
5
+ excludeLinksFromLockfile: false
6
+
7
+ dependencies:
8
+ '@chainlit/react-client':
9
+ specifier: ^0.0.1
10
11
+ '@radix-ui/react-slot':
12
+ specifier: ^1.0.2
13
+ version: 1.0.2(@types/[email protected])([email protected])
14
+ class-variance-authority:
15
+ specifier: ^0.7.0
16
+ version: 0.7.0
17
+ clsx:
18
+ specifier: ^2.0.0
19
+ version: 2.0.0
20
+ lucide-react:
21
+ specifier: ^0.292.0
22
+ version: 0.292.0([email protected])
23
+ react:
24
+ specifier: ^18.2.0
25
+ version: 18.2.0
26
+ react-dom:
27
+ specifier: ^18.2.0
28
+ version: 18.2.0([email protected])
29
+ tailwind-merge:
30
+ specifier: ^2.0.0
31
+ version: 2.0.0
32
+ tailwindcss-animate:
33
+ specifier: ^1.0.7
34
+ version: 1.0.7([email protected])
35
+
36
+ devDependencies:
37
+ '@types/node':
38
+ specifier: ^20.9.0
39
+ version: 20.9.0
40
+ '@types/react':
41
+ specifier: ^18.2.15
42
+ version: 18.2.37
43
+ '@types/react-dom':
44
+ specifier: ^18.2.7
45
+ version: 18.2.15
46
+ '@typescript-eslint/eslint-plugin':
47
+ specifier: ^6.0.0
48
+ version: 6.11.0(@typescript-eslint/[email protected])([email protected])([email protected])
49
+ '@typescript-eslint/parser':
50
+ specifier: ^6.0.0
51
52
+ '@vitejs/plugin-react-swc':
53
+ specifier: ^3.3.2
54
+ version: 3.5.0([email protected])
55
+ autoprefixer:
56
+ specifier: ^10.4.16
57
+ version: 10.4.16([email protected])
58
+ eslint:
59
+ specifier: ^8.45.0
60
+ version: 8.53.0
61
+ eslint-plugin-react-hooks:
62
+ specifier: ^4.6.0
63
+ version: 4.6.0([email protected])
64
+ eslint-plugin-react-refresh:
65
+ specifier: ^0.4.3
66
+ version: 0.4.4([email protected])
67
+ postcss:
68
+ specifier: ^8.4.31
69
+ version: 8.4.31
70
+ tailwindcss:
71
+ specifier: ^3.3.5
72
+ version: 3.3.5
73
+ typescript:
74
+ specifier: ^5.0.2
75
+ version: 5.2.2
76
+ vite:
77
+ specifier: ^4.4.5
78
+ version: 4.5.0(@types/[email protected])
79
+
80
+ packages:
81
+
82
+ /@aashutoshrathi/[email protected]:
83
+ resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
84
+ engines: {node: '>=0.10.0'}
85
+ dev: true
86
+
87
+ /@alloc/[email protected]:
88
+ resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
89
+ engines: {node: '>=10'}
90
+
91
+ /@babel/[email protected]:
92
+ resolution: {integrity: sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==}
93
+ engines: {node: '>=6.9.0'}
94
+ dependencies:
95
+ regenerator-runtime: 0.14.0
96
+ dev: false
97
+
98
99
+ resolution: {integrity: sha512-iKle82o4jXnxc/MPsVdTq0kGYFm46Z5q0r9R5lIDVOuGXJes9IgzsNVaBUv4Ur//VIJvJ6dVWoufvDUWsLreaw==}
100
+ peerDependencies:
101
+ '@types/react': ^18.2.0
102
+ react: ^18.2.0
103
+ react-dom: ^18.2.0
104
+ recoil: ^0.7.7
105
+ dependencies:
106
+ '@types/react': 18.2.37
107
+ jwt-decode: 3.1.2
108
+ lodash: 4.17.21
109
+ react: 18.2.0
110
+ react-dom: 18.2.0([email protected])
111
112
+ socket.io-client: 4.7.2
113
+ swr: 2.2.4([email protected])
114
+ uuid: 9.0.1
115
+ transitivePeerDependencies:
116
+ - bufferutil
117
+ - supports-color
118
+ - utf-8-validate
119
+ dev: false
120
+
121
+ /@esbuild/[email protected]:
122
+ resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
123
+ engines: {node: '>=12'}
124
+ cpu: [arm64]
125
+ os: [android]
126
+ requiresBuild: true
127
+ dev: true
128
+ optional: true
129
+
130
+ /@esbuild/[email protected]:
131
+ resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
132
+ engines: {node: '>=12'}
133
+ cpu: [arm]
134
+ os: [android]
135
+ requiresBuild: true
136
+ dev: true
137
+ optional: true
138
+
139
+ /@esbuild/[email protected]:
140
+ resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
141
+ engines: {node: '>=12'}
142
+ cpu: [x64]
143
+ os: [android]
144
+ requiresBuild: true
145
+ dev: true
146
+ optional: true
147
+
148
+ /@esbuild/[email protected]:
149
+ resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
150
+ engines: {node: '>=12'}
151
+ cpu: [arm64]
152
+ os: [darwin]
153
+ requiresBuild: true
154
+ dev: true
155
+ optional: true
156
+
157
+ /@esbuild/[email protected]:
158
+ resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
159
+ engines: {node: '>=12'}
160
+ cpu: [x64]
161
+ os: [darwin]
162
+ requiresBuild: true
163
+ dev: true
164
+ optional: true
165
+
166
+ /@esbuild/[email protected]:
167
+ resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
168
+ engines: {node: '>=12'}
169
+ cpu: [arm64]
170
+ os: [freebsd]
171
+ requiresBuild: true
172
+ dev: true
173
+ optional: true
174
+
175
+ /@esbuild/[email protected]:
176
+ resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
177
+ engines: {node: '>=12'}
178
+ cpu: [x64]
179
+ os: [freebsd]
180
+ requiresBuild: true
181
+ dev: true
182
+ optional: true
183
+
184
+ /@esbuild/[email protected]:
185
+ resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
186
+ engines: {node: '>=12'}
187
+ cpu: [arm64]
188
+ os: [linux]
189
+ requiresBuild: true
190
+ dev: true
191
+ optional: true
192
+
193
+ /@esbuild/[email protected]:
194
+ resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
195
+ engines: {node: '>=12'}
196
+ cpu: [arm]
197
+ os: [linux]
198
+ requiresBuild: true
199
+ dev: true
200
+ optional: true
201
+
202
+ /@esbuild/[email protected]:
203
+ resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
204
+ engines: {node: '>=12'}
205
+ cpu: [ia32]
206
+ os: [linux]
207
+ requiresBuild: true
208
+ dev: true
209
+ optional: true
210
+
211
+ /@esbuild/[email protected]:
212
+ resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
213
+ engines: {node: '>=12'}
214
+ cpu: [loong64]
215
+ os: [linux]
216
+ requiresBuild: true
217
+ dev: true
218
+ optional: true
219
+
220
+ /@esbuild/[email protected]:
221
+ resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
222
+ engines: {node: '>=12'}
223
+ cpu: [mips64el]
224
+ os: [linux]
225
+ requiresBuild: true
226
+ dev: true
227
+ optional: true
228
+
229
+ /@esbuild/[email protected]:
230
+ resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
231
+ engines: {node: '>=12'}
232
+ cpu: [ppc64]
233
+ os: [linux]
234
+ requiresBuild: true
235
+ dev: true
236
+ optional: true
237
+
238
+ /@esbuild/[email protected]:
239
+ resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
240
+ engines: {node: '>=12'}
241
+ cpu: [riscv64]
242
+ os: [linux]
243
+ requiresBuild: true
244
+ dev: true
245
+ optional: true
246
+
247
+ /@esbuild/[email protected]:
248
+ resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
249
+ engines: {node: '>=12'}
250
+ cpu: [s390x]
251
+ os: [linux]
252
+ requiresBuild: true
253
+ dev: true
254
+ optional: true
255
+
256
+ /@esbuild/[email protected]:
257
+ resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
258
+ engines: {node: '>=12'}
259
+ cpu: [x64]
260
+ os: [linux]
261
+ requiresBuild: true
262
+ dev: true
263
+ optional: true
264
+
265
+ /@esbuild/[email protected]:
266
+ resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
267
+ engines: {node: '>=12'}
268
+ cpu: [x64]
269
+ os: [netbsd]
270
+ requiresBuild: true
271
+ dev: true
272
+ optional: true
273
+
274
+ /@esbuild/[email protected]:
275
+ resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
276
+ engines: {node: '>=12'}
277
+ cpu: [x64]
278
+ os: [openbsd]
279
+ requiresBuild: true
280
+ dev: true
281
+ optional: true
282
+
283
+ /@esbuild/[email protected]:
284
+ resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
285
+ engines: {node: '>=12'}
286
+ cpu: [x64]
287
+ os: [sunos]
288
+ requiresBuild: true
289
+ dev: true
290
+ optional: true
291
+
292
+ /@esbuild/[email protected]:
293
+ resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
294
+ engines: {node: '>=12'}
295
+ cpu: [arm64]
296
+ os: [win32]
297
+ requiresBuild: true
298
+ dev: true
299
+ optional: true
300
+
301
+ /@esbuild/[email protected]:
302
+ resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
303
+ engines: {node: '>=12'}
304
+ cpu: [ia32]
305
+ os: [win32]
306
+ requiresBuild: true
307
+ dev: true
308
+ optional: true
309
+
310
+ /@esbuild/[email protected]:
311
+ resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
312
+ engines: {node: '>=12'}
313
+ cpu: [x64]
314
+ os: [win32]
315
+ requiresBuild: true
316
+ dev: true
317
+ optional: true
318
+
319
+ /@eslint-community/[email protected]([email protected]):
320
+ resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
321
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
322
+ peerDependencies:
323
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
324
+ dependencies:
325
+ eslint: 8.53.0
326
+ eslint-visitor-keys: 3.4.3
327
+ dev: true
328
+
329
+ /@eslint-community/[email protected]:
330
+ resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
331
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
332
+ dev: true
333
+
334
+ /@eslint/[email protected]:
335
+ resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==}
336
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
337
+ dependencies:
338
+ ajv: 6.12.6
339
+ debug: 4.3.4
340
+ espree: 9.6.1
341
+ globals: 13.23.0
342
+ ignore: 5.3.0
343
+ import-fresh: 3.3.0
344
+ js-yaml: 4.1.0
345
+ minimatch: 3.1.2
346
+ strip-json-comments: 3.1.1
347
+ transitivePeerDependencies:
348
+ - supports-color
349
+ dev: true
350
+
351
+ /@eslint/[email protected]:
352
+ resolution: {integrity: sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==}
353
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
354
+ dev: true
355
+
356
+ /@humanwhocodes/[email protected]:
357
+ resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==}
358
+ engines: {node: '>=10.10.0'}
359
+ dependencies:
360
+ '@humanwhocodes/object-schema': 2.0.1
361
+ debug: 4.3.4
362
+ minimatch: 3.1.2
363
+ transitivePeerDependencies:
364
+ - supports-color
365
+ dev: true
366
+
367
+ /@humanwhocodes/[email protected]:
368
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
369
+ engines: {node: '>=12.22'}
370
+ dev: true
371
+
372
+ /@humanwhocodes/[email protected]:
373
+ resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==}
374
+ dev: true
375
+
376
+ /@jridgewell/[email protected]:
377
+ resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
378
+ engines: {node: '>=6.0.0'}
379
+ dependencies:
380
+ '@jridgewell/set-array': 1.1.2
381
+ '@jridgewell/sourcemap-codec': 1.4.15
382
+ '@jridgewell/trace-mapping': 0.3.20
383
+
384
+ /@jridgewell/[email protected]:
385
+ resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
386
+ engines: {node: '>=6.0.0'}
387
+
388
+ /@jridgewell/[email protected]:
389
+ resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
390
+ engines: {node: '>=6.0.0'}
391
+
392
+ /@jridgewell/[email protected]:
393
+ resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
394
+
395
+ /@jridgewell/[email protected]:
396
+ resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==}
397
+ dependencies:
398
+ '@jridgewell/resolve-uri': 3.1.1
399
+ '@jridgewell/sourcemap-codec': 1.4.15
400
+
401
+ /@nodelib/[email protected]:
402
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
403
+ engines: {node: '>= 8'}
404
+ dependencies:
405
+ '@nodelib/fs.stat': 2.0.5
406
+ run-parallel: 1.2.0
407
+
408
+ /@nodelib/[email protected]:
409
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
410
+ engines: {node: '>= 8'}
411
+
412
+ /@nodelib/[email protected]:
413
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
414
+ engines: {node: '>= 8'}
415
+ dependencies:
416
+ '@nodelib/fs.scandir': 2.1.5
417
+ fastq: 1.15.0
418
+
419
420
+ resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==}
421
+ peerDependencies:
422
+ '@types/react': '*'
423
+ react: ^16.8 || ^17.0 || ^18.0
424
+ peerDependenciesMeta:
425
+ '@types/react':
426
+ optional: true
427
+ dependencies:
428
+ '@babel/runtime': 7.23.2
429
+ '@types/react': 18.2.37
430
+ react: 18.2.0
431
+ dev: false
432
+
433
434
+ resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==}
435
+ peerDependencies:
436
+ '@types/react': '*'
437
+ react: ^16.8 || ^17.0 || ^18.0
438
+ peerDependenciesMeta:
439
+ '@types/react':
440
+ optional: true
441
+ dependencies:
442
+ '@babel/runtime': 7.23.2
443
+ '@radix-ui/react-compose-refs': 1.0.1(@types/[email protected])([email protected])
444
+ '@types/react': 18.2.37
445
+ react: 18.2.0
446
+ dev: false
447
+
448
+ /@socket.io/[email protected]:
449
+ resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==}
450
+ dev: false
451
+
452
453
+ resolution: {integrity: sha512-8hzgXYVd85hfPh6mJ9yrG26rhgzCmcLO0h1TIl8U31hwmTbfZLzRitFQ/kqMJNbIBCwmNH1RU2QcJnL3d7f69A==}
454
+ engines: {node: '>=10'}
455
+ cpu: [arm64]
456
+ os: [darwin]
457
+ requiresBuild: true
458
+ dev: true
459
+ optional: true
460
+
461
462
+ resolution: {integrity: sha512-mFp9GFfuPg+43vlAdQZl0WZpZSE8sEzqL7sr/7Reul5McUHP0BaLsEzwjvD035ESfkY8GBZdLpMinblIbFNljQ==}
463
+ engines: {node: '>=10'}
464
+ cpu: [x64]
465
+ os: [darwin]
466
+ requiresBuild: true
467
+ dev: true
468
+ optional: true
469
+
470
471
+ resolution: {integrity: sha512-8UEKkYJP4c8YzYIY/LlbSo8z5Obj4hqcv/fUTHiEePiGsOddgGf7AWjh56u7IoN/0uEmEro59nc1ChFXqXSGyg==}
472
+ engines: {node: '>=10'}
473
+ cpu: [arm]
474
+ os: [linux]
475
+ requiresBuild: true
476
+ dev: true
477
+ optional: true
478
+
479
480
+ resolution: {integrity: sha512-c/IiJ0s1y3Ymm2BTpyC/xr6gOvoqAVETrivVXHq68xgNms95luSpbYQ28rqaZC8bQC8M5zdXpSc0T8DJu8RJGw==}
481
+ engines: {node: '>=10'}
482
+ cpu: [arm64]
483
+ os: [linux]
484
+ requiresBuild: true
485
+ dev: true
486
+ optional: true
487
+
488
489
+ resolution: {integrity: sha512-i5/UTUwmJLri7zhtF6SAo/4QDQJDH2fhYJaBIUhrICmIkRO/ltURmpejqxsM/ye9Jqv5zG7VszMC0v/GYn/7BQ==}
490
+ engines: {node: '>=10'}
491
+ cpu: [arm64]
492
+ os: [linux]
493
+ requiresBuild: true
494
+ dev: true
495
+ optional: true
496
+
497
498
+ resolution: {integrity: sha512-USdaZu8lTIkm4Yf9cogct/j5eqtdZqTgcTib4I+NloUW0E/hySou3eSyp3V2UAA1qyuC72ld1otXuyKBna0YKQ==}
499
+ engines: {node: '>=10'}
500
+ cpu: [x64]
501
+ os: [linux]
502
+ requiresBuild: true
503
+ dev: true
504
+ optional: true
505
+
506
507
+ resolution: {integrity: sha512-QYErutd+G2SNaCinUVobfL7jWWjGTI0QEoQ6hqTp7PxCJS/dmKmj3C5ZkvxRYcq7XcZt7ovrYCTwPTHzt6lZBg==}
508
+ engines: {node: '>=10'}
509
+ cpu: [x64]
510
+ os: [linux]
511
+ requiresBuild: true
512
+ dev: true
513
+ optional: true
514
+
515
516
+ resolution: {integrity: sha512-hjGvvAduA3Un2cZ9iNP4xvTXOO4jL3G9iakhFsgVhpkU73SGmK7+LN8ZVBEu4oq2SUcHO6caWvnZ881cxGuSpg==}
517
+ engines: {node: '>=10'}
518
+ cpu: [arm64]
519
+ os: [win32]
520
+ requiresBuild: true
521
+ dev: true
522
+ optional: true
523
+
524
525
+ resolution: {integrity: sha512-Far2hVFiwr+7VPCM2GxSmbh3ikTpM3pDombE+d69hkedvYHYZxtTF+2LTKl/sXtpbUnsoq7yV/32c9R/xaaWfw==}
526
+ engines: {node: '>=10'}
527
+ cpu: [ia32]
528
+ os: [win32]
529
+ requiresBuild: true
530
+ dev: true
531
+ optional: true
532
+
533
534
+ resolution: {integrity: sha512-4VbSAniIu0ikLf5mBX81FsljnfqjoVGleEkCQv4+zRlyZtO3FHoDPkeLVoy6WRlj7tyrRcfUJ4mDdPkbfTO14g==}
535
+ engines: {node: '>=10'}
536
+ cpu: [x64]
537
+ os: [win32]
538
+ requiresBuild: true
539
+ dev: true
540
+ optional: true
541
+
542
543
+ resolution: {integrity: sha512-zwE3TLgoZwJfQygdv2SdCK9mRLYluwDOM53I+dT6Z5ZvrgVENmY3txvWDvduzkV+/8IuvrRbVezMpxcojadRdQ==}
544
+ engines: {node: '>=10'}
545
+ requiresBuild: true
546
+ peerDependencies:
547
+ '@swc/helpers': ^0.5.0
548
+ peerDependenciesMeta:
549
+ '@swc/helpers':
550
+ optional: true
551
+ dependencies:
552
+ '@swc/counter': 0.1.2
553
+ '@swc/types': 0.1.5
554
+ optionalDependencies:
555
+ '@swc/core-darwin-arm64': 1.3.96
556
+ '@swc/core-darwin-x64': 1.3.96
557
+ '@swc/core-linux-arm-gnueabihf': 1.3.96
558
+ '@swc/core-linux-arm64-gnu': 1.3.96
559
+ '@swc/core-linux-arm64-musl': 1.3.96
560
+ '@swc/core-linux-x64-gnu': 1.3.96
561
+ '@swc/core-linux-x64-musl': 1.3.96
562
+ '@swc/core-win32-arm64-msvc': 1.3.96
563
+ '@swc/core-win32-ia32-msvc': 1.3.96
564
+ '@swc/core-win32-x64-msvc': 1.3.96
565
+ dev: true
566
+
567
568
+ resolution: {integrity: sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==}
569
+ dev: true
570
+
571
572
+ resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==}
573
+ dev: true
574
+
575
+ /@types/[email protected]:
576
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
577
+ dev: true
578
+
579
+ /@types/[email protected]:
580
+ resolution: {integrity: sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==}
581
+ dependencies:
582
+ undici-types: 5.26.5
583
+ dev: true
584
+
585
+ /@types/[email protected]:
586
+ resolution: {integrity: sha512-mxSnDQxPqsZxmeShFH+uwQ4kO4gcJcGahjjMFeLbKE95IAZiiZyiEepGZjtXJ7hN/yfu0bu9xN2ajcU0JcxX6A==}
587
+
588
+ /@types/[email protected]:
589
+ resolution: {integrity: sha512-HWMdW+7r7MR5+PZqJF6YFNSCtjz1T0dsvo/f1BV6HkV+6erD/nA7wd9NM00KVG83zf2nJ7uATPO9ttdIPvi3gg==}
590
+ dependencies:
591
+ '@types/react': 18.2.37
592
+ dev: true
593
+
594
+ /@types/[email protected]:
595
+ resolution: {integrity: sha512-RGAYMi2bhRgEXT3f4B92WTohopH6bIXw05FuGlmJEnv/omEn190+QYEIYxIAuIBdKgboYYdVved2p1AxZVQnaw==}
596
+ dependencies:
597
+ '@types/prop-types': 15.7.10
598
+ '@types/scheduler': 0.16.6
599
+ csstype: 3.1.2
600
+
601
+ /@types/[email protected]:
602
+ resolution: {integrity: sha512-Vlktnchmkylvc9SnwwwozTv04L/e1NykF5vgoQ0XTmI8DD+wxfjQuHuvHS3p0r2jz2x2ghPs2h1FVeDirIteWA==}
603
+
604
+ /@types/[email protected]:
605
+ resolution: {integrity: sha512-+d+WYC1BxJ6yVOgUgzK8gWvp5qF8ssV5r4nsDcZWKRWcDQLQ619tvWAxJQYGgBrO1MnLJC7a5GtiYsAoQ47dJg==}
606
+ dev: true
607
+
608
+ /@typescript-eslint/[email protected](@typescript-eslint/[email protected])([email protected])([email protected]):
609
+ resolution: {integrity: sha512-uXnpZDc4VRjY4iuypDBKzW1rz9T5YBBK0snMn8MaTSNd2kMlj50LnLBABELjJiOL5YHk7ZD8hbSpI9ubzqYI0w==}
610
+ engines: {node: ^16.0.0 || >=18.0.0}
611
+ peerDependencies:
612
+ '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha
613
+ eslint: ^7.0.0 || ^8.0.0
614
+ typescript: '*'
615
+ peerDependenciesMeta:
616
+ typescript:
617
+ optional: true
618
+ dependencies:
619
+ '@eslint-community/regexpp': 4.10.0
620
+ '@typescript-eslint/parser': 6.11.0([email protected])([email protected])
621
+ '@typescript-eslint/scope-manager': 6.11.0
622
+ '@typescript-eslint/type-utils': 6.11.0([email protected])([email protected])
623
+ '@typescript-eslint/utils': 6.11.0([email protected])([email protected])
624
+ '@typescript-eslint/visitor-keys': 6.11.0
625
+ debug: 4.3.4
626
+ eslint: 8.53.0
627
+ graphemer: 1.4.0
628
+ ignore: 5.3.0
629
+ natural-compare: 1.4.0
630
+ semver: 7.5.4
631
+ ts-api-utils: 1.0.3([email protected])
632
+ typescript: 5.2.2
633
+ transitivePeerDependencies:
634
+ - supports-color
635
+ dev: true
636
+
637
638
+ resolution: {integrity: sha512-+whEdjk+d5do5nxfxx73oanLL9ghKO3EwM9kBCkUtWMRwWuPaFv9ScuqlYfQ6pAD6ZiJhky7TZ2ZYhrMsfMxVQ==}
639
+ engines: {node: ^16.0.0 || >=18.0.0}
640
+ peerDependencies:
641
+ eslint: ^7.0.0 || ^8.0.0
642
+ typescript: '*'
643
+ peerDependenciesMeta:
644
+ typescript:
645
+ optional: true
646
+ dependencies:
647
+ '@typescript-eslint/scope-manager': 6.11.0
648
+ '@typescript-eslint/types': 6.11.0
649
+ '@typescript-eslint/typescript-estree': 6.11.0([email protected])
650
+ '@typescript-eslint/visitor-keys': 6.11.0
651
+ debug: 4.3.4
652
+ eslint: 8.53.0
653
+ typescript: 5.2.2
654
+ transitivePeerDependencies:
655
+ - supports-color
656
+ dev: true
657
+
658
+ /@typescript-eslint/[email protected]:
659
+ resolution: {integrity: sha512-0A8KoVvIURG4uhxAdjSaxy8RdRE//HztaZdG8KiHLP8WOXSk0vlF7Pvogv+vlJA5Rnjj/wDcFENvDaHb+gKd1A==}
660
+ engines: {node: ^16.0.0 || >=18.0.0}
661
+ dependencies:
662
+ '@typescript-eslint/types': 6.11.0
663
+ '@typescript-eslint/visitor-keys': 6.11.0
664
+ dev: true
665
+
666
667
+ resolution: {integrity: sha512-nA4IOXwZtqBjIoYrJcYxLRO+F9ri+leVGoJcMW1uqr4r1Hq7vW5cyWrA43lFbpRvQ9XgNrnfLpIkO3i1emDBIA==}
668
+ engines: {node: ^16.0.0 || >=18.0.0}
669
+ peerDependencies:
670
+ eslint: ^7.0.0 || ^8.0.0
671
+ typescript: '*'
672
+ peerDependenciesMeta:
673
+ typescript:
674
+ optional: true
675
+ dependencies:
676
+ '@typescript-eslint/typescript-estree': 6.11.0([email protected])
677
+ '@typescript-eslint/utils': 6.11.0([email protected])([email protected])
678
+ debug: 4.3.4
679
+ eslint: 8.53.0
680
+ ts-api-utils: 1.0.3([email protected])
681
+ typescript: 5.2.2
682
+ transitivePeerDependencies:
683
+ - supports-color
684
+ dev: true
685
+
686
+ /@typescript-eslint/[email protected]:
687
+ resolution: {integrity: sha512-ZbEzuD4DwEJxwPqhv3QULlRj8KYTAnNsXxmfuUXFCxZmO6CF2gM/y+ugBSAQhrqaJL3M+oe4owdWunaHM6beqA==}
688
+ engines: {node: ^16.0.0 || >=18.0.0}
689
+ dev: true
690
+
691
+ /@typescript-eslint/[email protected]([email protected]):
692
+ resolution: {integrity: sha512-Aezzv1o2tWJwvZhedzvD5Yv7+Lpu1by/U1LZ5gLc4tCx8jUmuSCMioPFRjliN/6SJIvY6HpTtJIWubKuYYYesQ==}
693
+ engines: {node: ^16.0.0 || >=18.0.0}
694
+ peerDependencies:
695
+ typescript: '*'
696
+ peerDependenciesMeta:
697
+ typescript:
698
+ optional: true
699
+ dependencies:
700
+ '@typescript-eslint/types': 6.11.0
701
+ '@typescript-eslint/visitor-keys': 6.11.0
702
+ debug: 4.3.4
703
+ globby: 11.1.0
704
+ is-glob: 4.0.3
705
+ semver: 7.5.4
706
+ ts-api-utils: 1.0.3([email protected])
707
+ typescript: 5.2.2
708
+ transitivePeerDependencies:
709
+ - supports-color
710
+ dev: true
711
+
712
713
+ resolution: {integrity: sha512-p23ibf68fxoZy605dc0dQAEoUsoiNoP3MD9WQGiHLDuTSOuqoTsa4oAy+h3KDkTcxbbfOtUjb9h3Ta0gT4ug2g==}
714
+ engines: {node: ^16.0.0 || >=18.0.0}
715
+ peerDependencies:
716
+ eslint: ^7.0.0 || ^8.0.0
717
+ dependencies:
718
+ '@eslint-community/eslint-utils': 4.4.0([email protected])
719
+ '@types/json-schema': 7.0.15
720
+ '@types/semver': 7.5.5
721
+ '@typescript-eslint/scope-manager': 6.11.0
722
+ '@typescript-eslint/types': 6.11.0
723
+ '@typescript-eslint/typescript-estree': 6.11.0([email protected])
724
+ eslint: 8.53.0
725
+ semver: 7.5.4
726
+ transitivePeerDependencies:
727
+ - supports-color
728
+ - typescript
729
+ dev: true
730
+
731
+ /@typescript-eslint/[email protected]:
732
+ resolution: {integrity: sha512-+SUN/W7WjBr05uRxPggJPSzyB8zUpaYo2hByKasWbqr3PM8AXfZt8UHdNpBS1v9SA62qnSSMF3380SwDqqprgQ==}
733
+ engines: {node: ^16.0.0 || >=18.0.0}
734
+ dependencies:
735
+ '@typescript-eslint/types': 6.11.0
736
+ eslint-visitor-keys: 3.4.3
737
+ dev: true
738
+
739
+ /@ungap/[email protected]:
740
+ resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
741
+ dev: true
742
+
743
744
+ resolution: {integrity: sha512-1PrOvAaDpqlCV+Up8RkAh9qaiUjoDUcjtttyhXDKw53XA6Ve16SOp6cCOpRs8Dj8DqUQs6eTW5YkLcLJjrXAig==}
745
+ peerDependencies:
746
+ vite: ^4 || ^5
747
+ dependencies:
748
+ '@swc/core': 1.3.96
749
+ vite: 4.5.0(@types/[email protected])
750
+ transitivePeerDependencies:
751
+ - '@swc/helpers'
752
+ dev: true
753
+
754
755
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
756
+ peerDependencies:
757
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
758
+ dependencies:
759
+ acorn: 8.11.2
760
+ dev: true
761
+
762
763
+ resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==}
764
+ engines: {node: '>=0.4.0'}
765
+ hasBin: true
766
+ dev: true
767
+
768
769
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
770
+ dependencies:
771
+ fast-deep-equal: 3.1.3
772
+ fast-json-stable-stringify: 2.1.0
773
+ json-schema-traverse: 0.4.1
774
+ uri-js: 4.4.1
775
+ dev: true
776
+
777
778
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
779
+ engines: {node: '>=8'}
780
+ dev: true
781
+
782
783
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
784
+ engines: {node: '>=8'}
785
+ dependencies:
786
+ color-convert: 2.0.1
787
+ dev: true
788
+
789
790
+ resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
791
+
792
793
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
794
+ engines: {node: '>= 8'}
795
+ dependencies:
796
+ normalize-path: 3.0.0
797
+ picomatch: 2.3.1
798
+
799
800
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
801
+
802
803
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
804
+ dev: true
805
+
806
807
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
808
+ engines: {node: '>=8'}
809
+ dev: true
810
+
811
812
+ resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==}
813
+ engines: {node: ^10 || ^12 || >=14}
814
+ hasBin: true
815
+ peerDependencies:
816
+ postcss: ^8.1.0
817
+ dependencies:
818
+ browserslist: 4.22.1
819
+ caniuse-lite: 1.0.30001562
820
+ fraction.js: 4.3.7
821
+ normalize-range: 0.1.2
822
+ picocolors: 1.0.0
823
+ postcss: 8.4.31
824
+ postcss-value-parser: 4.2.0
825
+ dev: true
826
+
827
828
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
829
+
830
831
+ resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
832
+ engines: {node: '>=8'}
833
+
834
835
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
836
+ dependencies:
837
+ balanced-match: 1.0.2
838
+ concat-map: 0.0.1
839
+
840
841
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
842
+ engines: {node: '>=8'}
843
+ dependencies:
844
+ fill-range: 7.0.1
845
+
846
847
+ resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==}
848
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
849
+ hasBin: true
850
+ dependencies:
851
+ caniuse-lite: 1.0.30001562
852
+ electron-to-chromium: 1.4.585
853
+ node-releases: 2.0.13
854
+ update-browserslist-db: 1.0.13([email protected])
855
+ dev: true
856
+
857
858
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
859
+ engines: {node: '>=6'}
860
+ dev: true
861
+
862
863
+ resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
864
+ engines: {node: '>= 6'}
865
+
866
867
+ resolution: {integrity: sha512-kfte3Hym//51EdX4239i+Rmp20EsLIYGdPkERegTgU19hQWCRhsRFGKHTliUlsry53tv17K7n077Kqa0WJU4ng==}
868
+ dev: true
869
+
870
871
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
872
+ engines: {node: '>=10'}
873
+ dependencies:
874
+ ansi-styles: 4.3.0
875
+ supports-color: 7.2.0
876
+ dev: true
877
+
878
879
+ resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
880
+ engines: {node: '>= 8.10.0'}
881
+ dependencies:
882
+ anymatch: 3.1.3
883
+ braces: 3.0.2
884
+ glob-parent: 5.1.2
885
+ is-binary-path: 2.1.0
886
+ is-glob: 4.0.3
887
+ normalize-path: 3.0.0
888
+ readdirp: 3.6.0
889
+ optionalDependencies:
890
+ fsevents: 2.3.3
891
+
892
893
+ resolution: {integrity: sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==}
894
+ dependencies:
895
+ clsx: 2.0.0
896
+ dev: false
897
+
898
899
+ resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
900
+ dev: false
901
+
902
903
+ resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==}
904
+ engines: {node: '>=6'}
905
+ dev: false
906
+
907
908
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
909
+ engines: {node: '>=7.0.0'}
910
+ dependencies:
911
+ color-name: 1.1.4
912
+ dev: true
913
+
914
915
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
916
+ dev: true
917
+
918
919
+ resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
920
+ engines: {node: '>= 6'}
921
+
922
923
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
924
+
925
926
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
927
+ engines: {node: '>= 8'}
928
+ dependencies:
929
+ path-key: 3.1.1
930
+ shebang-command: 2.0.0
931
+ which: 2.0.2
932
+ dev: true
933
+
934
935
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
936
+ engines: {node: '>=4'}
937
+ hasBin: true
938
+
939
940
+ resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
941
+
942
943
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
944
+ engines: {node: '>=6.0'}
945
+ peerDependencies:
946
+ supports-color: '*'
947
+ peerDependenciesMeta:
948
+ supports-color:
949
+ optional: true
950
+ dependencies:
951
+ ms: 2.1.2
952
+
953
954
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
955
+ dev: true
956
+
957
958
+ resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
959
+
960
961
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
962
+ engines: {node: '>=8'}
963
+ dependencies:
964
+ path-type: 4.0.0
965
+ dev: true
966
+
967
968
+ resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
969
+
970
971
+ resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
972
+ engines: {node: '>=6.0.0'}
973
+ dependencies:
974
+ esutils: 2.0.3
975
+ dev: true
976
+
977
978
+ resolution: {integrity: sha512-B4yBlX0azdA3rVMxpYwLQfDpdwOgcnLCkpvSOd68iFmeedo+WYjaBJS3/W58LVD8CB2nf+o7C4K9xz1l09RkWg==}
979
+ dev: true
980
+
981
982
+ resolution: {integrity: sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q==}
983
+ dependencies:
984
+ '@socket.io/component-emitter': 3.1.0
985
+ debug: 4.3.4
986
+ engine.io-parser: 5.2.1
987
+ ws: 8.11.0
988
+ xmlhttprequest-ssl: 2.0.0
989
+ transitivePeerDependencies:
990
+ - bufferutil
991
+ - supports-color
992
+ - utf-8-validate
993
+ dev: false
994
+
995
996
+ resolution: {integrity: sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==}
997
+ engines: {node: '>=10.0.0'}
998
+ dev: false
999
+
1000
1001
+ resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
1002
+ engines: {node: '>=12'}
1003
+ hasBin: true
1004
+ requiresBuild: true
1005
+ optionalDependencies:
1006
+ '@esbuild/android-arm': 0.18.20
1007
+ '@esbuild/android-arm64': 0.18.20
1008
+ '@esbuild/android-x64': 0.18.20
1009
+ '@esbuild/darwin-arm64': 0.18.20
1010
+ '@esbuild/darwin-x64': 0.18.20
1011
+ '@esbuild/freebsd-arm64': 0.18.20
1012
+ '@esbuild/freebsd-x64': 0.18.20
1013
+ '@esbuild/linux-arm': 0.18.20
1014
+ '@esbuild/linux-arm64': 0.18.20
1015
+ '@esbuild/linux-ia32': 0.18.20
1016
+ '@esbuild/linux-loong64': 0.18.20
1017
+ '@esbuild/linux-mips64el': 0.18.20
1018
+ '@esbuild/linux-ppc64': 0.18.20
1019
+ '@esbuild/linux-riscv64': 0.18.20
1020
+ '@esbuild/linux-s390x': 0.18.20
1021
+ '@esbuild/linux-x64': 0.18.20
1022
+ '@esbuild/netbsd-x64': 0.18.20
1023
+ '@esbuild/openbsd-x64': 0.18.20
1024
+ '@esbuild/sunos-x64': 0.18.20
1025
+ '@esbuild/win32-arm64': 0.18.20
1026
+ '@esbuild/win32-ia32': 0.18.20
1027
+ '@esbuild/win32-x64': 0.18.20
1028
+ dev: true
1029
+
1030
1031
+ resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
1032
+ engines: {node: '>=6'}
1033
+ dev: true
1034
+
1035
1036
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
1037
+ engines: {node: '>=10'}
1038
+ dev: true
1039
+
1040
1041
+ resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
1042
+ engines: {node: '>=10'}
1043
+ peerDependencies:
1044
+ eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
1045
+ dependencies:
1046
+ eslint: 8.53.0
1047
+ dev: true
1048
+
1049
1050
+ resolution: {integrity: sha512-eD83+65e8YPVg6603Om2iCIwcQJf/y7++MWm4tACtEswFLYMwxwVWAfwN+e19f5Ad/FOyyNg9Dfi5lXhH3Y3rA==}
1051
+ peerDependencies:
1052
+ eslint: '>=7'
1053
+ dependencies:
1054
+ eslint: 8.53.0
1055
+ dev: true
1056
+
1057
1058
+ resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
1059
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1060
+ dependencies:
1061
+ esrecurse: 4.3.0
1062
+ estraverse: 5.3.0
1063
+ dev: true
1064
+
1065
1066
+ resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
1067
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1068
+ dev: true
1069
+
1070
1071
+ resolution: {integrity: sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==}
1072
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1073
+ hasBin: true
1074
+ dependencies:
1075
+ '@eslint-community/eslint-utils': 4.4.0([email protected])
1076
+ '@eslint-community/regexpp': 4.10.0
1077
+ '@eslint/eslintrc': 2.1.3
1078
+ '@eslint/js': 8.53.0
1079
+ '@humanwhocodes/config-array': 0.11.13
1080
+ '@humanwhocodes/module-importer': 1.0.1
1081
+ '@nodelib/fs.walk': 1.2.8
1082
+ '@ungap/structured-clone': 1.2.0
1083
+ ajv: 6.12.6
1084
+ chalk: 4.1.2
1085
+ cross-spawn: 7.0.3
1086
+ debug: 4.3.4
1087
+ doctrine: 3.0.0
1088
+ escape-string-regexp: 4.0.0
1089
+ eslint-scope: 7.2.2
1090
+ eslint-visitor-keys: 3.4.3
1091
+ espree: 9.6.1
1092
+ esquery: 1.5.0
1093
+ esutils: 2.0.3
1094
+ fast-deep-equal: 3.1.3
1095
+ file-entry-cache: 6.0.1
1096
+ find-up: 5.0.0
1097
+ glob-parent: 6.0.2
1098
+ globals: 13.23.0
1099
+ graphemer: 1.4.0
1100
+ ignore: 5.3.0
1101
+ imurmurhash: 0.1.4
1102
+ is-glob: 4.0.3
1103
+ is-path-inside: 3.0.3
1104
+ js-yaml: 4.1.0
1105
+ json-stable-stringify-without-jsonify: 1.0.1
1106
+ levn: 0.4.1
1107
+ lodash.merge: 4.6.2
1108
+ minimatch: 3.1.2
1109
+ natural-compare: 1.4.0
1110
+ optionator: 0.9.3
1111
+ strip-ansi: 6.0.1
1112
+ text-table: 0.2.0
1113
+ transitivePeerDependencies:
1114
+ - supports-color
1115
+ dev: true
1116
+
1117
1118
+ resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
1119
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1120
+ dependencies:
1121
+ acorn: 8.11.2
1122
+ acorn-jsx: 5.3.2([email protected])
1123
+ eslint-visitor-keys: 3.4.3
1124
+ dev: true
1125
+
1126
1127
+ resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
1128
+ engines: {node: '>=0.10'}
1129
+ dependencies:
1130
+ estraverse: 5.3.0
1131
+ dev: true
1132
+
1133
1134
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
1135
+ engines: {node: '>=4.0'}
1136
+ dependencies:
1137
+ estraverse: 5.3.0
1138
+ dev: true
1139
+
1140
1141
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
1142
+ engines: {node: '>=4.0'}
1143
+ dev: true
1144
+
1145
1146
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1147
+ engines: {node: '>=0.10.0'}
1148
+ dev: true
1149
+
1150
1151
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1152
+ dev: true
1153
+
1154
1155
+ resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
1156
+ engines: {node: '>=8.6.0'}
1157
+ dependencies:
1158
+ '@nodelib/fs.stat': 2.0.5
1159
+ '@nodelib/fs.walk': 1.2.8
1160
+ glob-parent: 5.1.2
1161
+ merge2: 1.4.1
1162
+ micromatch: 4.0.5
1163
+
1164
1165
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1166
+ dev: true
1167
+
1168
1169
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
1170
+ dev: true
1171
+
1172
1173
+ resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
1174
+ dependencies:
1175
+ reusify: 1.0.4
1176
+
1177
1178
+ resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
1179
+ engines: {node: ^10.12.0 || >=12.0.0}
1180
+ dependencies:
1181
+ flat-cache: 3.2.0
1182
+ dev: true
1183
+
1184
1185
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1186
+ engines: {node: '>=8'}
1187
+ dependencies:
1188
+ to-regex-range: 5.0.1
1189
+
1190
1191
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1192
+ engines: {node: '>=10'}
1193
+ dependencies:
1194
+ locate-path: 6.0.0
1195
+ path-exists: 4.0.0
1196
+ dev: true
1197
+
1198
1199
+ resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
1200
+ engines: {node: ^10.12.0 || >=12.0.0}
1201
+ dependencies:
1202
+ flatted: 3.2.9
1203
+ keyv: 4.5.4
1204
+ rimraf: 3.0.2
1205
+ dev: true
1206
+
1207
1208
+ resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==}
1209
+ dev: true
1210
+
1211
1212
+ resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
1213
+ dev: true
1214
+
1215
1216
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1217
+
1218
1219
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
1220
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1221
+ os: [darwin]
1222
+ requiresBuild: true
1223
+ optional: true
1224
+
1225
1226
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
1227
+
1228
1229
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1230
+ engines: {node: '>= 6'}
1231
+ dependencies:
1232
+ is-glob: 4.0.3
1233
+
1234
1235
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1236
+ engines: {node: '>=10.13.0'}
1237
+ dependencies:
1238
+ is-glob: 4.0.3
1239
+
1240
1241
+ resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
1242
+ dependencies:
1243
+ fs.realpath: 1.0.0
1244
+ inflight: 1.0.6
1245
+ inherits: 2.0.4
1246
+ minimatch: 3.1.2
1247
+ once: 1.4.0
1248
+ path-is-absolute: 1.0.1
1249
+
1250
1251
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1252
+ dependencies:
1253
+ fs.realpath: 1.0.0
1254
+ inflight: 1.0.6
1255
+ inherits: 2.0.4
1256
+ minimatch: 3.1.2
1257
+ once: 1.4.0
1258
+ path-is-absolute: 1.0.1
1259
+ dev: true
1260
+
1261
1262
+ resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==}
1263
+ engines: {node: '>=8'}
1264
+ dependencies:
1265
+ type-fest: 0.20.2
1266
+ dev: true
1267
+
1268
1269
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
1270
+ engines: {node: '>=10'}
1271
+ dependencies:
1272
+ array-union: 2.1.0
1273
+ dir-glob: 3.0.1
1274
+ fast-glob: 3.3.2
1275
+ ignore: 5.3.0
1276
+ merge2: 1.4.1
1277
+ slash: 3.0.0
1278
+ dev: true
1279
+
1280
1281
+ resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
1282
+ dev: true
1283
+
1284
1285
+ resolution: {integrity: sha512-t2JXKaehnMb9paaYA7J0BX8QQAY8lwfQ9Gjf4pg/mk4krt+cmwmU652HOoWonf+7+EQV97ARPMhhVgU1ra2GhA==}
1286
+ dev: false
1287
+
1288
1289
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1290
+ engines: {node: '>=8'}
1291
+ dev: true
1292
+
1293
1294
+ resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==}
1295
+ engines: {node: '>= 0.4'}
1296
+ dependencies:
1297
+ function-bind: 1.1.2
1298
+
1299
1300
+ resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==}
1301
+ engines: {node: '>= 4'}
1302
+ dev: true
1303
+
1304
1305
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1306
+ engines: {node: '>=6'}
1307
+ dependencies:
1308
+ parent-module: 1.0.1
1309
+ resolve-from: 4.0.0
1310
+ dev: true
1311
+
1312
1313
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
1314
+ engines: {node: '>=0.8.19'}
1315
+ dev: true
1316
+
1317
1318
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1319
+ dependencies:
1320
+ once: 1.4.0
1321
+ wrappy: 1.0.2
1322
+
1323
1324
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1325
+
1326
1327
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
1328
+ engines: {node: '>=8'}
1329
+ dependencies:
1330
+ binary-extensions: 2.2.0
1331
+
1332
1333
+ resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
1334
+ dependencies:
1335
+ hasown: 2.0.0
1336
+
1337
1338
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1339
+ engines: {node: '>=0.10.0'}
1340
+
1341
1342
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1343
+ engines: {node: '>=0.10.0'}
1344
+ dependencies:
1345
+ is-extglob: 2.1.1
1346
+
1347
1348
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1349
+ engines: {node: '>=0.12.0'}
1350
+
1351
1352
+ resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
1353
+ engines: {node: '>=8'}
1354
+ dev: true
1355
+
1356
1357
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1358
+ dev: true
1359
+
1360
1361
+ resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
1362
+ hasBin: true
1363
+
1364
1365
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1366
+ dev: false
1367
+
1368
1369
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1370
+ hasBin: true
1371
+ dependencies:
1372
+ argparse: 2.0.1
1373
+ dev: true
1374
+
1375
1376
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
1377
+ dev: true
1378
+
1379
1380
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1381
+ dev: true
1382
+
1383
1384
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
1385
+ dev: true
1386
+
1387
1388
+ resolution: {integrity: sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==}
1389
+ dev: false
1390
+
1391
1392
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
1393
+ dependencies:
1394
+ json-buffer: 3.0.1
1395
+ dev: true
1396
+
1397
1398
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1399
+ engines: {node: '>= 0.8.0'}
1400
+ dependencies:
1401
+ prelude-ls: 1.2.1
1402
+ type-check: 0.4.0
1403
+ dev: true
1404
+
1405
1406
+ resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
1407
+ engines: {node: '>=10'}
1408
+
1409
1410
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
1411
+
1412
1413
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1414
+ engines: {node: '>=10'}
1415
+ dependencies:
1416
+ p-locate: 5.0.0
1417
+ dev: true
1418
+
1419
1420
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1421
+ dev: true
1422
+
1423
1424
+ resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
1425
+ dev: false
1426
+
1427
1428
+ resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
1429
+ hasBin: true
1430
+ dependencies:
1431
+ js-tokens: 4.0.0
1432
+ dev: false
1433
+
1434
1435
+ resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
1436
+ engines: {node: '>=10'}
1437
+ dependencies:
1438
+ yallist: 4.0.0
1439
+ dev: true
1440
+
1441
1442
+ resolution: {integrity: sha512-rRgUkpEHWpa5VCT66YscInCQmQuPCB1RFRzkkxMxg4b+jaL0V12E3riWWR2Sh5OIiUhCwGW/ZExuEO4Az32E6Q==}
1443
+ peerDependencies:
1444
+ react: ^16.5.1 || ^17.0.0 || ^18.0.0
1445
+ dependencies:
1446
+ react: 18.2.0
1447
+ dev: false
1448
+
1449
1450
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1451
+ engines: {node: '>= 8'}
1452
+
1453
1454
+ resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
1455
+ engines: {node: '>=8.6'}
1456
+ dependencies:
1457
+ braces: 3.0.2
1458
+ picomatch: 2.3.1
1459
+
1460
1461
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1462
+ dependencies:
1463
+ brace-expansion: 1.1.11
1464
+
1465
1466
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1467
+
1468
1469
+ resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
1470
+ dependencies:
1471
+ any-promise: 1.3.0
1472
+ object-assign: 4.1.1
1473
+ thenify-all: 1.6.0
1474
+
1475
1476
+ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
1477
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1478
+ hasBin: true
1479
+
1480
1481
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1482
+ dev: true
1483
+
1484
1485
+ resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
1486
+ dev: true
1487
+
1488
1489
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1490
+ engines: {node: '>=0.10.0'}
1491
+
1492
1493
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
1494
+ engines: {node: '>=0.10.0'}
1495
+ dev: true
1496
+
1497
1498
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
1499
+ engines: {node: '>=0.10.0'}
1500
+
1501
1502
+ resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
1503
+ engines: {node: '>= 6'}
1504
+
1505
1506
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
1507
+ dependencies:
1508
+ wrappy: 1.0.2
1509
+
1510
1511
+ resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
1512
+ engines: {node: '>= 0.8.0'}
1513
+ dependencies:
1514
+ '@aashutoshrathi/word-wrap': 1.2.6
1515
+ deep-is: 0.1.4
1516
+ fast-levenshtein: 2.0.6
1517
+ levn: 0.4.1
1518
+ prelude-ls: 1.2.1
1519
+ type-check: 0.4.0
1520
+ dev: true
1521
+
1522
1523
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1524
+ engines: {node: '>=10'}
1525
+ dependencies:
1526
+ yocto-queue: 0.1.0
1527
+ dev: true
1528
+
1529
1530
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1531
+ engines: {node: '>=10'}
1532
+ dependencies:
1533
+ p-limit: 3.1.0
1534
+ dev: true
1535
+
1536
1537
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1538
+ engines: {node: '>=6'}
1539
+ dependencies:
1540
+ callsites: 3.1.0
1541
+ dev: true
1542
+
1543
1544
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1545
+ engines: {node: '>=8'}
1546
+ dev: true
1547
+
1548
1549
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
1550
+ engines: {node: '>=0.10.0'}
1551
+
1552
1553
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1554
+ engines: {node: '>=8'}
1555
+ dev: true
1556
+
1557
1558
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1559
+
1560
1561
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
1562
+ engines: {node: '>=8'}
1563
+ dev: true
1564
+
1565
1566
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
1567
+
1568
1569
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1570
+ engines: {node: '>=8.6'}
1571
+
1572
1573
+ resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
1574
+ engines: {node: '>=0.10.0'}
1575
+
1576
1577
+ resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
1578
+ engines: {node: '>= 6'}
1579
+
1580
1581
+ resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
1582
+ engines: {node: '>=14.0.0'}
1583
+ peerDependencies:
1584
+ postcss: ^8.0.0
1585
+ dependencies:
1586
+ postcss: 8.4.31
1587
+ postcss-value-parser: 4.2.0
1588
+ read-cache: 1.0.0
1589
+ resolve: 1.22.8
1590
+
1591
1592
+ resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
1593
+ engines: {node: ^12 || ^14 || >= 16}
1594
+ peerDependencies:
1595
+ postcss: ^8.4.21
1596
+ dependencies:
1597
+ camelcase-css: 2.0.1
1598
+ postcss: 8.4.31
1599
+
1600
1601
+ resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==}
1602
+ engines: {node: '>= 14'}
1603
+ peerDependencies:
1604
+ postcss: '>=8.0.9'
1605
+ ts-node: '>=9.0.0'
1606
+ peerDependenciesMeta:
1607
+ postcss:
1608
+ optional: true
1609
+ ts-node:
1610
+ optional: true
1611
+ dependencies:
1612
+ lilconfig: 2.1.0
1613
+ postcss: 8.4.31
1614
+ yaml: 2.3.4
1615
+
1616
1617
+ resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
1618
+ engines: {node: '>=12.0'}
1619
+ peerDependencies:
1620
+ postcss: ^8.2.14
1621
+ dependencies:
1622
+ postcss: 8.4.31
1623
+ postcss-selector-parser: 6.0.13
1624
+
1625
1626
+ resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
1627
+ engines: {node: '>=4'}
1628
+ dependencies:
1629
+ cssesc: 3.0.0
1630
+ util-deprecate: 1.0.2
1631
+
1632
1633
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
1634
+
1635
1636
+ resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
1637
+ engines: {node: ^10 || ^12 || >=14}
1638
+ dependencies:
1639
+ nanoid: 3.3.7
1640
+ picocolors: 1.0.0
1641
+ source-map-js: 1.0.2
1642
+
1643
1644
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
1645
+ engines: {node: '>= 0.8.0'}
1646
+ dev: true
1647
+
1648
1649
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
1650
+ engines: {node: '>=6'}
1651
+ dev: true
1652
+
1653
1654
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1655
+
1656
1657
+ resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
1658
+ peerDependencies:
1659
+ react: ^18.2.0
1660
+ dependencies:
1661
+ loose-envify: 1.4.0
1662
+ react: 18.2.0
1663
+ scheduler: 0.23.0
1664
+ dev: false
1665
+
1666
1667
+ resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
1668
+ engines: {node: '>=0.10.0'}
1669
+ dependencies:
1670
+ loose-envify: 1.4.0
1671
+ dev: false
1672
+
1673
1674
+ resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
1675
+ dependencies:
1676
+ pify: 2.3.0
1677
+
1678
1679
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
1680
+ engines: {node: '>=8.10.0'}
1681
+ dependencies:
1682
+ picomatch: 2.3.1
1683
+
1684
1685
+ resolution: {integrity: sha512-8Og5KPQW9LwC577Vc7Ug2P0vQshkv1y3zG3tSSkWMqkWSwHmE+by06L8JtnGocjW6gcCvfwB3YtrJG6/tWivNQ==}
1686
+ peerDependencies:
1687
+ react: '>=16.13.1'
1688
+ react-dom: '*'
1689
+ react-native: '*'
1690
+ peerDependenciesMeta:
1691
+ react-dom:
1692
+ optional: true
1693
+ react-native:
1694
+ optional: true
1695
+ dependencies:
1696
+ hamt_plus: 1.0.2
1697
+ react: 18.2.0
1698
+ react-dom: 18.2.0([email protected])
1699
+ dev: false
1700
+
1701
1702
+ resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==}
1703
+ dev: false
1704
+
1705
1706
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
1707
+ engines: {node: '>=4'}
1708
+ dev: true
1709
+
1710
1711
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
1712
+ hasBin: true
1713
+ dependencies:
1714
+ is-core-module: 2.13.1
1715
+ path-parse: 1.0.7
1716
+ supports-preserve-symlinks-flag: 1.0.0
1717
+
1718
1719
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1720
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1721
+
1722
1723
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
1724
+ hasBin: true
1725
+ dependencies:
1726
+ glob: 7.2.3
1727
+ dev: true
1728
+
1729
1730
+ resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==}
1731
+ engines: {node: '>=14.18.0', npm: '>=8.0.0'}
1732
+ hasBin: true
1733
+ optionalDependencies:
1734
+ fsevents: 2.3.3
1735
+ dev: true
1736
+
1737
1738
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1739
+ dependencies:
1740
+ queue-microtask: 1.2.3
1741
+
1742
1743
+ resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
1744
+ dependencies:
1745
+ loose-envify: 1.4.0
1746
+ dev: false
1747
+
1748
1749
+ resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
1750
+ engines: {node: '>=10'}
1751
+ hasBin: true
1752
+ dependencies:
1753
+ lru-cache: 6.0.0
1754
+ dev: true
1755
+
1756
1757
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1758
+ engines: {node: '>=8'}
1759
+ dependencies:
1760
+ shebang-regex: 3.0.0
1761
+ dev: true
1762
+
1763
1764
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1765
+ engines: {node: '>=8'}
1766
+ dev: true
1767
+
1768
1769
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
1770
+ engines: {node: '>=8'}
1771
+ dev: true
1772
+
1773
1774
+ resolution: {integrity: sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w==}
1775
+ engines: {node: '>=10.0.0'}
1776
+ dependencies:
1777
+ '@socket.io/component-emitter': 3.1.0
1778
+ debug: 4.3.4
1779
+ engine.io-client: 6.5.3
1780
+ socket.io-parser: 4.2.4
1781
+ transitivePeerDependencies:
1782
+ - bufferutil
1783
+ - supports-color
1784
+ - utf-8-validate
1785
+ dev: false
1786
+
1787
1788
+ resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==}
1789
+ engines: {node: '>=10.0.0'}
1790
+ dependencies:
1791
+ '@socket.io/component-emitter': 3.1.0
1792
+ debug: 4.3.4
1793
+ transitivePeerDependencies:
1794
+ - supports-color
1795
+ dev: false
1796
+
1797
1798
+ resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
1799
+ engines: {node: '>=0.10.0'}
1800
+
1801
1802
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1803
+ engines: {node: '>=8'}
1804
+ dependencies:
1805
+ ansi-regex: 5.0.1
1806
+ dev: true
1807
+
1808
1809
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
1810
+ engines: {node: '>=8'}
1811
+ dev: true
1812
+
1813
1814
+ resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==}
1815
+ engines: {node: '>=8'}
1816
+ hasBin: true
1817
+ dependencies:
1818
+ '@jridgewell/gen-mapping': 0.3.3
1819
+ commander: 4.1.1
1820
+ glob: 7.1.6
1821
+ lines-and-columns: 1.2.4
1822
+ mz: 2.7.0
1823
+ pirates: 4.0.6
1824
+ ts-interface-checker: 0.1.13
1825
+
1826
1827
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
1828
+ engines: {node: '>=8'}
1829
+ dependencies:
1830
+ has-flag: 4.0.0
1831
+ dev: true
1832
+
1833
1834
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1835
+ engines: {node: '>= 0.4'}
1836
+
1837
1838
+ resolution: {integrity: sha512-njiZ/4RiIhoOlAaLYDqwz5qH/KZXVilRLvomrx83HjzCWTfa+InyfAjv05PSFxnmLzZkNO9ZfvgoqzAaEI4sGQ==}
1839
+ peerDependencies:
1840
+ react: ^16.11.0 || ^17.0.0 || ^18.0.0
1841
+ dependencies:
1842
+ client-only: 0.0.1
1843
+ react: 18.2.0
1844
+ use-sync-external-store: 1.2.0([email protected])
1845
+ dev: false
1846
+
1847
1848
+ resolution: {integrity: sha512-WO8qghn9yhsldLSg80au+3/gY9E4hFxIvQ3qOmlpXnqpDKoMruKfi/56BbbMg6fHTQJ9QD3cc79PoWqlaQE4rw==}
1849
+ dependencies:
1850
+ '@babel/runtime': 7.23.2
1851
+ dev: false
1852
+
1853
1854
+ resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==}
1855
+ peerDependencies:
1856
+ tailwindcss: '>=3.0.0 || insiders'
1857
+ dependencies:
1858
+ tailwindcss: 3.3.5
1859
+ dev: false
1860
+
1861
1862
+ resolution: {integrity: sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==}
1863
+ engines: {node: '>=14.0.0'}
1864
+ hasBin: true
1865
+ dependencies:
1866
+ '@alloc/quick-lru': 5.2.0
1867
+ arg: 5.0.2
1868
+ chokidar: 3.5.3
1869
+ didyoumean: 1.2.2
1870
+ dlv: 1.1.3
1871
+ fast-glob: 3.3.2
1872
+ glob-parent: 6.0.2
1873
+ is-glob: 4.0.3
1874
+ jiti: 1.21.0
1875
+ lilconfig: 2.1.0
1876
+ micromatch: 4.0.5
1877
+ normalize-path: 3.0.0
1878
+ object-hash: 3.0.0
1879
+ picocolors: 1.0.0
1880
+ postcss: 8.4.31
1881
+ postcss-import: 15.1.0([email protected])
1882
+ postcss-js: 4.0.1([email protected])
1883
+ postcss-load-config: 4.0.1([email protected])
1884
+ postcss-nested: 6.0.1([email protected])
1885
+ postcss-selector-parser: 6.0.13
1886
+ resolve: 1.22.8
1887
+ sucrase: 3.34.0
1888
+ transitivePeerDependencies:
1889
+ - ts-node
1890
+
1891
1892
+ resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
1893
+ dev: true
1894
+
1895
1896
+ resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
1897
+ engines: {node: '>=0.8'}
1898
+ dependencies:
1899
+ thenify: 3.3.1
1900
+
1901
1902
+ resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
1903
+ dependencies:
1904
+ any-promise: 1.3.0
1905
+
1906
1907
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1908
+ engines: {node: '>=8.0'}
1909
+ dependencies:
1910
+ is-number: 7.0.0
1911
+
1912
1913
+ resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==}
1914
+ engines: {node: '>=16.13.0'}
1915
+ peerDependencies:
1916
+ typescript: '>=4.2.0'
1917
+ dependencies:
1918
+ typescript: 5.2.2
1919
+ dev: true
1920
+
1921
1922
+ resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
1923
+
1924
1925
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
1926
+ engines: {node: '>= 0.8.0'}
1927
+ dependencies:
1928
+ prelude-ls: 1.2.1
1929
+ dev: true
1930
+
1931
1932
+ resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
1933
+ engines: {node: '>=10'}
1934
+ dev: true
1935
+
1936
1937
+ resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==}
1938
+ engines: {node: '>=14.17'}
1939
+ hasBin: true
1940
+ dev: true
1941
+
1942
1943
+ resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
1944
+ dev: true
1945
+
1946
1947
+ resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
1948
+ hasBin: true
1949
+ peerDependencies:
1950
+ browserslist: '>= 4.21.0'
1951
+ dependencies:
1952
+ browserslist: 4.22.1
1953
+ escalade: 3.1.1
1954
+ picocolors: 1.0.0
1955
+ dev: true
1956
+
1957
1958
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
1959
+ dependencies:
1960
+ punycode: 2.3.1
1961
+ dev: true
1962
+
1963
1964
+ resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
1965
+ peerDependencies:
1966
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
1967
+ dependencies:
1968
+ react: 18.2.0
1969
+ dev: false
1970
+
1971
1972
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
1973
+
1974
1975
+ resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
1976
+ hasBin: true
1977
+ dev: false
1978
+
1979
1980
+ resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==}
1981
+ engines: {node: ^14.18.0 || >=16.0.0}
1982
+ hasBin: true
1983
+ peerDependencies:
1984
+ '@types/node': '>= 14'
1985
+ less: '*'
1986
+ lightningcss: ^1.21.0
1987
+ sass: '*'
1988
+ stylus: '*'
1989
+ sugarss: '*'
1990
+ terser: ^5.4.0
1991
+ peerDependenciesMeta:
1992
+ '@types/node':
1993
+ optional: true
1994
+ less:
1995
+ optional: true
1996
+ lightningcss:
1997
+ optional: true
1998
+ sass:
1999
+ optional: true
2000
+ stylus:
2001
+ optional: true
2002
+ sugarss:
2003
+ optional: true
2004
+ terser:
2005
+ optional: true
2006
+ dependencies:
2007
+ '@types/node': 20.9.0
2008
+ esbuild: 0.18.20
2009
+ postcss: 8.4.31
2010
+ rollup: 3.29.4
2011
+ optionalDependencies:
2012
+ fsevents: 2.3.3
2013
+ dev: true
2014
+
2015
2016
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2017
+ engines: {node: '>= 8'}
2018
+ hasBin: true
2019
+ dependencies:
2020
+ isexe: 2.0.0
2021
+ dev: true
2022
+
2023
2024
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
2025
+
2026
2027
+ resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==}
2028
+ engines: {node: '>=10.0.0'}
2029
+ peerDependencies:
2030
+ bufferutil: ^4.0.1
2031
+ utf-8-validate: ^5.0.2
2032
+ peerDependenciesMeta:
2033
+ bufferutil:
2034
+ optional: true
2035
+ utf-8-validate:
2036
+ optional: true
2037
+ dev: false
2038
+
2039
2040
+ resolution: {integrity: sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==}
2041
+ engines: {node: '>=0.4.0'}
2042
+ dev: false
2043
+
2044
2045
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
2046
+ dev: true
2047
+
2048
2049
+ resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}
2050
+ engines: {node: '>= 14'}
2051
+
2052
2053
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
2054
+ engines: {node: '>=10'}
2055
+ dev: true
frontend/postcss.config.js ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ export default {
2
+ plugins: {
3
+ tailwindcss: {},
4
+ autoprefixer: {},
5
+ },
6
+ }
frontend/public/favicon.svg ADDED
frontend/src/App.tsx ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { useEffect } from "react";
2
+
3
+ import { ChainlitAPI, sessionState, useChatSession } from "@chainlit/react-client";
4
+ import { Playground } from "./components/playground";
5
+ import { useRecoilValue } from "recoil";
6
+
7
+ const CHAINLIT_SERVER = "http://localhost:8000";
8
+ const userEnv = {};
9
+
10
+ const apiClient = new ChainlitAPI(CHAINLIT_SERVER);
11
+
12
+ function App() {
13
+ const { connect } = useChatSession();
14
+ const session = useRecoilValue(sessionState);
15
+
16
+ useEffect(() => {
17
+ if (session?.socket.connected) {
18
+ return
19
+ }
20
+ fetch(apiClient
21
+ .buildEndpoint("/custom-auth")).then((res) => {
22
+ return res.json();
23
+ }
24
+ ).then((data) => {
25
+ connect({ client: apiClient, userEnv, accessToken: `Bearer: ${data.token}` });
26
+ }
27
+ )
28
+ }, [session, connect]);
29
+
30
+
31
+ return (
32
+ <>
33
+ <div>
34
+ <Playground />
35
+ </div>
36
+ </>
37
+ );
38
+ }
39
+
40
+ export default App;
frontend/src/components/playground.tsx ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { Input } from "@/components/ui/input";
2
+ import { Button } from "@/components/ui/button";
3
+ import { v4 as uuidv4 } from "uuid";
4
+
5
+ import {
6
+ useChatInteract,
7
+ useChatMessages,
8
+ IStep,
9
+ } from "@chainlit/react-client";
10
+ import { useState } from "react";
11
+
12
+ export function Playground() {
13
+ const [inputValue, setInputValue] = useState("");
14
+ const { sendMessage } = useChatInteract();
15
+ const { messages } = useChatMessages();
16
+
17
+ const handleSendMessage = () => {
18
+ const content = inputValue.trim();
19
+ if (content) {
20
+ const message: IStep = {
21
+ id: uuidv4(),
22
+ name: "user",
23
+ type: "user_message",
24
+ output: content,
25
+ createdAt: new Date().toISOString(),
26
+ };
27
+ sendMessage(message, []);
28
+ setInputValue("");
29
+ }
30
+ };
31
+
32
+ const renderMessage = (message: IStep) => {
33
+ const dateOptions: Intl.DateTimeFormatOptions = {
34
+ hour: "2-digit",
35
+ minute: "2-digit",
36
+ };
37
+ const date = new Date(message.createdAt).toLocaleTimeString(
38
+ undefined,
39
+ dateOptions
40
+ );
41
+ return (
42
+ <div key={message.id} className="flex items-start space-x-2">
43
+ <div className="w-20 text-sm text-green-500">{message.name}</div>
44
+ <div className="flex-1 border rounded-lg p-2">
45
+ <p className="text-black dark:text-white">{message.output}</p>
46
+ <small className="text-xs text-gray-500">{date}</small>
47
+ </div>
48
+ </div>
49
+ );
50
+ };
51
+
52
+ return (
53
+ <div className="min-h-screen bg-gray-100 dark:bg-gray-900 flex flex-col">
54
+ <div className="flex-1 overflow-auto p-6">
55
+ <div className="space-y-4">
56
+ {messages.map((message) => renderMessage(message))}
57
+ </div>
58
+ </div>
59
+ <div className="border-t p-4 bg-white dark:bg-gray-800">
60
+ <div className="flex items-center space-x-2">
61
+ <Input
62
+ autoFocus
63
+ className="flex-1"
64
+ id="message-input"
65
+ placeholder="Type a message"
66
+ value={inputValue}
67
+ onChange={(e) => setInputValue(e.target.value)}
68
+ onKeyUp={(e) => {
69
+ if (e.key === "Enter") {
70
+ handleSendMessage();
71
+ }
72
+ }}
73
+ />
74
+ <Button onClick={handleSendMessage} type="submit">
75
+ Send
76
+ </Button>
77
+ </div>
78
+ </div>
79
+ </div>
80
+ );
81
+ }
frontend/src/components/ui/button.tsx ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import * as React from "react"
2
+ import { Slot } from "@radix-ui/react-slot"
3
+ import { cva, type VariantProps } from "class-variance-authority"
4
+
5
+ import { cn } from "@/lib/utils"
6
+
7
+ const buttonVariants = cva(
8
+ "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
9
+ {
10
+ variants: {
11
+ variant: {
12
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
13
+ destructive:
14
+ "bg-destructive text-destructive-foreground hover:bg-destructive/90",
15
+ outline:
16
+ "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
17
+ secondary:
18
+ "bg-secondary text-secondary-foreground hover:bg-secondary/80",
19
+ ghost: "hover:bg-accent hover:text-accent-foreground",
20
+ link: "text-primary underline-offset-4 hover:underline",
21
+ },
22
+ size: {
23
+ default: "h-10 px-4 py-2",
24
+ sm: "h-9 rounded-md px-3",
25
+ lg: "h-11 rounded-md px-8",
26
+ icon: "h-10 w-10",
27
+ },
28
+ },
29
+ defaultVariants: {
30
+ variant: "default",
31
+ size: "default",
32
+ },
33
+ }
34
+ )
35
+
36
+ export interface ButtonProps
37
+ extends React.ButtonHTMLAttributes<HTMLButtonElement>,
38
+ VariantProps<typeof buttonVariants> {
39
+ asChild?: boolean
40
+ }
41
+
42
+ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
43
+ ({ className, variant, size, asChild = false, ...props }, ref) => {
44
+ const Comp = asChild ? Slot : "button"
45
+ return (
46
+ <Comp
47
+ className={cn(buttonVariants({ variant, size, className }))}
48
+ ref={ref}
49
+ {...props}
50
+ />
51
+ )
52
+ }
53
+ )
54
+ Button.displayName = "Button"
55
+
56
+ export { Button, buttonVariants }
frontend/src/components/ui/input.tsx ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import * as React from "react"
2
+
3
+ import { cn } from "@/lib/utils"
4
+
5
+ export interface InputProps
6
+ extends React.InputHTMLAttributes<HTMLInputElement> {}
7
+
8
+ const Input = React.forwardRef<HTMLInputElement, InputProps>(
9
+ ({ className, type, ...props }, ref) => {
10
+ return (
11
+ <input
12
+ type={type}
13
+ className={cn(
14
+ "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
15
+ className
16
+ )}
17
+ ref={ref}
18
+ {...props}
19
+ />
20
+ )
21
+ }
22
+ )
23
+ Input.displayName = "Input"
24
+
25
+ export { Input }
frontend/src/index.css ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
5
+ @layer base {
6
+ :root {
7
+ --background: 0 0% 100%;
8
+ --foreground: 222.2 84% 4.9%;
9
+
10
+ --card: 0 0% 100%;
11
+ --card-foreground: 222.2 84% 4.9%;
12
+
13
+ --popover: 0 0% 100%;
14
+ --popover-foreground: 222.2 84% 4.9%;
15
+
16
+ --primary: 222.2 47.4% 11.2%;
17
+ --primary-foreground: 210 40% 98%;
18
+
19
+ --secondary: 210 40% 96.1%;
20
+ --secondary-foreground: 222.2 47.4% 11.2%;
21
+
22
+ --muted: 210 40% 96.1%;
23
+ --muted-foreground: 215.4 16.3% 46.9%;
24
+
25
+ --accent: 210 40% 96.1%;
26
+ --accent-foreground: 222.2 47.4% 11.2%;
27
+
28
+ --destructive: 0 84.2% 60.2%;
29
+ --destructive-foreground: 210 40% 98%;
30
+
31
+ --border: 214.3 31.8% 91.4%;
32
+ --input: 214.3 31.8% 91.4%;
33
+ --ring: 222.2 84% 4.9%;
34
+
35
+ --radius: 0.5rem;
36
+ }
37
+
38
+ .dark {
39
+ --background: 222.2 84% 4.9%;
40
+ --foreground: 210 40% 98%;
41
+
42
+ --card: 222.2 84% 4.9%;
43
+ --card-foreground: 210 40% 98%;
44
+
45
+ --popover: 222.2 84% 4.9%;
46
+ --popover-foreground: 210 40% 98%;
47
+
48
+ --primary: 210 40% 98%;
49
+ --primary-foreground: 222.2 47.4% 11.2%;
50
+
51
+ --secondary: 217.2 32.6% 17.5%;
52
+ --secondary-foreground: 210 40% 98%;
53
+
54
+ --muted: 217.2 32.6% 17.5%;
55
+ --muted-foreground: 215 20.2% 65.1%;
56
+
57
+ --accent: 217.2 32.6% 17.5%;
58
+ --accent-foreground: 210 40% 98%;
59
+
60
+ --destructive: 0 62.8% 30.6%;
61
+ --destructive-foreground: 210 40% 98%;
62
+
63
+ --border: 217.2 32.6% 17.5%;
64
+ --input: 217.2 32.6% 17.5%;
65
+ --ring: 212.7 26.8% 83.9%;
66
+ }
67
+ }
68
+
69
+ @layer base {
70
+ * {
71
+ @apply border-border;
72
+ }
73
+ body {
74
+ @apply bg-background text-foreground;
75
+ }
76
+ }
frontend/src/lib/utils.ts ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ import { type ClassValue, clsx } from "clsx"
2
+ import { twMerge } from "tailwind-merge"
3
+
4
+ export function cn(...inputs: ClassValue[]) {
5
+ return twMerge(clsx(inputs))
6
+ }
frontend/src/main.tsx ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import React from "react";
2
+ import ReactDOM from "react-dom/client";
3
+ import App from "./App.tsx";
4
+ import { RecoilRoot } from "recoil";
5
+ import "./index.css";
6
+
7
+ ReactDOM.createRoot(document.getElementById("root")!).render(
8
+ <React.StrictMode>
9
+ <RecoilRoot>
10
+ <App />
11
+ </RecoilRoot>
12
+ </React.StrictMode>
13
+ );
frontend/src/vite-env.d.ts ADDED
@@ -0,0 +1 @@
 
 
1
+ /// <reference types="vite/client" />
frontend/tailwind.config.js ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /** @type {import('tailwindcss').Config} */
2
+ module.exports = {
3
+ darkMode: ["class"],
4
+ content: [
5
+ './pages/**/*.{ts,tsx}',
6
+ './components/**/*.{ts,tsx}',
7
+ './app/**/*.{ts,tsx}',
8
+ './src/**/*.{ts,tsx}',
9
+ ],
10
+ theme: {
11
+ container: {
12
+ center: true,
13
+ padding: "2rem",
14
+ screens: {
15
+ "2xl": "1280px",
16
+ },
17
+ },
18
+ extend: {
19
+ colors: {
20
+ border: "hsl(var(--border))",
21
+ input: "hsl(var(--input))",
22
+ ring: "hsl(var(--ring))",
23
+ background: "hsl(var(--background))",
24
+ foreground: "hsl(var(--foreground))",
25
+ primary: {
26
+ DEFAULT: "hsl(var(--primary))",
27
+ foreground: "hsl(var(--primary-foreground))",
28
+ },
29
+ secondary: {
30
+ DEFAULT: "hsl(var(--secondary))",
31
+ foreground: "hsl(var(--secondary-foreground))",
32
+ },
33
+ destructive: {
34
+ DEFAULT: "hsl(var(--destructive))",
35
+ foreground: "hsl(var(--destructive-foreground))",
36
+ },
37
+ muted: {
38
+ DEFAULT: "hsl(var(--muted))",
39
+ foreground: "hsl(var(--muted-foreground))",
40
+ },
41
+ accent: {
42
+ DEFAULT: "hsl(var(--accent))",
43
+ foreground: "hsl(var(--accent-foreground))",
44
+ },
45
+ popover: {
46
+ DEFAULT: "hsl(var(--popover))",
47
+ foreground: "hsl(var(--popover-foreground))",
48
+ },
49
+ card: {
50
+ DEFAULT: "hsl(var(--card))",
51
+ foreground: "hsl(var(--card-foreground))",
52
+ },
53
+ },
54
+ borderRadius: {
55
+ lg: "var(--radius)",
56
+ md: "calc(var(--radius) - 2px)",
57
+ sm: "calc(var(--radius) - 4px)",
58
+ },
59
+ keyframes: {
60
+ "accordion-down": {
61
+ from: { height: 0 },
62
+ to: { height: "var(--radix-accordion-content-height)" },
63
+ },
64
+ "accordion-up": {
65
+ from: { height: "var(--radix-accordion-content-height)" },
66
+ to: { height: 0 },
67
+ },
68
+ },
69
+ animation: {
70
+ "accordion-down": "accordion-down 0.2s ease-out",
71
+ "accordion-up": "accordion-up 0.2s ease-out",
72
+ },
73
+ },
74
+ },
75
+ plugins: [require("tailwindcss-animate")],
76
+ }
frontend/tsconfig.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ "baseUrl": ".",
18
+ "paths": {
19
+ "@/*": ["./src/*"]
20
+ },
21
+
22
+ /* Linting */
23
+ "strict": true,
24
+ "noUnusedLocals": true,
25
+ "noUnusedParameters": true,
26
+ "noFallthroughCasesInSwitch": true
27
+ },
28
+ "include": ["src"],
29
+ "references": [{ "path": "./tsconfig.node.json" }]
30
+ }
frontend/tsconfig.node.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
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
+ }
frontend/vite.config.ts ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import path from "path";
2
+ import react from "@vitejs/plugin-react-swc";
3
+ import { defineConfig } from "vite";
4
+
5
+ export default defineConfig({
6
+ plugins: [react()],
7
+ resolve: {
8
+ alias: {
9
+ "@": path.resolve(__dirname, "./src"),
10
+ },
11
+ },
12
+ });
nginx.conf ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ server {
2
+ listen 8080 default_server;
3
+ listen [::]:8080 default_server;
4
+ server_name _;
5
+ root /usr/share/nginx/html;
6
+ index index.html index.html;
7
+
8
+
9
+ # Serve static files directly.
10
+ location / {
11
+ try_files $uri $uri/ /index.html;
12
+ }
13
+
14
+ location /custom-auth {
15
+ # Serve backend from port
16
+ rewrite /custom-auth/(.*) /$1 break;
17
+ proxy_pass http://localhost:8000;
18
+ proxy_http_version 1.1;
19
+ proxy_set_header Upgrade $http_upgrade;
20
+ proxy_set_header Connection 'upgrade';
21
+ proxy_set_header Host $host;
22
+ proxy_set_header X-Real-IP $remote_addr;
23
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
24
+ proxy_cache_bypass $http_upgrade;
25
+ proxy_read_timeout 86400;
26
+ proxy_redirect off;
27
+ }
28
+
29
+ location /banner-status {
30
+ # Serve backend from port
31
+ rewrite /custom-auth/(.*) /$1 break;
32
+ proxy_pass http://localhost:8000;
33
+ proxy_http_version 1.1;
34
+ proxy_set_header Upgrade $http_upgrade;
35
+ proxy_set_header Connection 'upgrade';
36
+ proxy_set_header Host $host;
37
+ proxy_set_header X-Real-IP $remote_addr;
38
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
39
+ proxy_cache_bypass $http_upgrade;
40
+ proxy_read_timeout 86400;
41
+ proxy_redirect off;
42
+ }
43
+
44
+ location /ws/ {
45
+ proxy_pass http://localhost:8000/ws/;
46
+ proxy_http_version 1.1;
47
+ proxy_set_header Upgrade $http_upgrade;
48
+ proxy_set_header Connection "upgrade";
49
+ proxy_set_header Host $host;
50
+ proxy_read_timeout 600s; # Extended timeout for WebSocket connections
51
+ }
52
+ }
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ chainlit
2
+ langroid
3
+ uvicorn
4
+ argilla
run.sh ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+
3
+
4
+ cd backend
5
+ # Start FastAPI app in the background on port 8000
6
+ uvicorn app:app --host 0.0.0.0 --port 8000 --workers 1 & echo $! > http_server.pid
7
+ # Start Nginx
8
+ nginx -g 'daemon off;'