irongit

first commit

huncholanehuncholaneauthored
commit 5d6df782db5918c5b50c0aa1f2fc7aeadff682c1Browse files

26 files changed, +4160 -0

+160-0.gitignore
@@ -0,0 +1,160 @@
1+# Byte-compiled / optimized / DLL files
2+__pycache__/
3+*.py[cod]
4+*$py.class
5+
6+# C extensions
7+*.so
8+
9+# Distribution / packaging
10+.Python
11+build/
12+develop-eggs/
13+dist/
14+downloads/
15+eggs/
16+.eggs/
17+lib/
18+lib64/
19+parts/
20+sdist/
21+var/
22+wheels/
23+share/python-wheels/
24+*.egg-info/
25+.installed.cfg
26+*.egg
27+MANIFEST
28+
29+# PyInstaller
30+# Usually these files are written by a python script from a template
31+# before PyInstaller builds the exe, so as to inject date/other infos into it.
32+*.manifest
33+*.spec
34+
35+# Installer logs
36+pip-log.txt
37+pip-delete-this-directory.txt
38+
39+# Unit test / coverage reports
40+htmlcov/
41+.tox/
42+.nox/
43+.coverage
44+.coverage.*
45+.cache
46+nosetests.xml
47+coverage.xml
48+*.cover
49+*.py,cover
50+.hypothesis/
51+.pytest_cache/
52+cover/
53+
54+# Translations
55+*.mo
56+*.pot
57+
58+# Django stuff:
59+*.log
60+local_settings.py
61+db.sqlite3
62+db.sqlite3-journal
63+
64+# Flask stuff:
65+instance/
66+.webassets-cache
67+
68+# Scrapy stuff:
69+.scrapy
70+
71+# Sphinx documentation
72+docs/_build/
73+
74+# PyBuilder
75+.pybuilder/
76+target/
77+
78+# Jupyter Notebook
79+.ipynb_checkpoints
80+
81+# IPython
82+profile_default/
83+ipython_config.py
84+
85+# pyenv
86+# For a library or package, you might want to ignore these files since the code is
87+# intended to run in multiple environments; otherwise, check them in:
88+# .python-version
89+
90+# pipenv
91+# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92+# However, in case of collaboration, if having platform-specific dependencies or dependencies
93+# having no cross-platform support, pipenv may install dependencies that don't work, or not
94+# install all needed dependencies.
95+#Pipfile.lock
96+
97+# poetry
98+# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
99+# This is especially recommended for binary packages to ensure reproducibility, and is more
100+# commonly ignored for libraries.
101+# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
102+#poetry.lock
103+
104+# pdm
105+# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
106+#pdm.lock
107+# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
108+# in version control.
109+# https://pdm.fming.dev/#use-with-ide
110+.pdm.toml
111+
112+# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
113+__pypackages__/
114+
115+# Celery stuff
116+celerybeat-schedule
117+celerybeat.pid
118+
119+# SageMath parsed files
120+*.sage.py
121+
122+# Environments
123+.env
124+.venv
125+env/
126+venv/
127+ENV/
128+env.bak/
129+venv.bak/
130+
131+# Spyder project settings
132+.spyderproject
133+.spyproject
134+
135+# Rope project settings
136+.ropeproject
137+
138+# mkdocs documentation
139+/site
140+
141+# mypy
142+.mypy_cache/
143+.dmypy.json
144+dmypy.json
145+
146+# Pyre type checker
147+.pyre/
148+
149+# pytype static type analyzer
150+.pytype/
151+
152+# Cython debug symbols
153+cython_debug/
154+
155+# PyCharm
156+# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
157+# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
158+# and can be added to the global gitignore or merged into this file. For a more nuclear
159+# option (not recommended) you can uncomment the following to ignore the entire idea folder.
160+#.idea/
+24-0frontend/.gitignore
@@ -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?
+13-0frontend/index.html
@@ -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="/vite.svg" />
6+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+ <title>Vite + React + TS</title>
8+ </head>
9+ <body>
10+ <div id="root"></div>
11+ <script type="module" src="/src/main.tsx"></script>
12+ </body>
13+</html>
+3479-0frontend/package-lock.json
@@ -0,0 +1,3479 @@
1+{
2+ "name": "frontend",
3+ "version": "0.0.0",
4+ "lockfileVersion": 2,
5+ "requires": true,
6+ "packages": {
7+ "": {
8+ "name": "frontend",
9+ "version": "0.0.0",
10+ "dependencies": {
11+ "react": "^18.2.0",
12+ "react-dom": "^18.2.0"
13+ },
14+ "devDependencies": {
15+ "@types/react": "^18.0.26",
16+ "@types/react-dom": "^18.0.9",
17+ "@vitejs/plugin-react": "^3.0.0",
18+ "autoprefixer": "^10.4.13",
19+ "postcss": "^8.4.20",
20+ "tailwindcss": "^3.2.4",
21+ "typescript": "^4.9.3",
22+ "vite": "^4.0.0"
23+ }
24+ },
25+ "node_modules/@ampproject/remapping": {
26+ "version": "2.2.0",
27+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
28+ "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
29+ "dev": true,
30+ "dependencies": {
31+ "@jridgewell/gen-mapping": "^0.1.0",
32+ "@jridgewell/trace-mapping": "^0.3.9"
33+ },
34+ "engines": {
35+ "node": ">=6.0.0"
36+ }
37+ },
38+ "node_modules/@babel/code-frame": {
39+ "version": "7.18.6",
40+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
41+ "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
42+ "dev": true,
43+ "dependencies": {
44+ "@babel/highlight": "^7.18.6"
45+ },
46+ "engines": {
47+ "node": ">=6.9.0"
48+ }
49+ },
50+ "node_modules/@babel/compat-data": {
51+ "version": "7.20.5",
52+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz",
53+ "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==",
54+ "dev": true,
55+ "engines": {
56+ "node": ">=6.9.0"
57+ }
58+ },
59+ "node_modules/@babel/core": {
60+ "version": "7.20.7",
61+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.7.tgz",
62+ "integrity": "sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==",
63+ "dev": true,
64+ "dependencies": {
65+ "@ampproject/remapping": "^2.1.0",
66+ "@babel/code-frame": "^7.18.6",
67+ "@babel/generator": "^7.20.7",
68+ "@babel/helper-compilation-targets": "^7.20.7",
69+ "@babel/helper-module-transforms": "^7.20.7",
70+ "@babel/helpers": "^7.20.7",
71+ "@babel/parser": "^7.20.7",
72+ "@babel/template": "^7.20.7",
73+ "@babel/traverse": "^7.20.7",
74+ "@babel/types": "^7.20.7",
75+ "convert-source-map": "^1.7.0",
76+ "debug": "^4.1.0",
77+ "gensync": "^1.0.0-beta.2",
78+ "json5": "^2.2.1",
79+ "semver": "^6.3.0"
80+ },
81+ "engines": {
82+ "node": ">=6.9.0"
83+ },
84+ "funding": {
85+ "type": "opencollective",
86+ "url": "https://opencollective.com/babel"
87+ }
88+ },
89+ "node_modules/@babel/generator": {
90+ "version": "7.20.7",
91+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz",
92+ "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==",
93+ "dev": true,
94+ "dependencies": {
95+ "@babel/types": "^7.20.7",
96+ "@jridgewell/gen-mapping": "^0.3.2",
97+ "jsesc": "^2.5.1"
98+ },
99+ "engines": {
100+ "node": ">=6.9.0"
101+ }
102+ },
103+ "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
104+ "version": "0.3.2",
105+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
106+ "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
107+ "dev": true,
108+ "dependencies": {
109+ "@jridgewell/set-array": "^1.0.1",
110+ "@jridgewell/sourcemap-codec": "^1.4.10",
111+ "@jridgewell/trace-mapping": "^0.3.9"
112+ },
113+ "engines": {
114+ "node": ">=6.0.0"
115+ }
116+ },
117+ "node_modules/@babel/helper-compilation-targets": {
118+ "version": "7.20.7",
119+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz",
120+ "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==",
121+ "dev": true,
122+ "dependencies": {
123+ "@babel/compat-data": "^7.20.5",
124+ "@babel/helper-validator-option": "^7.18.6",
125+ "browserslist": "^4.21.3",
126+ "lru-cache": "^5.1.1",
127+ "semver": "^6.3.0"
128+ },
129+ "engines": {
130+ "node": ">=6.9.0"
131+ },
132+ "peerDependencies": {
133+ "@babel/core": "^7.0.0"
134+ }
135+ },
136+ "node_modules/@babel/helper-environment-visitor": {
137+ "version": "7.18.9",
138+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
139+ "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
140+ "dev": true,
141+ "engines": {
142+ "node": ">=6.9.0"
143+ }
144+ },
145+ "node_modules/@babel/helper-function-name": {
146+ "version": "7.19.0",
147+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
148+ "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
149+ "dev": true,
150+ "dependencies": {
151+ "@babel/template": "^7.18.10",
152+ "@babel/types": "^7.19.0"
153+ },
154+ "engines": {
155+ "node": ">=6.9.0"
156+ }
157+ },
158+ "node_modules/@babel/helper-hoist-variables": {
159+ "version": "7.18.6",
160+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
161+ "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
162+ "dev": true,
163+ "dependencies": {
164+ "@babel/types": "^7.18.6"
165+ },
166+ "engines": {
167+ "node": ">=6.9.0"
168+ }
169+ },
170+ "node_modules/@babel/helper-module-imports": {
171+ "version": "7.18.6",
172+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
173+ "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
174+ "dev": true,
175+ "dependencies": {
176+ "@babel/types": "^7.18.6"
177+ },
178+ "engines": {
179+ "node": ">=6.9.0"
180+ }
181+ },
182+ "node_modules/@babel/helper-module-transforms": {
183+ "version": "7.20.7",
184+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.7.tgz",
185+ "integrity": "sha512-FNdu7r67fqMUSVuQpFQGE6BPdhJIhitoxhGzDbAXNcA07uoVG37fOiMk3OSV8rEICuyG6t8LGkd9EE64qIEoIA==",
186+ "dev": true,
187+ "dependencies": {
188+ "@babel/helper-environment-visitor": "^7.18.9",
189+ "@babel/helper-module-imports": "^7.18.6",
190+ "@babel/helper-simple-access": "^7.20.2",
191+ "@babel/helper-split-export-declaration": "^7.18.6",
192+ "@babel/helper-validator-identifier": "^7.19.1",
193+ "@babel/template": "^7.20.7",
194+ "@babel/traverse": "^7.20.7",
195+ "@babel/types": "^7.20.7"
196+ },
197+ "engines": {
198+ "node": ">=6.9.0"
199+ }
200+ },
201+ "node_modules/@babel/helper-plugin-utils": {
202+ "version": "7.20.2",
203+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz",
204+ "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==",
205+ "dev": true,
206+ "engines": {
207+ "node": ">=6.9.0"
208+ }
209+ },
210+ "node_modules/@babel/helper-simple-access": {
211+ "version": "7.20.2",
212+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
213+ "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
214+ "dev": true,
215+ "dependencies": {
216+ "@babel/types": "^7.20.2"
217+ },
218+ "engines": {
219+ "node": ">=6.9.0"
220+ }
221+ },
222+ "node_modules/@babel/helper-split-export-declaration": {
223+ "version": "7.18.6",
224+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
225+ "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
226+ "dev": true,
227+ "dependencies": {
228+ "@babel/types": "^7.18.6"
229+ },
230+ "engines": {
231+ "node": ">=6.9.0"
232+ }
233+ },
234+ "node_modules/@babel/helper-string-parser": {
235+ "version": "7.19.4",
236+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
237+ "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
238+ "dev": true,
239+ "engines": {
240+ "node": ">=6.9.0"
241+ }
242+ },
243+ "node_modules/@babel/helper-validator-identifier": {
244+ "version": "7.19.1",
245+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
246+ "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
247+ "dev": true,
248+ "engines": {
249+ "node": ">=6.9.0"
250+ }
251+ },
252+ "node_modules/@babel/helper-validator-option": {
253+ "version": "7.18.6",
254+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
255+ "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
256+ "dev": true,
257+ "engines": {
258+ "node": ">=6.9.0"
259+ }
260+ },
261+ "node_modules/@babel/helpers": {
262+ "version": "7.20.7",
263+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz",
264+ "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==",
265+ "dev": true,
266+ "dependencies": {
267+ "@babel/template": "^7.20.7",
268+ "@babel/traverse": "^7.20.7",
269+ "@babel/types": "^7.20.7"
270+ },
271+ "engines": {
272+ "node": ">=6.9.0"
273+ }
274+ },
275+ "node_modules/@babel/highlight": {
276+ "version": "7.18.6",
277+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
278+ "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
279+ "dev": true,
280+ "dependencies": {
281+ "@babel/helper-validator-identifier": "^7.18.6",
282+ "chalk": "^2.0.0",
283+ "js-tokens": "^4.0.0"
284+ },
285+ "engines": {
286+ "node": ">=6.9.0"
287+ }
288+ },
289+ "node_modules/@babel/parser": {
290+ "version": "7.20.7",
291+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz",
292+ "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==",
293+ "dev": true,
294+ "bin": {
295+ "parser": "bin/babel-parser.js"
296+ },
297+ "engines": {
298+ "node": ">=6.0.0"
299+ }
300+ },
301+ "node_modules/@babel/plugin-transform-react-jsx-self": {
302+ "version": "7.18.6",
303+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz",
304+ "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==",
305+ "dev": true,
306+ "dependencies": {
307+ "@babel/helper-plugin-utils": "^7.18.6"
308+ },
309+ "engines": {
310+ "node": ">=6.9.0"
311+ },
312+ "peerDependencies": {
313+ "@babel/core": "^7.0.0-0"
314+ }
315+ },
316+ "node_modules/@babel/plugin-transform-react-jsx-source": {
317+ "version": "7.19.6",
318+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz",
319+ "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==",
320+ "dev": true,
321+ "dependencies": {
322+ "@babel/helper-plugin-utils": "^7.19.0"
323+ },
324+ "engines": {
325+ "node": ">=6.9.0"
326+ },
327+ "peerDependencies": {
328+ "@babel/core": "^7.0.0-0"
329+ }
330+ },
331+ "node_modules/@babel/template": {
332+ "version": "7.20.7",
333+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
334+ "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
335+ "dev": true,
336+ "dependencies": {
337+ "@babel/code-frame": "^7.18.6",
338+ "@babel/parser": "^7.20.7",
339+ "@babel/types": "^7.20.7"
340+ },
341+ "engines": {
342+ "node": ">=6.9.0"
343+ }
344+ },
345+ "node_modules/@babel/traverse": {
346+ "version": "7.20.7",
347+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.7.tgz",
348+ "integrity": "sha512-xueOL5+ZKX2dJbg8z8o4f4uTRTqGDRjilva9D1hiRlayJbTY8jBRL+Ph67IeRTIE439/VifHk+Z4g0SwRtQE0A==",
349+ "dev": true,
350+ "dependencies": {
351+ "@babel/code-frame": "^7.18.6",
352+ "@babel/generator": "^7.20.7",
353+ "@babel/helper-environment-visitor": "^7.18.9",
354+ "@babel/helper-function-name": "^7.19.0",
355+ "@babel/helper-hoist-variables": "^7.18.6",
356+ "@babel/helper-split-export-declaration": "^7.18.6",
357+ "@babel/parser": "^7.20.7",
358+ "@babel/types": "^7.20.7",
359+ "debug": "^4.1.0",
360+ "globals": "^11.1.0"
361+ },
362+ "engines": {
363+ "node": ">=6.9.0"
364+ }
365+ },
366+ "node_modules/@babel/types": {
367+ "version": "7.20.7",
368+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz",
369+ "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==",
370+ "dev": true,
371+ "dependencies": {
372+ "@babel/helper-string-parser": "^7.19.4",
373+ "@babel/helper-validator-identifier": "^7.19.1",
374+ "to-fast-properties": "^2.0.0"
375+ },
376+ "engines": {
377+ "node": ">=6.9.0"
378+ }
379+ },
380+ "node_modules/@esbuild/android-arm": {
381+ "version": "0.16.10",
382+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.10.tgz",
383+ "integrity": "sha512-RmJjQTRrO6VwUWDrzTBLmV4OJZTarYsiepLGlF2rYTVB701hSorPywPGvP6d8HCuuRibyXa5JX4s3jN2kHEtjQ==",
384+ "cpu": [
385+ "arm"
386+ ],
387+ "dev": true,
388+ "optional": true,
389+ "os": [
390+ "android"
391+ ],
392+ "engines": {
393+ "node": ">=12"
394+ }
395+ },
396+ "node_modules/@esbuild/android-arm64": {
397+ "version": "0.16.10",
398+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.10.tgz",
399+ "integrity": "sha512-47Y+NwVKTldTlDhSgJHZ/RpvBQMUDG7eKihqaF/u6g7s0ZPz4J1vy8A3rwnnUOF2CuDn7w7Gj/QcMoWz3U3SJw==",
400+ "cpu": [
401+ "arm64"
402+ ],
403+ "dev": true,
404+ "optional": true,
405+ "os": [
406+ "android"
407+ ],
408+ "engines": {
409+ "node": ">=12"
410+ }
411+ },
412+ "node_modules/@esbuild/android-x64": {
413+ "version": "0.16.10",
414+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.10.tgz",
415+ "integrity": "sha512-C4PfnrBMcuAcOurQzpF1tTtZz94IXO5JmICJJ3NFJRHbXXsQUg9RFG45KvydKqtFfBaFLCHpduUkUfXwIvGnRg==",
416+ "cpu": [
417+ "x64"
418+ ],
419+ "dev": true,
420+ "optional": true,
421+ "os": [
422+ "android"
423+ ],
424+ "engines": {
425+ "node": ">=12"
426+ }
427+ },
428+ "node_modules/@esbuild/darwin-arm64": {
429+ "version": "0.16.10",
430+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.10.tgz",
431+ "integrity": "sha512-bH/bpFwldyOKdi9HSLCLhhKeVgRYr9KblchwXgY2NeUHBB/BzTUHtUSBgGBmpydB1/4E37m+ggXXfSrnD7/E7g==",
432+ "cpu": [
433+ "arm64"
434+ ],
435+ "dev": true,
436+ "optional": true,
437+ "os": [
438+ "darwin"
439+ ],
440+ "engines": {
441+ "node": ">=12"
442+ }
443+ },
444+ "node_modules/@esbuild/darwin-x64": {
445+ "version": "0.16.10",
446+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.10.tgz",
447+ "integrity": "sha512-OXt7ijoLuy+AjDSKQWu+KdDFMBbdeaL6wtgMKtDUXKWHiAMKHan5+R1QAG6HD4+K0nnOvEJXKHeA9QhXNAjOTQ==",
448+ "cpu": [
449+ "x64"
450+ ],
451+ "dev": true,
452+ "optional": true,
453+ "os": [
454+ "darwin"
455+ ],
456+ "engines": {
457+ "node": ">=12"
458+ }
459+ },
460+ "node_modules/@esbuild/freebsd-arm64": {
461+ "version": "0.16.10",
462+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.10.tgz",
463+ "integrity": "sha512-shSQX/3GHuspE3Uxtq5kcFG/zqC+VuMnJkqV7LczO41cIe6CQaXHD3QdMLA4ziRq/m0vZo7JdterlgbmgNIAlQ==",
464+ "cpu": [
465+ "arm64"
466+ ],
467+ "dev": true,
468+ "optional": true,
469+ "os": [
470+ "freebsd"
471+ ],
472+ "engines": {
473+ "node": ">=12"
474+ }
475+ },
476+ "node_modules/@esbuild/freebsd-x64": {
477+ "version": "0.16.10",
478+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.10.tgz",
479+ "integrity": "sha512-5YVc1zdeaJGASijZmTzSO4h6uKzsQGG3pkjI6fuXvolhm3hVRhZwnHJkforaZLmzvNv5Tb7a3QL2FAVmrgySIA==",
480+ "cpu": [
481+ "x64"
482+ ],
483+ "dev": true,
484+ "optional": true,
485+ "os": [
486+ "freebsd"
487+ ],
488+ "engines": {
489+ "node": ">=12"
490+ }
491+ },
492+ "node_modules/@esbuild/linux-arm": {
493+ "version": "0.16.10",
494+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.10.tgz",
495+ "integrity": "sha512-c360287ZWI2miBnvIj23bPyVctgzeMT2kQKR+x94pVqIN44h3GF8VMEs1SFPH1UgyDr3yBbx3vowDS1SVhyVhA==",
496+ "cpu": [
497+ "arm"
498+ ],
499+ "dev": true,
500+ "optional": true,
501+ "os": [
502+ "linux"
503+ ],
504+ "engines": {
505+ "node": ">=12"
506+ }
507+ },
508+ "node_modules/@esbuild/linux-arm64": {
509+ "version": "0.16.10",
510+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.10.tgz",
511+ "integrity": "sha512-2aqeNVxIaRfPcIaMZIFoblLh588sWyCbmj1HHCCs9WmeNWm+EIN0SmvsmPvTa/TsNZFKnxTcvkX2eszTcCqIrA==",
512+ "cpu": [
513+ "arm64"
514+ ],
515+ "dev": true,
516+ "optional": true,
517+ "os": [
518+ "linux"
519+ ],
520+ "engines": {
521+ "node": ">=12"
522+ }
523+ },
524+ "node_modules/@esbuild/linux-ia32": {
525+ "version": "0.16.10",
526+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.10.tgz",
527+ "integrity": "sha512-sqMIEWeyrLGU7J5RB5fTkLRIFwsgsQ7ieWXlDLEmC2HblPYGb3AucD7inw2OrKFpRPKsec1l+lssiM3+NV5aOw==",
528+ "cpu": [
529+ "ia32"
530+ ],
531+ "dev": true,
532+ "optional": true,
533+ "os": [
534+ "linux"
535+ ],
536+ "engines": {
537+ "node": ">=12"
538+ }
539+ },
540+ "node_modules/@esbuild/linux-loong64": {
541+ "version": "0.16.10",
542+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.10.tgz",
543+ "integrity": "sha512-O7Pd5hLEtTg37NC73pfhUOGTjx/+aXu5YoSq3ahCxcN7Bcr2F47mv+kG5t840thnsEzrv0oB70+LJu3gUgchvg==",
544+ "cpu": [
545+ "loong64"
546+ ],
547+ "dev": true,
548+ "optional": true,
549+ "os": [
550+ "linux"
551+ ],
552+ "engines": {
553+ "node": ">=12"
554+ }
555+ },
556+ "node_modules/@esbuild/linux-mips64el": {
557+ "version": "0.16.10",
558+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.10.tgz",
559+ "integrity": "sha512-FN8mZOH7531iPHM0kaFhAOqqNHoAb6r/YHW2ZIxNi0a85UBi2DO4Vuyn7t1p4UN8a4LoAnLOT1PqNgHkgBJgbA==",
560+ "cpu": [
561+ "mips64el"
562+ ],
563+ "dev": true,
564+ "optional": true,
565+ "os": [
566+ "linux"
567+ ],
568+ "engines": {
569+ "node": ">=12"
570+ }
571+ },
572+ "node_modules/@esbuild/linux-ppc64": {
573+ "version": "0.16.10",
574+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.10.tgz",
575+ "integrity": "sha512-Dg9RiqdvHOAWnOKIOTsIx8dFX9EDlY2IbPEY7YFzchrCiTZmMkD7jWA9UdZbNUygPjdmQBVPRCrLydReFlX9yg==",
576+ "cpu": [
577+ "ppc64"
578+ ],
579+ "dev": true,
580+ "optional": true,
581+ "os": [
582+ "linux"
583+ ],
584+ "engines": {
585+ "node": ">=12"
586+ }
587+ },
588+ "node_modules/@esbuild/linux-riscv64": {
589+ "version": "0.16.10",
590+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.10.tgz",
591+ "integrity": "sha512-XMqtpjwzbmlar0BJIxmzu/RZ7EWlfVfH68Vadrva0Wj5UKOdKvqskuev2jY2oPV3aoQUyXwnMbMrFmloO2GfAw==",
592+ "cpu": [
593+ "riscv64"
594+ ],
595+ "dev": true,
596+ "optional": true,
597+ "os": [
598+ "linux"
599+ ],
600+ "engines": {
601+ "node": ">=12"
602+ }
603+ },
604+ "node_modules/@esbuild/linux-s390x": {
605+ "version": "0.16.10",
606+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.10.tgz",
607+ "integrity": "sha512-fu7XtnoeRNFMx8DjK3gPWpFBDM2u5ba+FYwg27SjMJwKvJr4bDyKz5c+FLXLUSSAkMAt/UL+cUbEbra+rYtUgw==",
608+ "cpu": [
609+ "s390x"
610+ ],
611+ "dev": true,
612+ "optional": true,
613+ "os": [
614+ "linux"
615+ ],
616+ "engines": {
617+ "node": ">=12"
618+ }
619+ },
620+ "node_modules/@esbuild/linux-x64": {
621+ "version": "0.16.10",
622+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.10.tgz",
623+ "integrity": "sha512-61lcjVC/RldNNMUzQQdyCWjCxp9YLEQgIxErxU9XluX7juBdGKb0pvddS0vPNuCvotRbzijZ1pzII+26haWzbA==",
624+ "cpu": [
625+ "x64"
626+ ],
627+ "dev": true,
628+ "optional": true,
629+ "os": [
630+ "linux"
631+ ],
632+ "engines": {
633+ "node": ">=12"
634+ }
635+ },
636+ "node_modules/@esbuild/netbsd-x64": {
637+ "version": "0.16.10",
638+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.10.tgz",
639+ "integrity": "sha512-JeZXCX3viSA9j4HqSoygjssdqYdfHd6yCFWyfSekLbz4Ef+D2EjvsN02ZQPwYl5a5gg/ehdHgegHhlfOFP0HCA==",
640+ "cpu": [
641+ "x64"
642+ ],
643+ "dev": true,
644+ "optional": true,
645+ "os": [
646+ "netbsd"
647+ ],
648+ "engines": {
649+ "node": ">=12"
650+ }
651+ },
652+ "node_modules/@esbuild/openbsd-x64": {
653+ "version": "0.16.10",
654+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.10.tgz",
655+ "integrity": "sha512-3qpxQKuEVIIg8SebpXsp82OBrqjPV/OwNWmG+TnZDr3VGyChNnGMHccC1xkbxCHDQNnnXjxhMQNyHmdFJbmbRA==",
656+ "cpu": [
657+ "x64"
658+ ],
659+ "dev": true,
660+ "optional": true,
661+ "os": [
662+ "openbsd"
663+ ],
664+ "engines": {
665+ "node": ">=12"
666+ }
667+ },
668+ "node_modules/@esbuild/sunos-x64": {
669+ "version": "0.16.10",
670+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.10.tgz",
671+ "integrity": "sha512-z+q0xZ+et/7etz7WoMyXTHZ1rB8PMSNp/FOqURLJLOPb3GWJ2aj4oCqFCjPwEbW1rsT7JPpxeH/DwGAWk/I1Bg==",
672+ "cpu": [
673+ "x64"
674+ ],
675+ "dev": true,
676+ "optional": true,
677+ "os": [
678+ "sunos"
679+ ],
680+ "engines": {
681+ "node": ">=12"
682+ }
683+ },
684+ "node_modules/@esbuild/win32-arm64": {
685+ "version": "0.16.10",
686+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.10.tgz",
687+ "integrity": "sha512-+YYu5sbQ9npkNT9Dec+tn1F/kjg6SMgr6bfi/6FpXYZvCRfu2YFPZGb+3x8K30s8eRxFpoG4sGhiSUkr1xbHEw==",
688+ "cpu": [
689+ "arm64"
690+ ],
691+ "dev": true,
692+ "optional": true,
693+ "os": [
694+ "win32"
695+ ],
696+ "engines": {
697+ "node": ">=12"
698+ }
699+ },
700+ "node_modules/@esbuild/win32-ia32": {
701+ "version": "0.16.10",
702+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.10.tgz",
703+ "integrity": "sha512-Aw7Fupk7XNehR1ftHGYwUteyJ2q+em/aE+fVU3YMTBN2V5A7Z4aVCSV+SvCp9HIIHZavPFBpbdP3VfjQpdf6Xg==",
704+ "cpu": [
705+ "ia32"
706+ ],
707+ "dev": true,
708+ "optional": true,
709+ "os": [
710+ "win32"
711+ ],
712+ "engines": {
713+ "node": ">=12"
714+ }
715+ },
716+ "node_modules/@esbuild/win32-x64": {
717+ "version": "0.16.10",
718+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.10.tgz",
719+ "integrity": "sha512-qddWullt3sC1EIpfHvCRBq3H4g3L86DZpD6n8k2XFjFVyp01D++uNbN1hT/JRsHxTbyyemZcpwL5aRlJwc/zFw==",
720+ "cpu": [
721+ "x64"
722+ ],
723+ "dev": true,
724+ "optional": true,
725+ "os": [
726+ "win32"
727+ ],
728+ "engines": {
729+ "node": ">=12"
730+ }
731+ },
732+ "node_modules/@jridgewell/gen-mapping": {
733+ "version": "0.1.1",
734+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
735+ "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
736+ "dev": true,
737+ "dependencies": {
738+ "@jridgewell/set-array": "^1.0.0",
739+ "@jridgewell/sourcemap-codec": "^1.4.10"
740+ },
741+ "engines": {
742+ "node": ">=6.0.0"
743+ }
744+ },
745+ "node_modules/@jridgewell/resolve-uri": {
746+ "version": "3.1.0",
747+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
748+ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
749+ "dev": true,
750+ "engines": {
751+ "node": ">=6.0.0"
752+ }
753+ },
754+ "node_modules/@jridgewell/set-array": {
755+ "version": "1.1.2",
756+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
757+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
758+ "dev": true,
759+ "engines": {
760+ "node": ">=6.0.0"
761+ }
762+ },
763+ "node_modules/@jridgewell/sourcemap-codec": {
764+ "version": "1.4.14",
765+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
766+ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
767+ "dev": true
768+ },
769+ "node_modules/@jridgewell/trace-mapping": {
770+ "version": "0.3.17",
771+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
772+ "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
773+ "dev": true,
774+ "dependencies": {
775+ "@jridgewell/resolve-uri": "3.1.0",
776+ "@jridgewell/sourcemap-codec": "1.4.14"
777+ }
778+ },
779+ "node_modules/@nodelib/fs.scandir": {
780+ "version": "2.1.5",
781+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
782+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
783+ "dev": true,
784+ "dependencies": {
785+ "@nodelib/fs.stat": "2.0.5",
786+ "run-parallel": "^1.1.9"
787+ },
788+ "engines": {
789+ "node": ">= 8"
790+ }
791+ },
792+ "node_modules/@nodelib/fs.stat": {
793+ "version": "2.0.5",
794+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
795+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
796+ "dev": true,
797+ "engines": {
798+ "node": ">= 8"
799+ }
800+ },
801+ "node_modules/@nodelib/fs.walk": {
802+ "version": "1.2.8",
803+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
804+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
805+ "dev": true,
806+ "dependencies": {
807+ "@nodelib/fs.scandir": "2.1.5",
808+ "fastq": "^1.6.0"
809+ },
810+ "engines": {
811+ "node": ">= 8"
812+ }
813+ },
814+ "node_modules/@types/prop-types": {
815+ "version": "15.7.5",
816+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
817+ "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==",
818+ "dev": true
819+ },
820+ "node_modules/@types/react": {
821+ "version": "18.0.26",
822+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.26.tgz",
823+ "integrity": "sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==",
824+ "dev": true,
825+ "dependencies": {
826+ "@types/prop-types": "*",
827+ "@types/scheduler": "*",
828+ "csstype": "^3.0.2"
829+ }
830+ },
831+ "node_modules/@types/react-dom": {
832+ "version": "18.0.9",
833+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.9.tgz",
834+ "integrity": "sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==",
835+ "dev": true,
836+ "dependencies": {
837+ "@types/react": "*"
838+ }
839+ },
840+ "node_modules/@types/scheduler": {
841+ "version": "0.16.2",
842+ "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
843+ "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==",
844+ "dev": true
845+ },
846+ "node_modules/@vitejs/plugin-react": {
847+ "version": "3.0.0",
848+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.0.0.tgz",
849+ "integrity": "sha512-1mvyPc0xYW5G8CHQvJIJXLoMjl5Ct3q2g5Y2s6Ccfgwm45y48LBvsla7az+GkkAtYikWQ4Lxqcsq5RHLcZgtNQ==",
850+ "dev": true,
851+ "dependencies": {
852+ "@babel/core": "^7.20.5",
853+ "@babel/plugin-transform-react-jsx-self": "^7.18.6",
854+ "@babel/plugin-transform-react-jsx-source": "^7.19.6",
855+ "magic-string": "^0.27.0",
856+ "react-refresh": "^0.14.0"
857+ },
858+ "engines": {
859+ "node": "^14.18.0 || >=16.0.0"
860+ },
861+ "peerDependencies": {
862+ "vite": "^4.0.0"
863+ }
864+ },
865+ "node_modules/acorn": {
866+ "version": "7.4.1",
867+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
868+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
869+ "dev": true,
870+ "bin": {
871+ "acorn": "bin/acorn"
872+ },
873+ "engines": {
874+ "node": ">=0.4.0"
875+ }
876+ },
877+ "node_modules/acorn-node": {
878+ "version": "1.8.2",
879+ "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
880+ "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
881+ "dev": true,
882+ "dependencies": {
883+ "acorn": "^7.0.0",
884+ "acorn-walk": "^7.0.0",
885+ "xtend": "^4.0.2"
886+ }
887+ },
888+ "node_modules/acorn-walk": {
889+ "version": "7.2.0",
890+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
891+ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
892+ "dev": true,
893+ "engines": {
894+ "node": ">=0.4.0"
895+ }
896+ },
897+ "node_modules/ansi-styles": {
898+ "version": "3.2.1",
899+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
900+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
901+ "dev": true,
902+ "dependencies": {
903+ "color-convert": "^1.9.0"
904+ },
905+ "engines": {
906+ "node": ">=4"
907+ }
908+ },
909+ "node_modules/anymatch": {
910+ "version": "3.1.3",
911+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
912+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
913+ "dev": true,
914+ "dependencies": {
915+ "normalize-path": "^3.0.0",
916+ "picomatch": "^2.0.4"
917+ },
918+ "engines": {
919+ "node": ">= 8"
920+ }
921+ },
922+ "node_modules/arg": {
923+ "version": "5.0.2",
924+ "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
925+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
926+ "dev": true
927+ },
928+ "node_modules/autoprefixer": {
929+ "version": "10.4.13",
930+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz",
931+ "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==",
932+ "dev": true,
933+ "funding": [
934+ {
935+ "type": "opencollective",
936+ "url": "https://opencollective.com/postcss/"
937+ },
938+ {
939+ "type": "tidelift",
940+ "url": "https://tidelift.com/funding/github/npm/autoprefixer"
941+ }
942+ ],
943+ "dependencies": {
944+ "browserslist": "^4.21.4",
945+ "caniuse-lite": "^1.0.30001426",
946+ "fraction.js": "^4.2.0",
947+ "normalize-range": "^0.1.2",
948+ "picocolors": "^1.0.0",
949+ "postcss-value-parser": "^4.2.0"
950+ },
951+ "bin": {
952+ "autoprefixer": "bin/autoprefixer"
953+ },
954+ "engines": {
955+ "node": "^10 || ^12 || >=14"
956+ },
957+ "peerDependencies": {
958+ "postcss": "^8.1.0"
959+ }
960+ },
961+ "node_modules/binary-extensions": {
962+ "version": "2.2.0",
963+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
964+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
965+ "dev": true,
966+ "engines": {
967+ "node": ">=8"
968+ }
969+ },
970+ "node_modules/braces": {
971+ "version": "3.0.2",
972+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
973+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
974+ "dev": true,
975+ "dependencies": {
976+ "fill-range": "^7.0.1"
977+ },
978+ "engines": {
979+ "node": ">=8"
980+ }
981+ },
982+ "node_modules/browserslist": {
983+ "version": "4.21.4",
984+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
985+ "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
986+ "dev": true,
987+ "funding": [
988+ {
989+ "type": "opencollective",
990+ "url": "https://opencollective.com/browserslist"
991+ },
992+ {
993+ "type": "tidelift",
994+ "url": "https://tidelift.com/funding/github/npm/browserslist"
995+ }
996+ ],
997+ "dependencies": {
998+ "caniuse-lite": "^1.0.30001400",
999+ "electron-to-chromium": "^1.4.251",
1000+ "node-releases": "^2.0.6",
1001+ "update-browserslist-db": "^1.0.9"
1002+ },
1003+ "bin": {
1004+ "browserslist": "cli.js"
1005+ },
1006+ "engines": {
1007+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
1008+ }
1009+ },
1010+ "node_modules/camelcase-css": {
1011+ "version": "2.0.1",
1012+ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
1013+ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
1014+ "dev": true,
1015+ "engines": {
1016+ "node": ">= 6"
1017+ }
1018+ },
1019+ "node_modules/caniuse-lite": {
1020+ "version": "1.0.30001441",
1021+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz",
1022+ "integrity": "sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==",
1023+ "dev": true,
1024+ "funding": [
1025+ {
1026+ "type": "opencollective",
1027+ "url": "https://opencollective.com/browserslist"
1028+ },
1029+ {
1030+ "type": "tidelift",
1031+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
1032+ }
1033+ ]
1034+ },
1035+ "node_modules/chalk": {
1036+ "version": "2.4.2",
1037+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
1038+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
1039+ "dev": true,
1040+ "dependencies": {
1041+ "ansi-styles": "^3.2.1",
1042+ "escape-string-regexp": "^1.0.5",
1043+ "supports-color": "^5.3.0"
1044+ },
1045+ "engines": {
1046+ "node": ">=4"
1047+ }
1048+ },
1049+ "node_modules/chokidar": {
1050+ "version": "3.5.3",
1051+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
1052+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
1053+ "dev": true,
1054+ "funding": [
1055+ {
1056+ "type": "individual",
1057+ "url": "https://paulmillr.com/funding/"
1058+ }
1059+ ],
1060+ "dependencies": {
1061+ "anymatch": "~3.1.2",
1062+ "braces": "~3.0.2",
1063+ "glob-parent": "~5.1.2",
1064+ "is-binary-path": "~2.1.0",
1065+ "is-glob": "~4.0.1",
1066+ "normalize-path": "~3.0.0",
1067+ "readdirp": "~3.6.0"
1068+ },
1069+ "engines": {
1070+ "node": ">= 8.10.0"
1071+ },
1072+ "optionalDependencies": {
1073+ "fsevents": "~2.3.2"
1074+ }
1075+ },
1076+ "node_modules/chokidar/node_modules/glob-parent": {
1077+ "version": "5.1.2",
1078+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
1079+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
1080+ "dev": true,
1081+ "dependencies": {
1082+ "is-glob": "^4.0.1"
1083+ },
1084+ "engines": {
1085+ "node": ">= 6"
1086+ }
1087+ },
1088+ "node_modules/color-convert": {
1089+ "version": "1.9.3",
1090+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
1091+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
1092+ "dev": true,
1093+ "dependencies": {
1094+ "color-name": "1.1.3"
1095+ }
1096+ },
1097+ "node_modules/color-name": {
1098+ "version": "1.1.3",
1099+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
1100+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
1101+ "dev": true
1102+ },
1103+ "node_modules/convert-source-map": {
1104+ "version": "1.9.0",
1105+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
1106+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
1107+ "dev": true
1108+ },
1109+ "node_modules/cssesc": {
1110+ "version": "3.0.0",
1111+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
1112+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
1113+ "dev": true,
1114+ "bin": {
1115+ "cssesc": "bin/cssesc"
1116+ },
1117+ "engines": {
1118+ "node": ">=4"
1119+ }
1120+ },
1121+ "node_modules/csstype": {
1122+ "version": "3.1.1",
1123+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
1124+ "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==",
1125+ "dev": true
1126+ },
1127+ "node_modules/debug": {
1128+ "version": "4.3.4",
1129+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
1130+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
1131+ "dev": true,
1132+ "dependencies": {
1133+ "ms": "2.1.2"
1134+ },
1135+ "engines": {
1136+ "node": ">=6.0"
1137+ },
1138+ "peerDependenciesMeta": {
1139+ "supports-color": {
1140+ "optional": true
1141+ }
1142+ }
1143+ },
1144+ "node_modules/defined": {
1145+ "version": "1.0.1",
1146+ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz",
1147+ "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==",
1148+ "dev": true,
1149+ "funding": {
1150+ "url": "https://github.com/sponsors/ljharb"
1151+ }
1152+ },
1153+ "node_modules/detective": {
1154+ "version": "5.2.1",
1155+ "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
1156+ "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
1157+ "dev": true,
1158+ "dependencies": {
1159+ "acorn-node": "^1.8.2",
1160+ "defined": "^1.0.0",
1161+ "minimist": "^1.2.6"
1162+ },
1163+ "bin": {
1164+ "detective": "bin/detective.js"
1165+ },
1166+ "engines": {
1167+ "node": ">=0.8.0"
1168+ }
1169+ },
1170+ "node_modules/didyoumean": {
1171+ "version": "1.2.2",
1172+ "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
1173+ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
1174+ "dev": true
1175+ },
1176+ "node_modules/dlv": {
1177+ "version": "1.1.3",
1178+ "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
1179+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
1180+ "dev": true
1181+ },
1182+ "node_modules/electron-to-chromium": {
1183+ "version": "1.4.284",
1184+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
1185+ "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==",
1186+ "dev": true
1187+ },
1188+ "node_modules/esbuild": {
1189+ "version": "0.16.10",
1190+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.10.tgz",
1191+ "integrity": "sha512-z5dIViHoVnw2l+NCJ3zj5behdXjYvXne9gL18OOivCadXDUhyDkeSvEtLcGVAJW2fNmh33TDUpsi704XYlDodw==",
1192+ "dev": true,
1193+ "hasInstallScript": true,
1194+ "bin": {
1195+ "esbuild": "bin/esbuild"
1196+ },
1197+ "engines": {
1198+ "node": ">=12"
1199+ },
1200+ "optionalDependencies": {
1201+ "@esbuild/android-arm": "0.16.10",
1202+ "@esbuild/android-arm64": "0.16.10",
1203+ "@esbuild/android-x64": "0.16.10",
1204+ "@esbuild/darwin-arm64": "0.16.10",
1205+ "@esbuild/darwin-x64": "0.16.10",
1206+ "@esbuild/freebsd-arm64": "0.16.10",
1207+ "@esbuild/freebsd-x64": "0.16.10",
1208+ "@esbuild/linux-arm": "0.16.10",
1209+ "@esbuild/linux-arm64": "0.16.10",
1210+ "@esbuild/linux-ia32": "0.16.10",
1211+ "@esbuild/linux-loong64": "0.16.10",
1212+ "@esbuild/linux-mips64el": "0.16.10",
1213+ "@esbuild/linux-ppc64": "0.16.10",
1214+ "@esbuild/linux-riscv64": "0.16.10",
1215+ "@esbuild/linux-s390x": "0.16.10",
1216+ "@esbuild/linux-x64": "0.16.10",
1217+ "@esbuild/netbsd-x64": "0.16.10",
1218+ "@esbuild/openbsd-x64": "0.16.10",
1219+ "@esbuild/sunos-x64": "0.16.10",
1220+ "@esbuild/win32-arm64": "0.16.10",
1221+ "@esbuild/win32-ia32": "0.16.10",
1222+ "@esbuild/win32-x64": "0.16.10"
1223+ }
1224+ },
1225+ "node_modules/escalade": {
1226+ "version": "3.1.1",
1227+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
1228+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
1229+ "dev": true,
1230+ "engines": {
1231+ "node": ">=6"
1232+ }
1233+ },
1234+ "node_modules/escape-string-regexp": {
1235+ "version": "1.0.5",
1236+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1237+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
1238+ "dev": true,
1239+ "engines": {
1240+ "node": ">=0.8.0"
1241+ }
1242+ },
1243+ "node_modules/fast-glob": {
1244+ "version": "3.2.12",
1245+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
1246+ "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
1247+ "dev": true,
1248+ "dependencies": {
1249+ "@nodelib/fs.stat": "^2.0.2",
1250+ "@nodelib/fs.walk": "^1.2.3",
1251+ "glob-parent": "^5.1.2",
1252+ "merge2": "^1.3.0",
1253+ "micromatch": "^4.0.4"
1254+ },
1255+ "engines": {
1256+ "node": ">=8.6.0"
1257+ }
1258+ },
1259+ "node_modules/fast-glob/node_modules/glob-parent": {
1260+ "version": "5.1.2",
1261+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
1262+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
1263+ "dev": true,
1264+ "dependencies": {
1265+ "is-glob": "^4.0.1"
1266+ },
1267+ "engines": {
1268+ "node": ">= 6"
1269+ }
1270+ },
1271+ "node_modules/fastq": {
1272+ "version": "1.14.0",
1273+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz",
1274+ "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==",
1275+ "dev": true,
1276+ "dependencies": {
1277+ "reusify": "^1.0.4"
1278+ }
1279+ },
1280+ "node_modules/fill-range": {
1281+ "version": "7.0.1",
1282+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
1283+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
1284+ "dev": true,
1285+ "dependencies": {
1286+ "to-regex-range": "^5.0.1"
1287+ },
1288+ "engines": {
1289+ "node": ">=8"
1290+ }
1291+ },
1292+ "node_modules/fraction.js": {
1293+ "version": "4.2.0",
1294+ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
1295+ "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
1296+ "dev": true,
1297+ "engines": {
1298+ "node": "*"
1299+ },
1300+ "funding": {
1301+ "type": "patreon",
1302+ "url": "https://www.patreon.com/infusion"
1303+ }
1304+ },
1305+ "node_modules/fsevents": {
1306+ "version": "2.3.2",
1307+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
1308+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
1309+ "dev": true,
1310+ "hasInstallScript": true,
1311+ "optional": true,
1312+ "os": [
1313+ "darwin"
1314+ ],
1315+ "engines": {
1316+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1317+ }
1318+ },
1319+ "node_modules/function-bind": {
1320+ "version": "1.1.1",
1321+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1322+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
1323+ "dev": true
1324+ },
1325+ "node_modules/gensync": {
1326+ "version": "1.0.0-beta.2",
1327+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
1328+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
1329+ "dev": true,
1330+ "engines": {
1331+ "node": ">=6.9.0"
1332+ }
1333+ },
1334+ "node_modules/glob-parent": {
1335+ "version": "6.0.2",
1336+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
1337+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
1338+ "dev": true,
1339+ "dependencies": {
1340+ "is-glob": "^4.0.3"
1341+ },
1342+ "engines": {
1343+ "node": ">=10.13.0"
1344+ }
1345+ },
1346+ "node_modules/globals": {
1347+ "version": "11.12.0",
1348+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
1349+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
1350+ "dev": true,
1351+ "engines": {
1352+ "node": ">=4"
1353+ }
1354+ },
1355+ "node_modules/has": {
1356+ "version": "1.0.3",
1357+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1358+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1359+ "dev": true,
1360+ "dependencies": {
1361+ "function-bind": "^1.1.1"
1362+ },
1363+ "engines": {
1364+ "node": ">= 0.4.0"
1365+ }
1366+ },
1367+ "node_modules/has-flag": {
1368+ "version": "3.0.0",
1369+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
1370+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
1371+ "dev": true,
1372+ "engines": {
1373+ "node": ">=4"
1374+ }
1375+ },
1376+ "node_modules/is-binary-path": {
1377+ "version": "2.1.0",
1378+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
1379+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
1380+ "dev": true,
1381+ "dependencies": {
1382+ "binary-extensions": "^2.0.0"
1383+ },
1384+ "engines": {
1385+ "node": ">=8"
1386+ }
1387+ },
1388+ "node_modules/is-core-module": {
1389+ "version": "2.11.0",
1390+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
1391+ "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
1392+ "dev": true,
1393+ "dependencies": {
1394+ "has": "^1.0.3"
1395+ },
1396+ "funding": {
1397+ "url": "https://github.com/sponsors/ljharb"
1398+ }
1399+ },
1400+ "node_modules/is-extglob": {
1401+ "version": "2.1.1",
1402+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1403+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
1404+ "dev": true,
1405+ "engines": {
1406+ "node": ">=0.10.0"
1407+ }
1408+ },
1409+ "node_modules/is-glob": {
1410+ "version": "4.0.3",
1411+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
1412+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
1413+ "dev": true,
1414+ "dependencies": {
1415+ "is-extglob": "^2.1.1"
1416+ },
1417+ "engines": {
1418+ "node": ">=0.10.0"
1419+ }
1420+ },
1421+ "node_modules/is-number": {
1422+ "version": "7.0.0",
1423+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
1424+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
1425+ "dev": true,
1426+ "engines": {
1427+ "node": ">=0.12.0"
1428+ }
1429+ },
1430+ "node_modules/js-tokens": {
1431+ "version": "4.0.0",
1432+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
1433+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
1434+ },
1435+ "node_modules/jsesc": {
1436+ "version": "2.5.2",
1437+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
1438+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
1439+ "dev": true,
1440+ "bin": {
1441+ "jsesc": "bin/jsesc"
1442+ },
1443+ "engines": {
1444+ "node": ">=4"
1445+ }
1446+ },
1447+ "node_modules/json5": {
1448+ "version": "2.2.2",
1449+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.2.tgz",
1450+ "integrity": "sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==",
1451+ "dev": true,
1452+ "bin": {
1453+ "json5": "lib/cli.js"
1454+ },
1455+ "engines": {
1456+ "node": ">=6"
1457+ }
1458+ },
1459+ "node_modules/lilconfig": {
1460+ "version": "2.0.6",
1461+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
1462+ "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==",
1463+ "dev": true,
1464+ "engines": {
1465+ "node": ">=10"
1466+ }
1467+ },
1468+ "node_modules/loose-envify": {
1469+ "version": "1.4.0",
1470+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
1471+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
1472+ "dependencies": {
1473+ "js-tokens": "^3.0.0 || ^4.0.0"
1474+ },
1475+ "bin": {
1476+ "loose-envify": "cli.js"
1477+ }
1478+ },
1479+ "node_modules/lru-cache": {
1480+ "version": "5.1.1",
1481+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
1482+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
1483+ "dev": true,
1484+ "dependencies": {
1485+ "yallist": "^3.0.2"
1486+ }
1487+ },
1488+ "node_modules/magic-string": {
1489+ "version": "0.27.0",
1490+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz",
1491+ "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==",
1492+ "dev": true,
1493+ "dependencies": {
1494+ "@jridgewell/sourcemap-codec": "^1.4.13"
1495+ },
1496+ "engines": {
1497+ "node": ">=12"
1498+ }
1499+ },
1500+ "node_modules/merge2": {
1501+ "version": "1.4.1",
1502+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
1503+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
1504+ "dev": true,
1505+ "engines": {
1506+ "node": ">= 8"
1507+ }
1508+ },
1509+ "node_modules/micromatch": {
1510+ "version": "4.0.5",
1511+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
1512+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
1513+ "dev": true,
1514+ "dependencies": {
1515+ "braces": "^3.0.2",
1516+ "picomatch": "^2.3.1"
1517+ },
1518+ "engines": {
1519+ "node": ">=8.6"
1520+ }
1521+ },
1522+ "node_modules/minimist": {
1523+ "version": "1.2.7",
1524+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
1525+ "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
1526+ "dev": true,
1527+ "funding": {
1528+ "url": "https://github.com/sponsors/ljharb"
1529+ }
1530+ },
1531+ "node_modules/ms": {
1532+ "version": "2.1.2",
1533+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1534+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
1535+ "dev": true
1536+ },
1537+ "node_modules/nanoid": {
1538+ "version": "3.3.4",
1539+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
1540+ "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
1541+ "dev": true,
1542+ "bin": {
1543+ "nanoid": "bin/nanoid.cjs"
1544+ },
1545+ "engines": {
1546+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
1547+ }
1548+ },
1549+ "node_modules/node-releases": {
1550+ "version": "2.0.8",
1551+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz",
1552+ "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==",
1553+ "dev": true
1554+ },
1555+ "node_modules/normalize-path": {
1556+ "version": "3.0.0",
1557+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
1558+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
1559+ "dev": true,
1560+ "engines": {
1561+ "node": ">=0.10.0"
1562+ }
1563+ },
1564+ "node_modules/normalize-range": {
1565+ "version": "0.1.2",
1566+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
1567+ "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
1568+ "dev": true,
1569+ "engines": {
1570+ "node": ">=0.10.0"
1571+ }
1572+ },
1573+ "node_modules/object-hash": {
1574+ "version": "3.0.0",
1575+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
1576+ "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
1577+ "dev": true,
1578+ "engines": {
1579+ "node": ">= 6"
1580+ }
1581+ },
1582+ "node_modules/path-parse": {
1583+ "version": "1.0.7",
1584+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
1585+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
1586+ "dev": true
1587+ },
1588+ "node_modules/picocolors": {
1589+ "version": "1.0.0",
1590+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
1591+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
1592+ "dev": true
1593+ },
1594+ "node_modules/picomatch": {
1595+ "version": "2.3.1",
1596+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
1597+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
1598+ "dev": true,
1599+ "engines": {
1600+ "node": ">=8.6"
1601+ },
1602+ "funding": {
1603+ "url": "https://github.com/sponsors/jonschlinkert"
1604+ }
1605+ },
1606+ "node_modules/pify": {
1607+ "version": "2.3.0",
1608+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
1609+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
1610+ "dev": true,
1611+ "engines": {
1612+ "node": ">=0.10.0"
1613+ }
1614+ },
1615+ "node_modules/postcss": {
1616+ "version": "8.4.20",
1617+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz",
1618+ "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==",
1619+ "dev": true,
1620+ "funding": [
1621+ {
1622+ "type": "opencollective",
1623+ "url": "https://opencollective.com/postcss/"
1624+ },
1625+ {
1626+ "type": "tidelift",
1627+ "url": "https://tidelift.com/funding/github/npm/postcss"
1628+ }
1629+ ],
1630+ "dependencies": {
1631+ "nanoid": "^3.3.4",
1632+ "picocolors": "^1.0.0",
1633+ "source-map-js": "^1.0.2"
1634+ },
1635+ "engines": {
1636+ "node": "^10 || ^12 || >=14"
1637+ }
1638+ },
1639+ "node_modules/postcss-import": {
1640+ "version": "14.1.0",
1641+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz",
1642+ "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==",
1643+ "dev": true,
1644+ "dependencies": {
1645+ "postcss-value-parser": "^4.0.0",
1646+ "read-cache": "^1.0.0",
1647+ "resolve": "^1.1.7"
1648+ },
1649+ "engines": {
1650+ "node": ">=10.0.0"
1651+ },
1652+ "peerDependencies": {
1653+ "postcss": "^8.0.0"
1654+ }
1655+ },
1656+ "node_modules/postcss-js": {
1657+ "version": "4.0.0",
1658+ "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz",
1659+ "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==",
1660+ "dev": true,
1661+ "dependencies": {
1662+ "camelcase-css": "^2.0.1"
1663+ },
1664+ "engines": {
1665+ "node": "^12 || ^14 || >= 16"
1666+ },
1667+ "funding": {
1668+ "type": "opencollective",
1669+ "url": "https://opencollective.com/postcss/"
1670+ },
1671+ "peerDependencies": {
1672+ "postcss": "^8.3.3"
1673+ }
1674+ },
1675+ "node_modules/postcss-load-config": {
1676+ "version": "3.1.4",
1677+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
1678+ "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
1679+ "dev": true,
1680+ "dependencies": {
1681+ "lilconfig": "^2.0.5",
1682+ "yaml": "^1.10.2"
1683+ },
1684+ "engines": {
1685+ "node": ">= 10"
1686+ },
1687+ "funding": {
1688+ "type": "opencollective",
1689+ "url": "https://opencollective.com/postcss/"
1690+ },
1691+ "peerDependencies": {
1692+ "postcss": ">=8.0.9",
1693+ "ts-node": ">=9.0.0"
1694+ },
1695+ "peerDependenciesMeta": {
1696+ "postcss": {
1697+ "optional": true
1698+ },
1699+ "ts-node": {
1700+ "optional": true
1701+ }
1702+ }
1703+ },
1704+ "node_modules/postcss-nested": {
1705+ "version": "6.0.0",
1706+ "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz",
1707+ "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==",
1708+ "dev": true,
1709+ "dependencies": {
1710+ "postcss-selector-parser": "^6.0.10"
1711+ },
1712+ "engines": {
1713+ "node": ">=12.0"
1714+ },
1715+ "funding": {
1716+ "type": "opencollective",
1717+ "url": "https://opencollective.com/postcss/"
1718+ },
1719+ "peerDependencies": {
1720+ "postcss": "^8.2.14"
1721+ }
1722+ },
1723+ "node_modules/postcss-selector-parser": {
1724+ "version": "6.0.11",
1725+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
1726+ "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
1727+ "dev": true,
1728+ "dependencies": {
1729+ "cssesc": "^3.0.0",
1730+ "util-deprecate": "^1.0.2"
1731+ },
1732+ "engines": {
1733+ "node": ">=4"
1734+ }
1735+ },
1736+ "node_modules/postcss-value-parser": {
1737+ "version": "4.2.0",
1738+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
1739+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
1740+ "dev": true
1741+ },
1742+ "node_modules/queue-microtask": {
1743+ "version": "1.2.3",
1744+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
1745+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
1746+ "dev": true,
1747+ "funding": [
1748+ {
1749+ "type": "github",
1750+ "url": "https://github.com/sponsors/feross"
1751+ },
1752+ {
1753+ "type": "patreon",
1754+ "url": "https://www.patreon.com/feross"
1755+ },
1756+ {
1757+ "type": "consulting",
1758+ "url": "https://feross.org/support"
1759+ }
1760+ ]
1761+ },
1762+ "node_modules/quick-lru": {
1763+ "version": "5.1.1",
1764+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
1765+ "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
1766+ "dev": true,
1767+ "engines": {
1768+ "node": ">=10"
1769+ },
1770+ "funding": {
1771+ "url": "https://github.com/sponsors/sindresorhus"
1772+ }
1773+ },
1774+ "node_modules/react": {
1775+ "version": "18.2.0",
1776+ "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
1777+ "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
1778+ "dependencies": {
1779+ "loose-envify": "^1.1.0"
1780+ },
1781+ "engines": {
1782+ "node": ">=0.10.0"
1783+ }
1784+ },
1785+ "node_modules/react-dom": {
1786+ "version": "18.2.0",
1787+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
1788+ "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
1789+ "dependencies": {
1790+ "loose-envify": "^1.1.0",
1791+ "scheduler": "^0.23.0"
1792+ },
1793+ "peerDependencies": {
1794+ "react": "^18.2.0"
1795+ }
1796+ },
1797+ "node_modules/react-refresh": {
1798+ "version": "0.14.0",
1799+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz",
1800+ "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==",
1801+ "dev": true,
1802+ "engines": {
1803+ "node": ">=0.10.0"
1804+ }
1805+ },
1806+ "node_modules/read-cache": {
1807+ "version": "1.0.0",
1808+ "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
1809+ "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
1810+ "dev": true,
1811+ "dependencies": {
1812+ "pify": "^2.3.0"
1813+ }
1814+ },
1815+ "node_modules/readdirp": {
1816+ "version": "3.6.0",
1817+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
1818+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
1819+ "dev": true,
1820+ "dependencies": {
1821+ "picomatch": "^2.2.1"
1822+ },
1823+ "engines": {
1824+ "node": ">=8.10.0"
1825+ }
1826+ },
1827+ "node_modules/resolve": {
1828+ "version": "1.22.1",
1829+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
1830+ "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
1831+ "dev": true,
1832+ "dependencies": {
1833+ "is-core-module": "^2.9.0",
1834+ "path-parse": "^1.0.7",
1835+ "supports-preserve-symlinks-flag": "^1.0.0"
1836+ },
1837+ "bin": {
1838+ "resolve": "bin/resolve"
1839+ },
1840+ "funding": {
1841+ "url": "https://github.com/sponsors/ljharb"
1842+ }
1843+ },
1844+ "node_modules/reusify": {
1845+ "version": "1.0.4",
1846+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
1847+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
1848+ "dev": true,
1849+ "engines": {
1850+ "iojs": ">=1.0.0",
1851+ "node": ">=0.10.0"
1852+ }
1853+ },
1854+ "node_modules/rollup": {
1855+ "version": "3.8.0",
1856+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.8.0.tgz",
1857+ "integrity": "sha512-+UR6PnUslneJNiJfLSzy4XH6R50ZGF0MS7UCv20ftXrktF/TkvZDwiBtXX65esblLR5p8w6LmXgPwt2f2B8SoQ==",
1858+ "dev": true,
1859+ "bin": {
1860+ "rollup": "dist/bin/rollup"
1861+ },
1862+ "engines": {
1863+ "node": ">=14.18.0",
1864+ "npm": ">=8.0.0"
1865+ },
1866+ "optionalDependencies": {
1867+ "fsevents": "~2.3.2"
1868+ }
1869+ },
1870+ "node_modules/run-parallel": {
1871+ "version": "1.2.0",
1872+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
1873+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
1874+ "dev": true,
1875+ "funding": [
1876+ {
1877+ "type": "github",
1878+ "url": "https://github.com/sponsors/feross"
1879+ },
1880+ {
1881+ "type": "patreon",
1882+ "url": "https://www.patreon.com/feross"
1883+ },
1884+ {
1885+ "type": "consulting",
1886+ "url": "https://feross.org/support"
1887+ }
1888+ ],
1889+ "dependencies": {
1890+ "queue-microtask": "^1.2.2"
1891+ }
1892+ },
1893+ "node_modules/scheduler": {
1894+ "version": "0.23.0",
1895+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
1896+ "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
1897+ "dependencies": {
1898+ "loose-envify": "^1.1.0"
1899+ }
1900+ },
1901+ "node_modules/semver": {
1902+ "version": "6.3.0",
1903+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
1904+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
1905+ "dev": true,
1906+ "bin": {
1907+ "semver": "bin/semver.js"
1908+ }
1909+ },
1910+ "node_modules/source-map-js": {
1911+ "version": "1.0.2",
1912+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
1913+ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
1914+ "dev": true,
1915+ "engines": {
1916+ "node": ">=0.10.0"
1917+ }
1918+ },
1919+ "node_modules/supports-color": {
1920+ "version": "5.5.0",
1921+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
1922+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
1923+ "dev": true,
1924+ "dependencies": {
1925+ "has-flag": "^3.0.0"
1926+ },
1927+ "engines": {
1928+ "node": ">=4"
1929+ }
1930+ },
1931+ "node_modules/supports-preserve-symlinks-flag": {
1932+ "version": "1.0.0",
1933+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
1934+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
1935+ "dev": true,
1936+ "engines": {
1937+ "node": ">= 0.4"
1938+ },
1939+ "funding": {
1940+ "url": "https://github.com/sponsors/ljharb"
1941+ }
1942+ },
1943+ "node_modules/tailwindcss": {
1944+ "version": "3.2.4",
1945+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz",
1946+ "integrity": "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==",
1947+ "dev": true,
1948+ "dependencies": {
1949+ "arg": "^5.0.2",
1950+ "chokidar": "^3.5.3",
1951+ "color-name": "^1.1.4",
1952+ "detective": "^5.2.1",
1953+ "didyoumean": "^1.2.2",
1954+ "dlv": "^1.1.3",
1955+ "fast-glob": "^3.2.12",
1956+ "glob-parent": "^6.0.2",
1957+ "is-glob": "^4.0.3",
1958+ "lilconfig": "^2.0.6",
1959+ "micromatch": "^4.0.5",
1960+ "normalize-path": "^3.0.0",
1961+ "object-hash": "^3.0.0",
1962+ "picocolors": "^1.0.0",
1963+ "postcss": "^8.4.18",
1964+ "postcss-import": "^14.1.0",
1965+ "postcss-js": "^4.0.0",
1966+ "postcss-load-config": "^3.1.4",
1967+ "postcss-nested": "6.0.0",
1968+ "postcss-selector-parser": "^6.0.10",
1969+ "postcss-value-parser": "^4.2.0",
1970+ "quick-lru": "^5.1.1",
1971+ "resolve": "^1.22.1"
1972+ },
1973+ "bin": {
1974+ "tailwind": "lib/cli.js",
1975+ "tailwindcss": "lib/cli.js"
1976+ },
1977+ "engines": {
1978+ "node": ">=12.13.0"
1979+ },
1980+ "peerDependencies": {
1981+ "postcss": "^8.0.9"
1982+ }
1983+ },
1984+ "node_modules/tailwindcss/node_modules/color-name": {
1985+ "version": "1.1.4",
1986+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1987+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1988+ "dev": true
1989+ },
1990+ "node_modules/to-fast-properties": {
1991+ "version": "2.0.0",
1992+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
1993+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
1994+ "dev": true,
1995+ "engines": {
1996+ "node": ">=4"
1997+ }
1998+ },
1999+ "node_modules/to-regex-range": {
2000+ "version": "5.0.1",
2001+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
2002+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
2003+ "dev": true,
2004+ "dependencies": {
2005+ "is-number": "^7.0.0"
2006+ },
2007+ "engines": {
2008+ "node": ">=8.0"
2009+ }
2010+ },
2011+ "node_modules/typescript": {
2012+ "version": "4.9.4",
2013+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz",
2014+ "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==",
2015+ "dev": true,
2016+ "bin": {
2017+ "tsc": "bin/tsc",
2018+ "tsserver": "bin/tsserver"
2019+ },
2020+ "engines": {
2021+ "node": ">=4.2.0"
2022+ }
2023+ },
2024+ "node_modules/update-browserslist-db": {
2025+ "version": "1.0.10",
2026+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
2027+ "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
2028+ "dev": true,
2029+ "funding": [
2030+ {
2031+ "type": "opencollective",
2032+ "url": "https://opencollective.com/browserslist"
2033+ },
2034+ {
2035+ "type": "tidelift",
2036+ "url": "https://tidelift.com/funding/github/npm/browserslist"
2037+ }
2038+ ],
2039+ "dependencies": {
2040+ "escalade": "^3.1.1",
2041+ "picocolors": "^1.0.0"
2042+ },
2043+ "bin": {
2044+ "browserslist-lint": "cli.js"
2045+ },
2046+ "peerDependencies": {
2047+ "browserslist": ">= 4.21.0"
2048+ }
2049+ },
2050+ "node_modules/util-deprecate": {
2051+ "version": "1.0.2",
2052+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
2053+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
2054+ "dev": true
2055+ },
2056+ "node_modules/vite": {
2057+ "version": "4.0.3",
2058+ "resolved": "https://registry.npmjs.org/vite/-/vite-4.0.3.tgz",
2059+ "integrity": "sha512-HvuNv1RdE7deIfQb8mPk51UKjqptO/4RXZ5yXSAvurd5xOckwS/gg8h9Tky3uSbnjYTgUm0hVCet1cyhKd73ZA==",
2060+ "dev": true,
2061+ "dependencies": {
2062+ "esbuild": "^0.16.3",
2063+ "postcss": "^8.4.20",
2064+ "resolve": "^1.22.1",
2065+ "rollup": "^3.7.0"
2066+ },
2067+ "bin": {
2068+ "vite": "bin/vite.js"
2069+ },
2070+ "engines": {
2071+ "node": "^14.18.0 || >=16.0.0"
2072+ },
2073+ "optionalDependencies": {
2074+ "fsevents": "~2.3.2"
2075+ },
2076+ "peerDependencies": {
2077+ "@types/node": ">= 14",
2078+ "less": "*",
2079+ "sass": "*",
2080+ "stylus": "*",
2081+ "sugarss": "*",
2082+ "terser": "^5.4.0"
2083+ },
2084+ "peerDependenciesMeta": {
2085+ "@types/node": {
2086+ "optional": true
2087+ },
2088+ "less": {
2089+ "optional": true
2090+ },
2091+ "sass": {
2092+ "optional": true
2093+ },
2094+ "stylus": {
2095+ "optional": true
2096+ },
2097+ "sugarss": {
2098+ "optional": true
2099+ },
2100+ "terser": {
2101+ "optional": true
2102+ }
2103+ }
2104+ },
2105+ "node_modules/xtend": {
2106+ "version": "4.0.2",
2107+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
2108+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
2109+ "dev": true,
2110+ "engines": {
2111+ "node": ">=0.4"
2112+ }
2113+ },
2114+ "node_modules/yallist": {
2115+ "version": "3.1.1",
2116+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
2117+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
2118+ "dev": true
2119+ },
2120+ "node_modules/yaml": {
2121+ "version": "1.10.2",
2122+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
2123+ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
2124+ "dev": true,
2125+ "engines": {
2126+ "node": ">= 6"
2127+ }
2128+ }
2129+ },
2130+ "dependencies": {
2131+ "@ampproject/remapping": {
2132+ "version": "2.2.0",
2133+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
2134+ "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
2135+ "dev": true,
2136+ "requires": {
2137+ "@jridgewell/gen-mapping": "^0.1.0",
2138+ "@jridgewell/trace-mapping": "^0.3.9"
2139+ }
2140+ },
2141+ "@babel/code-frame": {
2142+ "version": "7.18.6",
2143+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
2144+ "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
2145+ "dev": true,
2146+ "requires": {
2147+ "@babel/highlight": "^7.18.6"
2148+ }
2149+ },
2150+ "@babel/compat-data": {
2151+ "version": "7.20.5",
2152+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz",
2153+ "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==",
2154+ "dev": true
2155+ },
2156+ "@babel/core": {
2157+ "version": "7.20.7",
2158+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.7.tgz",
2159+ "integrity": "sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==",
2160+ "dev": true,
2161+ "requires": {
2162+ "@ampproject/remapping": "^2.1.0",
2163+ "@babel/code-frame": "^7.18.6",
2164+ "@babel/generator": "^7.20.7",
2165+ "@babel/helper-compilation-targets": "^7.20.7",
2166+ "@babel/helper-module-transforms": "^7.20.7",
2167+ "@babel/helpers": "^7.20.7",
2168+ "@babel/parser": "^7.20.7",
2169+ "@babel/template": "^7.20.7",
2170+ "@babel/traverse": "^7.20.7",
2171+ "@babel/types": "^7.20.7",
2172+ "convert-source-map": "^1.7.0",
2173+ "debug": "^4.1.0",
2174+ "gensync": "^1.0.0-beta.2",
2175+ "json5": "^2.2.1",
2176+ "semver": "^6.3.0"
2177+ }
2178+ },
2179+ "@babel/generator": {
2180+ "version": "7.20.7",
2181+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz",
2182+ "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==",
2183+ "dev": true,
2184+ "requires": {
2185+ "@babel/types": "^7.20.7",
2186+ "@jridgewell/gen-mapping": "^0.3.2",
2187+ "jsesc": "^2.5.1"
2188+ },
2189+ "dependencies": {
2190+ "@jridgewell/gen-mapping": {
2191+ "version": "0.3.2",
2192+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
2193+ "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
2194+ "dev": true,
2195+ "requires": {
2196+ "@jridgewell/set-array": "^1.0.1",
2197+ "@jridgewell/sourcemap-codec": "^1.4.10",
2198+ "@jridgewell/trace-mapping": "^0.3.9"
2199+ }
2200+ }
2201+ }
2202+ },
2203+ "@babel/helper-compilation-targets": {
2204+ "version": "7.20.7",
2205+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz",
2206+ "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==",
2207+ "dev": true,
2208+ "requires": {
2209+ "@babel/compat-data": "^7.20.5",
2210+ "@babel/helper-validator-option": "^7.18.6",
2211+ "browserslist": "^4.21.3",
2212+ "lru-cache": "^5.1.1",
2213+ "semver": "^6.3.0"
2214+ }
2215+ },
2216+ "@babel/helper-environment-visitor": {
2217+ "version": "7.18.9",
2218+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
2219+ "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
2220+ "dev": true
2221+ },
2222+ "@babel/helper-function-name": {
2223+ "version": "7.19.0",
2224+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
2225+ "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
2226+ "dev": true,
2227+ "requires": {
2228+ "@babel/template": "^7.18.10",
2229+ "@babel/types": "^7.19.0"
2230+ }
2231+ },
2232+ "@babel/helper-hoist-variables": {
2233+ "version": "7.18.6",
2234+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
2235+ "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
2236+ "dev": true,
2237+ "requires": {
2238+ "@babel/types": "^7.18.6"
2239+ }
2240+ },
2241+ "@babel/helper-module-imports": {
2242+ "version": "7.18.6",
2243+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
2244+ "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
2245+ "dev": true,
2246+ "requires": {
2247+ "@babel/types": "^7.18.6"
2248+ }
2249+ },
2250+ "@babel/helper-module-transforms": {
2251+ "version": "7.20.7",
2252+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.7.tgz",
2253+ "integrity": "sha512-FNdu7r67fqMUSVuQpFQGE6BPdhJIhitoxhGzDbAXNcA07uoVG37fOiMk3OSV8rEICuyG6t8LGkd9EE64qIEoIA==",
2254+ "dev": true,
2255+ "requires": {
2256+ "@babel/helper-environment-visitor": "^7.18.9",
2257+ "@babel/helper-module-imports": "^7.18.6",
2258+ "@babel/helper-simple-access": "^7.20.2",
2259+ "@babel/helper-split-export-declaration": "^7.18.6",
2260+ "@babel/helper-validator-identifier": "^7.19.1",
2261+ "@babel/template": "^7.20.7",
2262+ "@babel/traverse": "^7.20.7",
2263+ "@babel/types": "^7.20.7"
2264+ }
2265+ },
2266+ "@babel/helper-plugin-utils": {
2267+ "version": "7.20.2",
2268+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz",
2269+ "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==",
2270+ "dev": true
2271+ },
2272+ "@babel/helper-simple-access": {
2273+ "version": "7.20.2",
2274+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
2275+ "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
2276+ "dev": true,
2277+ "requires": {
2278+ "@babel/types": "^7.20.2"
2279+ }
2280+ },
2281+ "@babel/helper-split-export-declaration": {
2282+ "version": "7.18.6",
2283+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
2284+ "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
2285+ "dev": true,
2286+ "requires": {
2287+ "@babel/types": "^7.18.6"
2288+ }
2289+ },
2290+ "@babel/helper-string-parser": {
2291+ "version": "7.19.4",
2292+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
2293+ "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
2294+ "dev": true
2295+ },
2296+ "@babel/helper-validator-identifier": {
2297+ "version": "7.19.1",
2298+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
2299+ "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
2300+ "dev": true
2301+ },
2302+ "@babel/helper-validator-option": {
2303+ "version": "7.18.6",
2304+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
2305+ "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
2306+ "dev": true
2307+ },
2308+ "@babel/helpers": {
2309+ "version": "7.20.7",
2310+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz",
2311+ "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==",
2312+ "dev": true,
2313+ "requires": {
2314+ "@babel/template": "^7.20.7",
2315+ "@babel/traverse": "^7.20.7",
2316+ "@babel/types": "^7.20.7"
2317+ }
2318+ },
2319+ "@babel/highlight": {
2320+ "version": "7.18.6",
2321+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
2322+ "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
2323+ "dev": true,
2324+ "requires": {
2325+ "@babel/helper-validator-identifier": "^7.18.6",
2326+ "chalk": "^2.0.0",
2327+ "js-tokens": "^4.0.0"
2328+ }
2329+ },
2330+ "@babel/parser": {
2331+ "version": "7.20.7",
2332+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz",
2333+ "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==",
2334+ "dev": true
2335+ },
2336+ "@babel/plugin-transform-react-jsx-self": {
2337+ "version": "7.18.6",
2338+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz",
2339+ "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==",
2340+ "dev": true,
2341+ "requires": {
2342+ "@babel/helper-plugin-utils": "^7.18.6"
2343+ }
2344+ },
2345+ "@babel/plugin-transform-react-jsx-source": {
2346+ "version": "7.19.6",
2347+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz",
2348+ "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==",
2349+ "dev": true,
2350+ "requires": {
2351+ "@babel/helper-plugin-utils": "^7.19.0"
2352+ }
2353+ },
2354+ "@babel/template": {
2355+ "version": "7.20.7",
2356+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
2357+ "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
2358+ "dev": true,
2359+ "requires": {
2360+ "@babel/code-frame": "^7.18.6",
2361+ "@babel/parser": "^7.20.7",
2362+ "@babel/types": "^7.20.7"
2363+ }
2364+ },
2365+ "@babel/traverse": {
2366+ "version": "7.20.7",
2367+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.7.tgz",
2368+ "integrity": "sha512-xueOL5+ZKX2dJbg8z8o4f4uTRTqGDRjilva9D1hiRlayJbTY8jBRL+Ph67IeRTIE439/VifHk+Z4g0SwRtQE0A==",
2369+ "dev": true,
2370+ "requires": {
2371+ "@babel/code-frame": "^7.18.6",
2372+ "@babel/generator": "^7.20.7",
2373+ "@babel/helper-environment-visitor": "^7.18.9",
2374+ "@babel/helper-function-name": "^7.19.0",
2375+ "@babel/helper-hoist-variables": "^7.18.6",
2376+ "@babel/helper-split-export-declaration": "^7.18.6",
2377+ "@babel/parser": "^7.20.7",
2378+ "@babel/types": "^7.20.7",
2379+ "debug": "^4.1.0",
2380+ "globals": "^11.1.0"
2381+ }
2382+ },
2383+ "@babel/types": {
2384+ "version": "7.20.7",
2385+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz",
2386+ "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==",
2387+ "dev": true,
2388+ "requires": {
2389+ "@babel/helper-string-parser": "^7.19.4",
2390+ "@babel/helper-validator-identifier": "^7.19.1",
2391+ "to-fast-properties": "^2.0.0"
2392+ }
2393+ },
2394+ "@esbuild/android-arm": {
2395+ "version": "0.16.10",
2396+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.10.tgz",
2397+ "integrity": "sha512-RmJjQTRrO6VwUWDrzTBLmV4OJZTarYsiepLGlF2rYTVB701hSorPywPGvP6d8HCuuRibyXa5JX4s3jN2kHEtjQ==",
2398+ "dev": true,
2399+ "optional": true
2400+ },
2401+ "@esbuild/android-arm64": {
2402+ "version": "0.16.10",
2403+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.10.tgz",
2404+ "integrity": "sha512-47Y+NwVKTldTlDhSgJHZ/RpvBQMUDG7eKihqaF/u6g7s0ZPz4J1vy8A3rwnnUOF2CuDn7w7Gj/QcMoWz3U3SJw==",
2405+ "dev": true,
2406+ "optional": true
2407+ },
2408+ "@esbuild/android-x64": {
2409+ "version": "0.16.10",
2410+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.10.tgz",
2411+ "integrity": "sha512-C4PfnrBMcuAcOurQzpF1tTtZz94IXO5JmICJJ3NFJRHbXXsQUg9RFG45KvydKqtFfBaFLCHpduUkUfXwIvGnRg==",
2412+ "dev": true,
2413+ "optional": true
2414+ },
2415+ "@esbuild/darwin-arm64": {
2416+ "version": "0.16.10",
2417+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.10.tgz",
2418+ "integrity": "sha512-bH/bpFwldyOKdi9HSLCLhhKeVgRYr9KblchwXgY2NeUHBB/BzTUHtUSBgGBmpydB1/4E37m+ggXXfSrnD7/E7g==",
2419+ "dev": true,
2420+ "optional": true
2421+ },
2422+ "@esbuild/darwin-x64": {
2423+ "version": "0.16.10",
2424+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.10.tgz",
2425+ "integrity": "sha512-OXt7ijoLuy+AjDSKQWu+KdDFMBbdeaL6wtgMKtDUXKWHiAMKHan5+R1QAG6HD4+K0nnOvEJXKHeA9QhXNAjOTQ==",
2426+ "dev": true,
2427+ "optional": true
2428+ },
2429+ "@esbuild/freebsd-arm64": {
2430+ "version": "0.16.10",
2431+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.10.tgz",
2432+ "integrity": "sha512-shSQX/3GHuspE3Uxtq5kcFG/zqC+VuMnJkqV7LczO41cIe6CQaXHD3QdMLA4ziRq/m0vZo7JdterlgbmgNIAlQ==",
2433+ "dev": true,
2434+ "optional": true
2435+ },
2436+ "@esbuild/freebsd-x64": {
2437+ "version": "0.16.10",
2438+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.10.tgz",
2439+ "integrity": "sha512-5YVc1zdeaJGASijZmTzSO4h6uKzsQGG3pkjI6fuXvolhm3hVRhZwnHJkforaZLmzvNv5Tb7a3QL2FAVmrgySIA==",
2440+ "dev": true,
2441+ "optional": true
2442+ },
2443+ "@esbuild/linux-arm": {
2444+ "version": "0.16.10",
2445+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.10.tgz",
2446+ "integrity": "sha512-c360287ZWI2miBnvIj23bPyVctgzeMT2kQKR+x94pVqIN44h3GF8VMEs1SFPH1UgyDr3yBbx3vowDS1SVhyVhA==",
2447+ "dev": true,
2448+ "optional": true
2449+ },
2450+ "@esbuild/linux-arm64": {
2451+ "version": "0.16.10",
2452+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.10.tgz",
2453+ "integrity": "sha512-2aqeNVxIaRfPcIaMZIFoblLh588sWyCbmj1HHCCs9WmeNWm+EIN0SmvsmPvTa/TsNZFKnxTcvkX2eszTcCqIrA==",
2454+ "dev": true,
2455+ "optional": true
2456+ },
2457+ "@esbuild/linux-ia32": {
2458+ "version": "0.16.10",
2459+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.10.tgz",
2460+ "integrity": "sha512-sqMIEWeyrLGU7J5RB5fTkLRIFwsgsQ7ieWXlDLEmC2HblPYGb3AucD7inw2OrKFpRPKsec1l+lssiM3+NV5aOw==",
2461+ "dev": true,
2462+ "optional": true
2463+ },
2464+ "@esbuild/linux-loong64": {
2465+ "version": "0.16.10",
2466+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.10.tgz",
2467+ "integrity": "sha512-O7Pd5hLEtTg37NC73pfhUOGTjx/+aXu5YoSq3ahCxcN7Bcr2F47mv+kG5t840thnsEzrv0oB70+LJu3gUgchvg==",
2468+ "dev": true,
2469+ "optional": true
2470+ },
2471+ "@esbuild/linux-mips64el": {
2472+ "version": "0.16.10",
2473+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.10.tgz",
2474+ "integrity": "sha512-FN8mZOH7531iPHM0kaFhAOqqNHoAb6r/YHW2ZIxNi0a85UBi2DO4Vuyn7t1p4UN8a4LoAnLOT1PqNgHkgBJgbA==",
2475+ "dev": true,
2476+ "optional": true
2477+ },
2478+ "@esbuild/linux-ppc64": {
2479+ "version": "0.16.10",
2480+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.10.tgz",
2481+ "integrity": "sha512-Dg9RiqdvHOAWnOKIOTsIx8dFX9EDlY2IbPEY7YFzchrCiTZmMkD7jWA9UdZbNUygPjdmQBVPRCrLydReFlX9yg==",
2482+ "dev": true,
2483+ "optional": true
2484+ },
2485+ "@esbuild/linux-riscv64": {
2486+ "version": "0.16.10",
2487+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.10.tgz",
2488+ "integrity": "sha512-XMqtpjwzbmlar0BJIxmzu/RZ7EWlfVfH68Vadrva0Wj5UKOdKvqskuev2jY2oPV3aoQUyXwnMbMrFmloO2GfAw==",
2489+ "dev": true,
2490+ "optional": true
2491+ },
2492+ "@esbuild/linux-s390x": {
2493+ "version": "0.16.10",
2494+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.10.tgz",
2495+ "integrity": "sha512-fu7XtnoeRNFMx8DjK3gPWpFBDM2u5ba+FYwg27SjMJwKvJr4bDyKz5c+FLXLUSSAkMAt/UL+cUbEbra+rYtUgw==",
2496+ "dev": true,
2497+ "optional": true
2498+ },
2499+ "@esbuild/linux-x64": {
2500+ "version": "0.16.10",
2501+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.10.tgz",
2502+ "integrity": "sha512-61lcjVC/RldNNMUzQQdyCWjCxp9YLEQgIxErxU9XluX7juBdGKb0pvddS0vPNuCvotRbzijZ1pzII+26haWzbA==",
2503+ "dev": true,
2504+ "optional": true
2505+ },
2506+ "@esbuild/netbsd-x64": {
2507+ "version": "0.16.10",
2508+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.10.tgz",
2509+ "integrity": "sha512-JeZXCX3viSA9j4HqSoygjssdqYdfHd6yCFWyfSekLbz4Ef+D2EjvsN02ZQPwYl5a5gg/ehdHgegHhlfOFP0HCA==",
2510+ "dev": true,
2511+ "optional": true
2512+ },
2513+ "@esbuild/openbsd-x64": {
2514+ "version": "0.16.10",
2515+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.10.tgz",
2516+ "integrity": "sha512-3qpxQKuEVIIg8SebpXsp82OBrqjPV/OwNWmG+TnZDr3VGyChNnGMHccC1xkbxCHDQNnnXjxhMQNyHmdFJbmbRA==",
2517+ "dev": true,
2518+ "optional": true
2519+ },
2520+ "@esbuild/sunos-x64": {
2521+ "version": "0.16.10",
2522+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.10.tgz",
2523+ "integrity": "sha512-z+q0xZ+et/7etz7WoMyXTHZ1rB8PMSNp/FOqURLJLOPb3GWJ2aj4oCqFCjPwEbW1rsT7JPpxeH/DwGAWk/I1Bg==",
2524+ "dev": true,
2525+ "optional": true
2526+ },
2527+ "@esbuild/win32-arm64": {
2528+ "version": "0.16.10",
2529+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.10.tgz",
2530+ "integrity": "sha512-+YYu5sbQ9npkNT9Dec+tn1F/kjg6SMgr6bfi/6FpXYZvCRfu2YFPZGb+3x8K30s8eRxFpoG4sGhiSUkr1xbHEw==",
2531+ "dev": true,
2532+ "optional": true
2533+ },
2534+ "@esbuild/win32-ia32": {
2535+ "version": "0.16.10",
2536+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.10.tgz",
2537+ "integrity": "sha512-Aw7Fupk7XNehR1ftHGYwUteyJ2q+em/aE+fVU3YMTBN2V5A7Z4aVCSV+SvCp9HIIHZavPFBpbdP3VfjQpdf6Xg==",
2538+ "dev": true,
2539+ "optional": true
2540+ },
2541+ "@esbuild/win32-x64": {
2542+ "version": "0.16.10",
2543+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.10.tgz",
2544+ "integrity": "sha512-qddWullt3sC1EIpfHvCRBq3H4g3L86DZpD6n8k2XFjFVyp01D++uNbN1hT/JRsHxTbyyemZcpwL5aRlJwc/zFw==",
2545+ "dev": true,
2546+ "optional": true
2547+ },
2548+ "@jridgewell/gen-mapping": {
2549+ "version": "0.1.1",
2550+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
2551+ "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
2552+ "dev": true,
2553+ "requires": {
2554+ "@jridgewell/set-array": "^1.0.0",
2555+ "@jridgewell/sourcemap-codec": "^1.4.10"
2556+ }
2557+ },
2558+ "@jridgewell/resolve-uri": {
2559+ "version": "3.1.0",
2560+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
2561+ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
2562+ "dev": true
2563+ },
2564+ "@jridgewell/set-array": {
2565+ "version": "1.1.2",
2566+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
2567+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
2568+ "dev": true
2569+ },
2570+ "@jridgewell/sourcemap-codec": {
2571+ "version": "1.4.14",
2572+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
2573+ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
2574+ "dev": true
2575+ },
2576+ "@jridgewell/trace-mapping": {
2577+ "version": "0.3.17",
2578+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
2579+ "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
2580+ "dev": true,
2581+ "requires": {
2582+ "@jridgewell/resolve-uri": "3.1.0",
2583+ "@jridgewell/sourcemap-codec": "1.4.14"
2584+ }
2585+ },
2586+ "@nodelib/fs.scandir": {
2587+ "version": "2.1.5",
2588+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
2589+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
2590+ "dev": true,
2591+ "requires": {
2592+ "@nodelib/fs.stat": "2.0.5",
2593+ "run-parallel": "^1.1.9"
2594+ }
2595+ },
2596+ "@nodelib/fs.stat": {
2597+ "version": "2.0.5",
2598+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
2599+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
2600+ "dev": true
2601+ },
2602+ "@nodelib/fs.walk": {
2603+ "version": "1.2.8",
2604+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
2605+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
2606+ "dev": true,
2607+ "requires": {
2608+ "@nodelib/fs.scandir": "2.1.5",
2609+ "fastq": "^1.6.0"
2610+ }
2611+ },
2612+ "@types/prop-types": {
2613+ "version": "15.7.5",
2614+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
2615+ "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==",
2616+ "dev": true
2617+ },
2618+ "@types/react": {
2619+ "version": "18.0.26",
2620+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.26.tgz",
2621+ "integrity": "sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==",
2622+ "dev": true,
2623+ "requires": {
2624+ "@types/prop-types": "*",
2625+ "@types/scheduler": "*",
2626+ "csstype": "^3.0.2"
2627+ }
2628+ },
2629+ "@types/react-dom": {
2630+ "version": "18.0.9",
2631+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.9.tgz",
2632+ "integrity": "sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==",
2633+ "dev": true,
2634+ "requires": {
2635+ "@types/react": "*"
2636+ }
2637+ },
2638+ "@types/scheduler": {
2639+ "version": "0.16.2",
2640+ "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
2641+ "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==",
2642+ "dev": true
2643+ },
2644+ "@vitejs/plugin-react": {
2645+ "version": "3.0.0",
2646+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.0.0.tgz",
2647+ "integrity": "sha512-1mvyPc0xYW5G8CHQvJIJXLoMjl5Ct3q2g5Y2s6Ccfgwm45y48LBvsla7az+GkkAtYikWQ4Lxqcsq5RHLcZgtNQ==",
2648+ "dev": true,
2649+ "requires": {
2650+ "@babel/core": "^7.20.5",
2651+ "@babel/plugin-transform-react-jsx-self": "^7.18.6",
2652+ "@babel/plugin-transform-react-jsx-source": "^7.19.6",
2653+ "magic-string": "^0.27.0",
2654+ "react-refresh": "^0.14.0"
2655+ }
2656+ },
2657+ "acorn": {
2658+ "version": "7.4.1",
2659+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
2660+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
2661+ "dev": true
2662+ },
2663+ "acorn-node": {
2664+ "version": "1.8.2",
2665+ "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
2666+ "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
2667+ "dev": true,
2668+ "requires": {
2669+ "acorn": "^7.0.0",
2670+ "acorn-walk": "^7.0.0",
2671+ "xtend": "^4.0.2"
2672+ }
2673+ },
2674+ "acorn-walk": {
2675+ "version": "7.2.0",
2676+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
2677+ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
2678+ "dev": true
2679+ },
2680+ "ansi-styles": {
2681+ "version": "3.2.1",
2682+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
2683+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
2684+ "dev": true,
2685+ "requires": {
2686+ "color-convert": "^1.9.0"
2687+ }
2688+ },
2689+ "anymatch": {
2690+ "version": "3.1.3",
2691+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
2692+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
2693+ "dev": true,
2694+ "requires": {
2695+ "normalize-path": "^3.0.0",
2696+ "picomatch": "^2.0.4"
2697+ }
2698+ },
2699+ "arg": {
2700+ "version": "5.0.2",
2701+ "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
2702+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
2703+ "dev": true
2704+ },
2705+ "autoprefixer": {
2706+ "version": "10.4.13",
2707+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz",
2708+ "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==",
2709+ "dev": true,
2710+ "requires": {
2711+ "browserslist": "^4.21.4",
2712+ "caniuse-lite": "^1.0.30001426",
2713+ "fraction.js": "^4.2.0",
2714+ "normalize-range": "^0.1.2",
2715+ "picocolors": "^1.0.0",
2716+ "postcss-value-parser": "^4.2.0"
2717+ }
2718+ },
2719+ "binary-extensions": {
2720+ "version": "2.2.0",
2721+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
2722+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
2723+ "dev": true
2724+ },
2725+ "braces": {
2726+ "version": "3.0.2",
2727+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
2728+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
2729+ "dev": true,
2730+ "requires": {
2731+ "fill-range": "^7.0.1"
2732+ }
2733+ },
2734+ "browserslist": {
2735+ "version": "4.21.4",
2736+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
2737+ "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
2738+ "dev": true,
2739+ "requires": {
2740+ "caniuse-lite": "^1.0.30001400",
2741+ "electron-to-chromium": "^1.4.251",
2742+ "node-releases": "^2.0.6",
2743+ "update-browserslist-db": "^1.0.9"
2744+ }
2745+ },
2746+ "camelcase-css": {
2747+ "version": "2.0.1",
2748+ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
2749+ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
2750+ "dev": true
2751+ },
2752+ "caniuse-lite": {
2753+ "version": "1.0.30001441",
2754+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz",
2755+ "integrity": "sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==",
2756+ "dev": true
2757+ },
2758+ "chalk": {
2759+ "version": "2.4.2",
2760+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
2761+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
2762+ "dev": true,
2763+ "requires": {
2764+ "ansi-styles": "^3.2.1",
2765+ "escape-string-regexp": "^1.0.5",
2766+ "supports-color": "^5.3.0"
2767+ }
2768+ },
2769+ "chokidar": {
2770+ "version": "3.5.3",
2771+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
2772+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
2773+ "dev": true,
2774+ "requires": {
2775+ "anymatch": "~3.1.2",
2776+ "braces": "~3.0.2",
2777+ "fsevents": "~2.3.2",
2778+ "glob-parent": "~5.1.2",
2779+ "is-binary-path": "~2.1.0",
2780+ "is-glob": "~4.0.1",
2781+ "normalize-path": "~3.0.0",
2782+ "readdirp": "~3.6.0"
2783+ },
2784+ "dependencies": {
2785+ "glob-parent": {
2786+ "version": "5.1.2",
2787+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
2788+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
2789+ "dev": true,
2790+ "requires": {
2791+ "is-glob": "^4.0.1"
2792+ }
2793+ }
2794+ }
2795+ },
2796+ "color-convert": {
2797+ "version": "1.9.3",
2798+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
2799+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
2800+ "dev": true,
2801+ "requires": {
2802+ "color-name": "1.1.3"
2803+ }
2804+ },
2805+ "color-name": {
2806+ "version": "1.1.3",
2807+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
2808+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
2809+ "dev": true
2810+ },
2811+ "convert-source-map": {
2812+ "version": "1.9.0",
2813+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
2814+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
2815+ "dev": true
2816+ },
2817+ "cssesc": {
2818+ "version": "3.0.0",
2819+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
2820+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
2821+ "dev": true
2822+ },
2823+ "csstype": {
2824+ "version": "3.1.1",
2825+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
2826+ "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==",
2827+ "dev": true
2828+ },
2829+ "debug": {
2830+ "version": "4.3.4",
2831+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
2832+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
2833+ "dev": true,
2834+ "requires": {
2835+ "ms": "2.1.2"
2836+ }
2837+ },
2838+ "defined": {
2839+ "version": "1.0.1",
2840+ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz",
2841+ "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==",
2842+ "dev": true
2843+ },
2844+ "detective": {
2845+ "version": "5.2.1",
2846+ "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
2847+ "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
2848+ "dev": true,
2849+ "requires": {
2850+ "acorn-node": "^1.8.2",
2851+ "defined": "^1.0.0",
2852+ "minimist": "^1.2.6"
2853+ }
2854+ },
2855+ "didyoumean": {
2856+ "version": "1.2.2",
2857+ "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
2858+ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
2859+ "dev": true
2860+ },
2861+ "dlv": {
2862+ "version": "1.1.3",
2863+ "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
2864+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
2865+ "dev": true
2866+ },
2867+ "electron-to-chromium": {
2868+ "version": "1.4.284",
2869+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
2870+ "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==",
2871+ "dev": true
2872+ },
2873+ "esbuild": {
2874+ "version": "0.16.10",
2875+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.10.tgz",
2876+ "integrity": "sha512-z5dIViHoVnw2l+NCJ3zj5behdXjYvXne9gL18OOivCadXDUhyDkeSvEtLcGVAJW2fNmh33TDUpsi704XYlDodw==",
2877+ "dev": true,
2878+ "requires": {
2879+ "@esbuild/android-arm": "0.16.10",
2880+ "@esbuild/android-arm64": "0.16.10",
2881+ "@esbuild/android-x64": "0.16.10",
2882+ "@esbuild/darwin-arm64": "0.16.10",
2883+ "@esbuild/darwin-x64": "0.16.10",
2884+ "@esbuild/freebsd-arm64": "0.16.10",
2885+ "@esbuild/freebsd-x64": "0.16.10",
2886+ "@esbuild/linux-arm": "0.16.10",
2887+ "@esbuild/linux-arm64": "0.16.10",
2888+ "@esbuild/linux-ia32": "0.16.10",
2889+ "@esbuild/linux-loong64": "0.16.10",
2890+ "@esbuild/linux-mips64el": "0.16.10",
2891+ "@esbuild/linux-ppc64": "0.16.10",
2892+ "@esbuild/linux-riscv64": "0.16.10",
2893+ "@esbuild/linux-s390x": "0.16.10",
2894+ "@esbuild/linux-x64": "0.16.10",
2895+ "@esbuild/netbsd-x64": "0.16.10",
2896+ "@esbuild/openbsd-x64": "0.16.10",
2897+ "@esbuild/sunos-x64": "0.16.10",
2898+ "@esbuild/win32-arm64": "0.16.10",
2899+ "@esbuild/win32-ia32": "0.16.10",
2900+ "@esbuild/win32-x64": "0.16.10"
2901+ }
2902+ },
2903+ "escalade": {
2904+ "version": "3.1.1",
2905+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
2906+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
2907+ "dev": true
2908+ },
2909+ "escape-string-regexp": {
2910+ "version": "1.0.5",
2911+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
2912+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
2913+ "dev": true
2914+ },
2915+ "fast-glob": {
2916+ "version": "3.2.12",
2917+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
2918+ "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
2919+ "dev": true,
2920+ "requires": {
2921+ "@nodelib/fs.stat": "^2.0.2",
2922+ "@nodelib/fs.walk": "^1.2.3",
2923+ "glob-parent": "^5.1.2",
2924+ "merge2": "^1.3.0",
2925+ "micromatch": "^4.0.4"
2926+ },
2927+ "dependencies": {
2928+ "glob-parent": {
2929+ "version": "5.1.2",
2930+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
2931+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
2932+ "dev": true,
2933+ "requires": {
2934+ "is-glob": "^4.0.1"
2935+ }
2936+ }
2937+ }
2938+ },
2939+ "fastq": {
2940+ "version": "1.14.0",
2941+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz",
2942+ "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==",
2943+ "dev": true,
2944+ "requires": {
2945+ "reusify": "^1.0.4"
2946+ }
2947+ },
2948+ "fill-range": {
2949+ "version": "7.0.1",
2950+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
2951+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
2952+ "dev": true,
2953+ "requires": {
2954+ "to-regex-range": "^5.0.1"
2955+ }
2956+ },
2957+ "fraction.js": {
2958+ "version": "4.2.0",
2959+ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
2960+ "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
2961+ "dev": true
2962+ },
2963+ "fsevents": {
2964+ "version": "2.3.2",
2965+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
2966+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
2967+ "dev": true,
2968+ "optional": true
2969+ },
2970+ "function-bind": {
2971+ "version": "1.1.1",
2972+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
2973+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
2974+ "dev": true
2975+ },
2976+ "gensync": {
2977+ "version": "1.0.0-beta.2",
2978+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
2979+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
2980+ "dev": true
2981+ },
2982+ "glob-parent": {
2983+ "version": "6.0.2",
2984+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
2985+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
2986+ "dev": true,
2987+ "requires": {
2988+ "is-glob": "^4.0.3"
2989+ }
2990+ },
2991+ "globals": {
2992+ "version": "11.12.0",
2993+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
2994+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
2995+ "dev": true
2996+ },
2997+ "has": {
2998+ "version": "1.0.3",
2999+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
3000+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
3001+ "dev": true,
3002+ "requires": {
3003+ "function-bind": "^1.1.1"
3004+ }
3005+ },
3006+ "has-flag": {
3007+ "version": "3.0.0",
3008+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
3009+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
3010+ "dev": true
3011+ },
3012+ "is-binary-path": {
3013+ "version": "2.1.0",
3014+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
3015+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
3016+ "dev": true,
3017+ "requires": {
3018+ "binary-extensions": "^2.0.0"
3019+ }
3020+ },
3021+ "is-core-module": {
3022+ "version": "2.11.0",
3023+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
3024+ "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
3025+ "dev": true,
3026+ "requires": {
3027+ "has": "^1.0.3"
3028+ }
3029+ },
3030+ "is-extglob": {
3031+ "version": "2.1.1",
3032+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
3033+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
3034+ "dev": true
3035+ },
3036+ "is-glob": {
3037+ "version": "4.0.3",
3038+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
3039+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
3040+ "dev": true,
3041+ "requires": {
3042+ "is-extglob": "^2.1.1"
3043+ }
3044+ },
3045+ "is-number": {
3046+ "version": "7.0.0",
3047+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
3048+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
3049+ "dev": true
3050+ },
3051+ "js-tokens": {
3052+ "version": "4.0.0",
3053+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
3054+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
3055+ },
3056+ "jsesc": {
3057+ "version": "2.5.2",
3058+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
3059+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
3060+ "dev": true
3061+ },
3062+ "json5": {
3063+ "version": "2.2.2",
3064+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.2.tgz",
3065+ "integrity": "sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==",
3066+ "dev": true
3067+ },
3068+ "lilconfig": {
3069+ "version": "2.0.6",
3070+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
3071+ "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==",
3072+ "dev": true
3073+ },
3074+ "loose-envify": {
3075+ "version": "1.4.0",
3076+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
3077+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
3078+ "requires": {
3079+ "js-tokens": "^3.0.0 || ^4.0.0"
3080+ }
3081+ },
3082+ "lru-cache": {
3083+ "version": "5.1.1",
3084+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
3085+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
3086+ "dev": true,
3087+ "requires": {
3088+ "yallist": "^3.0.2"
3089+ }
3090+ },
3091+ "magic-string": {
3092+ "version": "0.27.0",
3093+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz",
3094+ "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==",
3095+ "dev": true,
3096+ "requires": {
3097+ "@jridgewell/sourcemap-codec": "^1.4.13"
3098+ }
3099+ },
3100+ "merge2": {
3101+ "version": "1.4.1",
3102+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
3103+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
3104+ "dev": true
3105+ },
3106+ "micromatch": {
3107+ "version": "4.0.5",
3108+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
3109+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
3110+ "dev": true,
3111+ "requires": {
3112+ "braces": "^3.0.2",
3113+ "picomatch": "^2.3.1"
3114+ }
3115+ },
3116+ "minimist": {
3117+ "version": "1.2.7",
3118+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
3119+ "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
3120+ "dev": true
3121+ },
3122+ "ms": {
3123+ "version": "2.1.2",
3124+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
3125+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
3126+ "dev": true
3127+ },
3128+ "nanoid": {
3129+ "version": "3.3.4",
3130+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
3131+ "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
3132+ "dev": true
3133+ },
3134+ "node-releases": {
3135+ "version": "2.0.8",
3136+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz",
3137+ "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==",
3138+ "dev": true
3139+ },
3140+ "normalize-path": {
3141+ "version": "3.0.0",
3142+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
3143+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
3144+ "dev": true
3145+ },
3146+ "normalize-range": {
3147+ "version": "0.1.2",
3148+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
3149+ "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
3150+ "dev": true
3151+ },
3152+ "object-hash": {
3153+ "version": "3.0.0",
3154+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
3155+ "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
3156+ "dev": true
3157+ },
3158+ "path-parse": {
3159+ "version": "1.0.7",
3160+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
3161+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
3162+ "dev": true
3163+ },
3164+ "picocolors": {
3165+ "version": "1.0.0",
3166+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
3167+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
3168+ "dev": true
3169+ },
3170+ "picomatch": {
3171+ "version": "2.3.1",
3172+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
3173+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
3174+ "dev": true
3175+ },
3176+ "pify": {
3177+ "version": "2.3.0",
3178+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
3179+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
3180+ "dev": true
3181+ },
3182+ "postcss": {
3183+ "version": "8.4.20",
3184+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz",
3185+ "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==",
3186+ "dev": true,
3187+ "requires": {
3188+ "nanoid": "^3.3.4",
3189+ "picocolors": "^1.0.0",
3190+ "source-map-js": "^1.0.2"
3191+ }
3192+ },
3193+ "postcss-import": {
3194+ "version": "14.1.0",
3195+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz",
3196+ "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==",
3197+ "dev": true,
3198+ "requires": {
3199+ "postcss-value-parser": "^4.0.0",
3200+ "read-cache": "^1.0.0",
3201+ "resolve": "^1.1.7"
3202+ }
3203+ },
3204+ "postcss-js": {
3205+ "version": "4.0.0",
3206+ "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz",
3207+ "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==",
3208+ "dev": true,
3209+ "requires": {
3210+ "camelcase-css": "^2.0.1"
3211+ }
3212+ },
3213+ "postcss-load-config": {
3214+ "version": "3.1.4",
3215+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
3216+ "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
3217+ "dev": true,
3218+ "requires": {
3219+ "lilconfig": "^2.0.5",
3220+ "yaml": "^1.10.2"
3221+ }
3222+ },
3223+ "postcss-nested": {
3224+ "version": "6.0.0",
3225+ "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz",
3226+ "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==",
3227+ "dev": true,
3228+ "requires": {
3229+ "postcss-selector-parser": "^6.0.10"
3230+ }
3231+ },
3232+ "postcss-selector-parser": {
3233+ "version": "6.0.11",
3234+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
3235+ "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
3236+ "dev": true,
3237+ "requires": {
3238+ "cssesc": "^3.0.0",
3239+ "util-deprecate": "^1.0.2"
3240+ }
3241+ },
3242+ "postcss-value-parser": {
3243+ "version": "4.2.0",
3244+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
3245+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
3246+ "dev": true
3247+ },
3248+ "queue-microtask": {
3249+ "version": "1.2.3",
3250+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
3251+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
3252+ "dev": true
3253+ },
3254+ "quick-lru": {
3255+ "version": "5.1.1",
3256+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
3257+ "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
3258+ "dev": true
3259+ },
3260+ "react": {
3261+ "version": "18.2.0",
3262+ "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
3263+ "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
3264+ "requires": {
3265+ "loose-envify": "^1.1.0"
3266+ }
3267+ },
3268+ "react-dom": {
3269+ "version": "18.2.0",
3270+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
3271+ "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
3272+ "requires": {
3273+ "loose-envify": "^1.1.0",
3274+ "scheduler": "^0.23.0"
3275+ }
3276+ },
3277+ "react-refresh": {
3278+ "version": "0.14.0",
3279+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz",
3280+ "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==",
3281+ "dev": true
3282+ },
3283+ "read-cache": {
3284+ "version": "1.0.0",
3285+ "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
3286+ "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
3287+ "dev": true,
3288+ "requires": {
3289+ "pify": "^2.3.0"
3290+ }
3291+ },
3292+ "readdirp": {
3293+ "version": "3.6.0",
3294+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
3295+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
3296+ "dev": true,
3297+ "requires": {
3298+ "picomatch": "^2.2.1"
3299+ }
3300+ },
3301+ "resolve": {
3302+ "version": "1.22.1",
3303+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
3304+ "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
3305+ "dev": true,
3306+ "requires": {
3307+ "is-core-module": "^2.9.0",
3308+ "path-parse": "^1.0.7",
3309+ "supports-preserve-symlinks-flag": "^1.0.0"
3310+ }
3311+ },
3312+ "reusify": {
3313+ "version": "1.0.4",
3314+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
3315+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
3316+ "dev": true
3317+ },
3318+ "rollup": {
3319+ "version": "3.8.0",
3320+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.8.0.tgz",
3321+ "integrity": "sha512-+UR6PnUslneJNiJfLSzy4XH6R50ZGF0MS7UCv20ftXrktF/TkvZDwiBtXX65esblLR5p8w6LmXgPwt2f2B8SoQ==",
3322+ "dev": true,
3323+ "requires": {
3324+ "fsevents": "~2.3.2"
3325+ }
3326+ },
3327+ "run-parallel": {
3328+ "version": "1.2.0",
3329+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
3330+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
3331+ "dev": true,
3332+ "requires": {
3333+ "queue-microtask": "^1.2.2"
3334+ }
3335+ },
3336+ "scheduler": {
3337+ "version": "0.23.0",
3338+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
3339+ "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
3340+ "requires": {
3341+ "loose-envify": "^1.1.0"
3342+ }
3343+ },
3344+ "semver": {
3345+ "version": "6.3.0",
3346+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
3347+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
3348+ "dev": true
3349+ },
3350+ "source-map-js": {
3351+ "version": "1.0.2",
3352+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
3353+ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
3354+ "dev": true
3355+ },
3356+ "supports-color": {
3357+ "version": "5.5.0",
3358+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
3359+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
3360+ "dev": true,
3361+ "requires": {
3362+ "has-flag": "^3.0.0"
3363+ }
3364+ },
3365+ "supports-preserve-symlinks-flag": {
3366+ "version": "1.0.0",
3367+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
3368+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
3369+ "dev": true
3370+ },
3371+ "tailwindcss": {
3372+ "version": "3.2.4",
3373+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz",
3374+ "integrity": "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==",
3375+ "dev": true,
3376+ "requires": {
3377+ "arg": "^5.0.2",
3378+ "chokidar": "^3.5.3",
3379+ "color-name": "^1.1.4",
3380+ "detective": "^5.2.1",
3381+ "didyoumean": "^1.2.2",
3382+ "dlv": "^1.1.3",
3383+ "fast-glob": "^3.2.12",
3384+ "glob-parent": "^6.0.2",
3385+ "is-glob": "^4.0.3",
3386+ "lilconfig": "^2.0.6",
3387+ "micromatch": "^4.0.5",
3388+ "normalize-path": "^3.0.0",
3389+ "object-hash": "^3.0.0",
3390+ "picocolors": "^1.0.0",
3391+ "postcss": "^8.4.18",
3392+ "postcss-import": "^14.1.0",
3393+ "postcss-js": "^4.0.0",
3394+ "postcss-load-config": "^3.1.4",
3395+ "postcss-nested": "6.0.0",
3396+ "postcss-selector-parser": "^6.0.10",
3397+ "postcss-value-parser": "^4.2.0",
3398+ "quick-lru": "^5.1.1",
3399+ "resolve": "^1.22.1"
3400+ },
3401+ "dependencies": {
3402+ "color-name": {
3403+ "version": "1.1.4",
3404+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
3405+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
3406+ "dev": true
3407+ }
3408+ }
3409+ },
3410+ "to-fast-properties": {
3411+ "version": "2.0.0",
3412+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
3413+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
3414+ "dev": true
3415+ },
3416+ "to-regex-range": {
3417+ "version": "5.0.1",
3418+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
3419+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
3420+ "dev": true,
3421+ "requires": {
3422+ "is-number": "^7.0.0"
3423+ }
3424+ },
3425+ "typescript": {
3426+ "version": "4.9.4",
3427+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz",
3428+ "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==",
3429+ "dev": true
3430+ },
3431+ "update-browserslist-db": {
3432+ "version": "1.0.10",
3433+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
3434+ "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
3435+ "dev": true,
3436+ "requires": {
3437+ "escalade": "^3.1.1",
3438+ "picocolors": "^1.0.0"
3439+ }
3440+ },
3441+ "util-deprecate": {
3442+ "version": "1.0.2",
3443+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
3444+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
3445+ "dev": true
3446+ },
3447+ "vite": {
3448+ "version": "4.0.3",
3449+ "resolved": "https://registry.npmjs.org/vite/-/vite-4.0.3.tgz",
3450+ "integrity": "sha512-HvuNv1RdE7deIfQb8mPk51UKjqptO/4RXZ5yXSAvurd5xOckwS/gg8h9Tky3uSbnjYTgUm0hVCet1cyhKd73ZA==",
3451+ "dev": true,
3452+ "requires": {
3453+ "esbuild": "^0.16.3",
3454+ "fsevents": "~2.3.2",
3455+ "postcss": "^8.4.20",
3456+ "resolve": "^1.22.1",
3457+ "rollup": "^3.7.0"
3458+ }
3459+ },
3460+ "xtend": {
3461+ "version": "4.0.2",
3462+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
3463+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
3464+ "dev": true
3465+ },
3466+ "yallist": {
3467+ "version": "3.1.1",
3468+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
3469+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
3470+ "dev": true
3471+ },
3472+ "yaml": {
3473+ "version": "1.10.2",
3474+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
3475+ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
3476+ "dev": true
3477+ }
3478+ }
3479+}
+25-0frontend/package.json
@@ -0,0 +1,25 @@
1+{
2+ "name": "frontend",
3+ "private": true,
4+ "version": "0.0.0",
5+ "type": "module",
6+ "scripts": {
7+ "dev": "vite",
8+ "build": "tsc && vite build",
9+ "preview": "vite preview"
10+ },
11+ "dependencies": {
12+ "react": "^18.2.0",
13+ "react-dom": "^18.2.0"
14+ },
15+ "devDependencies": {
16+ "@types/react": "^18.0.26",
17+ "@types/react-dom": "^18.0.9",
18+ "@vitejs/plugin-react": "^3.0.0",
19+ "autoprefixer": "^10.4.13",
20+ "postcss": "^8.4.20",
21+ "tailwindcss": "^3.2.4",
22+ "typescript": "^4.9.3",
23+ "vite": "^4.0.0"
24+ }
25+}
+6-0frontend/postcss.config.cjs
@@ -0,0 +1,6 @@
1+module.exports = {
2+ plugins: {
3+ tailwindcss: {},
4+ autoprefixer: {},
5+ },
6+}
+1-0frontend/public/vite.svg
@@ -0,0 +1 @@
1+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
+41-0frontend/src/App.css
@@ -0,0 +1,41 @@
1+#root {
2+ max-width: 1280px;
3+ margin: 0 auto;
4+ padding: 2rem;
5+ text-align: center;
6+}
7+
8+.logo {
9+ height: 6em;
10+ padding: 1.5em;
11+ will-change: filter;
12+}
13+.logo:hover {
14+ filter: drop-shadow(0 0 2em #646cffaa);
15+}
16+.logo.react:hover {
17+ filter: drop-shadow(0 0 2em #61dafbaa);
18+}
19+
20+@keyframes logo-spin {
21+ from {
22+ transform: rotate(0deg);
23+ }
24+ to {
25+ transform: rotate(360deg);
26+ }
27+}
28+
29+@media (prefers-reduced-motion: no-preference) {
30+ a:nth-of-type(2) .logo {
31+ animation: logo-spin infinite 20s linear;
32+ }
33+}
34+
35+.card {
36+ padding: 2em;
37+}
38+
39+.read-the-docs {
40+ color: #888;
41+}
+34-0frontend/src/App.tsx
@@ -0,0 +1,34 @@
1+import { useState } from 'react'
2+import reactLogo from './assets/react.svg'
3+import './App.css'
4+
5+function App() {
6+ const [count, setCount] = useState(0)
7+
8+ return (
9+ <div className="App">
10+ <div>
11+ <a href="https://vitejs.dev" target="_blank">
12+ <img src="/vite.svg" className="logo" alt="Vite logo" />
13+ </a>
14+ <a href="https://reactjs.org" target="_blank">
15+ <img src={reactLogo} className="logo react" alt="React logo" />
16+ </a>
17+ </div>
18+ <h1>Vite + React</h1>
19+ <div className="card">
20+ <button onClick={() => setCount((count) => count + 1)}>
21+ count is {count}
22+ </button>
23+ <p>
24+ Edit <code>src/App.tsx</code> and save to test HMR
25+ </p>
26+ </div>
27+ <p className="read-the-docs">
28+ Click on the Vite and React logos to learn more
29+ </p>
30+ </div>
31+ )
32+}
33+
34+export default App
+1-0frontend/src/assets/react.svg
@@ -0,0 +1 @@
1+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="35.93" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 228"><path fill="#00D8FF" d="M210.483 73.824a171.49 171.49 0 0 0-8.24-2.597c.465-1.9.893-3.777 1.273-5.621c6.238-30.281 2.16-54.676-11.769-62.708c-13.355-7.7-35.196.329-57.254 19.526a171.23 171.23 0 0 0-6.375 5.848a155.866 155.866 0 0 0-4.241-3.917C100.759 3.829 77.587-4.822 63.673 3.233C50.33 10.957 46.379 33.89 51.995 62.588a170.974 170.974 0 0 0 1.892 8.48c-3.28.932-6.445 1.924-9.474 2.98C17.309 83.498 0 98.307 0 113.668c0 15.865 18.582 31.778 46.812 41.427a145.52 145.52 0 0 0 6.921 2.165a167.467 167.467 0 0 0-2.01 9.138c-5.354 28.2-1.173 50.591 12.134 58.266c13.744 7.926 36.812-.22 59.273-19.855a145.567 145.567 0 0 0 5.342-4.923a168.064 168.064 0 0 0 6.92 6.314c21.758 18.722 43.246 26.282 56.54 18.586c13.731-7.949 18.194-32.003 12.4-61.268a145.016 145.016 0 0 0-1.535-6.842c1.62-.48 3.21-.974 4.76-1.488c29.348-9.723 48.443-25.443 48.443-41.52c0-15.417-17.868-30.326-45.517-39.844Zm-6.365 70.984c-1.4.463-2.836.91-4.3 1.345c-3.24-10.257-7.612-21.163-12.963-32.432c5.106-11 9.31-21.767 12.459-31.957c2.619.758 5.16 1.557 7.61 2.4c23.69 8.156 38.14 20.213 38.14 29.504c0 9.896-15.606 22.743-40.946 31.14Zm-10.514 20.834c2.562 12.94 2.927 24.64 1.23 33.787c-1.524 8.219-4.59 13.698-8.382 15.893c-8.067 4.67-25.32-1.4-43.927-17.412a156.726 156.726 0 0 1-6.437-5.87c7.214-7.889 14.423-17.06 21.459-27.246c12.376-1.098 24.068-2.894 34.671-5.345a134.17 134.17 0 0 1 1.386 6.193ZM87.276 214.515c-7.882 2.783-14.16 2.863-17.955.675c-8.075-4.657-11.432-22.636-6.853-46.752a156.923 156.923 0 0 1 1.869-8.499c10.486 2.32 22.093 3.988 34.498 4.994c7.084 9.967 14.501 19.128 21.976 27.15a134.668 134.668 0 0 1-4.877 4.492c-9.933 8.682-19.886 14.842-28.658 17.94ZM50.35 144.747c-12.483-4.267-22.792-9.812-29.858-15.863c-6.35-5.437-9.555-10.836-9.555-15.216c0-9.322 13.897-21.212 37.076-29.293c2.813-.98 5.757-1.905 8.812-2.773c3.204 10.42 7.406 21.315 12.477 32.332c-5.137 11.18-9.399 22.249-12.634 32.792a134.718 134.718 0 0 1-6.318-1.979Zm12.378-84.26c-4.811-24.587-1.616-43.134 6.425-47.789c8.564-4.958 27.502 2.111 47.463 19.835a144.318 144.318 0 0 1 3.841 3.545c-7.438 7.987-14.787 17.08-21.808 26.988c-12.04 1.116-23.565 2.908-34.161 5.309a160.342 160.342 0 0 1-1.76-7.887Zm110.427 27.268a347.8 347.8 0 0 0-7.785-12.803c8.168 1.033 15.994 2.404 23.343 4.08c-2.206 7.072-4.956 14.465-8.193 22.045a381.151 381.151 0 0 0-7.365-13.322Zm-45.032-43.861c5.044 5.465 10.096 11.566 15.065 18.186a322.04 322.04 0 0 0-30.257-.006c4.974-6.559 10.069-12.652 15.192-18.18ZM82.802 87.83a323.167 323.167 0 0 0-7.227 13.238c-3.184-7.553-5.909-14.98-8.134-22.152c7.304-1.634 15.093-2.97 23.209-3.984a321.524 321.524 0 0 0-7.848 12.897Zm8.081 65.352c-8.385-.936-16.291-2.203-23.593-3.793c2.26-7.3 5.045-14.885 8.298-22.6a321.187 321.187 0 0 0 7.257 13.246c2.594 4.48 5.28 8.868 8.038 13.147Zm37.542 31.03c-5.184-5.592-10.354-11.779-15.403-18.433c4.902.192 9.899.29 14.978.29c5.218 0 10.376-.117 15.453-.343c-4.985 6.774-10.018 12.97-15.028 18.486Zm52.198-57.817c3.422 7.8 6.306 15.345 8.596 22.52c-7.422 1.694-15.436 3.058-23.88 4.071a382.417 382.417 0 0 0 7.859-13.026a347.403 347.403 0 0 0 7.425-13.565Zm-16.898 8.101a358.557 358.557 0 0 1-12.281 19.815a329.4 329.4 0 0 1-23.444.823c-7.967 0-15.716-.248-23.178-.732a310.202 310.202 0 0 1-12.513-19.846h.001a307.41 307.41 0 0 1-10.923-20.627a310.278 310.278 0 0 1 10.89-20.637l-.001.001a307.318 307.318 0 0 1 12.413-19.761c7.613-.576 15.42-.876 23.31-.876H128c7.926 0 15.743.303 23.354.883a329.357 329.357 0 0 1 12.335 19.695a358.489 358.489 0 0 1 11.036 20.54a329.472 329.472 0 0 1-11 20.722Zm22.56-122.124c8.572 4.944 11.906 24.881 6.52 51.026c-.344 1.668-.73 3.367-1.15 5.09c-10.622-2.452-22.155-4.275-34.23-5.408c-7.034-10.017-14.323-19.124-21.64-27.008a160.789 160.789 0 0 1 5.888-5.4c18.9-16.447 36.564-22.941 44.612-18.3ZM128 90.808c12.625 0 22.86 10.235 22.86 22.86s-10.235 22.86-22.86 22.86s-22.86-10.235-22.86-22.86s10.235-22.86 22.86-22.86Z"></path></svg>
+74-0frontend/src/index.css
@@ -0,0 +1,74 @@
1+@tailwind base;
2+@tailwind components;
3+@tailwind utilities;
4+
5+:root {
6+ font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
7+ font-size: 16px;
8+ line-height: 24px;
9+ font-weight: 400;
10+
11+ color-scheme: light dark;
12+ color: rgba(255, 255, 255, 0.87);
13+ background-color: #242424;
14+
15+ font-synthesis: none;
16+ text-rendering: optimizeLegibility;
17+ -webkit-font-smoothing: antialiased;
18+ -moz-osx-font-smoothing: grayscale;
19+ -webkit-text-size-adjust: 100%;
20+}
21+
22+a {
23+ font-weight: 500;
24+ color: #646cff;
25+ text-decoration: inherit;
26+}
27+a:hover {
28+ color: #535bf2;
29+}
30+
31+body {
32+ margin: 0;
33+ display: flex;
34+ place-items: center;
35+ min-width: 320px;
36+ min-height: 100vh;
37+}
38+
39+h1 {
40+ font-size: 3.2em;
41+ line-height: 1.1;
42+}
43+
44+button {
45+ border-radius: 8px;
46+ border: 1px solid transparent;
47+ padding: 0.6em 1.2em;
48+ font-size: 1em;
49+ font-weight: 500;
50+ font-family: inherit;
51+ background-color: #1a1a1a;
52+ cursor: pointer;
53+ transition: border-color 0.25s;
54+}
55+button:hover {
56+ border-color: #646cff;
57+}
58+button:focus,
59+button:focus-visible {
60+ outline: 4px auto -webkit-focus-ring-color;
61+}
62+
63+@media (prefers-color-scheme: light) {
64+ :root {
65+ color: #213547;
66+ background-color: #ffffff;
67+ }
68+ a:hover {
69+ color: #747bff;
70+ }
71+ button {
72+ background-color: #f9f9f9;
73+ }
74+}
+10-0frontend/src/main.tsx
@@ -0,0 +1,10 @@
1+import React from 'react'
2+import ReactDOM from 'react-dom/client'
3+import App from './App'
4+import './index.css'
5+
6+ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
7+ <React.StrictMode>
8+ <App />
9+ </React.StrictMode>,
10+)
+1-0frontend/src/vite-env.d.ts
@@ -0,0 +1 @@
1+/// <reference types="vite/client" />
+8-0frontend/tailwind.config.cjs
@@ -0,0 +1,8 @@
1+/** @type {import('tailwindcss').Config} */
2+module.exports = {
3+ content: ["./index.html", "./src/**/*.{html,ts,tsx,js,jsx,css}"],
4+ theme: {
5+ extend: {},
6+ },
7+ plugins: [],
8+};
+21-0frontend/tsconfig.json
@@ -0,0 +1,21 @@
1+{
2+ "compilerOptions": {
3+ "target": "ESNext",
4+ "useDefineForClassFields": true,
5+ "lib": ["DOM", "DOM.Iterable", "ESNext"],
6+ "allowJs": false,
7+ "skipLibCheck": true,
8+ "esModuleInterop": false,
9+ "allowSyntheticDefaultImports": true,
10+ "strict": true,
11+ "forceConsistentCasingInFileNames": true,
12+ "module": "ESNext",
13+ "moduleResolution": "Node",
14+ "resolveJsonModule": true,
15+ "isolatedModules": true,
16+ "noEmit": true,
17+ "jsx": "react-jsx"
18+ },
19+ "include": ["src"],
20+ "references": [{ "path": "./tsconfig.node.json" }]
21+}
+9-0frontend/tsconfig.node.json
@@ -0,0 +1,9 @@
1+{
2+ "compilerOptions": {
3+ "composite": true,
4+ "module": "ESNext",
5+ "moduleResolution": "Node",
6+ "allowSyntheticDefaultImports": true
7+ },
8+ "include": ["vite.config.ts"]
9+}
+7-0frontend/vite.config.ts
@@ -0,0 +1,7 @@
1+import { defineConfig } from 'vite'
2+import react from '@vitejs/plugin-react'
3+
4+// https://vitejs.dev/config/
5+export default defineConfig({
6+ plugins: [react()],
7+})
+22-0manage.py
@@ -0,0 +1,22 @@
1+#!/usr/bin/env python
2+"""Django's command-line utility for administrative tasks."""
3+import os
4+import sys
5+
6+
7+def main():
8+ """Run administrative tasks."""
9+ os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'rango.settings')
10+ try:
11+ from django.core.management import execute_from_command_line
12+ except ImportError as exc:
13+ raise ImportError(
14+ "Couldn't import Django. Are you sure it's installed and "
15+ "available on your PYTHONPATH environment variable? Did you "
16+ "forget to activate a virtual environment?"
17+ ) from exc
18+ execute_from_command_line(sys.argv)
19+
20+
21+if __name__ == '__main__':
22+ main()
+0-0rango/__init__.py

No content changes (mode or rename only).

+16-0rango/asgi.py
@@ -0,0 +1,16 @@
1+"""
2+ASGI config for rango project.
3+
4+It exposes the ASGI callable as a module-level variable named ``application``.
5+
6+For more information on this file, see
7+https://docs.djangoproject.com/en/4.1/howto/deployment/asgi/
8+"""
9+
10+import os
11+
12+from django.core.asgi import get_asgi_application
13+
14+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'rango.settings')
15+
16+application = get_asgi_application()
+0-0rango/management/commands/__init__.py

No content changes (mode or rename only).

+16-0rango/management/commands/createsecret.py
@@ -0,0 +1,16 @@
1+from django.core.management.base import BaseCommand, CommandError
2+
3+class Command(BaseCommand):
4+ help = 'Closes the specified poll for voting'
5+
6+ def handle(self, *args, **options):
7+ # Generate a django secret key
8+ # https://stackoverflow.com/questions/4664720/how-to-generate-a-random-secret-key-in-django
9+ from django.core.management.utils import get_random_secret_key
10+ new_secret_key = get_random_secret_key()
11+ # Update the .env file
12+ from rango.settings import BASE_DIR
13+ env_file = BASE_DIR / '.env'
14+ with open(env_file, 'w') as f:
15+ f.write(f'SECRET_KEY="{new_secret_key}"')
16+ self.stdout.write(self.style.SUCCESS('Succesfully updated new key into .env file.'))
+138-0rango/settings.py
@@ -0,0 +1,138 @@
1+"""
2+Django settings for rango project.
3+
4+Generated by 'django-admin startproject' using Django 4.1.3.
5+
6+For more information on this file, see
7+https://docs.djangoproject.com/en/4.1/topics/settings/
8+
9+For the full list of settings and their values, see
10+https://docs.djangoproject.com/en/4.1/ref/settings/
11+"""
12+
13+from pathlib import Path
14+from dotenv import load_dotenv
15+import os
16+
17+# Load environment variables from .env file
18+load_dotenv()
19+
20+# Build paths inside the project like this: BASE_DIR / 'subdir'.
21+BASE_DIR = Path(__file__).resolve().parent.parent
22+
23+# React frontend build path
24+FRONTEND_BUILD_PATH = BASE_DIR / 'frontend' / 'dist'
25+
26+
27+# Quick-start development settings - unsuitable for production
28+# See https://docs.djangoproject.com/en/4.1/howto/deployment/checklist/
29+
30+# SECURITY WARNING: keep the secret key used in production secret!
31+SECRET_KEY = os.environ.get('SECRET_KEY')
32+
33+# SECURITY WARNING: don't run with debug turned on in production!
34+DEBUG = os.environ.get('DEBUG', True)
35+
36+ALLOWED_HOSTS = ['*']
37+
38+
39+# Application definition
40+
41+INSTALLED_APPS = [
42+ 'django.contrib.admin',
43+ 'django.contrib.auth',
44+ 'django.contrib.contenttypes',
45+ 'django.contrib.sessions',
46+ 'django.contrib.messages',
47+ 'django.contrib.staticfiles',
48+ 'rango'
49+]
50+
51+MIDDLEWARE = [
52+ 'django.middleware.security.SecurityMiddleware',
53+ 'django.contrib.sessions.middleware.SessionMiddleware',
54+ 'django.middleware.common.CommonMiddleware',
55+ 'django.middleware.csrf.CsrfViewMiddleware',
56+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
57+ 'django.contrib.messages.middleware.MessageMiddleware',
58+ 'django.middleware.clickjacking.XFrameOptionsMiddleware',
59+]
60+
61+ROOT_URLCONF = 'rango.urls'
62+
63+TEMPLATES = [
64+ {
65+ 'BACKEND': 'django.template.backends.django.DjangoTemplates',
66+ 'DIRS': [FRONTEND_BUILD_PATH],
67+ 'APP_DIRS': True,
68+ 'OPTIONS': {
69+ 'context_processors': [
70+ 'django.template.context_processors.debug',
71+ 'django.template.context_processors.request',
72+ 'django.contrib.auth.context_processors.auth',
73+ 'django.contrib.messages.context_processors.messages',
74+ ],
75+ },
76+ },
77+]
78+
79+WSGI_APPLICATION = 'rango.wsgi.application'
80+
81+
82+# Database
83+# https://docs.djangoproject.com/en/4.1/ref/settings/#databases
84+
85+DATABASES = {
86+ 'default': {
87+ 'ENGINE': 'django.db.backends.sqlite3',
88+ 'NAME': BASE_DIR / 'db.sqlite3',
89+ }
90+}
91+
92+
93+# Password validation
94+# https://docs.djangoproject.com/en/4.1/ref/settings/#auth-password-validators
95+
96+AUTH_PASSWORD_VALIDATORS = [
97+ {
98+ 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
99+ },
100+ {
101+ 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
102+ },
103+ {
104+ 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
105+ },
106+ {
107+ 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
108+ },
109+]
110+
111+
112+# Internationalization
113+# https://docs.djangoproject.com/en/4.1/topics/i18n/
114+
115+LANGUAGE_CODE = 'en-us'
116+
117+TIME_ZONE = 'UTC'
118+
119+USE_I18N = True
120+
121+USE_TZ = True
122+
123+
124+# Static files (CSS, JavaScript, Images)
125+# https://docs.djangoproject.com/en/4.1/howto/static-files/
126+
127+STATIC_URL = 'static/'
128+STATIC_ROOT = BASE_DIR / 'static'
129+
130+# Media files (user uploaded files)
131+
132+MEDIA_URL = '/'
133+MEDIA_ROOT = BASE_DIR / FRONTEND_BUILD_PATH
134+
135+# Default primary key field type
136+# https://docs.djangoproject.com/en/4.1/ref/settings/#default-auto-field
137+
138+DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
+28-0rango/urls.py
@@ -0,0 +1,28 @@
1+"""rango URL Configuration
2+
3+The `urlpatterns` list routes URLs to views. For more information please see:
4+ https://docs.djangoproject.com/en/4.1/topics/http/urls/
5+Examples:
6+Function views
7+ 1. Add an import: from my_app import views
8+ 2. Add a URL to urlpatterns: path('', views.home, name='home')
9+Class-based views
10+ 1. Add an import: from other_app.views import Home
11+ 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
12+Including another URLconf
13+ 1. Import the include() function: from django.urls import include, path
14+ 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
15+"""
16+from django.contrib import admin
17+from django.urls import path
18+from rango import views
19+
20+urlpatterns = [
21+ path('admin/', admin.site.urls),
22+ path('', views.IndexView.as_view(), name='index'),
23+]
24+
25+# include media files
26+from django.conf import settings
27+from django.conf.urls.static import static
28+urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
+10-0rango/views.py
@@ -0,0 +1,10 @@
1+from django.views.generic import TemplateView
2+
3+
4+class IndexView(TemplateView):
5+ template_name = 'index.html'
6+
7+ def get_context_data(self, **kwargs):
8+ context = super().get_context_data(**kwargs)
9+ context['title'] = 'Rango'
10+ return context
+16-0rango/wsgi.py
@@ -0,0 +1,16 @@
1+"""
2+WSGI config for rango project.
3+
4+It exposes the WSGI callable as a module-level variable named ``application``.
5+
6+For more information on this file, see
7+https://docs.djangoproject.com/en/4.1/howto/deployment/wsgi/
8+"""
9+
10+import os
11+
12+from django.core.wsgi import get_wsgi_application
13+
14+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'rango.settings')
15+
16+application = get_wsgi_application()