~repos /edge-city

#react#js#ssr

git clone https://pyrossh.dev/repos/edge-city.git

edge-city is a next level meta-framework for react that runs only on edge runtimes


72a995ba Peter John

2 years ago
initial commit
Files changed (77) hide show
  1. .gitignore +1 -170
  2. README.md +0 -15
  3. astroPlugin.js +0 -40
  4. bun.lockb +0 -0
  5. docs/package.json +7 -0
  6. example/.gitignore +4 -0
  7. example/.vscode/extensions.json +6 -0
  8. example/.vscode/settings.json +18 -0
  9. example/globals.d.ts +5 -0
  10. example/jsconfig.json +9 -0
  11. example/migrations/0000_cheerful_omega_sentinel.sql +7 -0
  12. example/migrations/meta/0000_snapshot.json +54 -0
  13. example/migrations/meta/_journal.json +13 -0
  14. example/migrations/schema.js +5 -0
  15. example/package.json +68 -0
  16. example/playwright.config.js +64 -0
  17. example/readme.md +22 -0
  18. example/scripts/migrate.js +14 -0
  19. example/src/components/Counter/Counter.css +7 -0
  20. example/src/components/Counter/Counter.jsx +22 -0
  21. example/src/components/Layout/Layout.css +28 -0
  22. example/src/components/Layout/Layout.jsx +18 -0
  23. example/src/components/Spinner/Spinner.css +40 -0
  24. example/src/components/Spinner/Spinner.jsx +11 -0
  25. example/src/components/Timer/Timer.jsx +18 -0
  26. example/src/init.js +20 -0
  27. example/src/pages/_404/page.css +38 -0
  28. example/src/pages/_404/page.jsx +17 -0
  29. example/src/pages/_500/page.css +39 -0
  30. example/src/pages/_500/page.jsx +17 -0
  31. example/src/pages/about/page.css +9 -0
  32. example/src/pages/about/page.jsx +25 -0
  33. example/src/pages/app.css +25 -0
  34. example/src/pages/app.jsx +23 -0
  35. example/src/pages/normalize.css +396 -0
  36. example/src/pages/page.css +8 -0
  37. example/src/pages/page.jsx +21 -0
  38. example/src/pages/page.spec.js +19 -0
  39. example/src/pages/spectrum.css +431 -0
  40. example/src/pages/todos/Todo.css +44 -0
  41. example/src/pages/todos/Todo.jsx +72 -0
  42. example/src/pages/todos/TodoList.jsx +23 -0
  43. example/src/pages/todos/page.css +46 -0
  44. example/src/pages/todos/page.jsx +52 -0
  45. example/src/services/auth.service.js +50 -0
  46. example/src/services/todos.service.js +59 -0
  47. example/src/services/todos.service.test.js +36 -0
  48. {public → example/src/static}/favicon.ico +0 -0
  49. {public → example/src/static}/logo192.png +0 -0
  50. {public → example/src/static}/logo512.png +0 -0
  51. {public → example/src/static}/manifest.json +0 -0
  52. {public → example/src/static}/robots.txt +0 -0
  53. example/vite.config.js +55 -0
  54. index.css +0 -3
  55. index.js +0 -131
  56. index.test.js +0 -11
  57. jsconfig.json +0 -25
  58. lib/bin/cli.js +305 -0
  59. lib/data.js +95 -0
  60. lib/hydratePage.js +27 -0
  61. lib/link.js +33 -0
  62. lib/package.json +51 -0
  63. lib/router.js +41 -0
  64. lib/server/dev-server.js +18 -0
  65. lib/server/renderApi.js +21 -0
  66. lib/server/renderPage.js +160 -0
  67. package-lock.json +0 -111
  68. package.json +0 -17
  69. pnpm-lock.yaml +8911 -0
  70. pnpm-workspace.yaml +4 -0
  71. public/index.html +0 -44
  72. readme.md +50 -0
  73. router.js +0 -26
  74. routes/about/index.jsx +0 -12
  75. routes/api/todos/index.js +0 -5
  76. routes/index.astro +0 -33
  77. utils.js +0 -21
.gitignore CHANGED
@@ -1,170 +1 @@
1
- # Based on https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore
2
-
3
- # Logs
4
-
5
- logs
6
- _.log
7
- npm-debug.log_
8
- yarn-debug.log*
9
- yarn-error.log*
10
- lerna-debug.log*
11
- .pnpm-debug.log*
12
-
13
- # Diagnostic reports (https://nodejs.org/api/report.html)
14
-
15
- report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
16
-
17
- # Runtime data
18
-
19
- pids
20
- _.pid
21
- _.seed
22
- \*.pid.lock
23
-
24
- # Directory for instrumented libs generated by jscoverage/JSCover
25
-
26
- lib-cov
27
-
28
- # Coverage directory used by tools like istanbul
29
-
30
- coverage
31
- \*.lcov
32
-
33
- # nyc test coverage
34
-
35
- .nyc_output
36
-
37
- # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
38
-
39
- .grunt
40
-
41
- # Bower dependency directory (https://bower.io/)
42
-
43
- bower_components
44
-
45
- # node-waf configuration
46
-
47
- .lock-wscript
48
-
49
- # Compiled binary addons (https://nodejs.org/api/addons.html)
50
-
51
- build/Release
52
-
53
- # Dependency directories
54
-
55
- node_modules/
1
+ node_modules
56
- jspm_packages/
57
-
58
- # Snowpack dependency directory (https://snowpack.dev/)
59
-
60
- web_modules/
61
-
62
- # TypeScript cache
63
-
64
- \*.tsbuildinfo
65
-
66
- # Optional npm cache directory
67
-
68
- .npm
69
-
70
- # Optional eslint cache
71
-
72
- .eslintcache
73
-
74
- # Optional stylelint cache
75
-
76
- .stylelintcache
77
-
78
- # Microbundle cache
79
-
80
- .rpt2_cache/
81
- .rts2_cache_cjs/
82
- .rts2_cache_es/
83
- .rts2_cache_umd/
84
-
85
- # Optional REPL history
86
-
87
- .node_repl_history
88
-
89
- # Output of 'npm pack'
90
-
91
- \*.tgz
92
-
93
- # Yarn Integrity file
94
-
95
- .yarn-integrity
96
-
97
- # dotenv environment variable files
98
-
99
- .env
100
- .env.development.local
101
- .env.test.local
102
- .env.production.local
103
- .env.local
104
-
105
- # parcel-bundler cache (https://parceljs.org/)
106
-
107
- .cache
108
- .parcel-cache
109
-
110
- # Next.js build output
111
-
112
- .next
113
- out
114
-
115
- # Nuxt.js build / generate output
116
-
117
- .nuxt
118
- dist
119
-
120
- # Gatsby files
121
-
122
- .cache/
123
-
124
- # Comment in the public line in if your project uses Gatsby and not Next.js
125
-
126
- # https://nextjs.org/blog/next-9-1#public-directory-support
127
-
128
- # public
129
-
130
- # vuepress build output
131
-
132
- .vuepress/dist
133
-
134
- # vuepress v2.x temp and cache directory
135
-
136
- .temp
137
- .cache
138
-
139
- # Docusaurus cache and generated files
140
-
141
- .docusaurus
142
-
143
- # Serverless directories
144
-
145
- .serverless/
146
-
147
- # FuseBox cache
148
-
149
- .fusebox/
150
-
151
- # DynamoDB Local files
152
-
153
- .dynamodb/
154
-
155
- # TernJS port file
156
-
157
- .tern-port
158
-
159
- # Stores VSCode versions used for testing VSCode extensions
160
-
161
- .vscode-test
162
-
163
- # yarn v2
164
-
165
- .yarn/cache
166
- .yarn/unplugged
167
- .yarn/build-state.yml
168
- .yarn/install-state.gz
169
- .pnp.\*
170
- dist
README.md DELETED
@@ -1,15 +0,0 @@
1
- # quickstart
2
-
3
- To install dependencies:
4
-
5
- ```bash
6
- bun install
7
- ```
8
-
9
- To run:
10
-
11
- ```bash
12
- bun run index.js
13
- ```
14
-
15
- This project was created using `bun init` in bun v0.5.7. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.
astroPlugin.js DELETED
@@ -1,40 +0,0 @@
1
- import { plugin } from "bun";
2
-
3
- const transpiler = new Bun.Transpiler({
4
- loader: "jsx",
5
- autoImportJSX: true,
6
- jsxOptimizationInline: true,
7
- });
8
-
9
- plugin({
10
- name: "Astro",
11
- async setup(build) {
12
- const { readFileSync, writeFileSync } = await import("fs");
13
- build.onLoad({ filter: /\.astro$/ }, async (args) => {
14
- const text = readFileSync(args.path, "utf8");
15
- const [_, js, html] = text.split("---");
16
- const imports = js.split("\n").filter((line) => line.startsWith("import")).join("\n");
17
- const body = js.split("\n").filter((line) => !line.startsWith("import")).join("\n");
18
- const code = await transpiler.transform(`
19
- ${imports}
20
-
21
- export default () => {
22
- ${body}
23
-
24
- return (
25
- ${html}
26
- );
27
- }
28
- `);
29
- // console.log('code', code);
30
- writeFileSync("./dist/index.js", code)
31
- const src = await import("./dist/index.js");
32
- return {
33
- exports: {
34
- default: src.default,
35
- },
36
- loader: "object",
37
- };
38
- });
39
- },
40
- });
bun.lockb DELETED
Binary file
docs/package.json ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "edge-city-docs",
3
+ "type": "module",
4
+ "dependencies": {
5
+ "@markdoc/markdoc": "0.2.2"
6
+ }
7
+ }
example/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ node_modules
2
+ .env
3
+ test-results
4
+ build
example/.vscode/extensions.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "recommendations": [
3
+ "ms-playwright.playwright",
4
+ "esbenp.prettier-vscode"
5
+ ]
6
+ }
example/.vscode/settings.json ADDED
@@ -0,0 +1,18 @@
1
+ {
2
+ "files.exclude": {
3
+ "**/.git": true,
4
+ "**/.svn": true,
5
+ "**/.hg": true,
6
+ "**/CVS": true,
7
+ "**/.DS_Store": true,
8
+ "**/Thumbs.db": true,
9
+ "**/dist": true,
10
+ "**/playwright-report": true,
11
+ "test-results": true
12
+ },
13
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
14
+ "[javascript]": {
15
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
16
+ "editor.formatOnSave": true
17
+ },
18
+ }
example/globals.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ import { NeonDatabase } from "drizzle-orm/neon-serverless"
2
+
3
+ declare global {
4
+ const db: NeonDatabase;
5
+ }
example/jsconfig.json ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "compilerOptions": {
3
+ "paths": {
4
+ "@/*": [
5
+ "./src/*"
6
+ ]
7
+ }
8
+ }
9
+ }
example/migrations/0000_cheerful_omega_sentinel.sql ADDED
@@ -0,0 +1,7 @@
1
+ create table if not exists "todos" (
2
+ "id" serial primary key not null,
3
+ "text" text not null,
4
+ "completed" boolean not null,
5
+ "createdAt" date not null,
6
+ "updatedAt" date
7
+ );
example/migrations/meta/0000_snapshot.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "version": "5",
3
+ "dialect": "pg",
4
+ "id": "d0432aeb-cfc0-4ad1-af0d-b91474ba236a",
5
+ "prevId": "00000000-0000-0000-0000-000000000000",
6
+ "tables": {
7
+ "todos": {
8
+ "name": "todos",
9
+ "schema": "",
10
+ "columns": {
11
+ "id": {
12
+ "name": "id",
13
+ "type": "serial",
14
+ "primaryKey": true,
15
+ "notNull": true
16
+ },
17
+ "text": {
18
+ "name": "text",
19
+ "type": "text",
20
+ "primaryKey": false,
21
+ "notNull": true
22
+ },
23
+ "completed": {
24
+ "name": "completed",
25
+ "type": "boolean",
26
+ "primaryKey": false,
27
+ "notNull": true
28
+ },
29
+ "createdAt": {
30
+ "name": "createdAt",
31
+ "type": "date",
32
+ "primaryKey": false,
33
+ "notNull": true
34
+ },
35
+ "updatedAt": {
36
+ "name": "updatedAt",
37
+ "type": "date",
38
+ "primaryKey": false,
39
+ "notNull": false
40
+ }
41
+ },
42
+ "indexes": {},
43
+ "foreignKeys": {},
44
+ "compositePrimaryKeys": {}
45
+ }
46
+ },
47
+ "enums": {},
48
+ "schemas": {},
49
+ "_meta": {
50
+ "schemas": {},
51
+ "tables": {},
52
+ "columns": {}
53
+ }
54
+ }
example/migrations/meta/_journal.json ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": "5",
3
+ "dialect": "pg",
4
+ "entries": [
5
+ {
6
+ "idx": 0,
7
+ "version": "5",
8
+ "when": 1684994794751,
9
+ "tag": "0000_cheerful_omega_sentinel",
10
+ "breakpoints": false
11
+ }
12
+ ]
13
+ }
example/migrations/schema.js ADDED
@@ -0,0 +1,5 @@
1
+ import { todos } from "../src/services/todos.service";
2
+
3
+ export {
4
+ todos,
5
+ }
example/package.json ADDED
@@ -0,0 +1,68 @@
1
+ {
2
+ "name": "edge-city-example",
3
+ "type": "module",
4
+ "scripts": {
5
+ "lint": "eslint ./src",
6
+ "fmt": "prettier ./src --write",
7
+ "dev": "edge-city dev -p cloudflare",
8
+ "dev:wrangler": "cd build && wrangler pages dev static",
9
+ "deploy:wrangler": "cd build && wrangler pages deploy static",
10
+ "build": " edge-city build -p cloudflare",
11
+ "build-2": "vite build",
12
+ "generate": "drizzle-kit generate:pg --out migrations --schema migrations/schema.js",
13
+ "migrate": "node scripts/migrate.js",
14
+ "test": "jest",
15
+ "test-e2e": "playwright test"
16
+ },
17
+ "dependencies": {
18
+ "@neondatabase/serverless": "0.4.5",
19
+ "drizzle-orm": "0.26.0",
20
+ "edge-city": "workspace:*",
21
+ "react": "18.2.0",
22
+ "react-aria-components": "1.0.0-alpha.3",
23
+ "react-dom": "18.2.0",
24
+ "react-error-boundary": "4.0.4",
25
+ "react-helmet-async": "1.3.0",
26
+ "react-hook-form": "7.43.9",
27
+ "sql-highlight": "^4.3.2",
28
+ "zod": "^3.21.4"
29
+ },
30
+ "devDependencies": {
31
+ "@playwright/test": "^1.31.2",
32
+ "drizzle-kit": "0.18.0",
33
+ "eslint": "^8.35.0",
34
+ "eslint-config-react-app": "^7.0.1",
35
+ "postgres": "3.3.4",
36
+ "prettier": "^2.8.8",
37
+ "wrangler": "3.0.1",
38
+ "vite": "4.3.9",
39
+ "vite-plugin-pages": "0.30.1",
40
+ "@vitejs/plugin-react": "4.0.0"
41
+ },
42
+ "prettier": {
43
+ "printWidth": 100,
44
+ "singleQuote": false,
45
+ "jsxSingleQuote": false,
46
+ "bracketSameLine": false,
47
+ "trailingComma": "all"
48
+ },
49
+ "eslintConfig": {
50
+ "parserOptions": {
51
+ "ecmaVersion": "latest",
52
+ "sourceType": "module"
53
+ },
54
+ "extends": [
55
+ "eslint:recommended",
56
+ "react-app"
57
+ ],
58
+ "rules": {
59
+ "react/prop-types": "warn",
60
+ "react/react-in-jsx-scope": "off",
61
+ "no-unused-vars": "warn"
62
+ },
63
+ "globals": {
64
+ "globalThis": false,
65
+ "db": false
66
+ }
67
+ }
68
+ }
example/playwright.config.js ADDED
@@ -0,0 +1,64 @@
1
+ // @ts-check
2
+ import { defineConfig, devices } from '@playwright/test';
3
+
4
+ /**
5
+ * @see https://playwright.dev/docs/test-configuration
6
+ */
7
+ export default defineConfig({
8
+ testDir: './routes',
9
+ timeout: 30 * 1000,
10
+ expect: {
11
+ timeout: 5000
12
+ },
13
+ fullyParallel: true,
14
+ forbidOnly: !!process.env.CI,
15
+ retries: process.env.CI ? 2 : 0,
16
+ workers: process.env.CI ? 1 : undefined,
17
+ reporter: 'html',
18
+ use: {
19
+ actionTimeout: 0,
20
+ baseURL: 'http://localhost:3000',
21
+ trace: 'on-first-retry',
22
+ },
23
+ projects: [
24
+ {
25
+ name: 'chromium',
26
+ use: { ...devices['Desktop Chrome'] },
27
+ },
28
+
29
+ {
30
+ name: 'firefox',
31
+ use: { ...devices['Desktop Firefox'] },
32
+ },
33
+
34
+ {
35
+ name: 'webkit',
36
+ use: { ...devices['Desktop Safari'] },
37
+ },
38
+
39
+ /* Test against mobile viewports. */
40
+ // {
41
+ // name: 'Mobile Chrome',
42
+ // use: { ...devices['Pixel 5'] },
43
+ // },
44
+ // {
45
+ // name: 'Mobile Safari',
46
+ // use: { ...devices['iPhone 12'] },
47
+ // },
48
+
49
+ /* Test against branded browsers. */
50
+ // {
51
+ // name: 'Microsoft Edge',
52
+ // use: { channel: 'msedge' },
53
+ // },
54
+ // {
55
+ // name: 'Google Chrome',
56
+ // use: { channel: 'chrome' },
57
+ // },
58
+ ],
59
+ outputDir: 'test-results/',
60
+ webServer: {
61
+ command: 'npm run dev',
62
+ port: 8788,
63
+ },
64
+ });
example/readme.md ADDED
@@ -0,0 +1,22 @@
1
+ # Sample edge-city app
2
+
3
+ ## Requirements
4
+
5
+ 1. node >= v20
6
+
7
+ ## Setup
8
+
9
+ 1. `npm i`
10
+ 2. `npx playright install`
11
+
12
+ ## Running
13
+
14
+ `npm run dev`
15
+
16
+ ## Testing
17
+
18
+ `npm test`
19
+
20
+ ## Build
21
+
22
+ `npm run build`
example/scripts/migrate.js ADDED
@@ -0,0 +1,14 @@
1
+ import { drizzle } from 'drizzle-orm/postgres-js';
2
+ import { migrate } from 'drizzle-orm/postgres-js/migrator';
3
+ import postgres from 'postgres';
4
+ import dotenv from 'dotenv';
5
+ dotenv.config();
6
+
7
+ const main = async () => {
8
+ console.log("migration started");
9
+ const client = postgres(process.env.EDGE_PG_CONN_URL + "?sslmode=require", { max: 1 });
10
+ await migrate(drizzle(client), { migrationsFolder: './migrations' });
11
+ console.log("migration complete");
12
+ }
13
+
14
+ main();
example/src/components/Counter/Counter.css ADDED
@@ -0,0 +1,7 @@
1
+ .counter {
2
+ & .button {
3
+ border-radius: 0.25rem;
4
+ padding: 1rem;
5
+ margin-left: 0.5rem;
6
+ }
7
+ }
example/src/components/Counter/Counter.jsx ADDED
@@ -0,0 +1,22 @@
1
+ import React, { useState } from "react";
2
+ import { Button } from "react-aria-components";
3
+ import "./Counter.css";
4
+
5
+ const Counter = () => {
6
+ const [count, setCount] = useState(5);
7
+ const increment = () => setCount(count - 1);
8
+ const decrement = () => setCount(count + 1);
9
+ return (
10
+ <div className="counter">
11
+ <Button onPress={increment}>
12
+ -
13
+ </Button>
14
+ <span className="count">{count}</span>
15
+ <Button onPress={decrement}>
16
+ +
17
+ </Button>
18
+ </div>
19
+ );
20
+ };
21
+
22
+ export default Counter;
example/src/components/Layout/Layout.css ADDED
@@ -0,0 +1,28 @@
1
+ .layout {
2
+ display: flex;
3
+ margin-left: 20%;
4
+
5
+ & .sidebar {
6
+ display: flex;
7
+ flex-shrink: 0;
8
+ flex-direction: column;
9
+ align-items: center;
10
+ padding: 20px;
11
+ padding-top: 42px;
12
+ line-height: 1.8em;
13
+
14
+ & a {
15
+ margin-right: 20px;
16
+ padding: 0.25rem;
17
+ }
18
+ }
19
+
20
+ & .content {
21
+ display: flex;
22
+ flex: 1;
23
+ padding: 20px;
24
+ padding-bottom: 50px;
25
+ border-left: 2px solid #eee;
26
+ min-height: 100vh;
27
+ }
28
+ }
example/src/components/Layout/Layout.jsx ADDED
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ import Link from "edge-city/link";
3
+ import "./Layout.css";
4
+
5
+ const Layout = ({ children }) => {
6
+ return (
7
+ <div className="layout">
8
+ <div className="sidebar">
9
+ <Link href="/">Home</Link>
10
+ <Link href="/about">About us</Link>
11
+ <Link href="/todos">Todos</Link>
12
+ </div>
13
+ <div className="content">{children}</div>
14
+ </div>
15
+ );
16
+ };
17
+
18
+ export default Layout;
example/src/components/Spinner/Spinner.css ADDED
@@ -0,0 +1,40 @@
1
+ .spinner-container {
2
+ display: flex;
3
+ flex: 1;
4
+ align-items: center;
5
+ justify-content: center;
6
+ padding: 1rem;
7
+ }
8
+
9
+ .spinner {
10
+ animation: rotate 2s linear infinite;
11
+ width: 50px;
12
+ height: 50px;
13
+ }
14
+
15
+ .spinner-path {
16
+ stroke: #2563eb;
17
+ stroke-linecap: round;
18
+ animation: dash 1.5s ease-in-out infinite;
19
+ }
20
+
21
+ @keyframes rotate {
22
+ 100% {
23
+ transform: rotate(360deg);
24
+ }
25
+ }
26
+
27
+ @keyframes dash {
28
+ 0% {
29
+ stroke-dasharray: 1, 150;
30
+ stroke-dashoffset: 0;
31
+ }
32
+ 50% {
33
+ stroke-dasharray: 90, 150;
34
+ stroke-dashoffset: -35;
35
+ }
36
+ 100% {
37
+ stroke-dasharray: 90, 150;
38
+ stroke-dashoffset: -124;
39
+ }
40
+ }
example/src/components/Spinner/Spinner.jsx ADDED
@@ -0,0 +1,11 @@
1
+ import "./Spinner.css";
2
+
3
+ export default function Spinner() {
4
+ return (
5
+ <div className="spinner-container">
6
+ <svg className="spinner" viewBox="0 0 50 50">
7
+ <circle className="spinner-path" cx="25" cy="25" r="20" fill="none" strokeWidth="5"></circle>
8
+ </svg>
9
+ </div>
10
+ )
11
+ }
example/src/components/Timer/Timer.jsx ADDED
@@ -0,0 +1,18 @@
1
+ import { useState, useEffect } from "react";
2
+
3
+ export default function Timer() {
4
+ const [counter, setCounter] = useState(0);
5
+ useEffect(() => {
6
+ const ref = setInterval(() => {
7
+ setCounter((c) => c + 1);
8
+ }, 100);
9
+ return () => {
10
+ clearInterval(ref);
11
+ };
12
+ }, []);
13
+ return (
14
+ <div>
15
+ <p>(This page is interactive while data is loading: {counter})</p>
16
+ </div>
17
+ );
18
+ }
example/src/init.js ADDED
@@ -0,0 +1,20 @@
1
+ import { drizzle } from "drizzle-orm/neon-serverless";
2
+ import { Pool } from "@neondatabase/serverless";
3
+ import { highlight } from "sql-highlight";
4
+
5
+ const init = async () => {
6
+ const pool = new Pool({
7
+ connectionString: process.env.EDGE_PG_CONN_URL,
8
+ });
9
+ const db = drizzle(pool, {
10
+ logger: {
11
+ logQuery: (query, params) => {
12
+ const sqlString = params.reduce((acc, v, i) => acc.replaceAll("$" + (i + 1), v), query);
13
+ console.log(highlight(sqlString));
14
+ },
15
+ },
16
+ });
17
+ globalThis.db = db;
18
+ };
19
+
20
+ export default init;
example/src/pages/_404/page.css ADDED
@@ -0,0 +1,38 @@
1
+ .notfound-page {
2
+ display: flex;
3
+ flex-direction: column;
4
+ align-items: center;
5
+ justify-content: center;
6
+ color: #000;
7
+ background: #fff;
8
+ font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir,
9
+ "Helvetica Neue", "Lucida Grande", sans-serif;
10
+ text-align: center;
11
+
12
+ & h1 {
13
+ display: inline-block;
14
+ border-right: 1px solid rgba(0, 0, 0, 0.3);
15
+ margin: 0;
16
+ margin-right: 20px;
17
+ padding: 10px 23px 10px 0;
18
+ font-size: 24px;
19
+ font-weight: 500;
20
+ vertical-align: top;
21
+ }
22
+
23
+ & .content {
24
+ display: inline-block;
25
+ text-align: left;
26
+ line-height: 49px;
27
+ height: 49px;
28
+ vertical-align: middle;
29
+ }
30
+
31
+ & h2 {
32
+ font-size: 14px;
33
+ font-weight: normal;
34
+ line-height: inherit;
35
+ margin: 0;
36
+ padding: 0;
37
+ }
38
+ }
example/src/pages/_404/page.jsx ADDED
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+ import { Helmet } from "react-helmet-async";
3
+ import "./page.css";
4
+
5
+ export default function Page() {
6
+ return (
7
+ <div className="notfound-page">
8
+ <Helmet>
9
+ <title>Page not found</title>
10
+ </Helmet>
11
+ <h1>404 - Page not found</h1>
12
+ <div className="content">
13
+ <h2>This page could not be found</h2>
14
+ </div>
15
+ </div>
16
+ );
17
+ }
example/src/pages/_500/page.css ADDED
@@ -0,0 +1,39 @@
1
+ .err-page {
2
+ display: flex;
3
+ flex-direction: column;
4
+ align-items: center;
5
+ justify-content: center;
6
+ color: #000;
7
+ background: #fff;
8
+ font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir,
9
+ "Helvetica Neue", "Lucida Grande", sans-serif;
10
+ height: 100vh;
11
+ text-align: center;
12
+
13
+ & h1 {
14
+ display: inline-block;
15
+ border-right: 1px solid rgba(0, 0, 0, 0.3);
16
+ margin: 0;
17
+ margin-right: 20px;
18
+ padding: 10px 23px 10px 0;
19
+ font-size: 24px;
20
+ font-weight: 500;
21
+ vertical-align: top;
22
+ }
23
+
24
+ & .content {
25
+ display: inline-block;
26
+ text-align: left;
27
+ line-height: 49px;
28
+ height: 49px;
29
+ vertical-align: middle;
30
+ }
31
+
32
+ & h2 {
33
+ font-size: 14px;
34
+ font-weight: normal;
35
+ line-height: inherit;
36
+ margin: 0;
37
+ padding: 0;
38
+ }
39
+ }
example/src/pages/_500/page.jsx ADDED
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+ import { Helmet } from "react-helmet-async";
3
+ import "./page.css";
4
+
5
+ export default function Page() {
6
+ return (
7
+ <div className="err-page">
8
+ <Helmet>
9
+ <title>Oop's Something went wrong</title>
10
+ </Helmet>
11
+ <h1>Oop's Something went wrong</h1>
12
+ <div className="content">
13
+ <h2>Internal Server Error</h2>
14
+ </div>
15
+ </div>
16
+ );
17
+ }
example/src/pages/about/page.css ADDED
@@ -0,0 +1,9 @@
1
+ .about-page {
2
+ margin: 0;
3
+ padding: 20px;
4
+ padding-bottom: 130px;
5
+
6
+ & footer {
7
+ margin-top: 100px;
8
+ }
9
+ }
example/src/pages/about/page.jsx ADDED
@@ -0,0 +1,25 @@
1
+ import React from "react";
2
+ import Link from "edge-city/link";
3
+ import { useRouter } from "edge-city/router";
4
+ import { Helmet } from "react-helmet-async";
5
+ import "./page.css";
6
+
7
+ export default function Page() {
8
+ const router = useRouter();
9
+ return (
10
+ <div className="about-page">
11
+ <Helmet>
12
+ <title>About | Edge City</title>
13
+ <meta name="description" content="Showcase of using edge-city meta-framework." />
14
+ </Helmet>
15
+ <div>
16
+ <h1>About Page</h1>
17
+ <p>Path: {router.pathname}</p>
18
+ <p>Showcase of using edge-city meta-framework.</p>
19
+ </div>
20
+ <footer>
21
+ <Link href="/">Back</Link>
22
+ </footer>
23
+ </div>
24
+ );
25
+ }
example/src/pages/app.css ADDED
@@ -0,0 +1,25 @@
1
+ html {
2
+ line-height: 1.5;
3
+ font-size: 16px;
4
+ -webkit-text-size-adjust: 100%;
5
+ font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
6
+ "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
7
+ "Segoe UI Symbol", "Noto Color Emoji";
8
+ }
9
+
10
+ body {
11
+ font-family: inherit;
12
+ line-height: inherit;
13
+ }
14
+
15
+ h1 {
16
+ font-size: 1.25rem;
17
+ line-height: 1.75rem;
18
+ font-weight: 700;
19
+ margin-top: 1rem;
20
+ margin-bottom: 1rem;
21
+ }
22
+
23
+ a:hover {
24
+ text-decoration: underline;
25
+ }
example/src/pages/app.jsx ADDED
@@ -0,0 +1,23 @@
1
+ import { Suspense } from "react";
2
+ import { SSRProvider } from "react-aria";
3
+ import { HelmetProvider } from 'react-helmet-async';
4
+ import { usePage } from "edge-city/router";
5
+ import Layout from "@/components/Layout/Layout";
6
+ import "./normalize.css";
7
+ import "./spectrum.css";
8
+ import "./app.css";
9
+
10
+ export default function App({ helmetContext }) {
11
+ const Page = usePage();
12
+ return (
13
+ <HelmetProvider context={helmetContext}>
14
+ <SSRProvider>
15
+ <Layout>
16
+ <Suspense fallback={<p>Routing....</p>}>
17
+ <Page />
18
+ </Suspense>
19
+ </Layout>
20
+ </SSRProvider>
21
+ </HelmetProvider>
22
+ );
23
+ }
example/src/pages/normalize.css ADDED
@@ -0,0 +1,396 @@
1
+
2
+ /*
3
+ 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
4
+ 2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
5
+ */
6
+
7
+ *,
8
+ ::before,
9
+ ::after {
10
+ box-sizing: border-box; /* 1 */
11
+ border-width: 0; /* 2 */
12
+ border-style: solid; /* 2 */
13
+ border-color: theme("borderColor.DEFAULT", currentColor); /* 2 */
14
+ }
15
+
16
+ ::before,
17
+ ::after {
18
+ --tw-content: "";
19
+ }
20
+
21
+ /*
22
+ 1. Use a consistent sensible line-height in all browsers.
23
+ 2. Prevent adjustments of font size after orientation changes in iOS.
24
+ 3. Use a more readable tab size.
25
+ 4. Use the user's configured `sans` font-family by default.
26
+ 5. Use the user's configured `sans` font-feature-settings by default.
27
+ 6. Use the user's configured `sans` font-variation-settings by default.
28
+ */
29
+
30
+ html {
31
+ line-height: 1.5; /* 1 */
32
+ -webkit-text-size-adjust: 100%; /* 2 */
33
+ -moz-tab-size: 4; /* 3 */
34
+ tab-size: 4; /* 3 */
35
+ font-family: theme(
36
+ "fontFamily.sans",
37
+ ui-sans-serif,
38
+ system-ui,
39
+ -apple-system,
40
+ BlinkMacSystemFont,
41
+ "Segoe UI",
42
+ Roboto,
43
+ "Helvetica Neue",
44
+ Arial,
45
+ "Noto Sans",
46
+ sans-serif,
47
+ "Apple Color Emoji",
48
+ "Segoe UI Emoji",
49
+ "Segoe UI Symbol",
50
+ "Noto Color Emoji"
51
+ ); /* 4 */
52
+ font-feature-settings: theme("fontFamily.sans[1].fontFeatureSettings", normal); /* 5 */
53
+ font-variation-settings: theme("fontFamily.sans[1].fontVariationSettings", normal); /* 6 */
54
+ }
55
+
56
+ /*
57
+ 1. Remove the margin in all browsers.
58
+ 2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
59
+ */
60
+
61
+ body {
62
+ margin: 0; /* 1 */
63
+ line-height: inherit; /* 2 */
64
+ }
65
+
66
+ /*
67
+ 1. Add the correct height in Firefox.
68
+ 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
69
+ 3. Ensure horizontal rules are visible by default.
70
+ */
71
+
72
+ hr {
73
+ height: 0; /* 1 */
74
+ color: inherit; /* 2 */
75
+ border-top-width: 1px; /* 3 */
76
+ }
77
+
78
+ /*
79
+ Add the correct text decoration in Chrome, Edge, and Safari.
80
+ */
81
+
82
+ abbr:where([title]) {
83
+ text-decoration: underline dotted;
84
+ }
85
+
86
+ /*
87
+ Remove the default font size and weight for headings.
88
+ */
89
+
90
+ h1,
91
+ h2,
92
+ h3,
93
+ h4,
94
+ h5,
95
+ h6 {
96
+ font-size: inherit;
97
+ font-weight: inherit;
98
+ }
99
+
100
+ /*
101
+ Reset links to optimize for opt-in styling instead of opt-out.
102
+ */
103
+
104
+ a {
105
+ color: inherit;
106
+ text-decoration: inherit;
107
+ }
108
+
109
+ /*
110
+ Add the correct font weight in Edge and Safari.
111
+ */
112
+
113
+ b,
114
+ strong {
115
+ font-weight: bolder;
116
+ }
117
+
118
+ /*
119
+ 1. Use the user's configured `mono` font family by default.
120
+ 2. Correct the odd `em` font sizing in all browsers.
121
+ */
122
+
123
+ code,
124
+ kbd,
125
+ samp,
126
+ pre {
127
+ font-family: theme(
128
+ "fontFamily.mono",
129
+ ui-monospace,
130
+ SFMono-Regular,
131
+ Menlo,
132
+ Monaco,
133
+ Consolas,
134
+ "Liberation Mono",
135
+ "Courier New",
136
+ monospace
137
+ ); /* 1 */
138
+ font-size: 1em; /* 2 */
139
+ }
140
+
141
+ /*
142
+ Add the correct font size in all browsers.
143
+ */
144
+
145
+ small {
146
+ font-size: 80%;
147
+ }
148
+
149
+ /*
150
+ Prevent `sub` and `sup` elements from affecting the line height in all browsers.
151
+ */
152
+
153
+ sub,
154
+ sup {
155
+ font-size: 75%;
156
+ line-height: 0;
157
+ position: relative;
158
+ vertical-align: baseline;
159
+ }
160
+
161
+ sub {
162
+ bottom: -0.25em;
163
+ }
164
+
165
+ sup {
166
+ top: -0.5em;
167
+ }
168
+
169
+ /*
170
+ 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
171
+ 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
172
+ 3. Remove gaps between table borders by default.
173
+ */
174
+
175
+ table {
176
+ text-indent: 0; /* 1 */
177
+ border-color: inherit; /* 2 */
178
+ border-collapse: collapse; /* 3 */
179
+ }
180
+
181
+ /*
182
+ 1. Change the font styles in all browsers.
183
+ 2. Remove the margin in Firefox and Safari.
184
+ 3. Remove default padding in all browsers.
185
+ */
186
+
187
+ button,
188
+ input,
189
+ optgroup,
190
+ select,
191
+ textarea {
192
+ font-family: inherit; /* 1 */
193
+ font-size: 100%; /* 1 */
194
+ font-weight: inherit; /* 1 */
195
+ line-height: inherit; /* 1 */
196
+ color: inherit; /* 1 */
197
+ margin: 0; /* 2 */
198
+ padding: 0; /* 3 */
199
+ }
200
+
201
+ /*
202
+ Remove the inheritance of text transform in Edge and Firefox.
203
+ */
204
+
205
+ button,
206
+ select {
207
+ text-transform: none;
208
+ }
209
+
210
+ /*
211
+ 1. Correct the inability to style clickable types in iOS and Safari.
212
+ 2. Remove default button styles.
213
+ */
214
+
215
+ button,
216
+ [type="button"],
217
+ [type="reset"],
218
+ [type="submit"] {
219
+ -webkit-appearance: button; /* 1 */
220
+ background-color: transparent; /* 2 */
221
+ background-image: none; /* 2 */
222
+ }
223
+
224
+ /*
225
+ Use the modern Firefox focus style for all focusable elements.
226
+ */
227
+
228
+ :-moz-focusring {
229
+ outline: auto;
230
+ }
231
+
232
+ /*
233
+ Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
234
+ */
235
+
236
+ :-moz-ui-invalid {
237
+ box-shadow: none;
238
+ }
239
+
240
+ /*
241
+ Add the correct vertical alignment in Chrome and Firefox.
242
+ */
243
+
244
+ progress {
245
+ vertical-align: baseline;
246
+ }
247
+
248
+ /*
249
+ Correct the cursor style of increment and decrement buttons in Safari.
250
+ */
251
+
252
+ ::-webkit-inner-spin-button,
253
+ ::-webkit-outer-spin-button {
254
+ height: auto;
255
+ }
256
+
257
+ /*
258
+ 1. Correct the odd appearance in Chrome and Safari.
259
+ 2. Correct the outline style in Safari.
260
+ */
261
+
262
+ [type="search"] {
263
+ -webkit-appearance: textfield; /* 1 */
264
+ outline-offset: -2px; /* 2 */
265
+ }
266
+
267
+ /*
268
+ Remove the inner padding in Chrome and Safari on macOS.
269
+ */
270
+
271
+ ::-webkit-search-decoration {
272
+ -webkit-appearance: none;
273
+ }
274
+
275
+ /*
276
+ 1. Correct the inability to style clickable types in iOS and Safari.
277
+ 2. Change font properties to `inherit` in Safari.
278
+ */
279
+
280
+ ::-webkit-file-upload-button {
281
+ -webkit-appearance: button; /* 1 */
282
+ font: inherit; /* 2 */
283
+ }
284
+
285
+ /*
286
+ Add the correct display in Chrome and Safari.
287
+ */
288
+
289
+ summary {
290
+ display: list-item;
291
+ }
292
+
293
+ /*
294
+ Removes the default spacing and border for appropriate elements.
295
+ */
296
+
297
+ blockquote,
298
+ dl,
299
+ dd,
300
+ h1,
301
+ h2,
302
+ h3,
303
+ h4,
304
+ h5,
305
+ h6,
306
+ hr,
307
+ figure,
308
+ p,
309
+ pre {
310
+ margin: 0;
311
+ }
312
+
313
+ fieldset {
314
+ margin: 0;
315
+ padding: 0;
316
+ }
317
+
318
+ legend {
319
+ padding: 0;
320
+ }
321
+
322
+ ol,
323
+ ul,
324
+ menu {
325
+ list-style: none;
326
+ margin: 0;
327
+ padding: 0;
328
+ }
329
+
330
+ /*
331
+ Prevent resizing textareas horizontally by default.
332
+ */
333
+
334
+ textarea {
335
+ resize: vertical;
336
+ }
337
+
338
+ /*
339
+ 1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
340
+ 2. Set the default placeholder color to the user's configured gray 400 color.
341
+ */
342
+
343
+ input::placeholder,
344
+ textarea::placeholder {
345
+ opacity: 1; /* 1 */
346
+ color: theme("colors.gray.400", #9ca3af); /* 2 */
347
+ }
348
+
349
+ /*
350
+ Set the default cursor for buttons.
351
+ */
352
+
353
+ button,
354
+ [role="button"] {
355
+ cursor: pointer;
356
+ }
357
+
358
+ /*
359
+ Make sure disabled buttons don't get the pointer cursor.
360
+ */
361
+ :disabled {
362
+ cursor: default;
363
+ }
364
+
365
+ /*
366
+ 1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
367
+ 2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
368
+ This can trigger a poorly considered lint error in some tools but is included by design.
369
+ */
370
+
371
+ img,
372
+ svg,
373
+ video,
374
+ canvas,
375
+ audio,
376
+ iframe,
377
+ embed,
378
+ object {
379
+ display: block; /* 1 */
380
+ vertical-align: middle; /* 2 */
381
+ }
382
+
383
+ /*
384
+ Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
385
+ */
386
+
387
+ img,
388
+ video {
389
+ max-width: 100%;
390
+ height: auto;
391
+ }
392
+
393
+ /* Make elements with the HTML hidden attribute stay hidden by default */
394
+ [hidden] {
395
+ display: none;
396
+ }
example/src/pages/page.css ADDED
@@ -0,0 +1,8 @@
1
+ .home-page {
2
+ & .count {
3
+ color: black;
4
+ padding: 40px;
5
+ font-size: 30px;
6
+ font-weight: 600;
7
+ }
8
+ }
example/src/pages/page.jsx ADDED
@@ -0,0 +1,21 @@
1
+ import React from "react";
2
+ import { useRouter } from "edge-city/router";
3
+ import Counter from "@/components/Counter/Counter";
4
+ import { Helmet } from "react-helmet-async";
5
+ import "./page.css";
6
+
7
+ export default function Page() {
8
+ const router = useRouter();
9
+ return (
10
+ <div>
11
+ <Helmet>
12
+ <title>Edge City</title>
13
+ </Helmet>
14
+ <div className="home-page">
15
+ <h1>Home Page</h1>
16
+ <p>Path: {router.pathname}</p>
17
+ <Counter />
18
+ </div>
19
+ </div>
20
+ );
21
+ }
example/src/pages/page.spec.js ADDED
@@ -0,0 +1,19 @@
1
+ // @ts-check
2
+ // import { test, expect } from '@playwright/test';
3
+
4
+ // test.beforeEach(async ({ page }) => {
5
+ // await page.goto('/');
6
+ // })
7
+
8
+ // test('has title', async ({ page }) => {
9
+ // await expect(page).toHaveTitle(/Edge City/);
10
+ // });
11
+
12
+ // test('has links', async ({ page }) => {
13
+ // // await page.getByRole('link', { name: 'About us' }).click();
14
+ // });
15
+
16
+ // test('has counter', async ({ page }) => {
17
+ // const counter = page.getByText("Counter");
18
+ // expect(counter.innerText).toEqual("123");
19
+ // });
example/src/pages/spectrum.css ADDED
@@ -0,0 +1,431 @@
1
+ :root {
2
+ --spectrum-global-color-status: Verified;
3
+ --spectrum-global-color-version: 5.1.0;
4
+ --spectrum-gray-50: rgb(255, 255, 255);
5
+ --spectrum-gray-75: rgb(253, 253, 253);
6
+ --spectrum-gray-100: rgb(248, 248, 248);
7
+ --spectrum-gray-200: rgb(230, 230, 230);
8
+ --spectrum-gray-300: rgb(213, 213, 213);
9
+ --spectrum-gray-400: rgb(177, 177, 177);
10
+ --spectrum-gray-500: rgb(144, 144, 144);
11
+ --spectrum-gray-600: rgb(109, 109, 109);
12
+ --spectrum-gray-700: rgb(70, 70, 70);
13
+ --spectrum-gray-800: rgb(34, 34, 34);
14
+ --spectrum-gray-900: rgb(0, 0, 0);
15
+ --spectrum-red-100: rgb(255, 235, 231);
16
+ --spectrum-red-200: rgb(255, 221, 214);
17
+ --spectrum-red-300: rgb(255, 205, 195);
18
+ --spectrum-red-400: rgb(255, 183, 169);
19
+ --spectrum-red-500: rgb(255, 155, 136);
20
+ --spectrum-red-600: rgb(255, 124, 101);
21
+ --spectrum-red-700: rgb(247, 92, 70);
22
+ --spectrum-red-800: rgb(234, 56, 41);
23
+ --spectrum-red-900: rgb(211, 21, 16);
24
+ --spectrum-red-1000: rgb(180, 0, 0);
25
+ --spectrum-red-1100: rgb(147, 0, 0);
26
+ --spectrum-red-1200: rgb(116, 0, 0);
27
+ --spectrum-red-1300: rgb(89, 0, 0);
28
+ --spectrum-red-1400: rgb(67, 0, 0);
29
+ --spectrum-orange-100: rgb(255, 236, 204);
30
+ --spectrum-orange-200: rgb(255, 223, 173);
31
+ --spectrum-orange-300: rgb(253, 210, 145);
32
+ --spectrum-orange-400: rgb(255, 187, 99);
33
+ --spectrum-orange-500: rgb(255, 160, 55);
34
+ --spectrum-orange-600: rgb(246, 133, 17);
35
+ --spectrum-orange-700: rgb(228, 111, 0);
36
+ --spectrum-orange-800: rgb(203, 93, 0);
37
+ --spectrum-orange-900: rgb(177, 76, 0);
38
+ --spectrum-orange-1000: rgb(149, 61, 0);
39
+ --spectrum-orange-1100: rgb(122, 47, 0);
40
+ --spectrum-orange-1200: rgb(97, 35, 0);
41
+ --spectrum-orange-1300: rgb(73, 25, 1);
42
+ --spectrum-orange-1400: rgb(53, 18, 1);
43
+ --spectrum-yellow-100: rgb(251, 241, 152);
44
+ --spectrum-yellow-200: rgb(248, 231, 80);
45
+ --spectrum-yellow-300: rgb(248, 217, 4);
46
+ --spectrum-yellow-400: rgb(232, 198, 0);
47
+ --spectrum-yellow-500: rgb(215, 179, 0);
48
+ --spectrum-yellow-600: rgb(196, 159, 0);
49
+ --spectrum-yellow-700: rgb(176, 140, 0);
50
+ --spectrum-yellow-800: rgb(155, 120, 0);
51
+ --spectrum-yellow-900: rgb(133, 102, 0);
52
+ --spectrum-yellow-1000: rgb(112, 83, 0);
53
+ --spectrum-yellow-1100: rgb(91, 67, 0);
54
+ --spectrum-yellow-1200: rgb(72, 51, 0);
55
+ --spectrum-yellow-1300: rgb(54, 37, 0);
56
+ --spectrum-yellow-1400: rgb(40, 26, 0);
57
+ --spectrum-chartreuse-100: rgb(219, 252, 110);
58
+ --spectrum-chartreuse-200: rgb(203, 244, 67);
59
+ --spectrum-chartreuse-300: rgb(188, 233, 42);
60
+ --spectrum-chartreuse-400: rgb(170, 216, 22);
61
+ --spectrum-chartreuse-500: rgb(152, 197, 10);
62
+ --spectrum-chartreuse-600: rgb(135, 177, 3);
63
+ --spectrum-chartreuse-700: rgb(118, 156, 0);
64
+ --spectrum-chartreuse-800: rgb(103, 136, 0);
65
+ --spectrum-chartreuse-900: rgb(87, 116, 0);
66
+ --spectrum-chartreuse-1000: rgb(72, 96, 0);
67
+ --spectrum-chartreuse-1100: rgb(58, 77, 0);
68
+ --spectrum-chartreuse-1200: rgb(44, 59, 0);
69
+ --spectrum-chartreuse-1300: rgb(33, 44, 0);
70
+ --spectrum-chartreuse-1400: rgb(24, 31, 0);
71
+ --spectrum-celery-100: rgb(205, 252, 191);
72
+ --spectrum-celery-200: rgb(174, 246, 157);
73
+ --spectrum-celery-300: rgb(150, 238, 133);
74
+ --spectrum-celery-400: rgb(114, 224, 106);
75
+ --spectrum-celery-500: rgb(78, 207, 80);
76
+ --spectrum-celery-600: rgb(39, 187, 54);
77
+ --spectrum-celery-700: rgb(7, 167, 33);
78
+ --spectrum-celery-800: rgb(0, 145, 18);
79
+ --spectrum-celery-900: rgb(0, 124, 15);
80
+ --spectrum-celery-1000: rgb(0, 103, 15);
81
+ --spectrum-celery-1100: rgb(0, 83, 13);
82
+ --spectrum-celery-1200: rgb(0, 64, 10);
83
+ --spectrum-celery-1300: rgb(0, 48, 7);
84
+ --spectrum-celery-1400: rgb(0, 34, 5);
85
+ --spectrum-green-100: rgb(206, 248, 224);
86
+ --spectrum-green-200: rgb(173, 244, 206);
87
+ --spectrum-green-300: rgb(137, 236, 188);
88
+ --spectrum-green-400: rgb(103, 222, 168);
89
+ --spectrum-green-500: rgb(73, 204, 147);
90
+ --spectrum-green-600: rgb(47, 184, 128);
91
+ --spectrum-green-700: rgb(21, 164, 110);
92
+ --spectrum-green-800: rgb(0, 143, 93);
93
+ --spectrum-green-900: rgb(0, 122, 77);
94
+ --spectrum-green-1000: rgb(0, 101, 62);
95
+ --spectrum-green-1100: rgb(0, 81, 50);
96
+ --spectrum-green-1200: rgb(5, 63, 39);
97
+ --spectrum-green-1300: rgb(10, 46, 29);
98
+ --spectrum-green-1400: rgb(10, 32, 21);
99
+ --spectrum-seafoam-100: rgb(206, 247, 243);
100
+ --spectrum-seafoam-200: rgb(170, 241, 234);
101
+ --spectrum-seafoam-300: rgb(140, 233, 226);
102
+ --spectrum-seafoam-400: rgb(101, 218, 210);
103
+ --spectrum-seafoam-500: rgb(63, 201, 193);
104
+ --spectrum-seafoam-600: rgb(15, 181, 174);
105
+ --spectrum-seafoam-700: rgb(0, 161, 154);
106
+ --spectrum-seafoam-800: rgb(0, 140, 135);
107
+ --spectrum-seafoam-900: rgb(0, 119, 114);
108
+ --spectrum-seafoam-1000: rgb(0, 99, 95);
109
+ --spectrum-seafoam-1100: rgb(12, 79, 76);
110
+ --spectrum-seafoam-1200: rgb(18, 60, 58);
111
+ --spectrum-seafoam-1300: rgb(18, 44, 43);
112
+ --spectrum-seafoam-1400: rgb(15, 31, 30);
113
+ --spectrum-cyan-100: rgb(197, 248, 255);
114
+ --spectrum-cyan-200: rgb(164, 240, 255);
115
+ --spectrum-cyan-300: rgb(136, 231, 250);
116
+ --spectrum-cyan-400: rgb(96, 216, 243);
117
+ --spectrum-cyan-500: rgb(51, 197, 232);
118
+ --spectrum-cyan-600: rgb(18, 176, 218);
119
+ --spectrum-cyan-700: rgb(1, 156, 200);
120
+ --spectrum-cyan-800: rgb(0, 134, 180);
121
+ --spectrum-cyan-900: rgb(0, 113, 159);
122
+ --spectrum-cyan-1000: rgb(0, 93, 137);
123
+ --spectrum-cyan-1100: rgb(0, 74, 115);
124
+ --spectrum-cyan-1200: rgb(0, 57, 93);
125
+ --spectrum-cyan-1300: rgb(0, 42, 70);
126
+ --spectrum-cyan-1400: rgb(0, 30, 51);
127
+ --spectrum-blue-100: rgb(224, 242, 255);
128
+ --spectrum-blue-200: rgb(202, 232, 255);
129
+ --spectrum-blue-300: rgb(181, 222, 255);
130
+ --spectrum-blue-400: rgb(150, 206, 253);
131
+ --spectrum-blue-500: rgb(120, 187, 250);
132
+ --spectrum-blue-600: rgb(89, 167, 246);
133
+ --spectrum-blue-700: rgb(56, 146, 243);
134
+ --spectrum-blue-800: rgb(20, 122, 243);
135
+ --spectrum-blue-900: rgb(2, 101, 220);
136
+ --spectrum-blue-1000: rgb(0, 84, 182);
137
+ --spectrum-blue-1100: rgb(0, 68, 145);
138
+ --spectrum-blue-1200: rgb(0, 53, 113);
139
+ --spectrum-blue-1300: rgb(0, 39, 84);
140
+ --spectrum-blue-1400: rgb(0, 28, 60);
141
+ --spectrum-indigo-100: rgb(237, 238, 255);
142
+ --spectrum-indigo-200: rgb(224, 226, 255);
143
+ --spectrum-indigo-300: rgb(211, 213, 255);
144
+ --spectrum-indigo-400: rgb(193, 196, 255);
145
+ --spectrum-indigo-500: rgb(172, 175, 255);
146
+ --spectrum-indigo-600: rgb(149, 153, 255);
147
+ --spectrum-indigo-700: rgb(126, 132, 252);
148
+ --spectrum-indigo-800: rgb(104, 109, 244);
149
+ --spectrum-indigo-900: rgb(82, 88, 228);
150
+ --spectrum-indigo-1000: rgb(64, 70, 202);
151
+ --spectrum-indigo-1100: rgb(50, 54, 168);
152
+ --spectrum-indigo-1200: rgb(38, 41, 134);
153
+ --spectrum-indigo-1300: rgb(27, 30, 100);
154
+ --spectrum-indigo-1400: rgb(20, 22, 72);
155
+ --spectrum-purple-100: rgb(246, 235, 255);
156
+ --spectrum-purple-200: rgb(238, 221, 255);
157
+ --spectrum-purple-300: rgb(230, 208, 255);
158
+ --spectrum-purple-400: rgb(219, 187, 254);
159
+ --spectrum-purple-500: rgb(204, 164, 253);
160
+ --spectrum-purple-600: rgb(189, 139, 252);
161
+ --spectrum-purple-700: rgb(174, 114, 249);
162
+ --spectrum-purple-800: rgb(157, 87, 244);
163
+ --spectrum-purple-900: rgb(137, 61, 231);
164
+ --spectrum-purple-1000: rgb(115, 38, 211);
165
+ --spectrum-purple-1100: rgb(93, 19, 183);
166
+ --spectrum-purple-1200: rgb(71, 12, 148);
167
+ --spectrum-purple-1300: rgb(51, 16, 106);
168
+ --spectrum-purple-1400: rgb(35, 15, 73);
169
+ --spectrum-fuchsia-100: rgb(255, 233, 252);
170
+ --spectrum-fuchsia-200: rgb(255, 218, 250);
171
+ --spectrum-fuchsia-300: rgb(254, 199, 248);
172
+ --spectrum-fuchsia-400: rgb(251, 174, 246);
173
+ --spectrum-fuchsia-500: rgb(245, 146, 243);
174
+ --spectrum-fuchsia-600: rgb(237, 116, 237);
175
+ --spectrum-fuchsia-700: rgb(224, 85, 226);
176
+ --spectrum-fuchsia-800: rgb(205, 58, 206);
177
+ --spectrum-fuchsia-900: rgb(182, 34, 183);
178
+ --spectrum-fuchsia-1000: rgb(157, 3, 158);
179
+ --spectrum-fuchsia-1100: rgb(128, 0, 129);
180
+ --spectrum-fuchsia-1200: rgb(100, 6, 100);
181
+ --spectrum-fuchsia-1300: rgb(71, 14, 70);
182
+ --spectrum-fuchsia-1400: rgb(50, 13, 49);
183
+ --spectrum-magenta-100: rgb(255, 234, 241);
184
+ --spectrum-magenta-200: rgb(255, 220, 232);
185
+ --spectrum-magenta-300: rgb(255, 202, 221);
186
+ --spectrum-magenta-400: rgb(255, 178, 206);
187
+ --spectrum-magenta-500: rgb(255, 149, 189);
188
+ --spectrum-magenta-600: rgb(250, 119, 170);
189
+ --spectrum-magenta-700: rgb(239, 90, 152);
190
+ --spectrum-magenta-800: rgb(222, 61, 130);
191
+ --spectrum-magenta-900: rgb(200, 34, 105);
192
+ --spectrum-magenta-1000: rgb(173, 9, 85);
193
+ --spectrum-magenta-1100: rgb(142, 0, 69);
194
+ --spectrum-magenta-1200: rgb(112, 0, 55);
195
+ --spectrum-magenta-1300: rgb(84, 3, 42);
196
+ --spectrum-magenta-1400: rgb(60, 6, 29);
197
+ --spectrum-alias-background-color-modal-overlay: rgba(0,0,0,0.4);
198
+ --spectrum-alias-dropshadow-color: rgba(0,0,0,0.15);
199
+ --spectrum-alias-background-color-hover-overlay: rgba(0,0,0,0.04);
200
+ --spectrum-alias-highlight-hover: rgba(0,0,0,0.06);
201
+ --spectrum-alias-highlight-active: rgba(44,44,44,0.1);
202
+ --spectrum-alias-highlight-selected: rgba(2,101,220,0.1);
203
+ --spectrum-alias-highlight-selected-hover: rgba(2,101,220,0.2);
204
+ --spectrum-alias-highlight-invalid: rgba(211, 21, 16, 0.15); /* matches red-900 */
205
+ --spectrum-alias-text-highlight-color: rgba(2,101,220,0.2);
206
+ --spectrum-alias-background-color-quickactions: rgba(248,248,248,0.9);
207
+ --spectrum-alias-radial-reaction-color-default: rgba(34,34,34,0.6);
208
+ --spectrum-alias-pasteboard-background-color: var(--spectrum-global-color-gray-300);
209
+ --spectrum-alias-appframe-border-color: var(--spectrum-global-color-gray-300);
210
+ --spectrum-alias-appframe-separator-color: var(--spectrum-global-color-gray-300);
211
+ --spectrum-colorarea-border-color: rgba(44,44,44,0.1);
212
+ --spectrum-colorarea-border-color-hover: rgba(44,44,44,0.1);
213
+ --spectrum-colorarea-border-color-down: rgba(44,44,44,0.1);
214
+ --spectrum-colorarea-border-color-key-focus: rgba(44,44,44,0.1);
215
+ --spectrum-colorslider-border-color: rgba(44,44,44,0.1);
216
+ --spectrum-colorslider-border-color-hover: rgba(44,44,44,0.1);
217
+ --spectrum-colorslider-border-color-down: rgba(44,44,44,0.1);
218
+ --spectrum-colorslider-border-color-key-focus: rgba(44,44,44,0.1);
219
+ --spectrum-colorslider-vertical-border-color: rgba(44,44,44,0.1);
220
+ --spectrum-colorslider-vertical-border-color-hover: rgba(44,44,44,0.1);
221
+ --spectrum-colorslider-vertical-border-color-down: rgba(44,44,44,0.1);
222
+ --spectrum-colorslider-vertical-border-color-key-focus: rgba(44,44,44,0.1);
223
+ --spectrum-colorwheel-border-color: rgba(44,44,44,0.1);
224
+ --spectrum-colorwheel-border-color-hover: rgba(44,44,44,0.1);
225
+ --spectrum-colorwheel-border-color-down: rgba(44,44,44,0.1);
226
+ --spectrum-colorwheel-border-color-key-focus: rgba(44,44,44,0.1);
227
+ --spectrum-miller-column-item-background-color-selected: rgba(20,115,230,0.1);
228
+ --spectrum-miller-column-item-background-color-selected-hover: rgba(20,115,230,0.2);
229
+ --spectrum-tabs-compact-selection-indicator-color: var(--spectrum-global-color-blue-500);
230
+ --spectrum-tabs-compact-vertical-rule-color: var(--spectrum-global-color-gray-200);
231
+ --spectrum-tabs-compact-vertical-emphasized-selection-indicator-color: var(--spectrum-global-color-blue-500);
232
+ --spectrum-tabs-compact-vertical-emphasized-rule-color: var(--spectrum-global-color-gray-200);
233
+ --spectrum-tabs-emphasized-selection-indicator-color: var(--spectrum-global-color-blue-500);
234
+ --spectrum-tabs-quiet-compact-emphasized-selection-indicator-color: var(--spectrum-global-color-blue-500);
235
+ --spectrum-tabs-quiet-compact-vertical-emphasized-selection-indicator-color: var(--spectrum-global-color-blue-500);
236
+ --spectrum-tabs-quiet-emphasized-selection-indicator-color: var(--spectrum-global-color-blue-500);
237
+ --spectrum-tabs-quiet-vertical-emphasized-selection-indicator-color: var(--spectrum-global-color-blue-500);
238
+ --spectrum-well-background-color: rgba(34,34,34,0.02);
239
+ --spectrum-well-border-color: rgba(0,0,0,0.05);
240
+ --spectrum-tray-background-color: var(--spectrum-global-color-gray-50);
241
+ /* react spectrum additions */
242
+ --react-spectrum-datepicker-placeholder-color: rgb(118, 118, 118); /* 4.54:1 contrast ratio */
243
+
244
+ --spectrum-accent-background-color-default: var(--spectrum-accent-color-900);
245
+ --spectrum-accent-background-color-hover: var(--spectrum-accent-color-1000);
246
+ --spectrum-accent-background-color-down: var(--spectrum-accent-color-1100);
247
+ --spectrum-accent-background-color-key-focus: var(--spectrum-accent-color-1000);
248
+
249
+ --spectrum-neutral-background-color-default: var(--spectrum-gray-800);
250
+ --spectrum-neutral-background-color-hover: var(--spectrum-gray-900);
251
+ --spectrum-neutral-background-color-down: var(--spectrum-gray-900);
252
+ --spectrum-neutral-background-color-key-focus: var(--spectrum-gray-900);
253
+
254
+ --spectrum-neutral-subdued-background-color-default: var(--spectrum-gray-600);
255
+ --spectrum-neutral-subdued-background-color-hover: var(--spectrum-gray-700);
256
+ --spectrum-neutral-subdued-background-color-down: var(--spectrum-gray-800);
257
+ --spectrum-neutral-subdued-background-color-key-focus: var(--spectrum-gray-700);
258
+
259
+ --spectrum-negative-background-color-default: var(--spectrum-red-900);
260
+ --spectrum-negative-background-color-hover: var(--spectrum-red-1000);
261
+ --spectrum-negative-background-color-down: var(--spectrum-red-1100);
262
+ --spectrum-negative-background-color-key-focus: var(--spectrum-red-1000);
263
+
264
+ --spectrum-positive-background-color-default: var(--spectrum-green-900);
265
+ --spectrum-positive-background-color-hover: var(--spectrum-green-1000);
266
+ --spectrum-positive-background-color-down: var(--spectrum-green-1100);
267
+ --spectrum-positive-background-color-key-focus: var(--spectrum-green-1000);
268
+
269
+ --spectrum-informative-background-color-default: var(--spectrum-blue-900);
270
+ --spectrum-informative-background-color-hover: var(--spectrum-blue-1000);
271
+ --spectrum-informative-background-color-down: var(--spectrum-blue-1100);
272
+ --spectrum-informative-background-color-key-focus: var(--spectrum-blue-1000);
273
+
274
+ --spectrum-gray-background-color-default: var(--spectrum-gray-700);
275
+ --spectrum-red-background-color-default: var(--spectrum-red-600);
276
+ --spectrum-orange-background-color-default: var(--spectrum-orange-600);
277
+ --spectrum-yellow-background-color-default: var(--spectrum-yellow-400);
278
+ --spectrum-chartreuse-background-color-default: var(--spectrum-chartreuse-500);
279
+ --spectrum-celery-background-color-default: var(--spectrum-celery-600);
280
+ --spectrum-green-background-color-default: var(--spectrum-green-900);
281
+ --spectrum-seafoam-background-color-default: var(--spectrum-seafoam-900);
282
+ --spectrum-cyan-background-color-default: var(--spectrum-cyan-900);
283
+ --spectrum-blue-background-color-default: var(--spectrum-blue-900);
284
+ --spectrum-indigo-background-color-default: var(--spectrum-indigo-900);
285
+ --spectrum-purple-background-color-default: var(--spectrum-purple-900);
286
+ --spectrum-fuchsia-background-color-default: var(--spectrum-fuchsia-900);
287
+ --spectrum-magenta-background-color-default: var(--spectrum-magenta-900);
288
+
289
+ --spectrum-negative-visual-color: var(--spectrum-red-800);
290
+ --spectrum-positive-visual-color: var(--spectrum-green-700);
291
+ --spectrum-notice-visual-color: var(--spectrum-orange-700);
292
+ --spectrum-informative-visual-color: var(--spectrum-blue-800);
293
+
294
+ --spectrum-gray-visual-color: var(--spectrum-gray-500);
295
+ --spectrum-red-visual-color: var(--spectrum-red-800);
296
+ --spectrum-orange-visual-color: var(--spectrum-orange-700);
297
+ --spectrum-yellow-visual-color: var(--spectrum-yellow-600);
298
+ --spectrum-chartreuse-visual-color: var(--spectrum-chartreuse-600);
299
+ --spectrum-celery-visual-color: var(--spectrum-celery-700);
300
+ --spectrum-green-visual-color: var(--spectrum-green-700);
301
+ --spectrum-seafoam-visual-color: var(--spectrum-seafoam-700);
302
+ --spectrum-cyan-visual-color: var(--spectrum-cyan-600);
303
+ --spectrum-blue-visual-color: var(--spectrum-blue-800);
304
+ --spectrum-indigo-visual-color: var(--spectrum-indigo-800);
305
+ --spectrum-purple-visual-color: var(--spectrum-purple-800);
306
+ --spectrum-fuchsia-visual-color: var(--spectrum-fuchsia-800);
307
+ --spectrum-magenta-visual-color: var(--spectrum-magenta-800);
308
+
309
+ --spectrum-alias-border-color: var(--spectrum-gray-400);
310
+ --spectrum-alias-border-color-hover: var(--spectrum-gray-500);
311
+ --spectrum-alias-border-color-down: var(--spectrum-gray-900);
312
+ }
313
+
314
+ .react-aria-Button {
315
+ --border-color: var(--spectrum-alias-border-color);
316
+ --border-color-pressed: var(--spectrum-alias-border-color-down);
317
+ --border-color-disabled: var(--spectrum-alias-border-color-disabled);
318
+ --background-color: var(--spectrum-global-color-gray-50);
319
+ --background-color-pressed: var(--spectrum-global-color-gray-100);
320
+ --text-color: var(--spectrum-alias-text-color);
321
+ --text-color-disabled: var(--spectrum-alias-text-color-disabled);
322
+ --focus-ring-color: slateblue;
323
+
324
+ color: var(--text-color);
325
+ background: var(--background-color);
326
+ border: 1px solid var(--border-color);
327
+ border-radius: 4px;
328
+ appearance: none;
329
+ vertical-align: middle;
330
+ font-size: 1.2rem;
331
+ text-align: center;
332
+ margin: 0;
333
+ outline: none;
334
+ padding: 4px 12px;
335
+
336
+ &[data-pressed] {
337
+ box-shadow: inset 0 1px 2px rgb(0 0 0 / 0.1);
338
+ background: var(--background-color-pressed);
339
+ border-color: var(--border-color-pressed);
340
+ }
341
+
342
+ &[data-focus-visible] {
343
+ border-color: var(--focus-ring-color);
344
+ box-shadow: 0 0 0 1px var(--focus-ring-color);
345
+ }
346
+
347
+ &:disabled {
348
+ border-color: var(--border-color-disabled);
349
+ color: var(--text-color-disabled);
350
+ }
351
+ }
352
+
353
+ @media (forced-colors: active) {
354
+ .react-aria-Button {
355
+ forced-color-adjust: none;
356
+ --border-color: ButtonBorder;
357
+ --border-color-pressed: ButtonBorder;
358
+ --border-color-disabled: GrayText;
359
+ --background-color: ButtonFace;
360
+ --background-color-pressed: ButtonFace;
361
+ --text-color: ButtonText;
362
+ --text-color-disabled: GrayText;
363
+ --focus-ring-color: Highlight;
364
+ }
365
+ }
366
+
367
+ .react-aria-TextField {
368
+ --field-border: var(--spectrum-alias-border-color);
369
+ --field-border-disabled: var(--spectrum-alias-border-color-disabled);
370
+ --field-background: var(--spectrum-global-color-gray-50);
371
+ --text-color: var(--spectrum-alias-text-color);
372
+ --text-color-disabled: var(--spectrum-alias-text-color-disabled);
373
+ --focus-ring-color: slateblue;
374
+ --invalid-color: var(--spectrum-global-color-red-600);
375
+ display: flex;
376
+ flex: 1;
377
+ flex-direction: column;
378
+
379
+ .react-aria-Input {
380
+ margin: 0;
381
+ border: 1px solid var(--field-border);
382
+ border-radius: 6px;
383
+ background: var(--field-background);
384
+ font-size: 1.143rem;
385
+ color: var(--text-color);
386
+ border-radius: 0.25rem;
387
+ margin-right: 1rem;
388
+ border-width: 1px;
389
+ width: 100%;
390
+ padding-left: 0.75rem;
391
+ padding-right: 0.75rem;
392
+ padding-bottom: 0.5rem;
393
+ padding-top: 0.5rem;
394
+
395
+ &[aria-invalid] {
396
+ border-color: var(--invalid-color);
397
+ }
398
+
399
+ &:focus {
400
+ outline: none;
401
+ border-color: var(--focus-ring-color);
402
+ box-shadow: 0 0 0 1px var(--focus-ring-color);
403
+ }
404
+
405
+ &:disabled {
406
+ border-color: var(--field-border-disabled);
407
+ color: var(--text-color-disabled);
408
+ }
409
+ }
410
+
411
+ [slot="description"] {
412
+ font-size: 12px;
413
+ }
414
+
415
+ [slot="errorMessage"] {
416
+ font-size: 12px;
417
+ color: var(--invalid-color);
418
+ }
419
+ }
420
+
421
+ @media (forced-colors: active) {
422
+ .react-aria-TextField {
423
+ --field-border: ButtonBorder;
424
+ --field-border-disabled: GrayText;
425
+ --field-background: Field;
426
+ --text-color: FieldText;
427
+ --text-color-disabled: GrayText;
428
+ --focus-ring-color: Highlight;
429
+ --invalid-color: LinkText;
430
+ }
431
+ }
example/src/pages/todos/Todo.css ADDED
@@ -0,0 +1,44 @@
1
+ .todo {
2
+ display: flex;
3
+ border-bottom-width: 1px;
4
+ border-color: #d1d5db;
5
+ align-items: center;
6
+ height: 4rem;
7
+ margin-bottom: 0.5rem;
8
+ margin-top: 0.5rem;
9
+
10
+ & .text {
11
+ display: flex;
12
+ flex: 1;
13
+ flex-direction: column;
14
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
15
+ "Courier New", monospace;
16
+ margin-left: 0.5rem;
17
+ }
18
+
19
+ & form {
20
+ display: flex;
21
+ flex: 1;
22
+
23
+ & .text-input {
24
+ display: flex;
25
+ flex: 1;
26
+ margin-right: 0.5rem;
27
+ }
28
+ }
29
+
30
+ & .timestamp {
31
+ line-height: 2;
32
+ opacity: 0.5;
33
+ font-size: 0.75rem;
34
+ }
35
+
36
+ & .edit-button {
37
+ padding: 0.5rem;
38
+ margin-right: 0.5rem;
39
+ }
40
+
41
+ & .delete-button {
42
+ padding: 0.5rem;
43
+ }
44
+ }
example/src/pages/todos/Todo.jsx ADDED
@@ -0,0 +1,72 @@
1
+ import { useState } from "react";
2
+ import { useForm } from "react-hook-form";
3
+ import { TextField, Input } from "react-aria-components";
4
+ import { cache, useMutation } from "edge-city/data";
5
+ import { updateTodo, deleteTodo } from "@/services/todos.service";
6
+ import "./Todo.css";
7
+
8
+ const Todo = ({ item }) => {
9
+ const [editing, setEditing] = useState(false);
10
+ const {
11
+ register,
12
+ handleSubmit,
13
+ reset,
14
+ } = useForm();
15
+ const updateMutation = useMutation(async ({ text }) => {
16
+ await updateTodo({ id: item.id, text, completed: item.completed });
17
+ await cache.invalidate("todos", false);
18
+ setEditing(false);
19
+ });
20
+ const deleteMutation = useMutation(async (id) => {
21
+ await deleteTodo(id);
22
+ await cache.invalidate("todos", false);
23
+ });
24
+ return (
25
+ <li className="todo" style={{ opacity: deleteMutation.isMutating || updateMutation.isMutating ? 0.5 : 1 }}>
26
+ {!editing && (
27
+ <>
28
+ <input type="checkbox" />
29
+ <div className="text">
30
+ <p>{item.text}</p>
31
+ <p className="timestamp">{item.createdAt}</p>
32
+ </div>
33
+ <button className="edit-button" title="Edit" onClick={() => setEditing(true)}>
34
+ ✏️
35
+ </button>
36
+ <button className="delete-button" title="Delete" onClick={() => deleteMutation.mutate(item.id)}>
37
+ 🗑️
38
+ </button>
39
+ </>
40
+ )}
41
+ {editing && (
42
+ <form onSubmit={handleSubmit(updateMutation.mutate)}>
43
+ <TextField isRequired isReadOnly={updateMutation.isMutating} isDisabled={updateMutation.isMutating}>
44
+ <Input {...register("text")} defaultValue={item.text} />
45
+ {/* {err?.text && <p>{err.text._errors[0]}</p>} */}
46
+ </TextField>
47
+ <button
48
+ type="submit"
49
+ className="edit-button"
50
+ title="Save"
51
+ disabled={updateMutation.isMutating}
52
+ >
53
+ 💾
54
+ </button>
55
+ <button
56
+ className="delete-button"
57
+ title="Cancel"
58
+ onClick={() => {
59
+ reset({ text: item.text });
60
+ setEditing(false);
61
+ }}
62
+ disabled={updateMutation.isMutating}
63
+ >
64
+ 🚫
65
+ </button>
66
+ </form>
67
+ )}
68
+ </li>
69
+ );
70
+ };
71
+
72
+ export default Todo;
example/src/pages/todos/TodoList.jsx ADDED
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import { useQuery } from "edge-city/data";
3
+ import { getTodos } from "@/services/todos.service";
4
+ import Spinner from "@/components/Spinner/Spinner";
5
+ import Todo from "./Todo";
6
+ import "./page.css";
7
+
8
+ export default function TodoList({ isMutating }) {
9
+ const { data, isRefetching } = useQuery("todos", () => getTodos());
10
+ return (
11
+ <>
12
+ {isMutating || isRefetching ? <Spinner /> : null}
13
+ <ul>
14
+ {data.map((item) => (
15
+ <Todo
16
+ key={item.id}
17
+ item={item}
18
+ />
19
+ ))}
20
+ </ul>
21
+ </>
22
+ );
23
+ }
example/src/pages/todos/page.css ADDED
@@ -0,0 +1,46 @@
1
+ .todos-page {
2
+ display: flex;
3
+ flex: 1;
4
+ flex-direction: column;
5
+ max-width: 36rem;
6
+
7
+ & .title {
8
+ font-size: 1.25rem;
9
+ line-height: 1.75rem;
10
+ font-weight: 700;
11
+ }
12
+
13
+ & .container {
14
+ display: flex;
15
+ flex-direction: column;
16
+ }
17
+
18
+ & .subtitle {
19
+ font-size: 0.875rem;
20
+ line-height: 1.25rem;
21
+ opacity: 0.5;
22
+ margin-top: 0.5rem;
23
+ }
24
+
25
+ & form {
26
+ display: flex;
27
+ margin-top: 1rem;
28
+ }
29
+
30
+ & ul {
31
+ display: flex;
32
+ flex-direction: column;
33
+ }
34
+
35
+ & .add-button {
36
+ border-radius: 0.25rem;
37
+ padding: 0.5rem 0.7rem;
38
+ background-color: #2563eb;
39
+ color: white;
40
+ margin-left: 0.5rem;
41
+
42
+ &:disabled {
43
+ opacity: 0.5;
44
+ }
45
+ }
46
+ }
example/src/pages/todos/page.jsx ADDED
@@ -0,0 +1,52 @@
1
+ import { Suspense } from "react";
2
+ import { ErrorBoundary } from "react-error-boundary";
3
+ import { Helmet } from "react-helmet-async";
4
+ import { cache, useMutation } from "edge-city/data";
5
+ import { useForm } from "react-hook-form";
6
+ import { Button, TextField, Input } from "react-aria-components";
7
+ import Spinner from "@/components/Spinner/Spinner";
8
+ import TodoList from "./TodoList";
9
+ import { createTodo } from "@/services/todos.service";
10
+ import "./page.css";
11
+
12
+ export default function Page() {
13
+ const {
14
+ register,
15
+ handleSubmit,
16
+ reset,
17
+ formState: { errors },
18
+ } = useForm();
19
+ const { mutate, isMutating, err } = useMutation(async ({ text }) => {
20
+ await createTodo({
21
+ text,
22
+ completed: false,
23
+ });
24
+ await cache.invalidate("todos");
25
+ reset();
26
+ });
27
+ return (
28
+ <div className="todos-page">
29
+ <h1 className="title">Todo List</h1>
30
+ <Helmet>
31
+ <title>Todo List</title>
32
+ </Helmet>
33
+ <div className="container">
34
+ <p className="subtitle">Share this page to collaborate with others.</p>
35
+ <form onSubmit={handleSubmit(mutate)}>
36
+ <TextField isRequired isReadOnly={isMutating} aria-label="add-todo">
37
+ <Input id="text" aria-labelledby="text" aria-describedby="text" {...register("text")} placeholder="Add a todo item" />
38
+ {err?.text && <p>{err.text._errors[0]}</p>}
39
+ </TextField>
40
+ <Button className="add-button" type="submit" isDisabled={isMutating}>
41
+ Add
42
+ </Button>
43
+ </form>
44
+ <ErrorBoundary onError={(err) => console.log("err", err)} fallback={<p>Oops something went wrong</p>}>
45
+ <Suspense fallback={<Spinner />}>
46
+ <TodoList isMutating={isMutating} />
47
+ </Suspense>
48
+ </ErrorBoundary>
49
+ </div>
50
+ </div>
51
+ );
52
+ }
example/src/services/auth.service.js ADDED
@@ -0,0 +1,50 @@
1
+ // import NextAuth from "next-auth";
2
+ // import EmailProvider from "next-auth/providers/email";
3
+ // import GoogleProvider from "next-auth/providers/google";
4
+ // import DrizzleAuthAdapterPG from "drizzle-auth-adaptor-pg";
5
+ // import db from "@/db";
6
+
7
+ // GET /api/auth/signin
8
+ // POST /api/auth/signin/:provider
9
+ // GET/POST /api/auth/callback/:provider
10
+ // GET /api/auth/signout
11
+ // POST /api/auth/signout
12
+ // GET /api/auth/session
13
+ // GET /api/auth/csrf
14
+ // GET /api/auth/providers
15
+
16
+ // NEXTAUTH_SECRET="This is an example"
17
+ // NEXTAUTH_URL
18
+
19
+ // import { SessionProvider } from "next-auth/react"
20
+ // export default function App({
21
+ // Component,
22
+ // pageProps: { session, ...pageProps },
23
+ // }) {
24
+ // return (
25
+ // <SessionProvider session={session}>
26
+ // <Component {...pageProps} />
27
+ // </SessionProvider>
28
+ // )
29
+ // }
30
+
31
+ // const handler = NextAuth({
32
+ // adapter: DrizzleAuthAdapterPG(db),
33
+ // providers: [
34
+ // EmailProvider({
35
+ // server: {
36
+ // host: process.env.SMTP_HOST,
37
+ // port: Number(process.env.SMTP_PORT),
38
+ // auth: {
39
+ // user: process.env.SMTP_USER,
40
+ // pass: process.env.SMTP_PASSWORD,
41
+ // },
42
+ // },
43
+ // from: process.env.EMAIL_FROM,
44
+ // }),
45
+ // GoogleProvider({
46
+ // clientId: process.env.GOOGLE_CLIENT_ID,
47
+ // clientSecret: process.env.GOOGLE_CLIENT_SECRET,
48
+ // }),
49
+ // ],
50
+ // });
example/src/services/todos.service.js ADDED
@@ -0,0 +1,59 @@
1
+ import { eq, desc } from "drizzle-orm";
2
+ import { boolean, date, pgTable, serial, text } from "drizzle-orm/pg-core";
3
+ import { z } from "zod";
4
+
5
+ export const todos = pgTable("todos", {
6
+ id: serial("id").primaryKey(),
7
+ text: text("text").notNull(),
8
+ completed: boolean("completed").notNull(),
9
+ createdAt: date("createdAt").notNull(),
10
+ updatedAt: date("updatedAt"),
11
+ });
12
+
13
+ export const createSchema = z.object({
14
+ text: z.string().nonempty("please enter some text"),
15
+ completed: z.boolean(),
16
+ });
17
+
18
+ const updateSchema = z.object({
19
+ id: z.number().positive().int("must be an integer"),
20
+ text: z.string().nonempty("please enter some text"),
21
+ completed: z.boolean(),
22
+ });
23
+
24
+ export const getTodos = async () => {
25
+ await new Promise((resolve) => {
26
+ setTimeout(() => {
27
+ resolve();
28
+ }, 2000)
29
+ });
30
+ return await db.select().from(todos).orderBy(desc(todos.id));
31
+ };
32
+
33
+ /** @param {z.infer<typeof createSchema>} params */
34
+ export const createTodo = async (params) => {
35
+ await new Promise((resolve) => {
36
+ setTimeout(() => {
37
+ resolve();
38
+ }, 2000)
39
+ });
40
+ const item = createSchema.parse(params);
41
+ item.createdAt = new Date();
42
+ return await db.insert(todos).values(item).returning();
43
+ };
44
+
45
+ export const getTodo = async (id) => {
46
+ const results = await db.select().from(todos).where(eq(todos.id, id));
47
+ return results[0];
48
+ };
49
+
50
+ /** @param {z.infer<typeof updateSchema>} params */
51
+ export const updateTodo = async (params) => {
52
+ const item = updateSchema.parse(params);
53
+ item.updatedAt = new Date();
54
+ return await db.update(todos).set(item).where(eq(todos.id, item.id)).returning();
55
+ };
56
+
57
+ export const deleteTodo = async (id) => {
58
+ return await db.delete(todos).where(eq(todos.id, id)).returning();
59
+ };
example/src/services/todos.service.test.js ADDED
@@ -0,0 +1,36 @@
1
+ import { createSchema } from "./todos.service";
2
+
3
+ test("validate createSchema", () => {
4
+ expect(createSchema.safeParse({}).error.issues).toEqual([
5
+ {
6
+ code: "invalid_type",
7
+ expected: "string",
8
+ message: "Required",
9
+ path: ["text"],
10
+ received: "undefined",
11
+ },
12
+ {
13
+ code: "invalid_type",
14
+ expected: "boolean",
15
+ message: "Required",
16
+ path: ["completed"],
17
+ received: "undefined",
18
+ },
19
+ ]);
20
+ expect(
21
+ createSchema.safeParse({
22
+ text: "",
23
+ completed: true,
24
+ }).error.issues,
25
+ ).toEqual([
26
+ {
27
+ code: "too_small",
28
+ exact: false,
29
+ inclusive: true,
30
+ message: "please enter some text",
31
+ minimum: 1,
32
+ path: ["text"],
33
+ type: "string",
34
+ },
35
+ ]);
36
+ });
{public → example/src/static}/favicon.ico RENAMED
File without changes
{public → example/src/static}/logo192.png RENAMED
File without changes
{public → example/src/static}/logo512.png RENAMED
File without changes
{public → example/src/static}/manifest.json RENAMED
File without changes
{public → example/src/static}/robots.txt RENAMED
File without changes
example/vite.config.js ADDED
@@ -0,0 +1,55 @@
1
+ import { defineConfig } from 'vite';
2
+
3
+ function pagesPlugin(userOptions) {
4
+ return {
5
+ name: 'vite-plugin-pages',
6
+ enforce: 'pre',
7
+ async configResolved(config) {
8
+ userOptions.resolver = 'react'
9
+ ctx = new PageContext(userOptions, config.root)
10
+ ctx.setLogger(config.logger)
11
+ await ctx.searchGlob()
12
+ },
13
+ api: {
14
+ getResolvedRoutes() {
15
+ return ctx.options.resolver.getComputedRoutes(ctx)
16
+ },
17
+ },
18
+ configureServer(server) {
19
+ ctx.setupViteServer(server)
20
+ },
21
+ resolveId(id) {
22
+ if (ctx.options.moduleIds.includes(id))
23
+ return `${MODULE_ID_VIRTUAL}?id=${id}`
24
+
25
+ if (routeBlockQueryRE.test(id))
26
+ return ROUTE_BLOCK_ID_VIRTUAL
27
+
28
+ return null
29
+ },
30
+ async load(id) {
31
+ const {
32
+ moduleId,
33
+ pageId,
34
+ } = parsePageRequest(id)
35
+
36
+ if (moduleId === MODULE_ID_VIRTUAL && pageId && ctx.options.moduleIds.includes(pageId))
37
+ return ctx.resolveRoutes()
38
+
39
+ if (id === ROUTE_BLOCK_ID_VIRTUAL) {
40
+ return {
41
+ code: 'export default {};',
42
+ map: null,
43
+ }
44
+ }
45
+
46
+ return null
47
+ },
48
+ }
49
+ }
50
+
51
+ // https://vitejs.dev/config/
52
+ export default defineConfig({
53
+ plugins: [
54
+ ],
55
+ })
index.css DELETED
@@ -1,3 +0,0 @@
1
- .ccs {
2
- display: flex;
3
- }
index.js DELETED
@@ -1,131 +0,0 @@
1
- import './astroPlugin.js';
2
- import { renderToString, renderToReadableStream } from 'react-dom/server';
3
- import { RouterProvider } from './router.js';
4
-
5
- const router = new Bun.FileSystemRouter({
6
- style: "nextjs",
7
- dir: "./routes",
8
- origin: "https://mydomain.com",
9
- assetPrefix: "./public"
10
- });
11
-
12
- const transpiler = new Bun.Transpiler({
13
- loader: "jsx",
14
- autoImportJSX: true,
15
- jsxOptimizationInline: true,
16
- });
17
-
18
- const renderApi = async (route, req) => {
19
- const routeImport = await import(route.filePath);
20
- console.log('routeImport', routeImport);
21
- }
22
-
23
- const renderPage = async (filePath, url, params) => {
24
- const query = {};
25
- for (const key of url.searchParams.keys()) {
26
- query[key] = url.searchParams.get(key);
27
- }
28
- const initialRouteValue = {
29
- query: query,
30
- params: params,
31
- pathname: url.pathname,
32
- }
33
- const routeImport = await import(filePath);
34
- const Page = routeImport.default;
35
- const stream = await renderToReadableStream(
36
- <html lang="en">
37
- <head>
38
- {/* {routeImport.head()} */}
39
- <script id="initial_route_context" type='application/json' dangerouslySetInnerHTML={{
40
- __html: JSON.stringify(initialRouteValue)
41
- }} />
42
- <script type="importmap" dangerouslySetInnerHTML={{
43
- __html: JSON.stringify(
44
- {
45
- "imports": {
46
- "react": "https://esm.sh/react@18.2.0?dev",
47
- "react-dom": "https://esm.sh/react-dom@18.2.0?dev",
48
- "react-dom/client": "https://esm.sh/react-dom@18.2.0/client?dev",
49
- "react/jsx-dev-runtime": "https://esm.sh/react@18.2.0/jsx-dev-runtime?dev",
50
- "@/utils": "/assets/js/src/utils.js",
51
- }
52
- }
53
- )
54
- }}>
55
- </script>
56
- {/* <script id="initial_swr_fallback" dangerouslySetInnerHTML={{ __html: JSON.stringify(value) }} /> */}
57
- <script type="module" src="/assets/js/routes/index.astro" defer></script>
58
- </head>
59
- <body>
60
- <div id="root">
61
- <RouterProvider value={initialRouteValue}>
62
- <Page />
63
- </RouterProvider>
64
- </div>
65
- </body>
66
- </html >
67
- );
68
- return new Response(stream, {
69
- headers: {
70
- 'Content-Type': 'text/html',
71
- },
72
- status: 200,
73
- });
74
- }
75
-
76
- export default {
77
- port: 3000,
78
- async fetch(req) {
79
- const url = new URL(req.url);
80
- if (url.pathname.startsWith("/dist/js")) {
81
- const src = await Bun.file("./dist/index.js").text();
82
- return new Response(src, {
83
- headers: {
84
- 'Content-Type': 'application/javascript',
85
- },
86
- status: 200,
87
- });
88
- }
89
- if (url.pathname.startsWith("/assets/js")) {
90
- const lib = url.pathname.replace("/assets/js/", "");
91
- const localFile = lib.replace("src/", "");
92
- let result;
93
- if (localFile.includes("routes")) {
94
- result = await transpiler.transform(`
95
- import { hydrateRoot } from 'react-dom/client';
96
- import {RouterProvider} from "@/utils";
97
- import Page from "/dist/js/index.js";
98
-
99
- const initialRouteValue = JSON.parse(document.getElementById('initial_route_context').textContent);
100
- const root = hydrateRoot(document.getElementById('root'), (
101
- <RouterProvider value={initialRouteValue}>
102
- <Page />
103
- </RouterProvider>
104
- ));
105
- `);
106
- } else {
107
- const src = await Bun.file(localFile).text();
108
- result = await transpiler.transform(src);
109
- }
110
- return new Response(result, {
111
- headers: {
112
- 'Content-Type': 'application/javascript',
113
- },
114
- status: 200,
115
- });
116
- }
117
- if (url.pathname.startsWith("/api")) {
118
- console.log('api', url.pathname);
119
- // return renderApi(route, req);
120
- }
121
- return renderPage("./routes/index.astro", url, {});
122
- // const route = router.match(url.pathname);
123
- // if (route) {
124
- // return renderPage(route, url);
125
- // }
126
- return new Response(`Not Found`, {
127
- headers: { 'Content-Type': 'text/html' },
128
- status: 404,
129
- });
130
- },
131
- };
index.test.js DELETED
@@ -1,11 +0,0 @@
1
- import { expect, test } from "bun:test";
2
-
3
- describe("arithmetic", () => {
4
- test("2 + 2", () => {
5
- expect(2 + 2).toBe(4);
6
- });
7
-
8
- test("2 * 2", () => {
9
- expect(2 * 2).toBe(4);
10
- });
11
- });
jsconfig.json DELETED
@@ -1,25 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "lib": [
4
- "ESNext"
5
- ],
6
- "module": "esnext",
7
- "target": "esnext",
8
- "moduleResolution": "nodenext",
9
- "strict": true,
10
- "downlevelIteration": true,
11
- "skipLibCheck": true,
12
- "jsx": "react",
13
- "jsxFactory": "React.createElement",
14
- "jsxImportSource": "react",
15
- "allowSyntheticDefaultImports": true,
16
- "forceConsistentCasingInFileNames": true,
17
- "allowJs": true,
18
- "types": [
19
- "bun-types" // add Bun global
20
- ],
21
- "paths": {
22
- "@/*": ["./*"]
23
- }
24
- }
25
- }
lib/bin/cli.js ADDED
@@ -0,0 +1,305 @@
1
+ #!/usr/bin/env node
2
+ import yargs from 'yargs'
3
+ import { hideBin } from 'yargs/helpers'
4
+ import esbuild from 'esbuild';
5
+ import resolve from 'esbuild-plugin-resolve';
6
+ import fs from "fs";
7
+ import fse from "fs-extra";
8
+ import path from 'path';
9
+ import walkdir from 'walkdir';
10
+ import postcss from "postcss"
11
+ import autoprefixer from "autoprefixer";
12
+ import postcssCustomMedia from "postcss-custom-media";
13
+ import postcssNesting from "postcss-nesting";
14
+ import bytes from 'bytes';
15
+ import pc from 'picocolors';
16
+ import ms from 'ms';
17
+ import watch from 'node-watch';
18
+ import dotenv from 'dotenv';
19
+
20
+ dotenv.config();
21
+
22
+ let isProd = false;
23
+ const srcDir = path.join(process.cwd(), "src");
24
+ const pagesDir = path.join(srcDir, "pages");
25
+ const inputStaticDir = path.join(srcDir, "static");
26
+ const buildDir = path.join(process.cwd(), "build");
27
+ const staticDir = path.join(buildDir, "static");
28
+
29
+ const recordSize = (buildStart, dest) => {
30
+ const outLength = fs.statSync(dest).size;
31
+ const builtTime = ms(Date.now() - buildStart);
32
+ console.log(
33
+ `${pc.green("✓ Bundled")} ${dest.replace(process.cwd() + "/", "")} ${pc.cyan(`(${bytes(outLength)})`)} ${pc.gray(`[${builtTime}]`)}`
34
+ );
35
+ }
36
+
37
+ let generatedCss = ``;
38
+ const serverEnvs = Object.keys(process.env)
39
+ .filter((k) => k.startsWith("EDGE_") || k === "NODE_ENV")
40
+ .reduce((acc, k) => {
41
+ acc[`process.env.${k}`] = JSON.stringify(process.env[k]);
42
+ return acc
43
+ }, {});
44
+ const clientEnvs = Object.keys(process.env)
45
+ .filter((k) => k.startsWith("EDGE_PUBLIC") || k === "NODE_ENV")
46
+ .reduce((acc, k) => {
47
+ acc[`process.env.${k}`] = JSON.stringify(process.env[k]);
48
+ return acc
49
+ }, {});
50
+
51
+ const parseExports = (src) => {
52
+ return src.split("\n").filter((l) => l.includes("export const") && l.includes("=>"))
53
+ .map((l) => /export const (.*) = async/g.exec(l))
54
+ .filter((n) => n && n[1])
55
+ .map((n) => n[1]);
56
+ }
57
+
58
+ const bundleJs = async ({ entryPoints, isServer, outfile, ...options }, plg) => {
59
+ const result = await esbuild.build({
60
+ bundle: true,
61
+ target: ['es2022'],
62
+ entryPoints,
63
+ outfile,
64
+ format: 'esm',
65
+ external: isServer ? [] : ["node:*"], // TODO: "react", "react-dom/client", "react-aria-components" "react-error-boundary" "react-helmet-async" "react-hook-form" "zod" "lodash" "date-fns"
66
+ color: true,
67
+ keepNames: !isProd,
68
+ minify: isProd,
69
+ treeShaking: true,
70
+ jsxDev: !isProd,
71
+ jsx: 'automatic',
72
+ ...options,
73
+ define: isServer ? serverEnvs : clientEnvs,
74
+ plugins: [
75
+ resolve({
76
+ "/routemap.json": `${staticDir}/routemap.json`,
77
+ }),
78
+ plg,
79
+ ]
80
+ });
81
+ return result;
82
+ }
83
+
84
+ const buildRouteMap = (routes) => {
85
+ const buildStart = new Date();
86
+ const routemap = routes.reduce((acc, r) => {
87
+ const key = r.out.replace("index", "").replace(".js", "");
88
+ acc[key === "" ? "/" : key] = "/js" + r.out;
89
+ return acc
90
+ }, {});
91
+ const outfile = path.join(staticDir, "routemap.json");
92
+ fs.writeFileSync(outfile, JSON.stringify(routemap, null, 2));
93
+ recordSize(buildStart, outfile);
94
+ }
95
+
96
+ const bundlePages = async () => {
97
+ const appExists = fs.existsSync(path.join(pagesDir, "app.jsx"));
98
+ const importAppComp = appExists ? `import App from "@/pages/app";` : ""
99
+ const routes = walkdir.sync(pagesDir)
100
+ .filter((p) => p.includes("page.jsx"))
101
+ .map((r) => ({
102
+ in: r,
103
+ out: (r.replace(srcDir, "").replace("/pages", "").replace("/page.jsx", "") || "/index") + ".js",
104
+ }));
105
+ buildRouteMap(routes);
106
+ for (const r of routes) {
107
+ const buildStart = Date.now();
108
+ const outfile = `build/functions${r.out}`;
109
+ await bundleJs({ isServer: true, entryPoints: [r.in], outfile }, {
110
+ name: "page-plugin",
111
+ setup(build) {
112
+ build.onLoad({ filter: /\\*.page.jsx/, namespace: undefined }, (args) => {
113
+ const data = fs.readFileSync(args.path);
114
+ const newSrc = `
115
+ import renderPage from "edge-city/server/renderPage";
116
+ import init from "@/init";
117
+ ${importAppComp}
118
+
119
+ ${data.toString()}
120
+
121
+ export async function onRequest(context) {
122
+ await init();
123
+ return renderPage(Page, App, context.request);
124
+ }
125
+ `
126
+ return {
127
+ contents: newSrc,
128
+ loader: "jsx",
129
+ }
130
+ });
131
+ build.onLoad({ filter: /\\*.css/, namespace: undefined }, (args) => {
132
+ const css = fs.readFileSync(args.path);
133
+ generatedCss += css + "\n\n";
134
+ return {
135
+ contents: "",
136
+ loader: "file",
137
+ }
138
+ });
139
+ }
140
+ });
141
+ recordSize(buildStart, outfile);
142
+ }
143
+ await bundleJs({
144
+ isServer: false,
145
+ entryPoints: routes.map((r) => ({
146
+ in: r.in,
147
+ out: "." + r.out.replace(".js", ""),
148
+ })),
149
+ outdir: "build/static/js",
150
+ splitting: true,
151
+ entryNames: '[dir]/[name]',
152
+ chunkNames: 'chunks/[name]-[hash]'
153
+ }, {
154
+ name: "page-js-plugin",
155
+ setup(build) {
156
+ build.onLoad({ filter: /\\*.page.jsx/, namespace: undefined }, (args) => {
157
+ const data = fs.readFileSync(args.path);
158
+ const newSrc = `
159
+ import hydratePage from "edge-city/hydratePage";
160
+ ${importAppComp}
161
+
162
+ ${data.toString()}
163
+
164
+ const searchParams = new URL(import.meta.url).searchParams;
165
+ if (searchParams.get("hydrate") === "true") {
166
+ hydratePage(App)
167
+ }
168
+ `
169
+ return {
170
+ contents: newSrc,
171
+ loader: "jsx",
172
+ }
173
+ });
174
+ build.onLoad({ filter: /\\*.css/, namespace: undefined }, (args) => {
175
+ return {
176
+ contents: "",
177
+ loader: "file",
178
+ }
179
+ });
180
+ build.onLoad({ filter: /\\*.service.js/, namespace: undefined }, async (args) => {
181
+ const src = fs.readFileSync(args.path, "utf8");
182
+ const svcName = args.path.replace(srcDir, "").replace("/services/", "").replace(".service.js", "");
183
+ const funcs = parseExports(src);
184
+ const newSrc = `
185
+ import { defineRpc } from "edge-city/data";
186
+ ${funcs.map((f) => `export const ${f} = defineRpc("${svcName}/${f}")`).join("\n")}
187
+ `
188
+ return {
189
+ contents: newSrc,
190
+ loader: "js",
191
+ };
192
+ });
193
+ }
194
+ });
195
+ for (const r of routes) {
196
+ recordSize(Date.now(), `build/static/js${r.out}`);
197
+ }
198
+ }
199
+
200
+ const bundleServices = async () => {
201
+ const services = walkdir.sync(path.join(srcDir, "services"))
202
+ .filter((s) => s.includes(".service.js"));
203
+ for (const s of services) {
204
+ const dest = s.replace(srcDir, "").replace("/services", "").replace(".service.js", "");
205
+ const src = fs.readFileSync(s, 'utf8');
206
+ const funcs = parseExports(src);
207
+ for (const p of funcs) {
208
+ const buildStart = Date.now();
209
+ const result = await bundleJs({
210
+ isServer: true,
211
+ write: false,
212
+ entryPoints: [s],
213
+ // outfile: `build/functions/_rpc${dest}.js`,
214
+ },
215
+ {
216
+ name: "service-plugin",
217
+ setup(build) {
218
+ build.onLoad({ filter: /\\*.service.js/, namespace: undefined }, async (args) => {
219
+ const newSrc = `
220
+ import renderApi from "edge-city/server/renderApi";
221
+ import init from "@/init";
222
+ ${src.toString()}
223
+
224
+ export async function onRequest(c) {
225
+ await init();
226
+ return renderApi(${p}, c.request);
227
+ }
228
+ `
229
+ return {
230
+ contents: newSrc,
231
+ loader: "js",
232
+ };
233
+ });
234
+ }
235
+ })
236
+ fse.ensureDirSync(`build/functions/_rpc${dest}`)
237
+ const outfile = `build/functions/_rpc${dest}/${p}.js`;
238
+ fs.writeFileSync(outfile, result.outputFiles[0].contents);
239
+ recordSize(buildStart, outfile);
240
+ }
241
+ }
242
+ }
243
+
244
+ const bundleCss = async () => {
245
+ const result = await postcss([
246
+ autoprefixer(),
247
+ postcssCustomMedia(),
248
+ postcssNesting,
249
+ ]).process(generatedCss, { from: "app.css", to: "app.css" });
250
+ fse.ensureDirSync(`build/static/css`)
251
+ fs.writeFileSync(`${process.cwd()}/build/static/css/app.css`, result.toString());
252
+ }
253
+
254
+ const build = async (platform, setProd) => {
255
+ fse.removeSync(buildDir);
256
+ fse.ensureDirSync(buildDir);
257
+ fse.ensureDirSync(staticDir);
258
+ fse.copySync(inputStaticDir, staticDir);
259
+ if (setProd) {
260
+ process.env.NODE_ENV = "production";
261
+ isProd = true;
262
+ }
263
+ await bundlePages();
264
+ await bundleServices();
265
+ await bundleCss();
266
+ if (!setProd) {
267
+ // watch src files, imports and dotenv
268
+ console.log("watching for changes");
269
+ watch(srcDir, { recursive: true }, async (evt, name) => {
270
+ generatedCss = "";
271
+ await bundlePages();
272
+ await bundleServices();
273
+ await bundleCss();
274
+ });
275
+ }
276
+ if (platform === "cloudflare") {
277
+ // create _routes.json for cloudflare which only includes the pages and services
278
+ }
279
+ }
280
+
281
+ yargs(hideBin(process.argv))
282
+ .scriptName("edge-city")
283
+ .usage('$0 <cmd> [args]')
284
+ .command('build', 'build the project', (y) => {
285
+ y.option('platform', {
286
+ alias: 'p',
287
+ description: 'The edge platform',
288
+ choices: ['cloudflare', 'vercel'],
289
+ })
290
+ .demandOption("p")
291
+ }, ({ platform }) => {
292
+ build(platform, true);
293
+ })
294
+ .command('dev', 'run the dev server', (y) => {
295
+ y.option('platform', {
296
+ alias: 'p',
297
+ type: 'string',
298
+ description: 'cloudflare or vercel',
299
+ choices: ['cloudflare', 'vercel']
300
+ })
301
+ }, ({ platform }) => {
302
+ build(platform, false);
303
+ })
304
+ .demandCommand(1)
305
+ .parse();
lib/data.js ADDED
@@ -0,0 +1,95 @@
1
+ import { useState, useEffect, useCallback } from "react";
2
+
3
+ export const defineRpc = (serviceName) => async (params = {}) => {
4
+ const res = await fetch(`/_rpc/${serviceName}`, {
5
+ method: "POST",
6
+ headers: {
7
+ "Accept": "application/json",
8
+ "Content-Type": "application/json",
9
+ },
10
+ body: JSON.stringify(params),
11
+ })
12
+ return await res.json();
13
+ }
14
+
15
+
16
+ export const cache = {
17
+ get: (k) => globalThis._EDGE_DATA_.data[k],
18
+ set: (k, v) => {
19
+ globalThis._EDGE_DATA_.data[k] = v;
20
+ },
21
+ invalidate: (k, setRefetch) => Promise.all(Array.from(globalThis._EDGE_DATA_.subs[k]).map((cb) => cb(setRefetch))),
22
+ subscribe: (k, cb) => {
23
+ if (!globalThis._EDGE_DATA_.subs[k]) {
24
+ globalThis._EDGE_DATA_.subs[k] = new Set();
25
+ }
26
+ globalThis._EDGE_DATA_.subs[k].add(cb)
27
+ return () => globalThis._EDGE_DATA_.subs[k].delete(cb);
28
+ }
29
+ }
30
+
31
+ /**
32
+ *
33
+ * @param {*} fn
34
+ * @param {*} params
35
+ * @returns
36
+ */
37
+ export const useQuery = (key, fn) => {
38
+ const [, toggle] = useState(false);
39
+ const [isRefetching, setIsRefetching] = useState(false);
40
+ const [err, setErr] = useState(null);
41
+ const refetch = useCallback(async (setRefetch = true) => {
42
+ try {
43
+ if (setRefetch) {
44
+ setIsRefetching(true);
45
+ }
46
+ setErr(null);
47
+ cache.set(key, await fn());
48
+ } catch (err) {
49
+ setErr(err);
50
+ throw err;
51
+ } finally {
52
+ if (setRefetch) {
53
+ setIsRefetching(false);
54
+ } else {
55
+ toggle((v) => !v);
56
+ }
57
+ }
58
+ }, [fn]);
59
+ useEffect(() => {
60
+ return cache.subscribe(key, refetch);
61
+ }, [key])
62
+ const value = cache.get(key);
63
+ if (value) {
64
+ if (value instanceof Promise) {
65
+ throw value;
66
+ } else if (value instanceof Error) {
67
+ throw value;
68
+ }
69
+ return { data: value, isRefetching, err, refetch };
70
+ }
71
+ cache.set(key, fn().then((v) => cache.set(key, v)));
72
+ throw cache.get(key);
73
+ }
74
+
75
+ export const useMutation = (fn) => {
76
+ const [isMutating, setIsMutating] = useState(false);
77
+ const [err, setErr] = useState(null);
78
+ const mutate = useCallback(async (params) => {
79
+ try {
80
+ setIsMutating(true);
81
+ setErr(null);
82
+ await fn(params);
83
+ } catch (err) {
84
+ setErr(err)
85
+ throw err;
86
+ } finally {
87
+ setIsMutating(false);
88
+ }
89
+ }, [fn])
90
+ return {
91
+ mutate,
92
+ isMutating,
93
+ err,
94
+ }
95
+ }
lib/hydratePage.js ADDED
@@ -0,0 +1,27 @@
1
+ import React from "react";
2
+ import { hydrateRoot } from "react-dom/client";
3
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
4
+ import { createBrowserHistory } from "history";
5
+ import { createRouter } from "radix3";
6
+ import { state } from "./router";
7
+ import routemap from '/routemap.json' assert {type: 'json'};
8
+
9
+ const hydratePage = (App) => {
10
+ const history = createBrowserHistory();
11
+ const router = createRouter({
12
+ strictTrailingSlash: true,
13
+ routes: Object.keys(routemap).reduce((acc, r) => {
14
+ acc[r] = React.lazy(() => import(routemap[r]));
15
+ return acc;
16
+ }, {}),
17
+ });
18
+ state.set({
19
+ router,
20
+ history,
21
+ helmetContext: {},
22
+ })
23
+ const root = document.getElementById("root");
24
+ hydrateRoot(root, _jsx(App, { helmetContext: {} }));
25
+ }
26
+
27
+ export default hydratePage;
lib/link.js ADDED
@@ -0,0 +1,33 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useRouter } from "./router";
3
+
4
+ const Link = (props) => {
5
+ const router = useRouter();
6
+ return _jsx("a", {
7
+ ...props,
8
+ onMouseOver: (e) => {
9
+ // Simple prefetching for now will work only with cache headers
10
+ // fetch(getCssUrl(props.href));
11
+ // fetch(getCssUrl(props.href).replace("css", "jsx"));
12
+ },
13
+ onClick: (e) => {
14
+ e.preventDefault();
15
+ if (props && props.onClick) {
16
+ props.onClick(e);
17
+ }
18
+ router.push(props.href);
19
+ },
20
+ })
21
+ }
22
+
23
+ export const StyleLink = ({ children, className, activeClassName, ...props }) => {
24
+ const { pathname } = useRouter();
25
+ const classNames = pathname === props.href ? [activeClassName, className] : [className];
26
+ return _jsx(Link, {
27
+ children,
28
+ className: classNames,
29
+ ...props,
30
+ })
31
+ }
32
+
33
+ export default Link;
lib/package.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "edge-city",
3
+ "version": "0.5.0",
4
+ "type": "module",
5
+ "main": "client",
6
+ "engines": {
7
+ "node": ">= 20"
8
+ },
9
+ "scripts": {
10
+ "test": "NODE_OPTIONS=--experimental-vm-modules jest index.test.js"
11
+ },
12
+ "dependencies": {
13
+ "history": "^5.3.0",
14
+ "radix3": "^1.0.0",
15
+ "isbot": "3.6.10"
16
+ },
17
+ "devDependencies": {
18
+ "autoprefixer": "^10.4.14",
19
+ "bytes": "3.1.2",
20
+ "esbuild": "0.17.19",
21
+ "yargs": "17.7.2",
22
+ "mime-types": "2.1.35",
23
+ "fs-extra": "11.1.1",
24
+ "ms": "2.1.3",
25
+ "picocolors": "1.0.0",
26
+ "postcss": "^8.4.21",
27
+ "postcss-custom-media": "^9.1.2",
28
+ "postcss-nesting": "^11.2.1",
29
+ "walkdir": "0.4.1",
30
+ "esbuild-plugin-resolve": "2.0.0",
31
+ "wrangler": "3.0.1",
32
+ "miniflare": "3.0.1",
33
+ "vite": "4.3.9",
34
+ "express": "4.18.2",
35
+ "node-watch": "0.7.3",
36
+ "dotenv": "16.0.3",
37
+ "jest": "29.5.0"
38
+ },
39
+ "peerDependencies": {
40
+ "react": "*",
41
+ "react-dom": "*",
42
+ "react-error-boundary": "*",
43
+ "react-helmet-async": "*"
44
+ },
45
+ "bin": {
46
+ "edge-city": "bin/cli.js"
47
+ },
48
+ "jest": {
49
+ "verbose": true
50
+ }
51
+ }
lib/router.js ADDED
@@ -0,0 +1,41 @@
1
+ import {
2
+ useState, useEffect, useTransition
3
+ } from "react";
4
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
5
+
6
+ export let state = {
7
+ get: () => globalThis._EDGE_ROUTER_STATE_,
8
+ set: (v) => {
9
+ globalThis._EDGE_ROUTER_STATE_ = v;
10
+ },
11
+ }
12
+
13
+ export const usePage = () => {
14
+ const { history, router } = state.get();
15
+ const [_, startTransition] = useTransition();
16
+ const [pathname, setPathname] = useState(history.location.pathname);
17
+ const Page = router.lookup(pathname) || router.lookup("/_404");
18
+ useEffect(() => {
19
+ return history.listen(({ location }) => {
20
+ // this causes 2 renders to happen but stops jitter or flash due to React.lazy
21
+ startTransition(() => {
22
+ setPathname(location.pathname);
23
+ })
24
+ });
25
+ }, []);
26
+ return Page;
27
+ }
28
+
29
+ export const useRouter = () => {
30
+ const { history, params } = state.get();
31
+ return {
32
+ pathname: history.location.pathname,
33
+ query: new URLSearchParams(history.location.search),
34
+ params,
35
+ push: history.push,
36
+ replace: history.replace,
37
+ forward: history.forward,
38
+ back: history.back,
39
+ reload: () => window.location.reload(),
40
+ };
41
+ }
lib/server/dev-server.js ADDED
@@ -0,0 +1,18 @@
1
+ import http from "http";
2
+
3
+ const server = http.createServer((req, res) => {
4
+ res.writeHead(200, { 'Content-Type': 'application/json' });
5
+ res.end(JSON.stringify({
6
+ data: 'Hello World!',
7
+ }))
8
+ })
9
+ server.listen(3000);
10
+ server.on('error', (e) => {
11
+ if (e.code === 'EADDRINUSE') {
12
+ console.log('Address in use, retrying...');
13
+ setTimeout(() => {
14
+ server.close();
15
+ server.listen(PORT, HOST);
16
+ }, 1000);
17
+ }
18
+ });
lib/server/renderApi.js ADDED
@@ -0,0 +1,21 @@
1
+ export const renderApi = async (fn, req) => {
2
+ const url = new URL(req.url);
3
+ const params = req.method === "POST" ? await req.json() : Object.fromEntries(url.searchParams);
4
+ try {
5
+ const result = await fn(params);
6
+ return new Response(JSON.stringify(result), {
7
+ headers: { 'Content-Type': 'application/json' },
8
+ status: 200,
9
+ });
10
+ } catch (err) {
11
+ console.log("err: renderApi", err);
12
+ const message = err.format ? err.format() : err.message;
13
+ const data = process.env.NODE_ENV === "development" ? { message, stack: err.stack } : { message };
14
+ return new Response(JSON.stringify(data), {
15
+ headers: { 'Content-Type': 'application/json' },
16
+ status: 400,
17
+ });
18
+ }
19
+ }
20
+
21
+ export default renderApi;
lib/server/renderPage.js ADDED
@@ -0,0 +1,160 @@
1
+ import React from "react";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { createMemoryHistory } from "history";
4
+ import { createRouter } from "radix3";
5
+ import { renderToReadableStream } from "react-dom/server";
6
+ import isbot from "isbot";
7
+ import routemap from '/routemap.json' assert {type: 'json'};
8
+ import { state } from "../router";
9
+
10
+ const stringToStream = (str) => {
11
+ return new ReadableStream({
12
+ start(controller) {
13
+ controller.enqueue(new TextEncoder().encode(str))
14
+ controller.close()
15
+ },
16
+ })
17
+ }
18
+
19
+ const createTagHtmlInjectTransformer = (
20
+ token,
21
+ oneTime,
22
+ inject,
23
+ ) => {
24
+ let injected = false
25
+
26
+ return new TransformStream({
27
+ transform(chunk, controller) {
28
+ if (!oneTime || !injected) {
29
+ const content = new TextDecoder().decode(chunk)
30
+ let index
31
+ if ((index = content.indexOf(token)) !== -1) {
32
+ const newContent =
33
+ content.slice(0, index) +
34
+ inject() +
35
+ content.slice(index, content.length)
36
+ injected = true
37
+ controller.enqueue(new TextEncoder().encode(newContent))
38
+ return
39
+ }
40
+ }
41
+ controller.enqueue(chunk)
42
+ },
43
+ })
44
+ }
45
+
46
+ const createEndHtmlInjectTransformer = (inject) => {
47
+ return new TransformStream({
48
+ flush(controller) {
49
+ controller.enqueue(new TextEncoder().encode(inject()))
50
+ },
51
+ transform(chunk, controller) {
52
+ controller.enqueue(chunk)
53
+ },
54
+ })
55
+ }
56
+
57
+ const render = async (children, {
58
+ injectBeforeBodyClose,
59
+ injectBeforeHeadClose,
60
+ injectBeforeEveryScript,
61
+ injectOnEnd,
62
+ isSeo,
63
+ }) => {
64
+ function transfromStream(stream) {
65
+ let out = stream
66
+ if (injectBeforeBodyClose) {
67
+ out = out.pipeThrough(
68
+ createTagHtmlInjectTransformer('</body>', true, injectBeforeBodyClose)
69
+ )
70
+ }
71
+ if (injectBeforeHeadClose) {
72
+ out = out.pipeThrough(
73
+ createTagHtmlInjectTransformer('</head>', true, injectBeforeHeadClose)
74
+ )
75
+ }
76
+ if (injectBeforeEveryScript) {
77
+ out = out.pipeThrough(
78
+ createTagHtmlInjectTransformer(
79
+ '<script>',
80
+ false,
81
+ injectBeforeEveryScript
82
+ )
83
+ )
84
+ }
85
+ if (injectOnEnd) {
86
+ out = out.pipeThrough(
87
+ createEndHtmlInjectTransformer(injectOnEnd)
88
+ )
89
+ }
90
+ return out;
91
+ }
92
+
93
+ try {
94
+ const reactStream = await renderToReadableStream(children)
95
+ if (isSeo) {
96
+ await reactStream.allReady;
97
+ }
98
+ return transfromStream(reactStream);
99
+ } catch (error) {
100
+ throw error;
101
+ }
102
+ }
103
+
104
+ const renderPage = async (Page, App, req) => {
105
+ const url = new URL(req.url);
106
+ const history = createMemoryHistory({
107
+ initialEntries: [url.pathname + url.search],
108
+ });
109
+ const router = createRouter({
110
+ strictTrailingSlash: true,
111
+ routes: Object.keys(routemap).reduce((acc, r) => {
112
+ acc[r] = React.lazy(() => Promise.resolve({ default: Page }));
113
+ return acc;
114
+ }, {}),
115
+ });
116
+ const jsScript = url.pathname === "/" ? "/index" : url.pathname;
117
+ const helmetContext = {};
118
+ globalThis._EDGE_DATA_ = { data: {}, subs: {} };
119
+ state.set({
120
+ router,
121
+ history,
122
+ helmetContext,
123
+ })
124
+ const stream = await render(
125
+ _jsxs("html", {
126
+ lang: "en",
127
+ children: [
128
+ _jsxs("head", {
129
+ children: [
130
+ _jsx("link", {
131
+ rel: "stylesheet",
132
+ href: "/css/app.css"
133
+ }),
134
+ ]
135
+ }),
136
+ _jsx("body", {
137
+ children: _jsx("div", {
138
+ id: "root",
139
+ children: _jsx(App, { helmetContext }),
140
+ })
141
+ })]
142
+ }), {
143
+ isSeo: isbot(req.headers.get('User-Agent')) || url.search.includes("ec_is_bot=true"),
144
+ injectBeforeHeadClose: () =>
145
+ Object.keys(helmetContext.helmet)
146
+ .map((k) => helmetContext.helmet[k].toString())
147
+ .join(''),
148
+ injectOnEnd: () => {
149
+ return ''
150
+ + `<script>globalThis._EDGE_DATA_ = ${JSON.stringify(globalThis._EDGE_DATA_)};</script>`
151
+ + `<script type="module" src="/js${jsScript}.js?hydrate=true"></script>`
152
+ }
153
+ });
154
+ return new Response(stream, {
155
+ headers: { 'Content-Type': 'text/html' },
156
+ status: 200,
157
+ });
158
+ }
159
+
160
+ export default renderPage;
package-lock.json DELETED
@@ -1,111 +0,0 @@
1
- {
2
- "name": "quickstart",
3
- "lockfileVersion": 2,
4
- "requires": true,
5
- "packages": {
6
- "": {
7
- "name": "quickstart",
8
- "dependencies": {
9
- "react": "18.2.0",
10
- "react-dom": "^18.2.0",
11
- "zod": "^3.21.0"
12
- },
13
- "devDependencies": {
14
- "bun-types": "^0.5.0"
15
- }
16
- },
17
- "node_modules/bun-types": {
18
- "version": "0.5.7",
19
- "dev": true
20
- },
21
- "node_modules/js-tokens": {
22
- "version": "4.0.0",
23
- "license": "MIT"
24
- },
25
- "node_modules/loose-envify": {
26
- "version": "1.4.0",
27
- "license": "MIT",
28
- "dependencies": {
29
- "js-tokens": "^3.0.0 || ^4.0.0"
30
- },
31
- "bin": {
32
- "loose-envify": "cli.js"
33
- }
34
- },
35
- "node_modules/react": {
36
- "version": "18.2.0",
37
- "license": "MIT",
38
- "dependencies": {
39
- "loose-envify": "^1.1.0"
40
- },
41
- "engines": {
42
- "node": ">=0.10.0"
43
- }
44
- },
45
- "node_modules/react-dom": {
46
- "version": "18.2.0",
47
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
48
- "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
49
- "dependencies": {
50
- "loose-envify": "^1.1.0",
51
- "scheduler": "^0.23.0"
52
- },
53
- "peerDependencies": {
54
- "react": "^18.2.0"
55
- }
56
- },
57
- "node_modules/scheduler": {
58
- "version": "0.23.0",
59
- "license": "MIT",
60
- "dependencies": {
61
- "loose-envify": "^1.1.0"
62
- }
63
- },
64
- "node_modules/zod": {
65
- "version": "3.21.0",
66
- "license": "MIT",
67
- "funding": {
68
- "url": "https://github.com/sponsors/colinhacks"
69
- }
70
- }
71
- },
72
- "dependencies": {
73
- "bun-types": {
74
- "version": "0.5.7",
75
- "dev": true
76
- },
77
- "js-tokens": {
78
- "version": "4.0.0"
79
- },
80
- "loose-envify": {
81
- "version": "1.4.0",
82
- "requires": {
83
- "js-tokens": "^3.0.0 || ^4.0.0"
84
- }
85
- },
86
- "react": {
87
- "version": "18.2.0",
88
- "requires": {
89
- "loose-envify": "^1.1.0"
90
- }
91
- },
92
- "react-dom": {
93
- "version": "18.2.0",
94
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
95
- "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
96
- "requires": {
97
- "loose-envify": "^1.1.0",
98
- "scheduler": "^0.23.0"
99
- }
100
- },
101
- "scheduler": {
102
- "version": "0.23.0",
103
- "requires": {
104
- "loose-envify": "^1.1.0"
105
- }
106
- },
107
- "zod": {
108
- "version": "3.21.0"
109
- }
110
- }
111
- }
package.json DELETED
@@ -1,17 +0,0 @@
1
- {
2
- "name": "quickstart",
3
- "module": "index.js",
4
- "type": "module",
5
- "scripts": {
6
- "dev": "bun --hot index.js",
7
- "start": "bun index.js"
8
- },
9
- "devDependencies": {
10
- "bun-types": "^0.5.0"
11
- },
12
- "dependencies": {
13
- "react": "18.2.0",
14
- "react-dom": "^18.2.0",
15
- "zod": "^3.21.0"
16
- }
17
- }
pnpm-lock.yaml ADDED
@@ -0,0 +1,8911 @@
1
+ lockfileVersion: '6.0'
2
+
3
+ importers:
4
+
5
+ docs:
6
+ dependencies:
7
+ '@markdoc/markdoc':
8
+ specifier: 0.2.2
9
+ version: 0.2.2
10
+
11
+ example:
12
+ dependencies:
13
+ '@neondatabase/serverless':
14
+ specifier: 0.4.5
15
+ version: 0.4.5
16
+ drizzle-orm:
17
+ specifier: 0.26.0
18
+ version: 0.26.0(@neondatabase/serverless@0.4.5)(postgres@3.3.4)
19
+ edge-city:
20
+ specifier: workspace:*
21
+ version: link:../lib
22
+ react:
23
+ specifier: 18.2.0
24
+ version: 18.2.0
25
+ react-aria-components:
26
+ specifier: 1.0.0-alpha.3
27
+ version: 1.0.0-alpha.3(react-dom@18.2.0)(react@18.2.0)
28
+ react-dom:
29
+ specifier: 18.2.0
30
+ version: 18.2.0(react@18.2.0)
31
+ react-error-boundary:
32
+ specifier: 4.0.4
33
+ version: 4.0.4(react@18.2.0)
34
+ react-helmet-async:
35
+ specifier: 1.3.0
36
+ version: 1.3.0(react-dom@18.2.0)(react@18.2.0)
37
+ react-hook-form:
38
+ specifier: 7.43.9
39
+ version: 7.43.9(react@18.2.0)
40
+ sql-highlight:
41
+ specifier: ^4.3.2
42
+ version: 4.3.2
43
+ zod:
44
+ specifier: ^3.21.4
45
+ version: 3.21.4
46
+ devDependencies:
47
+ '@playwright/test':
48
+ specifier: ^1.31.2
49
+ version: 1.31.2
50
+ '@vitejs/plugin-react':
51
+ specifier: 4.0.0
52
+ version: 4.0.0(vite@4.3.9)
53
+ drizzle-kit:
54
+ specifier: 0.18.0
55
+ version: 0.18.0
56
+ eslint:
57
+ specifier: ^8.35.0
58
+ version: 8.35.0
59
+ eslint-config-react-app:
60
+ specifier: ^7.0.1
61
+ version: 7.0.1(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.5)(eslint@8.35.0)(typescript@5.0.4)
62
+ postgres:
63
+ specifier: 3.3.4
64
+ version: 3.3.4
65
+ prettier:
66
+ specifier: ^2.8.8
67
+ version: 2.8.8
68
+ vite:
69
+ specifier: 4.3.9
70
+ version: 4.3.9
71
+ wrangler:
72
+ specifier: 3.0.1
73
+ version: 3.0.1
74
+
75
+ lib:
76
+ dependencies:
77
+ history:
78
+ specifier: ^5.3.0
79
+ version: 5.3.0
80
+ isbot:
81
+ specifier: 3.6.10
82
+ version: 3.6.10
83
+ radix3:
84
+ specifier: ^1.0.0
85
+ version: 1.0.0
86
+ react:
87
+ specifier: '*'
88
+ version: 18.2.0
89
+ react-dom:
90
+ specifier: '*'
91
+ version: 18.2.0(react@18.2.0)
92
+ react-error-boundary:
93
+ specifier: '*'
94
+ version: 4.0.4(react@18.2.0)
95
+ react-helmet-async:
96
+ specifier: '*'
97
+ version: 1.3.0(react-dom@18.2.0)(react@18.2.0)
98
+ devDependencies:
99
+ autoprefixer:
100
+ specifier: ^10.4.14
101
+ version: 10.4.14(postcss@8.4.21)
102
+ bytes:
103
+ specifier: 3.1.2
104
+ version: 3.1.2
105
+ dotenv:
106
+ specifier: 16.0.3
107
+ version: 16.0.3
108
+ esbuild:
109
+ specifier: 0.17.19
110
+ version: 0.17.19
111
+ esbuild-plugin-resolve:
112
+ specifier: 2.0.0
113
+ version: 2.0.0
114
+ express:
115
+ specifier: 4.18.2
116
+ version: 4.18.2
117
+ fs-extra:
118
+ specifier: 11.1.1
119
+ version: 11.1.1
120
+ jest:
121
+ specifier: 29.5.0
122
+ version: 29.5.0
123
+ mime-types:
124
+ specifier: 2.1.35
125
+ version: 2.1.35
126
+ miniflare:
127
+ specifier: 3.0.1
128
+ version: 3.0.1
129
+ ms:
130
+ specifier: 2.1.3
131
+ version: 2.1.3
132
+ node-watch:
133
+ specifier: 0.7.3
134
+ version: 0.7.3
135
+ picocolors:
136
+ specifier: 1.0.0
137
+ version: 1.0.0
138
+ postcss:
139
+ specifier: ^8.4.21
140
+ version: 8.4.21
141
+ postcss-custom-media:
142
+ specifier: ^9.1.2
143
+ version: 9.1.2(postcss@8.4.21)
144
+ postcss-nesting:
145
+ specifier: ^11.2.1
146
+ version: 11.2.1(postcss@8.4.21)
147
+ vite:
148
+ specifier: 4.3.9
149
+ version: 4.3.9
150
+ walkdir:
151
+ specifier: 0.4.1
152
+ version: 0.4.1
153
+ wrangler:
154
+ specifier: 3.0.1
155
+ version: 3.0.1
156
+ yargs:
157
+ specifier: 17.7.2
158
+ version: 17.7.2
159
+
160
+ packages:
161
+
162
+ /@ampproject/remapping@2.2.1:
163
+ resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
164
+ engines: {node: '>=6.0.0'}
165
+ dependencies:
166
+ '@jridgewell/gen-mapping': 0.3.3
167
+ '@jridgewell/trace-mapping': 0.3.18
168
+ dev: true
169
+
170
+ /@babel/code-frame@7.21.4:
171
+ resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==}
172
+ engines: {node: '>=6.9.0'}
173
+ dependencies:
174
+ '@babel/highlight': 7.18.6
175
+ dev: true
176
+
177
+ /@babel/compat-data@7.21.7:
178
+ resolution: {integrity: sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==}
179
+ engines: {node: '>=6.9.0'}
180
+ dev: true
181
+
182
+ /@babel/core@7.21.8:
183
+ resolution: {integrity: sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==}
184
+ engines: {node: '>=6.9.0'}
185
+ dependencies:
186
+ '@ampproject/remapping': 2.2.1
187
+ '@babel/code-frame': 7.21.4
188
+ '@babel/generator': 7.21.5
189
+ '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.8)
190
+ '@babel/helper-module-transforms': 7.21.5
191
+ '@babel/helpers': 7.21.5
192
+ '@babel/parser': 7.21.8
193
+ '@babel/template': 7.20.7
194
+ '@babel/traverse': 7.21.5
195
+ '@babel/types': 7.21.5
196
+ convert-source-map: 1.9.0
197
+ debug: 4.3.4
198
+ gensync: 1.0.0-beta.2
199
+ json5: 2.2.3
200
+ semver: 6.3.0
201
+ transitivePeerDependencies:
202
+ - supports-color
203
+ dev: true
204
+
205
+ /@babel/eslint-parser@7.21.8(@babel/core@7.21.8)(eslint@8.35.0):
206
+ resolution: {integrity: sha512-HLhI+2q+BP3sf78mFUZNCGc10KEmoUqtUT1OCdMZsN+qr4qFeLUod62/zAnF3jNQstwyasDkZnVXwfK2Bml7MQ==}
207
+ engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0}
208
+ peerDependencies:
209
+ '@babel/core': '>=7.11.0'
210
+ eslint: ^7.5.0 || ^8.0.0
211
+ dependencies:
212
+ '@babel/core': 7.21.8
213
+ '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1
214
+ eslint: 8.35.0
215
+ eslint-visitor-keys: 2.1.0
216
+ semver: 6.3.0
217
+ dev: true
218
+
219
+ /@babel/generator@7.21.5:
220
+ resolution: {integrity: sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==}
221
+ engines: {node: '>=6.9.0'}
222
+ dependencies:
223
+ '@babel/types': 7.21.5
224
+ '@jridgewell/gen-mapping': 0.3.3
225
+ '@jridgewell/trace-mapping': 0.3.18
226
+ jsesc: 2.5.2
227
+ dev: true
228
+
229
+ /@babel/helper-annotate-as-pure@7.18.6:
230
+ resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==}
231
+ engines: {node: '>=6.9.0'}
232
+ dependencies:
233
+ '@babel/types': 7.21.5
234
+ dev: true
235
+
236
+ /@babel/helper-builder-binary-assignment-operator-visitor@7.21.5:
237
+ resolution: {integrity: sha512-uNrjKztPLkUk7bpCNC0jEKDJzzkvel/W+HguzbN8krA+LPfC1CEobJEvAvGka2A/M+ViOqXdcRL0GqPUJSjx9g==}
238
+ engines: {node: '>=6.9.0'}
239
+ dependencies:
240
+ '@babel/types': 7.21.5
241
+ dev: true
242
+
243
+ /@babel/helper-compilation-targets@7.21.5(@babel/core@7.21.8):
244
+ resolution: {integrity: sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==}
245
+ engines: {node: '>=6.9.0'}
246
+ peerDependencies:
247
+ '@babel/core': ^7.0.0
248
+ dependencies:
249
+ '@babel/compat-data': 7.21.7
250
+ '@babel/core': 7.21.8
251
+ '@babel/helper-validator-option': 7.21.0
252
+ browserslist: 4.21.5
253
+ lru-cache: 5.1.1
254
+ semver: 6.3.0
255
+ dev: true
256
+
257
+ /@babel/helper-create-class-features-plugin@7.21.8(@babel/core@7.21.8):
258
+ resolution: {integrity: sha512-+THiN8MqiH2AczyuZrnrKL6cAxFRRQDKW9h1YkBvbgKmAm6mwiacig1qT73DHIWMGo40GRnsEfN3LA+E6NtmSw==}
259
+ engines: {node: '>=6.9.0'}
260
+ peerDependencies:
261
+ '@babel/core': ^7.0.0
262
+ dependencies:
263
+ '@babel/core': 7.21.8
264
+ '@babel/helper-annotate-as-pure': 7.18.6
265
+ '@babel/helper-environment-visitor': 7.21.5
266
+ '@babel/helper-function-name': 7.21.0
267
+ '@babel/helper-member-expression-to-functions': 7.21.5
268
+ '@babel/helper-optimise-call-expression': 7.18.6
269
+ '@babel/helper-replace-supers': 7.21.5
270
+ '@babel/helper-skip-transparent-expression-wrappers': 7.20.0
271
+ '@babel/helper-split-export-declaration': 7.18.6
272
+ semver: 6.3.0
273
+ transitivePeerDependencies:
274
+ - supports-color
275
+ dev: true
276
+
277
+ /@babel/helper-create-regexp-features-plugin@7.21.8(@babel/core@7.21.8):
278
+ resolution: {integrity: sha512-zGuSdedkFtsFHGbexAvNuipg1hbtitDLo2XE8/uf6Y9sOQV1xsYX/2pNbtedp/X0eU1pIt+kGvaqHCowkRbS5g==}
279
+ engines: {node: '>=6.9.0'}
280
+ peerDependencies:
281
+ '@babel/core': ^7.0.0
282
+ dependencies:
283
+ '@babel/core': 7.21.8
284
+ '@babel/helper-annotate-as-pure': 7.18.6
285
+ regexpu-core: 5.3.2
286
+ semver: 6.3.0
287
+ dev: true
288
+
289
+ /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.21.8):
290
+ resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==}
291
+ peerDependencies:
292
+ '@babel/core': ^7.4.0-0
293
+ dependencies:
294
+ '@babel/core': 7.21.8
295
+ '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.8)
296
+ '@babel/helper-plugin-utils': 7.21.5
297
+ debug: 4.3.4
298
+ lodash.debounce: 4.0.8
299
+ resolve: 1.22.2
300
+ semver: 6.3.0
301
+ transitivePeerDependencies:
302
+ - supports-color
303
+ dev: true
304
+
305
+ /@babel/helper-environment-visitor@7.21.5:
306
+ resolution: {integrity: sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==}
307
+ engines: {node: '>=6.9.0'}
308
+ dev: true
309
+
310
+ /@babel/helper-function-name@7.21.0:
311
+ resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==}
312
+ engines: {node: '>=6.9.0'}
313
+ dependencies:
314
+ '@babel/template': 7.20.7
315
+ '@babel/types': 7.21.5
316
+ dev: true
317
+
318
+ /@babel/helper-hoist-variables@7.18.6:
319
+ resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==}
320
+ engines: {node: '>=6.9.0'}
321
+ dependencies:
322
+ '@babel/types': 7.21.5
323
+ dev: true
324
+
325
+ /@babel/helper-member-expression-to-functions@7.21.5:
326
+ resolution: {integrity: sha512-nIcGfgwpH2u4n9GG1HpStW5Ogx7x7ekiFHbjjFRKXbn5zUvqO9ZgotCO4x1aNbKn/x/xOUaXEhyNHCwtFCpxWg==}
327
+ engines: {node: '>=6.9.0'}
328
+ dependencies:
329
+ '@babel/types': 7.21.5
330
+ dev: true
331
+
332
+ /@babel/helper-module-imports@7.21.4:
333
+ resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==}
334
+ engines: {node: '>=6.9.0'}
335
+ dependencies:
336
+ '@babel/types': 7.21.5
337
+ dev: true
338
+
339
+ /@babel/helper-module-transforms@7.21.5:
340
+ resolution: {integrity: sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==}
341
+ engines: {node: '>=6.9.0'}
342
+ dependencies:
343
+ '@babel/helper-environment-visitor': 7.21.5
344
+ '@babel/helper-module-imports': 7.21.4
345
+ '@babel/helper-simple-access': 7.21.5
346
+ '@babel/helper-split-export-declaration': 7.18.6
347
+ '@babel/helper-validator-identifier': 7.19.1
348
+ '@babel/template': 7.20.7
349
+ '@babel/traverse': 7.21.5
350
+ '@babel/types': 7.21.5
351
+ transitivePeerDependencies:
352
+ - supports-color
353
+ dev: true
354
+
355
+ /@babel/helper-optimise-call-expression@7.18.6:
356
+ resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==}
357
+ engines: {node: '>=6.9.0'}
358
+ dependencies:
359
+ '@babel/types': 7.21.5
360
+ dev: true
361
+
362
+ /@babel/helper-plugin-utils@7.21.5:
363
+ resolution: {integrity: sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==}
364
+ engines: {node: '>=6.9.0'}
365
+ dev: true
366
+
367
+ /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.21.8):
368
+ resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==}
369
+ engines: {node: '>=6.9.0'}
370
+ peerDependencies:
371
+ '@babel/core': ^7.0.0
372
+ dependencies:
373
+ '@babel/core': 7.21.8
374
+ '@babel/helper-annotate-as-pure': 7.18.6
375
+ '@babel/helper-environment-visitor': 7.21.5
376
+ '@babel/helper-wrap-function': 7.20.5
377
+ '@babel/types': 7.21.5
378
+ transitivePeerDependencies:
379
+ - supports-color
380
+ dev: true
381
+
382
+ /@babel/helper-replace-supers@7.21.5:
383
+ resolution: {integrity: sha512-/y7vBgsr9Idu4M6MprbOVUfH3vs7tsIfnVWv/Ml2xgwvyH6LTngdfbf5AdsKwkJy4zgy1X/kuNrEKvhhK28Yrg==}
384
+ engines: {node: '>=6.9.0'}
385
+ dependencies:
386
+ '@babel/helper-environment-visitor': 7.21.5
387
+ '@babel/helper-member-expression-to-functions': 7.21.5
388
+ '@babel/helper-optimise-call-expression': 7.18.6
389
+ '@babel/template': 7.20.7
390
+ '@babel/traverse': 7.21.5
391
+ '@babel/types': 7.21.5
392
+ transitivePeerDependencies:
393
+ - supports-color
394
+ dev: true
395
+
396
+ /@babel/helper-simple-access@7.21.5:
397
+ resolution: {integrity: sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==}
398
+ engines: {node: '>=6.9.0'}
399
+ dependencies:
400
+ '@babel/types': 7.21.5
401
+ dev: true
402
+
403
+ /@babel/helper-skip-transparent-expression-wrappers@7.20.0:
404
+ resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==}
405
+ engines: {node: '>=6.9.0'}
406
+ dependencies:
407
+ '@babel/types': 7.21.5
408
+ dev: true
409
+
410
+ /@babel/helper-split-export-declaration@7.18.6:
411
+ resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==}
412
+ engines: {node: '>=6.9.0'}
413
+ dependencies:
414
+ '@babel/types': 7.21.5
415
+ dev: true
416
+
417
+ /@babel/helper-string-parser@7.21.5:
418
+ resolution: {integrity: sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==}
419
+ engines: {node: '>=6.9.0'}
420
+ dev: true
421
+
422
+ /@babel/helper-validator-identifier@7.19.1:
423
+ resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==}
424
+ engines: {node: '>=6.9.0'}
425
+ dev: true
426
+
427
+ /@babel/helper-validator-option@7.21.0:
428
+ resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==}
429
+ engines: {node: '>=6.9.0'}
430
+ dev: true
431
+
432
+ /@babel/helper-wrap-function@7.20.5:
433
+ resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==}
434
+ engines: {node: '>=6.9.0'}
435
+ dependencies:
436
+ '@babel/helper-function-name': 7.21.0
437
+ '@babel/template': 7.20.7
438
+ '@babel/traverse': 7.21.5
439
+ '@babel/types': 7.21.5
440
+ transitivePeerDependencies:
441
+ - supports-color
442
+ dev: true
443
+
444
+ /@babel/helpers@7.21.5:
445
+ resolution: {integrity: sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==}
446
+ engines: {node: '>=6.9.0'}
447
+ dependencies:
448
+ '@babel/template': 7.20.7
449
+ '@babel/traverse': 7.21.5
450
+ '@babel/types': 7.21.5
451
+ transitivePeerDependencies:
452
+ - supports-color
453
+ dev: true
454
+
455
+ /@babel/highlight@7.18.6:
456
+ resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==}
457
+ engines: {node: '>=6.9.0'}
458
+ dependencies:
459
+ '@babel/helper-validator-identifier': 7.19.1
460
+ chalk: 2.4.2
461
+ js-tokens: 4.0.0
462
+ dev: true
463
+
464
+ /@babel/parser@7.21.8:
465
+ resolution: {integrity: sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==}
466
+ engines: {node: '>=6.0.0'}
467
+ hasBin: true
468
+ dependencies:
469
+ '@babel/types': 7.21.5
470
+ dev: true
471
+
472
+ /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.21.8):
473
+ resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==}
474
+ engines: {node: '>=6.9.0'}
475
+ peerDependencies:
476
+ '@babel/core': ^7.0.0
477
+ dependencies:
478
+ '@babel/core': 7.21.8
479
+ '@babel/helper-plugin-utils': 7.21.5
480
+ dev: true
481
+
482
+ /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7(@babel/core@7.21.8):
483
+ resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==}
484
+ engines: {node: '>=6.9.0'}
485
+ peerDependencies:
486
+ '@babel/core': ^7.13.0
487
+ dependencies:
488
+ '@babel/core': 7.21.8
489
+ '@babel/helper-plugin-utils': 7.21.5
490
+ '@babel/helper-skip-transparent-expression-wrappers': 7.20.0
491
+ '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.8)
492
+ dev: true
493
+
494
+ /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.21.8):
495
+ resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==}
496
+ engines: {node: '>=6.9.0'}
497
+ peerDependencies:
498
+ '@babel/core': ^7.0.0-0
499
+ dependencies:
500
+ '@babel/core': 7.21.8
501
+ '@babel/helper-environment-visitor': 7.21.5
502
+ '@babel/helper-plugin-utils': 7.21.5
503
+ '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.8)
504
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.8)
505
+ transitivePeerDependencies:
506
+ - supports-color
507
+ dev: true
508
+
509
+ /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.21.8):
510
+ resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==}
511
+ engines: {node: '>=6.9.0'}
512
+ peerDependencies:
513
+ '@babel/core': ^7.0.0-0
514
+ dependencies:
515
+ '@babel/core': 7.21.8
516
+ '@babel/helper-create-class-features-plugin': 7.21.8(@babel/core@7.21.8)
517
+ '@babel/helper-plugin-utils': 7.21.5
518
+ transitivePeerDependencies:
519
+ - supports-color
520
+ dev: true
521
+
522
+ /@babel/plugin-proposal-class-static-block@7.21.0(@babel/core@7.21.8):
523
+ resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==}
524
+ engines: {node: '>=6.9.0'}
525
+ peerDependencies:
526
+ '@babel/core': ^7.12.0
527
+ dependencies:
528
+ '@babel/core': 7.21.8
529
+ '@babel/helper-create-class-features-plugin': 7.21.8(@babel/core@7.21.8)
530
+ '@babel/helper-plugin-utils': 7.21.5
531
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.8)
532
+ transitivePeerDependencies:
533
+ - supports-color
534
+ dev: true
535
+
536
+ /@babel/plugin-proposal-decorators@7.21.0(@babel/core@7.21.8):
537
+ resolution: {integrity: sha512-MfgX49uRrFUTL/HvWtmx3zmpyzMMr4MTj3d527MLlr/4RTT9G/ytFFP7qet2uM2Ve03b+BkpWUpK+lRXnQ+v9w==}
538
+ engines: {node: '>=6.9.0'}
539
+ peerDependencies:
540
+ '@babel/core': ^7.0.0-0
541
+ dependencies:
542
+ '@babel/core': 7.21.8
543
+ '@babel/helper-create-class-features-plugin': 7.21.8(@babel/core@7.21.8)
544
+ '@babel/helper-plugin-utils': 7.21.5
545
+ '@babel/helper-replace-supers': 7.21.5
546
+ '@babel/helper-split-export-declaration': 7.18.6
547
+ '@babel/plugin-syntax-decorators': 7.21.0(@babel/core@7.21.8)
548
+ transitivePeerDependencies:
549
+ - supports-color
550
+ dev: true
551
+
552
+ /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.21.8):
553
+ resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==}
554
+ engines: {node: '>=6.9.0'}
555
+ peerDependencies:
556
+ '@babel/core': ^7.0.0-0
557
+ dependencies:
558
+ '@babel/core': 7.21.8
559
+ '@babel/helper-plugin-utils': 7.21.5
560
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.8)
561
+ dev: true
562
+
563
+ /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.21.8):
564
+ resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==}
565
+ engines: {node: '>=6.9.0'}
566
+ peerDependencies:
567
+ '@babel/core': ^7.0.0-0
568
+ dependencies:
569
+ '@babel/core': 7.21.8
570
+ '@babel/helper-plugin-utils': 7.21.5
571
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.8)
572
+ dev: true
573
+
574
+ /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.21.8):
575
+ resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==}
576
+ engines: {node: '>=6.9.0'}
577
+ peerDependencies:
578
+ '@babel/core': ^7.0.0-0
579
+ dependencies:
580
+ '@babel/core': 7.21.8
581
+ '@babel/helper-plugin-utils': 7.21.5
582
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.8)
583
+ dev: true
584
+
585
+ /@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.21.8):
586
+ resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==}
587
+ engines: {node: '>=6.9.0'}
588
+ peerDependencies:
589
+ '@babel/core': ^7.0.0-0
590
+ dependencies:
591
+ '@babel/core': 7.21.8
592
+ '@babel/helper-plugin-utils': 7.21.5
593
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.8)
594
+ dev: true
595
+
596
+ /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.21.8):
597
+ resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==}
598
+ engines: {node: '>=6.9.0'}
599
+ peerDependencies:
600
+ '@babel/core': ^7.0.0-0
601
+ dependencies:
602
+ '@babel/core': 7.21.8
603
+ '@babel/helper-plugin-utils': 7.21.5
604
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.8)
605
+ dev: true
606
+
607
+ /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.21.8):
608
+ resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==}
609
+ engines: {node: '>=6.9.0'}
610
+ peerDependencies:
611
+ '@babel/core': ^7.0.0-0
612
+ dependencies:
613
+ '@babel/core': 7.21.8
614
+ '@babel/helper-plugin-utils': 7.21.5
615
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.8)
616
+ dev: true
617
+
618
+ /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.21.8):
619
+ resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==}
620
+ engines: {node: '>=6.9.0'}
621
+ peerDependencies:
622
+ '@babel/core': ^7.0.0-0
623
+ dependencies:
624
+ '@babel/compat-data': 7.21.7
625
+ '@babel/core': 7.21.8
626
+ '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.8)
627
+ '@babel/helper-plugin-utils': 7.21.5
628
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.8)
629
+ '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.8)
630
+ dev: true
631
+
632
+ /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.21.8):
633
+ resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==}
634
+ engines: {node: '>=6.9.0'}
635
+ peerDependencies:
636
+ '@babel/core': ^7.0.0-0
637
+ dependencies:
638
+ '@babel/core': 7.21.8
639
+ '@babel/helper-plugin-utils': 7.21.5
640
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.8)
641
+ dev: true
642
+
643
+ /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.21.8):
644
+ resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==}
645
+ engines: {node: '>=6.9.0'}
646
+ peerDependencies:
647
+ '@babel/core': ^7.0.0-0
648
+ dependencies:
649
+ '@babel/core': 7.21.8
650
+ '@babel/helper-plugin-utils': 7.21.5
651
+ '@babel/helper-skip-transparent-expression-wrappers': 7.20.0
652
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.8)
653
+ dev: true
654
+
655
+ /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.21.8):
656
+ resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==}
657
+ engines: {node: '>=6.9.0'}
658
+ peerDependencies:
659
+ '@babel/core': ^7.0.0-0
660
+ dependencies:
661
+ '@babel/core': 7.21.8
662
+ '@babel/helper-create-class-features-plugin': 7.21.8(@babel/core@7.21.8)
663
+ '@babel/helper-plugin-utils': 7.21.5
664
+ transitivePeerDependencies:
665
+ - supports-color
666
+ dev: true
667
+
668
+ /@babel/plugin-proposal-private-property-in-object@7.21.0(@babel/core@7.21.8):
669
+ resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==}
670
+ engines: {node: '>=6.9.0'}
671
+ peerDependencies:
672
+ '@babel/core': ^7.0.0-0
673
+ dependencies:
674
+ '@babel/core': 7.21.8
675
+ '@babel/helper-annotate-as-pure': 7.18.6
676
+ '@babel/helper-create-class-features-plugin': 7.21.8(@babel/core@7.21.8)
677
+ '@babel/helper-plugin-utils': 7.21.5
678
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.8)
679
+ transitivePeerDependencies:
680
+ - supports-color
681
+ dev: true
682
+
683
+ /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.21.8):
684
+ resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==}
685
+ engines: {node: '>=4'}
686
+ peerDependencies:
687
+ '@babel/core': ^7.0.0-0
688
+ dependencies:
689
+ '@babel/core': 7.21.8
690
+ '@babel/helper-create-regexp-features-plugin': 7.21.8(@babel/core@7.21.8)
691
+ '@babel/helper-plugin-utils': 7.21.5
692
+ dev: true
693
+
694
+ /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.8):
695
+ resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
696
+ peerDependencies:
697
+ '@babel/core': ^7.0.0-0
698
+ dependencies:
699
+ '@babel/core': 7.21.8
700
+ '@babel/helper-plugin-utils': 7.21.5
701
+ dev: true
702
+
703
+ /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.21.8):
704
+ resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
705
+ peerDependencies:
706
+ '@babel/core': ^7.0.0-0
707
+ dependencies:
708
+ '@babel/core': 7.21.8
709
+ '@babel/helper-plugin-utils': 7.21.5
710
+ dev: true
711
+
712
+ /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.8):
713
+ resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
714
+ peerDependencies:
715
+ '@babel/core': ^7.0.0-0
716
+ dependencies:
717
+ '@babel/core': 7.21.8
718
+ '@babel/helper-plugin-utils': 7.21.5
719
+ dev: true
720
+
721
+ /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.21.8):
722
+ resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
723
+ engines: {node: '>=6.9.0'}
724
+ peerDependencies:
725
+ '@babel/core': ^7.0.0-0
726
+ dependencies:
727
+ '@babel/core': 7.21.8
728
+ '@babel/helper-plugin-utils': 7.21.5
729
+ dev: true
730
+
731
+ /@babel/plugin-syntax-decorators@7.21.0(@babel/core@7.21.8):
732
+ resolution: {integrity: sha512-tIoPpGBR8UuM4++ccWN3gifhVvQu7ZizuR1fklhRJrd5ewgbkUS+0KVFeWWxELtn18NTLoW32XV7zyOgIAiz+w==}
733
+ engines: {node: '>=6.9.0'}
734
+ peerDependencies:
735
+ '@babel/core': ^7.0.0-0
736
+ dependencies:
737
+ '@babel/core': 7.21.8
738
+ '@babel/helper-plugin-utils': 7.21.5
739
+ dev: true
740
+
741
+ /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.21.8):
742
+ resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
743
+ peerDependencies:
744
+ '@babel/core': ^7.0.0-0
745
+ dependencies:
746
+ '@babel/core': 7.21.8
747
+ '@babel/helper-plugin-utils': 7.21.5
748
+ dev: true
749
+
750
+ /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.21.8):
751
+ resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
752
+ peerDependencies:
753
+ '@babel/core': ^7.0.0-0
754
+ dependencies:
755
+ '@babel/core': 7.21.8
756
+ '@babel/helper-plugin-utils': 7.21.5
757
+ dev: true
758
+
759
+ /@babel/plugin-syntax-flow@7.21.4(@babel/core@7.21.8):
760
+ resolution: {integrity: sha512-l9xd3N+XG4fZRxEP3vXdK6RW7vN1Uf5dxzRC/09wV86wqZ/YYQooBIGNsiRdfNR3/q2/5pPzV4B54J/9ctX5jw==}
761
+ engines: {node: '>=6.9.0'}
762
+ peerDependencies:
763
+ '@babel/core': ^7.0.0-0
764
+ dependencies:
765
+ '@babel/core': 7.21.8
766
+ '@babel/helper-plugin-utils': 7.21.5
767
+ dev: true
768
+
769
+ /@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.21.8):
770
+ resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==}
771
+ engines: {node: '>=6.9.0'}
772
+ peerDependencies:
773
+ '@babel/core': ^7.0.0-0
774
+ dependencies:
775
+ '@babel/core': 7.21.8
776
+ '@babel/helper-plugin-utils': 7.21.5
777
+ dev: true
778
+
779
+ /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.21.8):
780
+ resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
781
+ peerDependencies:
782
+ '@babel/core': ^7.0.0-0
783
+ dependencies:
784
+ '@babel/core': 7.21.8
785
+ '@babel/helper-plugin-utils': 7.21.5
786
+ dev: true
787
+
788
+ /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.8):
789
+ resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
790
+ peerDependencies:
791
+ '@babel/core': ^7.0.0-0
792
+ dependencies:
793
+ '@babel/core': 7.21.8
794
+ '@babel/helper-plugin-utils': 7.21.5
795
+ dev: true
796
+
797
+ /@babel/plugin-syntax-jsx@7.21.4(@babel/core@7.21.8):
798
+ resolution: {integrity: sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==}
799
+ engines: {node: '>=6.9.0'}
800
+ peerDependencies:
801
+ '@babel/core': ^7.0.0-0
802
+ dependencies:
803
+ '@babel/core': 7.21.8
804
+ '@babel/helper-plugin-utils': 7.21.5
805
+ dev: true
806
+
807
+ /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.8):
808
+ resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
809
+ peerDependencies:
810
+ '@babel/core': ^7.0.0-0
811
+ dependencies:
812
+ '@babel/core': 7.21.8
813
+ '@babel/helper-plugin-utils': 7.21.5
814
+ dev: true
815
+
816
+ /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.8):
817
+ resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
818
+ peerDependencies:
819
+ '@babel/core': ^7.0.0-0
820
+ dependencies:
821
+ '@babel/core': 7.21.8
822
+ '@babel/helper-plugin-utils': 7.21.5
823
+ dev: true
824
+
825
+ /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.8):
826
+ resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
827
+ peerDependencies:
828
+ '@babel/core': ^7.0.0-0
829
+ dependencies:
830
+ '@babel/core': 7.21.8
831
+ '@babel/helper-plugin-utils': 7.21.5
832
+ dev: true
833
+
834
+ /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.8):
835
+ resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
836
+ peerDependencies:
837
+ '@babel/core': ^7.0.0-0
838
+ dependencies:
839
+ '@babel/core': 7.21.8
840
+ '@babel/helper-plugin-utils': 7.21.5
841
+ dev: true
842
+
843
+ /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.8):
844
+ resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
845
+ peerDependencies:
846
+ '@babel/core': ^7.0.0-0
847
+ dependencies:
848
+ '@babel/core': 7.21.8
849
+ '@babel/helper-plugin-utils': 7.21.5
850
+ dev: true
851
+
852
+ /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.8):
853
+ resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
854
+ peerDependencies:
855
+ '@babel/core': ^7.0.0-0
856
+ dependencies:
857
+ '@babel/core': 7.21.8
858
+ '@babel/helper-plugin-utils': 7.21.5
859
+ dev: true
860
+
861
+ /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.21.8):
862
+ resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
863
+ engines: {node: '>=6.9.0'}
864
+ peerDependencies:
865
+ '@babel/core': ^7.0.0-0
866
+ dependencies:
867
+ '@babel/core': 7.21.8
868
+ '@babel/helper-plugin-utils': 7.21.5
869
+ dev: true
870
+
871
+ /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.8):
872
+ resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
873
+ engines: {node: '>=6.9.0'}
874
+ peerDependencies:
875
+ '@babel/core': ^7.0.0-0
876
+ dependencies:
877
+ '@babel/core': 7.21.8
878
+ '@babel/helper-plugin-utils': 7.21.5
879
+ dev: true
880
+
881
+ /@babel/plugin-syntax-typescript@7.21.4(@babel/core@7.21.8):
882
+ resolution: {integrity: sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==}
883
+ engines: {node: '>=6.9.0'}
884
+ peerDependencies:
885
+ '@babel/core': ^7.0.0-0
886
+ dependencies:
887
+ '@babel/core': 7.21.8
888
+ '@babel/helper-plugin-utils': 7.21.5
889
+ dev: true
890
+
891
+ /@babel/plugin-transform-arrow-functions@7.21.5(@babel/core@7.21.8):
892
+ resolution: {integrity: sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==}
893
+ engines: {node: '>=6.9.0'}
894
+ peerDependencies:
895
+ '@babel/core': ^7.0.0-0
896
+ dependencies:
897
+ '@babel/core': 7.21.8
898
+ '@babel/helper-plugin-utils': 7.21.5
899
+ dev: true
900
+
901
+ /@babel/plugin-transform-async-to-generator@7.20.7(@babel/core@7.21.8):
902
+ resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==}
903
+ engines: {node: '>=6.9.0'}
904
+ peerDependencies:
905
+ '@babel/core': ^7.0.0-0
906
+ dependencies:
907
+ '@babel/core': 7.21.8
908
+ '@babel/helper-module-imports': 7.21.4
909
+ '@babel/helper-plugin-utils': 7.21.5
910
+ '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.8)
911
+ transitivePeerDependencies:
912
+ - supports-color
913
+ dev: true
914
+
915
+ /@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.21.8):
916
+ resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==}
917
+ engines: {node: '>=6.9.0'}
918
+ peerDependencies:
919
+ '@babel/core': ^7.0.0-0
920
+ dependencies:
921
+ '@babel/core': 7.21.8
922
+ '@babel/helper-plugin-utils': 7.21.5
923
+ dev: true
924
+
925
+ /@babel/plugin-transform-block-scoping@7.21.0(@babel/core@7.21.8):
926
+ resolution: {integrity: sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==}
927
+ engines: {node: '>=6.9.0'}
928
+ peerDependencies:
929
+ '@babel/core': ^7.0.0-0
930
+ dependencies:
931
+ '@babel/core': 7.21.8
932
+ '@babel/helper-plugin-utils': 7.21.5
933
+ dev: true
934
+
935
+ /@babel/plugin-transform-classes@7.21.0(@babel/core@7.21.8):
936
+ resolution: {integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==}
937
+ engines: {node: '>=6.9.0'}
938
+ peerDependencies:
939
+ '@babel/core': ^7.0.0-0
940
+ dependencies:
941
+ '@babel/core': 7.21.8
942
+ '@babel/helper-annotate-as-pure': 7.18.6
943
+ '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.8)
944
+ '@babel/helper-environment-visitor': 7.21.5
945
+ '@babel/helper-function-name': 7.21.0
946
+ '@babel/helper-optimise-call-expression': 7.18.6
947
+ '@babel/helper-plugin-utils': 7.21.5
948
+ '@babel/helper-replace-supers': 7.21.5
949
+ '@babel/helper-split-export-declaration': 7.18.6
950
+ globals: 11.12.0
951
+ transitivePeerDependencies:
952
+ - supports-color
953
+ dev: true
954
+
955
+ /@babel/plugin-transform-computed-properties@7.21.5(@babel/core@7.21.8):
956
+ resolution: {integrity: sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==}
957
+ engines: {node: '>=6.9.0'}
958
+ peerDependencies:
959
+ '@babel/core': ^7.0.0-0
960
+ dependencies:
961
+ '@babel/core': 7.21.8
962
+ '@babel/helper-plugin-utils': 7.21.5
963
+ '@babel/template': 7.20.7
964
+ dev: true
965
+
966
+ /@babel/plugin-transform-destructuring@7.21.3(@babel/core@7.21.8):
967
+ resolution: {integrity: sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==}
968
+ engines: {node: '>=6.9.0'}
969
+ peerDependencies:
970
+ '@babel/core': ^7.0.0-0
971
+ dependencies:
972
+ '@babel/core': 7.21.8
973
+ '@babel/helper-plugin-utils': 7.21.5
974
+ dev: true
975
+
976
+ /@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.21.8):
977
+ resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==}
978
+ engines: {node: '>=6.9.0'}
979
+ peerDependencies:
980
+ '@babel/core': ^7.0.0-0
981
+ dependencies:
982
+ '@babel/core': 7.21.8
983
+ '@babel/helper-create-regexp-features-plugin': 7.21.8(@babel/core@7.21.8)
984
+ '@babel/helper-plugin-utils': 7.21.5
985
+ dev: true
986
+
987
+ /@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.21.8):
988
+ resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==}
989
+ engines: {node: '>=6.9.0'}
990
+ peerDependencies:
991
+ '@babel/core': ^7.0.0-0
992
+ dependencies:
993
+ '@babel/core': 7.21.8
994
+ '@babel/helper-plugin-utils': 7.21.5
995
+ dev: true
996
+
997
+ /@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.21.8):
998
+ resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==}
999
+ engines: {node: '>=6.9.0'}
1000
+ peerDependencies:
1001
+ '@babel/core': ^7.0.0-0
1002
+ dependencies:
1003
+ '@babel/core': 7.21.8
1004
+ '@babel/helper-builder-binary-assignment-operator-visitor': 7.21.5
1005
+ '@babel/helper-plugin-utils': 7.21.5
1006
+ dev: true
1007
+
1008
+ /@babel/plugin-transform-flow-strip-types@7.21.0(@babel/core@7.21.8):
1009
+ resolution: {integrity: sha512-FlFA2Mj87a6sDkW4gfGrQQqwY/dLlBAyJa2dJEZ+FHXUVHBflO2wyKvg+OOEzXfrKYIa4HWl0mgmbCzt0cMb7w==}
1010
+ engines: {node: '>=6.9.0'}
1011
+ peerDependencies:
1012
+ '@babel/core': ^7.0.0-0
1013
+ dependencies:
1014
+ '@babel/core': 7.21.8
1015
+ '@babel/helper-plugin-utils': 7.21.5
1016
+ '@babel/plugin-syntax-flow': 7.21.4(@babel/core@7.21.8)
1017
+ dev: true
1018
+
1019
+ /@babel/plugin-transform-for-of@7.21.5(@babel/core@7.21.8):
1020
+ resolution: {integrity: sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==}
1021
+ engines: {node: '>=6.9.0'}
1022
+ peerDependencies:
1023
+ '@babel/core': ^7.0.0-0
1024
+ dependencies:
1025
+ '@babel/core': 7.21.8
1026
+ '@babel/helper-plugin-utils': 7.21.5
1027
+ dev: true
1028
+
1029
+ /@babel/plugin-transform-function-name@7.18.9(@babel/core@7.21.8):
1030
+ resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==}
1031
+ engines: {node: '>=6.9.0'}
1032
+ peerDependencies:
1033
+ '@babel/core': ^7.0.0-0
1034
+ dependencies:
1035
+ '@babel/core': 7.21.8
1036
+ '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.8)
1037
+ '@babel/helper-function-name': 7.21.0
1038
+ '@babel/helper-plugin-utils': 7.21.5
1039
+ dev: true
1040
+
1041
+ /@babel/plugin-transform-literals@7.18.9(@babel/core@7.21.8):
1042
+ resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==}
1043
+ engines: {node: '>=6.9.0'}
1044
+ peerDependencies:
1045
+ '@babel/core': ^7.0.0-0
1046
+ dependencies:
1047
+ '@babel/core': 7.21.8
1048
+ '@babel/helper-plugin-utils': 7.21.5
1049
+ dev: true
1050
+
1051
+ /@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.21.8):
1052
+ resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==}
1053
+ engines: {node: '>=6.9.0'}
1054
+ peerDependencies:
1055
+ '@babel/core': ^7.0.0-0
1056
+ dependencies:
1057
+ '@babel/core': 7.21.8
1058
+ '@babel/helper-plugin-utils': 7.21.5
1059
+ dev: true
1060
+
1061
+ /@babel/plugin-transform-modules-amd@7.20.11(@babel/core@7.21.8):
1062
+ resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==}
1063
+ engines: {node: '>=6.9.0'}
1064
+ peerDependencies:
1065
+ '@babel/core': ^7.0.0-0
1066
+ dependencies:
1067
+ '@babel/core': 7.21.8
1068
+ '@babel/helper-module-transforms': 7.21.5
1069
+ '@babel/helper-plugin-utils': 7.21.5
1070
+ transitivePeerDependencies:
1071
+ - supports-color
1072
+ dev: true
1073
+
1074
+ /@babel/plugin-transform-modules-commonjs@7.21.5(@babel/core@7.21.8):
1075
+ resolution: {integrity: sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==}
1076
+ engines: {node: '>=6.9.0'}
1077
+ peerDependencies:
1078
+ '@babel/core': ^7.0.0-0
1079
+ dependencies:
1080
+ '@babel/core': 7.21.8
1081
+ '@babel/helper-module-transforms': 7.21.5
1082
+ '@babel/helper-plugin-utils': 7.21.5
1083
+ '@babel/helper-simple-access': 7.21.5
1084
+ transitivePeerDependencies:
1085
+ - supports-color
1086
+ dev: true
1087
+
1088
+ /@babel/plugin-transform-modules-systemjs@7.20.11(@babel/core@7.21.8):
1089
+ resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==}
1090
+ engines: {node: '>=6.9.0'}
1091
+ peerDependencies:
1092
+ '@babel/core': ^7.0.0-0
1093
+ dependencies:
1094
+ '@babel/core': 7.21.8
1095
+ '@babel/helper-hoist-variables': 7.18.6
1096
+ '@babel/helper-module-transforms': 7.21.5
1097
+ '@babel/helper-plugin-utils': 7.21.5
1098
+ '@babel/helper-validator-identifier': 7.19.1
1099
+ transitivePeerDependencies:
1100
+ - supports-color
1101
+ dev: true
1102
+
1103
+ /@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.21.8):
1104
+ resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==}
1105
+ engines: {node: '>=6.9.0'}
1106
+ peerDependencies:
1107
+ '@babel/core': ^7.0.0-0
1108
+ dependencies:
1109
+ '@babel/core': 7.21.8
1110
+ '@babel/helper-module-transforms': 7.21.5
1111
+ '@babel/helper-plugin-utils': 7.21.5
1112
+ transitivePeerDependencies:
1113
+ - supports-color
1114
+ dev: true
1115
+
1116
+ /@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.21.8):
1117
+ resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==}
1118
+ engines: {node: '>=6.9.0'}
1119
+ peerDependencies:
1120
+ '@babel/core': ^7.0.0
1121
+ dependencies:
1122
+ '@babel/core': 7.21.8
1123
+ '@babel/helper-create-regexp-features-plugin': 7.21.8(@babel/core@7.21.8)
1124
+ '@babel/helper-plugin-utils': 7.21.5
1125
+ dev: true
1126
+
1127
+ /@babel/plugin-transform-new-target@7.18.6(@babel/core@7.21.8):
1128
+ resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==}
1129
+ engines: {node: '>=6.9.0'}
1130
+ peerDependencies:
1131
+ '@babel/core': ^7.0.0-0
1132
+ dependencies:
1133
+ '@babel/core': 7.21.8
1134
+ '@babel/helper-plugin-utils': 7.21.5
1135
+ dev: true
1136
+
1137
+ /@babel/plugin-transform-object-super@7.18.6(@babel/core@7.21.8):
1138
+ resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==}
1139
+ engines: {node: '>=6.9.0'}
1140
+ peerDependencies:
1141
+ '@babel/core': ^7.0.0-0
1142
+ dependencies:
1143
+ '@babel/core': 7.21.8
1144
+ '@babel/helper-plugin-utils': 7.21.5
1145
+ '@babel/helper-replace-supers': 7.21.5
1146
+ transitivePeerDependencies:
1147
+ - supports-color
1148
+ dev: true
1149
+
1150
+ /@babel/plugin-transform-parameters@7.21.3(@babel/core@7.21.8):
1151
+ resolution: {integrity: sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==}
1152
+ engines: {node: '>=6.9.0'}
1153
+ peerDependencies:
1154
+ '@babel/core': ^7.0.0-0
1155
+ dependencies:
1156
+ '@babel/core': 7.21.8
1157
+ '@babel/helper-plugin-utils': 7.21.5
1158
+ dev: true
1159
+
1160
+ /@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.21.8):
1161
+ resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==}
1162
+ engines: {node: '>=6.9.0'}
1163
+ peerDependencies:
1164
+ '@babel/core': ^7.0.0-0
1165
+ dependencies:
1166
+ '@babel/core': 7.21.8
1167
+ '@babel/helper-plugin-utils': 7.21.5
1168
+ dev: true
1169
+
1170
+ /@babel/plugin-transform-react-display-name@7.18.6(@babel/core@7.21.8):
1171
+ resolution: {integrity: sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==}
1172
+ engines: {node: '>=6.9.0'}
1173
+ peerDependencies:
1174
+ '@babel/core': ^7.0.0-0
1175
+ dependencies:
1176
+ '@babel/core': 7.21.8
1177
+ '@babel/helper-plugin-utils': 7.21.5
1178
+ dev: true
1179
+
1180
+ /@babel/plugin-transform-react-jsx-development@7.18.6(@babel/core@7.21.8):
1181
+ resolution: {integrity: sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==}
1182
+ engines: {node: '>=6.9.0'}
1183
+ peerDependencies:
1184
+ '@babel/core': ^7.0.0-0
1185
+ dependencies:
1186
+ '@babel/core': 7.21.8
1187
+ '@babel/plugin-transform-react-jsx': 7.21.5(@babel/core@7.21.8)
1188
+ dev: true
1189
+
1190
+ /@babel/plugin-transform-react-jsx-self@7.21.0(@babel/core@7.21.8):
1191
+ resolution: {integrity: sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==}
1192
+ engines: {node: '>=6.9.0'}
1193
+ peerDependencies:
1194
+ '@babel/core': ^7.0.0-0
1195
+ dependencies:
1196
+ '@babel/core': 7.21.8
1197
+ '@babel/helper-plugin-utils': 7.21.5
1198
+ dev: true
1199
+
1200
+ /@babel/plugin-transform-react-jsx-source@7.19.6(@babel/core@7.21.8):
1201
+ resolution: {integrity: sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==}
1202
+ engines: {node: '>=6.9.0'}
1203
+ peerDependencies:
1204
+ '@babel/core': ^7.0.0-0
1205
+ dependencies:
1206
+ '@babel/core': 7.21.8
1207
+ '@babel/helper-plugin-utils': 7.21.5
1208
+ dev: true
1209
+
1210
+ /@babel/plugin-transform-react-jsx@7.21.5(@babel/core@7.21.8):
1211
+ resolution: {integrity: sha512-ELdlq61FpoEkHO6gFRpfj0kUgSwQTGoaEU8eMRoS8Dv3v6e7BjEAj5WMtIBRdHUeAioMhKP5HyxNzNnP+heKbA==}
1212
+ engines: {node: '>=6.9.0'}
1213
+ peerDependencies:
1214
+ '@babel/core': ^7.0.0-0
1215
+ dependencies:
1216
+ '@babel/core': 7.21.8
1217
+ '@babel/helper-annotate-as-pure': 7.18.6
1218
+ '@babel/helper-module-imports': 7.21.4
1219
+ '@babel/helper-plugin-utils': 7.21.5
1220
+ '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.8)
1221
+ '@babel/types': 7.21.5
1222
+ dev: true
1223
+
1224
+ /@babel/plugin-transform-react-pure-annotations@7.18.6(@babel/core@7.21.8):
1225
+ resolution: {integrity: sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==}
1226
+ engines: {node: '>=6.9.0'}
1227
+ peerDependencies:
1228
+ '@babel/core': ^7.0.0-0
1229
+ dependencies:
1230
+ '@babel/core': 7.21.8
1231
+ '@babel/helper-annotate-as-pure': 7.18.6
1232
+ '@babel/helper-plugin-utils': 7.21.5
1233
+ dev: true
1234
+
1235
+ /@babel/plugin-transform-regenerator@7.21.5(@babel/core@7.21.8):
1236
+ resolution: {integrity: sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==}
1237
+ engines: {node: '>=6.9.0'}
1238
+ peerDependencies:
1239
+ '@babel/core': ^7.0.0-0
1240
+ dependencies:
1241
+ '@babel/core': 7.21.8
1242
+ '@babel/helper-plugin-utils': 7.21.5
1243
+ regenerator-transform: 0.15.1
1244
+ dev: true
1245
+
1246
+ /@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.21.8):
1247
+ resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==}
1248
+ engines: {node: '>=6.9.0'}
1249
+ peerDependencies:
1250
+ '@babel/core': ^7.0.0-0
1251
+ dependencies:
1252
+ '@babel/core': 7.21.8
1253
+ '@babel/helper-plugin-utils': 7.21.5
1254
+ dev: true
1255
+
1256
+ /@babel/plugin-transform-runtime@7.21.4(@babel/core@7.21.8):
1257
+ resolution: {integrity: sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==}
1258
+ engines: {node: '>=6.9.0'}
1259
+ peerDependencies:
1260
+ '@babel/core': ^7.0.0-0
1261
+ dependencies:
1262
+ '@babel/core': 7.21.8
1263
+ '@babel/helper-module-imports': 7.21.4
1264
+ '@babel/helper-plugin-utils': 7.21.5
1265
+ babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.8)
1266
+ babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.8)
1267
+ babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.8)
1268
+ semver: 6.3.0
1269
+ transitivePeerDependencies:
1270
+ - supports-color
1271
+ dev: true
1272
+
1273
+ /@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.21.8):
1274
+ resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==}
1275
+ engines: {node: '>=6.9.0'}
1276
+ peerDependencies:
1277
+ '@babel/core': ^7.0.0-0
1278
+ dependencies:
1279
+ '@babel/core': 7.21.8
1280
+ '@babel/helper-plugin-utils': 7.21.5
1281
+ dev: true
1282
+
1283
+ /@babel/plugin-transform-spread@7.20.7(@babel/core@7.21.8):
1284
+ resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==}
1285
+ engines: {node: '>=6.9.0'}
1286
+ peerDependencies:
1287
+ '@babel/core': ^7.0.0-0
1288
+ dependencies:
1289
+ '@babel/core': 7.21.8
1290
+ '@babel/helper-plugin-utils': 7.21.5
1291
+ '@babel/helper-skip-transparent-expression-wrappers': 7.20.0
1292
+ dev: true
1293
+
1294
+ /@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.21.8):
1295
+ resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==}
1296
+ engines: {node: '>=6.9.0'}
1297
+ peerDependencies:
1298
+ '@babel/core': ^7.0.0-0
1299
+ dependencies:
1300
+ '@babel/core': 7.21.8
1301
+ '@babel/helper-plugin-utils': 7.21.5
1302
+ dev: true
1303
+
1304
+ /@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.21.8):
1305
+ resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==}
1306
+ engines: {node: '>=6.9.0'}
1307
+ peerDependencies:
1308
+ '@babel/core': ^7.0.0-0
1309
+ dependencies:
1310
+ '@babel/core': 7.21.8
1311
+ '@babel/helper-plugin-utils': 7.21.5
1312
+ dev: true
1313
+
1314
+ /@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.21.8):
1315
+ resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==}
1316
+ engines: {node: '>=6.9.0'}
1317
+ peerDependencies:
1318
+ '@babel/core': ^7.0.0-0
1319
+ dependencies:
1320
+ '@babel/core': 7.21.8
1321
+ '@babel/helper-plugin-utils': 7.21.5
1322
+ dev: true
1323
+
1324
+ /@babel/plugin-transform-typescript@7.21.3(@babel/core@7.21.8):
1325
+ resolution: {integrity: sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==}
1326
+ engines: {node: '>=6.9.0'}
1327
+ peerDependencies:
1328
+ '@babel/core': ^7.0.0-0
1329
+ dependencies:
1330
+ '@babel/core': 7.21.8
1331
+ '@babel/helper-annotate-as-pure': 7.18.6
1332
+ '@babel/helper-create-class-features-plugin': 7.21.8(@babel/core@7.21.8)
1333
+ '@babel/helper-plugin-utils': 7.21.5
1334
+ '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.21.8)
1335
+ transitivePeerDependencies:
1336
+ - supports-color
1337
+ dev: true
1338
+
1339
+ /@babel/plugin-transform-unicode-escapes@7.21.5(@babel/core@7.21.8):
1340
+ resolution: {integrity: sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==}
1341
+ engines: {node: '>=6.9.0'}
1342
+ peerDependencies:
1343
+ '@babel/core': ^7.0.0-0
1344
+ dependencies:
1345
+ '@babel/core': 7.21.8
1346
+ '@babel/helper-plugin-utils': 7.21.5
1347
+ dev: true
1348
+
1349
+ /@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.21.8):
1350
+ resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==}
1351
+ engines: {node: '>=6.9.0'}
1352
+ peerDependencies:
1353
+ '@babel/core': ^7.0.0-0
1354
+ dependencies:
1355
+ '@babel/core': 7.21.8
1356
+ '@babel/helper-create-regexp-features-plugin': 7.21.8(@babel/core@7.21.8)
1357
+ '@babel/helper-plugin-utils': 7.21.5
1358
+ dev: true
1359
+
1360
+ /@babel/preset-env@7.21.5(@babel/core@7.21.8):
1361
+ resolution: {integrity: sha512-wH00QnTTldTbf/IefEVyChtRdw5RJvODT/Vb4Vcxq1AZvtXj6T0YeX0cAcXhI6/BdGuiP3GcNIL4OQbI2DVNxg==}
1362
+ engines: {node: '>=6.9.0'}
1363
+ peerDependencies:
1364
+ '@babel/core': ^7.0.0-0
1365
+ dependencies:
1366
+ '@babel/compat-data': 7.21.7
1367
+ '@babel/core': 7.21.8
1368
+ '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.8)
1369
+ '@babel/helper-plugin-utils': 7.21.5
1370
+ '@babel/helper-validator-option': 7.21.0
1371
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.21.8)
1372
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7(@babel/core@7.21.8)
1373
+ '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.21.8)
1374
+ '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.8)
1375
+ '@babel/plugin-proposal-class-static-block': 7.21.0(@babel/core@7.21.8)
1376
+ '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.21.8)
1377
+ '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.21.8)
1378
+ '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.21.8)
1379
+ '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.21.8)
1380
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.8)
1381
+ '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.8)
1382
+ '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.21.8)
1383
+ '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.21.8)
1384
+ '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.8)
1385
+ '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.21.8)
1386
+ '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.21.8)
1387
+ '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.8)
1388
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.8)
1389
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.8)
1390
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.8)
1391
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.8)
1392
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.8)
1393
+ '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.21.8)
1394
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.21.8)
1395
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.8)
1396
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.8)
1397
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.8)
1398
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.8)
1399
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.8)
1400
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.8)
1401
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.8)
1402
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.8)
1403
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.8)
1404
+ '@babel/plugin-transform-arrow-functions': 7.21.5(@babel/core@7.21.8)
1405
+ '@babel/plugin-transform-async-to-generator': 7.20.7(@babel/core@7.21.8)
1406
+ '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.21.8)
1407
+ '@babel/plugin-transform-block-scoping': 7.21.0(@babel/core@7.21.8)
1408
+ '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.21.8)
1409
+ '@babel/plugin-transform-computed-properties': 7.21.5(@babel/core@7.21.8)
1410
+ '@babel/plugin-transform-destructuring': 7.21.3(@babel/core@7.21.8)
1411
+ '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.8)
1412
+ '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.21.8)
1413
+ '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.21.8)
1414
+ '@babel/plugin-transform-for-of': 7.21.5(@babel/core@7.21.8)
1415
+ '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.21.8)
1416
+ '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.21.8)
1417
+ '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.21.8)
1418
+ '@babel/plugin-transform-modules-amd': 7.20.11(@babel/core@7.21.8)
1419
+ '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.21.8)
1420
+ '@babel/plugin-transform-modules-systemjs': 7.20.11(@babel/core@7.21.8)
1421
+ '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.21.8)
1422
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.21.8)
1423
+ '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.21.8)
1424
+ '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.21.8)
1425
+ '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.8)
1426
+ '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.21.8)
1427
+ '@babel/plugin-transform-regenerator': 7.21.5(@babel/core@7.21.8)
1428
+ '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.21.8)
1429
+ '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.21.8)
1430
+ '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.21.8)
1431
+ '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.21.8)
1432
+ '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.21.8)
1433
+ '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.21.8)
1434
+ '@babel/plugin-transform-unicode-escapes': 7.21.5(@babel/core@7.21.8)
1435
+ '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.21.8)
1436
+ '@babel/preset-modules': 0.1.5(@babel/core@7.21.8)
1437
+ '@babel/types': 7.21.5
1438
+ babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.8)
1439
+ babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.8)
1440
+ babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.8)
1441
+ core-js-compat: 3.30.2
1442
+ semver: 6.3.0
1443
+ transitivePeerDependencies:
1444
+ - supports-color
1445
+ dev: true
1446
+
1447
+ /@babel/preset-modules@0.1.5(@babel/core@7.21.8):
1448
+ resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==}
1449
+ peerDependencies:
1450
+ '@babel/core': ^7.0.0-0
1451
+ dependencies:
1452
+ '@babel/core': 7.21.8
1453
+ '@babel/helper-plugin-utils': 7.21.5
1454
+ '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.8)
1455
+ '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.8)
1456
+ '@babel/types': 7.21.5
1457
+ esutils: 2.0.3
1458
+ dev: true
1459
+
1460
+ /@babel/preset-react@7.18.6(@babel/core@7.21.8):
1461
+ resolution: {integrity: sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==}
1462
+ engines: {node: '>=6.9.0'}
1463
+ peerDependencies:
1464
+ '@babel/core': ^7.0.0-0
1465
+ dependencies:
1466
+ '@babel/core': 7.21.8
1467
+ '@babel/helper-plugin-utils': 7.21.5
1468
+ '@babel/helper-validator-option': 7.21.0
1469
+ '@babel/plugin-transform-react-display-name': 7.18.6(@babel/core@7.21.8)
1470
+ '@babel/plugin-transform-react-jsx': 7.21.5(@babel/core@7.21.8)
1471
+ '@babel/plugin-transform-react-jsx-development': 7.18.6(@babel/core@7.21.8)
1472
+ '@babel/plugin-transform-react-pure-annotations': 7.18.6(@babel/core@7.21.8)
1473
+ dev: true
1474
+
1475
+ /@babel/preset-typescript@7.21.5(@babel/core@7.21.8):
1476
+ resolution: {integrity: sha512-iqe3sETat5EOrORXiQ6rWfoOg2y68Cs75B9wNxdPW4kixJxh7aXQE1KPdWLDniC24T/6dSnguF33W9j/ZZQcmA==}
1477
+ engines: {node: '>=6.9.0'}
1478
+ peerDependencies:
1479
+ '@babel/core': ^7.0.0-0
1480
+ dependencies:
1481
+ '@babel/core': 7.21.8
1482
+ '@babel/helper-plugin-utils': 7.21.5
1483
+ '@babel/helper-validator-option': 7.21.0
1484
+ '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.8)
1485
+ '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.21.8)
1486
+ '@babel/plugin-transform-typescript': 7.21.3(@babel/core@7.21.8)
1487
+ transitivePeerDependencies:
1488
+ - supports-color
1489
+ dev: true
1490
+
1491
+ /@babel/regjsgen@0.8.0:
1492
+ resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==}
1493
+ dev: true
1494
+
1495
+ /@babel/runtime@7.21.5:
1496
+ resolution: {integrity: sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==}
1497
+ engines: {node: '>=6.9.0'}
1498
+ dependencies:
1499
+ regenerator-runtime: 0.13.11
1500
+
1501
+ /@babel/template@7.20.7:
1502
+ resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==}
1503
+ engines: {node: '>=6.9.0'}
1504
+ dependencies:
1505
+ '@babel/code-frame': 7.21.4
1506
+ '@babel/parser': 7.21.8
1507
+ '@babel/types': 7.21.5
1508
+ dev: true
1509
+
1510
+ /@babel/traverse@7.21.5:
1511
+ resolution: {integrity: sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==}
1512
+ engines: {node: '>=6.9.0'}
1513
+ dependencies:
1514
+ '@babel/code-frame': 7.21.4
1515
+ '@babel/generator': 7.21.5
1516
+ '@babel/helper-environment-visitor': 7.21.5
1517
+ '@babel/helper-function-name': 7.21.0
1518
+ '@babel/helper-hoist-variables': 7.18.6
1519
+ '@babel/helper-split-export-declaration': 7.18.6
1520
+ '@babel/parser': 7.21.8
1521
+ '@babel/types': 7.21.5
1522
+ debug: 4.3.4
1523
+ globals: 11.12.0
1524
+ transitivePeerDependencies:
1525
+ - supports-color
1526
+ dev: true
1527
+
1528
+ /@babel/types@7.21.5:
1529
+ resolution: {integrity: sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==}
1530
+ engines: {node: '>=6.9.0'}
1531
+ dependencies:
1532
+ '@babel/helper-string-parser': 7.21.5
1533
+ '@babel/helper-validator-identifier': 7.19.1
1534
+ to-fast-properties: 2.0.0
1535
+ dev: true
1536
+
1537
+ /@bcoe/v8-coverage@0.2.3:
1538
+ resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
1539
+ dev: true
1540
+
1541
+ /@cloudflare/kv-asset-handler@0.2.0:
1542
+ resolution: {integrity: sha512-MVbXLbTcAotOPUj0pAMhVtJ+3/kFkwJqc5qNOleOZTv6QkZZABDMS21dSrSlVswEHwrpWC03e4fWytjqKvuE2A==}
1543
+ dependencies:
1544
+ mime: 3.0.0
1545
+ dev: true
1546
+
1547
+ /@cloudflare/workerd-darwin-64@1.20230518.0:
1548
+ resolution: {integrity: sha512-reApIf2/do6GjLlajU6LbRYh8gm/XcaRtzGbF8jo5IzyDSsdStmfNuvq7qssZXG92219Yp1kuTgR9+D1GGZGbg==}
1549
+ engines: {node: '>=16'}
1550
+ cpu: [x64]
1551
+ os: [darwin]
1552
+ requiresBuild: true
1553
+ dev: true
1554
+ optional: true
1555
+
1556
+ /@cloudflare/workerd-darwin-arm64@1.20230518.0:
1557
+ resolution: {integrity: sha512-1l+xdbmPddqb2YIHd1YJ3YG/Fl1nhayzcxfL30xfNS89zJn9Xn3JomM0XMD4mk0d5GruBP3q8BQZ1Uo4rRLF3A==}
1558
+ engines: {node: '>=16'}
1559
+ cpu: [arm64]
1560
+ os: [darwin]
1561
+ requiresBuild: true
1562
+ dev: true
1563
+ optional: true
1564
+
1565
+ /@cloudflare/workerd-linux-64@1.20230518.0:
1566
+ resolution: {integrity: sha512-/pfR+YBpMOPr2cAlwjtInil0hRZjD8KX9LqK9JkfkEiaBH8CYhnJQcOdNHZI+3OjcY09JnQtEVC5xC4nbW7Bvw==}
1567
+ engines: {node: '>=16'}
1568
+ cpu: [x64]
1569
+ os: [linux]
1570
+ requiresBuild: true
1571
+ dev: true
1572
+ optional: true
1573
+
1574
+ /@cloudflare/workerd-linux-arm64@1.20230518.0:
1575
+ resolution: {integrity: sha512-q3HQvn3J4uEkE0cfDAGG8zqzSZrD47cavB/Tzv4mNutqwg6B4wL3ifjtGeB55tnP2K2KL0GVmX4tObcvpUF4BA==}
1576
+ engines: {node: '>=16'}
1577
+ cpu: [arm64]
1578
+ os: [linux]
1579
+ requiresBuild: true
1580
+ dev: true
1581
+ optional: true
1582
+
1583
+ /@cloudflare/workerd-windows-64@1.20230518.0:
1584
+ resolution: {integrity: sha512-vNEHKS5gKKduNOBYtQjcBopAmFT1iScuPWMZa2nJboSjOB9I/5oiVsUpSyk5Y2ARyrohXNz0y8D7p87YzTASWw==}
1585
+ engines: {node: '>=16'}
1586
+ cpu: [x64]
1587
+ os: [win32]
1588
+ requiresBuild: true
1589
+ dev: true
1590
+ optional: true
1591
+
1592
+ /@csstools/cascade-layer-name-parser@1.0.2(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1):
1593
+ resolution: {integrity: sha512-xm7Mgwej/wBfLoK0K5LfntmPJzoULayl1XZY9JYgQgT29JiqNw++sLnx95u5y9zCihblzkyaRYJrsRMhIBzRdg==}
1594
+ engines: {node: ^14 || ^16 || >=18}
1595
+ peerDependencies:
1596
+ '@csstools/css-parser-algorithms': ^2.1.1
1597
+ '@csstools/css-tokenizer': ^2.1.1
1598
+ dependencies:
1599
+ '@csstools/css-parser-algorithms': 2.1.1(@csstools/css-tokenizer@2.1.1)
1600
+ '@csstools/css-tokenizer': 2.1.1
1601
+ dev: true
1602
+
1603
+ /@csstools/css-parser-algorithms@2.1.1(@csstools/css-tokenizer@2.1.1):
1604
+ resolution: {integrity: sha512-viRnRh02AgO4mwIQb2xQNJju0i+Fh9roNgmbR5xEuG7J3TGgxjnE95HnBLgsFJOJOksvcfxOUCgODcft6Y07cA==}
1605
+ engines: {node: ^14 || ^16 || >=18}
1606
+ peerDependencies:
1607
+ '@csstools/css-tokenizer': ^2.1.1
1608
+ dependencies:
1609
+ '@csstools/css-tokenizer': 2.1.1
1610
+ dev: true
1611
+
1612
+ /@csstools/css-tokenizer@2.1.1:
1613
+ resolution: {integrity: sha512-GbrTj2Z8MCTUv+52GE0RbFGM527xuXZ0Xa5g0Z+YN573uveS4G0qi6WNOMyz3yrFM/jaILTTwJ0+umx81EzqfA==}
1614
+ engines: {node: ^14 || ^16 || >=18}
1615
+ dev: true
1616
+
1617
+ /@csstools/media-query-list-parser@2.0.4(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1):
1618
+ resolution: {integrity: sha512-GyYot6jHgcSDZZ+tLSnrzkR7aJhF2ZW6d+CXH66mjy5WpAQhZD4HDke2OQ36SivGRWlZJpAz7TzbW6OKlEpxAA==}
1619
+ engines: {node: ^14 || ^16 || >=18}
1620
+ peerDependencies:
1621
+ '@csstools/css-parser-algorithms': ^2.1.1
1622
+ '@csstools/css-tokenizer': ^2.1.1
1623
+ dependencies:
1624
+ '@csstools/css-parser-algorithms': 2.1.1(@csstools/css-tokenizer@2.1.1)
1625
+ '@csstools/css-tokenizer': 2.1.1
1626
+ dev: true
1627
+
1628
+ /@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.0.13):
1629
+ resolution: {integrity: sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==}
1630
+ engines: {node: ^14 || ^16 || >=18}
1631
+ peerDependencies:
1632
+ postcss-selector-parser: ^6.0.10
1633
+ dependencies:
1634
+ postcss-selector-parser: 6.0.13
1635
+ dev: true
1636
+
1637
+ /@esbuild-plugins/node-globals-polyfill@0.1.1(esbuild@0.16.3):
1638
+ resolution: {integrity: sha512-MR0oAA+mlnJWrt1RQVQ+4VYuRJW/P2YmRTv1AsplObyvuBMnPHiizUF95HHYiSsMGLhyGtWufaq2XQg6+iurBg==}
1639
+ peerDependencies:
1640
+ esbuild: '*'
1641
+ dependencies:
1642
+ esbuild: 0.16.3
1643
+ dev: true
1644
+
1645
+ /@esbuild-plugins/node-modules-polyfill@0.1.4(esbuild@0.16.3):
1646
+ resolution: {integrity: sha512-uZbcXi0zbmKC/050p3gJnne5Qdzw8vkXIv+c2BW0Lsc1ji1SkrxbKPUy5Efr0blbTu1SL8w4eyfpnSdPg3G0Qg==}
1647
+ peerDependencies:
1648
+ esbuild: '*'
1649
+ dependencies:
1650
+ esbuild: 0.16.3
1651
+ escape-string-regexp: 4.0.0
1652
+ rollup-plugin-node-polyfills: 0.2.1
1653
+ dev: true
1654
+
1655
+ /@esbuild/android-arm64@0.16.3:
1656
+ resolution: {integrity: sha512-RolFVeinkeraDvN/OoRf1F/lP0KUfGNb5jxy/vkIMeRRChkrX/HTYN6TYZosRJs3a1+8wqpxAo5PI5hFmxyPRg==}
1657
+ engines: {node: '>=12'}
1658
+ cpu: [arm64]
1659
+ os: [android]
1660
+ requiresBuild: true
1661
+ dev: true
1662
+ optional: true
1663
+
1664
+ /@esbuild/android-arm64@0.17.19:
1665
+ resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==}
1666
+ engines: {node: '>=12'}
1667
+ cpu: [arm64]
1668
+ os: [android]
1669
+ requiresBuild: true
1670
+ dev: true
1671
+ optional: true
1672
+
1673
+ /@esbuild/android-arm@0.15.18:
1674
+ resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==}
1675
+ engines: {node: '>=12'}
1676
+ cpu: [arm]
1677
+ os: [android]
1678
+ requiresBuild: true
1679
+ dev: true
1680
+ optional: true
1681
+
1682
+ /@esbuild/android-arm@0.16.3:
1683
+ resolution: {integrity: sha512-mueuEoh+s1eRbSJqq9KNBQwI4QhQV6sRXIfTyLXSHGMpyew61rOK4qY21uKbXl1iBoMb0AdL1deWFCQVlN2qHA==}
1684
+ engines: {node: '>=12'}
1685
+ cpu: [arm]
1686
+ os: [android]
1687
+ requiresBuild: true
1688
+ dev: true
1689
+ optional: true
1690
+
1691
+ /@esbuild/android-arm@0.17.19:
1692
+ resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==}
1693
+ engines: {node: '>=12'}
1694
+ cpu: [arm]
1695
+ os: [android]
1696
+ requiresBuild: true
1697
+ dev: true
1698
+ optional: true
1699
+
1700
+ /@esbuild/android-x64@0.16.3:
1701
+ resolution: {integrity: sha512-SFpTUcIT1bIJuCCBMCQWq1bL2gPTjWoLZdjmIhjdcQHaUfV41OQfho6Ici5uvvkMmZRXIUGpM3GxysP/EU7ifQ==}
1702
+ engines: {node: '>=12'}
1703
+ cpu: [x64]
1704
+ os: [android]
1705
+ requiresBuild: true
1706
+ dev: true
1707
+ optional: true
1708
+
1709
+ /@esbuild/android-x64@0.17.19:
1710
+ resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==}
1711
+ engines: {node: '>=12'}
1712
+ cpu: [x64]
1713
+ os: [android]
1714
+ requiresBuild: true
1715
+ dev: true
1716
+ optional: true
1717
+
1718
+ /@esbuild/darwin-arm64@0.16.3:
1719
+ resolution: {integrity: sha512-DO8WykMyB+N9mIDfI/Hug70Dk1KipavlGAecxS3jDUwAbTpDXj0Lcwzw9svkhxfpCagDmpaTMgxWK8/C/XcXvw==}
1720
+ engines: {node: '>=12'}
1721
+ cpu: [arm64]
1722
+ os: [darwin]
1723
+ requiresBuild: true
1724
+ dev: true
1725
+ optional: true
1726
+
1727
+ /@esbuild/darwin-arm64@0.17.19:
1728
+ resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==}
1729
+ engines: {node: '>=12'}
1730
+ cpu: [arm64]
1731
+ os: [darwin]
1732
+ requiresBuild: true
1733
+ dev: true
1734
+ optional: true
1735
+
1736
+ /@esbuild/darwin-x64@0.16.3:
1737
+ resolution: {integrity: sha512-uEqZQ2omc6BvWqdCiyZ5+XmxuHEi1SPzpVxXCSSV2+Sh7sbXbpeNhHIeFrIpRjAs0lI1FmA1iIOxFozKBhKgRQ==}
1738
+ engines: {node: '>=12'}
1739
+ cpu: [x64]
1740
+ os: [darwin]
1741
+ requiresBuild: true
1742
+ dev: true
1743
+ optional: true
1744
+
1745
+ /@esbuild/darwin-x64@0.17.19:
1746
+ resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==}
1747
+ engines: {node: '>=12'}
1748
+ cpu: [x64]
1749
+ os: [darwin]
1750
+ requiresBuild: true
1751
+ dev: true
1752
+ optional: true
1753
+
1754
+ /@esbuild/freebsd-arm64@0.16.3:
1755
+ resolution: {integrity: sha512-nJansp3sSXakNkOD5i5mIz2Is/HjzIhFs49b1tjrPrpCmwgBmH9SSzhC/Z1UqlkivqMYkhfPwMw1dGFUuwmXhw==}
1756
+ engines: {node: '>=12'}
1757
+ cpu: [arm64]
1758
+ os: [freebsd]
1759
+ requiresBuild: true
1760
+ dev: true
1761
+ optional: true
1762
+
1763
+ /@esbuild/freebsd-arm64@0.17.19:
1764
+ resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==}
1765
+ engines: {node: '>=12'}
1766
+ cpu: [arm64]
1767
+ os: [freebsd]
1768
+ requiresBuild: true
1769
+ dev: true
1770
+ optional: true
1771
+
1772
+ /@esbuild/freebsd-x64@0.16.3:
1773
+ resolution: {integrity: sha512-TfoDzLw+QHfc4a8aKtGSQ96Wa+6eimljjkq9HKR0rHlU83vw8aldMOUSJTUDxbcUdcgnJzPaX8/vGWm7vyV7ug==}
1774
+ engines: {node: '>=12'}
1775
+ cpu: [x64]
1776
+ os: [freebsd]
1777
+ requiresBuild: true
1778
+ dev: true
1779
+ optional: true
1780
+
1781
+ /@esbuild/freebsd-x64@0.17.19:
1782
+ resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==}
1783
+ engines: {node: '>=12'}
1784
+ cpu: [x64]
1785
+ os: [freebsd]
1786
+ requiresBuild: true
1787
+ dev: true
1788
+ optional: true
1789
+
1790
+ /@esbuild/linux-arm64@0.16.3:
1791
+ resolution: {integrity: sha512-7I3RlsnxEFCHVZNBLb2w7unamgZ5sVwO0/ikE2GaYvYuUQs9Qte/w7TqWcXHtCwxvZx/2+F97ndiUQAWs47ZfQ==}
1792
+ engines: {node: '>=12'}
1793
+ cpu: [arm64]
1794
+ os: [linux]
1795
+ requiresBuild: true
1796
+ dev: true
1797
+ optional: true
1798
+
1799
+ /@esbuild/linux-arm64@0.17.19:
1800
+ resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==}
1801
+ engines: {node: '>=12'}
1802
+ cpu: [arm64]
1803
+ os: [linux]
1804
+ requiresBuild: true
1805
+ dev: true
1806
+ optional: true
1807
+
1808
+ /@esbuild/linux-arm@0.16.3:
1809
+ resolution: {integrity: sha512-VwswmSYwVAAq6LysV59Fyqk3UIjbhuc6wb3vEcJ7HEJUtFuLK9uXWuFoH1lulEbE4+5GjtHi3MHX+w1gNHdOWQ==}
1810
+ engines: {node: '>=12'}
1811
+ cpu: [arm]
1812
+ os: [linux]
1813
+ requiresBuild: true
1814
+ dev: true
1815
+ optional: true
1816
+
1817
+ /@esbuild/linux-arm@0.17.19:
1818
+ resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==}
1819
+ engines: {node: '>=12'}
1820
+ cpu: [arm]
1821
+ os: [linux]
1822
+ requiresBuild: true
1823
+ dev: true
1824
+ optional: true
1825
+
1826
+ /@esbuild/linux-ia32@0.16.3:
1827
+ resolution: {integrity: sha512-X8FDDxM9cqda2rJE+iblQhIMYY49LfvW4kaEjoFbTTQ4Go8G96Smj2w3BRTwA8IHGoi9dPOPGAX63dhuv19UqA==}
1828
+ engines: {node: '>=12'}
1829
+ cpu: [ia32]
1830
+ os: [linux]
1831
+ requiresBuild: true
1832
+ dev: true
1833
+ optional: true
1834
+
1835
+ /@esbuild/linux-ia32@0.17.19:
1836
+ resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==}
1837
+ engines: {node: '>=12'}
1838
+ cpu: [ia32]
1839
+ os: [linux]
1840
+ requiresBuild: true
1841
+ dev: true
1842
+ optional: true
1843
+
1844
+ /@esbuild/linux-loong64@0.15.18:
1845
+ resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==}
1846
+ engines: {node: '>=12'}
1847
+ cpu: [loong64]
1848
+ os: [linux]
1849
+ requiresBuild: true
1850
+ dev: true
1851
+ optional: true
1852
+
1853
+ /@esbuild/linux-loong64@0.16.3:
1854
+ resolution: {integrity: sha512-hIbeejCOyO0X9ujfIIOKjBjNAs9XD/YdJ9JXAy1lHA+8UXuOqbFe4ErMCqMr8dhlMGBuvcQYGF7+kO7waj2KHw==}
1855
+ engines: {node: '>=12'}
1856
+ cpu: [loong64]
1857
+ os: [linux]
1858
+ requiresBuild: true
1859
+ dev: true
1860
+ optional: true
1861
+
1862
+ /@esbuild/linux-loong64@0.17.19:
1863
+ resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==}
1864
+ engines: {node: '>=12'}
1865
+ cpu: [loong64]
1866
+ os: [linux]
1867
+ requiresBuild: true
1868
+ dev: true
1869
+ optional: true
1870
+
1871
+ /@esbuild/linux-mips64el@0.16.3:
1872
+ resolution: {integrity: sha512-znFRzICT/V8VZQMt6rjb21MtAVJv/3dmKRMlohlShrbVXdBuOdDrGb+C2cZGQAR8RFyRe7HS6klmHq103WpmVw==}
1873
+ engines: {node: '>=12'}
1874
+ cpu: [mips64el]
1875
+ os: [linux]
1876
+ requiresBuild: true
1877
+ dev: true
1878
+ optional: true
1879
+
1880
+ /@esbuild/linux-mips64el@0.17.19:
1881
+ resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==}
1882
+ engines: {node: '>=12'}
1883
+ cpu: [mips64el]
1884
+ os: [linux]
1885
+ requiresBuild: true
1886
+ dev: true
1887
+ optional: true
1888
+
1889
+ /@esbuild/linux-ppc64@0.16.3:
1890
+ resolution: {integrity: sha512-EV7LuEybxhXrVTDpbqWF2yehYRNz5e5p+u3oQUS2+ZFpknyi1NXxr8URk4ykR8Efm7iu04//4sBg249yNOwy5Q==}
1891
+ engines: {node: '>=12'}
1892
+ cpu: [ppc64]
1893
+ os: [linux]
1894
+ requiresBuild: true
1895
+ dev: true
1896
+ optional: true
1897
+
1898
+ /@esbuild/linux-ppc64@0.17.19:
1899
+ resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==}
1900
+ engines: {node: '>=12'}
1901
+ cpu: [ppc64]
1902
+ os: [linux]
1903
+ requiresBuild: true
1904
+ dev: true
1905
+ optional: true
1906
+
1907
+ /@esbuild/linux-riscv64@0.16.3:
1908
+ resolution: {integrity: sha512-uDxqFOcLzFIJ+r/pkTTSE9lsCEaV/Y6rMlQjUI9BkzASEChYL/aSQjZjchtEmdnVxDKETnUAmsaZ4pqK1eE5BQ==}
1909
+ engines: {node: '>=12'}
1910
+ cpu: [riscv64]
1911
+ os: [linux]
1912
+ requiresBuild: true
1913
+ dev: true
1914
+ optional: true
1915
+
1916
+ /@esbuild/linux-riscv64@0.17.19:
1917
+ resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==}
1918
+ engines: {node: '>=12'}
1919
+ cpu: [riscv64]
1920
+ os: [linux]
1921
+ requiresBuild: true
1922
+ dev: true
1923
+ optional: true
1924
+
1925
+ /@esbuild/linux-s390x@0.16.3:
1926
+ resolution: {integrity: sha512-NbeREhzSxYwFhnCAQOQZmajsPYtX71Ufej3IQ8W2Gxskfz9DK58ENEju4SbpIj48VenktRASC52N5Fhyf/aliQ==}
1927
+ engines: {node: '>=12'}
1928
+ cpu: [s390x]
1929
+ os: [linux]
1930
+ requiresBuild: true
1931
+ dev: true
1932
+ optional: true
1933
+
1934
+ /@esbuild/linux-s390x@0.17.19:
1935
+ resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==}
1936
+ engines: {node: '>=12'}
1937
+ cpu: [s390x]
1938
+ os: [linux]
1939
+ requiresBuild: true
1940
+ dev: true
1941
+ optional: true
1942
+
1943
+ /@esbuild/linux-x64@0.16.3:
1944
+ resolution: {integrity: sha512-SDiG0nCixYO9JgpehoKgScwic7vXXndfasjnD5DLbp1xltANzqZ425l7LSdHynt19UWOcDjG9wJJzSElsPvk0w==}
1945
+ engines: {node: '>=12'}
1946
+ cpu: [x64]
1947
+ os: [linux]
1948
+ requiresBuild: true
1949
+ dev: true
1950
+ optional: true
1951
+
1952
+ /@esbuild/linux-x64@0.17.19:
1953
+ resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==}
1954
+ engines: {node: '>=12'}
1955
+ cpu: [x64]
1956
+ os: [linux]
1957
+ requiresBuild: true
1958
+ dev: true
1959
+ optional: true
1960
+
1961
+ /@esbuild/netbsd-x64@0.16.3:
1962
+ resolution: {integrity: sha512-AzbsJqiHEq1I/tUvOfAzCY15h4/7Ivp3ff/o1GpP16n48JMNAtbW0qui2WCgoIZArEHD0SUQ95gvR0oSO7ZbdA==}
1963
+ engines: {node: '>=12'}
1964
+ cpu: [x64]
1965
+ os: [netbsd]
1966
+ requiresBuild: true
1967
+ dev: true
1968
+ optional: true
1969
+
1970
+ /@esbuild/netbsd-x64@0.17.19:
1971
+ resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==}
1972
+ engines: {node: '>=12'}
1973
+ cpu: [x64]
1974
+ os: [netbsd]
1975
+ requiresBuild: true
1976
+ dev: true
1977
+ optional: true
1978
+
1979
+ /@esbuild/openbsd-x64@0.16.3:
1980
+ resolution: {integrity: sha512-gSABi8qHl8k3Cbi/4toAzHiykuBuWLZs43JomTcXkjMZVkp0gj3gg9mO+9HJW/8GB5H89RX/V0QP4JGL7YEEVg==}
1981
+ engines: {node: '>=12'}
1982
+ cpu: [x64]
1983
+ os: [openbsd]
1984
+ requiresBuild: true
1985
+ dev: true
1986
+ optional: true
1987
+
1988
+ /@esbuild/openbsd-x64@0.17.19:
1989
+ resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==}
1990
+ engines: {node: '>=12'}
1991
+ cpu: [x64]
1992
+ os: [openbsd]
1993
+ requiresBuild: true
1994
+ dev: true
1995
+ optional: true
1996
+
1997
+ /@esbuild/sunos-x64@0.16.3:
1998
+ resolution: {integrity: sha512-SF9Kch5Ete4reovvRO6yNjMxrvlfT0F0Flm+NPoUw5Z4Q3r1d23LFTgaLwm3Cp0iGbrU/MoUI+ZqwCv5XJijCw==}
1999
+ engines: {node: '>=12'}
2000
+ cpu: [x64]
2001
+ os: [sunos]
2002
+ requiresBuild: true
2003
+ dev: true
2004
+ optional: true
2005
+
2006
+ /@esbuild/sunos-x64@0.17.19:
2007
+ resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==}
2008
+ engines: {node: '>=12'}
2009
+ cpu: [x64]
2010
+ os: [sunos]
2011
+ requiresBuild: true
2012
+ dev: true
2013
+ optional: true
2014
+
2015
+ /@esbuild/win32-arm64@0.16.3:
2016
+ resolution: {integrity: sha512-u5aBonZIyGopAZyOnoPAA6fGsDeHByZ9CnEzyML9NqntK6D/xl5jteZUKm/p6nD09+v3pTM6TuUIqSPcChk5gg==}
2017
+ engines: {node: '>=12'}
2018
+ cpu: [arm64]
2019
+ os: [win32]
2020
+ requiresBuild: true
2021
+ dev: true
2022
+ optional: true
2023
+
2024
+ /@esbuild/win32-arm64@0.17.19:
2025
+ resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==}
2026
+ engines: {node: '>=12'}
2027
+ cpu: [arm64]
2028
+ os: [win32]
2029
+ requiresBuild: true
2030
+ dev: true
2031
+ optional: true
2032
+
2033
+ /@esbuild/win32-ia32@0.16.3:
2034
+ resolution: {integrity: sha512-GlgVq1WpvOEhNioh74TKelwla9KDuAaLZrdxuuUgsP2vayxeLgVc+rbpIv0IYF4+tlIzq2vRhofV+KGLD+37EQ==}
2035
+ engines: {node: '>=12'}
2036
+ cpu: [ia32]
2037
+ os: [win32]
2038
+ requiresBuild: true
2039
+ dev: true
2040
+ optional: true
2041
+
2042
+ /@esbuild/win32-ia32@0.17.19:
2043
+ resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==}
2044
+ engines: {node: '>=12'}
2045
+ cpu: [ia32]
2046
+ os: [win32]
2047
+ requiresBuild: true
2048
+ dev: true
2049
+ optional: true
2050
+
2051
+ /@esbuild/win32-x64@0.16.3:
2052
+ resolution: {integrity: sha512-5/JuTd8OWW8UzEtyf19fbrtMJENza+C9JoPIkvItgTBQ1FO2ZLvjbPO6Xs54vk0s5JB5QsfieUEshRQfu7ZHow==}
2053
+ engines: {node: '>=12'}
2054
+ cpu: [x64]
2055
+ os: [win32]
2056
+ requiresBuild: true
2057
+ dev: true
2058
+ optional: true
2059
+
2060
+ /@esbuild/win32-x64@0.17.19:
2061
+ resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==}
2062
+ engines: {node: '>=12'}
2063
+ cpu: [x64]
2064
+ os: [win32]
2065
+ requiresBuild: true
2066
+ dev: true
2067
+ optional: true
2068
+
2069
+ /@eslint-community/eslint-utils@4.4.0(eslint@8.35.0):
2070
+ resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
2071
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
2072
+ peerDependencies:
2073
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
2074
+ dependencies:
2075
+ eslint: 8.35.0
2076
+ eslint-visitor-keys: 3.4.1
2077
+ dev: true
2078
+
2079
+ /@eslint-community/regexpp@4.5.1:
2080
+ resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==}
2081
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
2082
+ dev: true
2083
+
2084
+ /@eslint/eslintrc@2.0.3:
2085
+ resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==}
2086
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
2087
+ dependencies:
2088
+ ajv: 6.12.6
2089
+ debug: 4.3.4
2090
+ espree: 9.5.2
2091
+ globals: 13.20.0
2092
+ ignore: 5.2.4
2093
+ import-fresh: 3.3.0
2094
+ js-yaml: 4.1.0
2095
+ minimatch: 3.1.2
2096
+ strip-json-comments: 3.1.1
2097
+ transitivePeerDependencies:
2098
+ - supports-color
2099
+ dev: true
2100
+
2101
+ /@eslint/js@8.35.0:
2102
+ resolution: {integrity: sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==}
2103
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
2104
+ dev: true
2105
+
2106
+ /@formatjs/ecma402-abstract@1.15.0:
2107
+ resolution: {integrity: sha512-7bAYAv0w4AIao9DNg0avfOLTCPE9woAgs6SpXuMq11IN3A+l+cq8ghczwqSZBM11myvPSJA7vLn72q0rJ0QK6Q==}
2108
+ dependencies:
2109
+ '@formatjs/intl-localematcher': 0.2.32
2110
+ tslib: 2.5.2
2111
+ dev: false
2112
+
2113
+ /@formatjs/fast-memoize@2.0.1:
2114
+ resolution: {integrity: sha512-M2GgV+qJn5WJQAYewz7q2Cdl6fobQa69S1AzSM2y0P68ZDbK5cWrJIcPCO395Of1ksftGZoOt4LYCO/j9BKBSA==}
2115
+ dependencies:
2116
+ tslib: 2.5.2
2117
+ dev: false
2118
+
2119
+ /@formatjs/icu-messageformat-parser@2.4.0:
2120
+ resolution: {integrity: sha512-6Dh5Z/gp4F/HovXXu/vmd0If5NbYLB5dZrmhWVNb+BOGOEU3wt7Z/83KY1dtd7IDhAnYHasbmKE1RbTE0J+3hw==}
2121
+ dependencies:
2122
+ '@formatjs/ecma402-abstract': 1.15.0
2123
+ '@formatjs/icu-skeleton-parser': 1.4.0
2124
+ tslib: 2.5.2
2125
+ dev: false
2126
+
2127
+ /@formatjs/icu-skeleton-parser@1.4.0:
2128
+ resolution: {integrity: sha512-Qq347VM616rVLkvN6QsKJELazRyNlbCiN47LdH0Mc5U7E2xV0vatiVhGqd3KFgbc055BvtnUXR7XX60dCGFuWg==}
2129
+ dependencies:
2130
+ '@formatjs/ecma402-abstract': 1.15.0
2131
+ tslib: 2.5.2
2132
+ dev: false
2133
+
2134
+ /@formatjs/intl-localematcher@0.2.32:
2135
+ resolution: {integrity: sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==}
2136
+ dependencies:
2137
+ tslib: 2.5.2
2138
+ dev: false
2139
+
2140
+ /@humanwhocodes/config-array@0.11.8:
2141
+ resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==}
2142
+ engines: {node: '>=10.10.0'}
2143
+ dependencies:
2144
+ '@humanwhocodes/object-schema': 1.2.1
2145
+ debug: 4.3.4
2146
+ minimatch: 3.1.2
2147
+ transitivePeerDependencies:
2148
+ - supports-color
2149
+ dev: true
2150
+
2151
+ /@humanwhocodes/module-importer@1.0.1:
2152
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
2153
+ engines: {node: '>=12.22'}
2154
+ dev: true
2155
+
2156
+ /@humanwhocodes/object-schema@1.2.1:
2157
+ resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
2158
+ dev: true
2159
+
2160
+ /@internationalized/date@3.2.0:
2161
+ resolution: {integrity: sha512-VDMHN1m33L4eqPs5BaihzgQJXyaORbMoHOtrapFxx179J8ucY5CRIHYsq5RRLKPHZWgjNfa5v6amWWDkkMFywA==}
2162
+ dependencies:
2163
+ '@swc/helpers': 0.4.14
2164
+ dev: false
2165
+
2166
+ /@internationalized/message@3.1.0:
2167
+ resolution: {integrity: sha512-Oo5m70FcBdADf7G8NkUffVSfuCdeAYVfsvNjZDi9ELpjvkc4YNJVTHt/NyTI9K7FgAVoELxiP9YmN0sJ+HNHYQ==}
2168
+ dependencies:
2169
+ '@swc/helpers': 0.4.14
2170
+ intl-messageformat: 10.3.5
2171
+ dev: false
2172
+
2173
+ /@internationalized/number@3.2.0:
2174
+ resolution: {integrity: sha512-GUXkhXSX1Ee2RURnzl+47uvbOxnlMnvP9Er+QePTjDjOPWuunmLKlEkYkEcLiiJp7y4l9QxGDLOlVr8m69LS5w==}
2175
+ dependencies:
2176
+ '@swc/helpers': 0.4.14
2177
+ dev: false
2178
+
2179
+ /@internationalized/string@3.1.0:
2180
+ resolution: {integrity: sha512-TJQKiyUb+wyAfKF59UNeZ/kELMnkxyecnyPCnBI1ma4NaXReJW+7Cc2mObXAqraIBJUVv7rgI46RLKrLgi35ng==}
2181
+ dependencies:
2182
+ '@swc/helpers': 0.4.14
2183
+ dev: false
2184
+
2185
+ /@istanbuljs/load-nyc-config@1.1.0:
2186
+ resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
2187
+ engines: {node: '>=8'}
2188
+ dependencies:
2189
+ camelcase: 5.3.1
2190
+ find-up: 4.1.0
2191
+ get-package-type: 0.1.0
2192
+ js-yaml: 3.14.1
2193
+ resolve-from: 5.0.0
2194
+ dev: true
2195
+
2196
+ /@istanbuljs/schema@0.1.3:
2197
+ resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
2198
+ engines: {node: '>=8'}
2199
+ dev: true
2200
+
2201
+ /@jest/console@29.5.0:
2202
+ resolution: {integrity: sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==}
2203
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
2204
+ dependencies:
2205
+ '@jest/types': 29.5.0
2206
+ '@types/node': 20.2.1
2207
+ chalk: 4.1.2
2208
+ jest-message-util: 29.5.0
2209
+ jest-util: 29.5.0
2210
+ slash: 3.0.0
2211
+ dev: true
2212
+
2213
+ /@jest/core@29.5.0:
2214
+ resolution: {integrity: sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==}
2215
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
2216
+ peerDependencies:
2217
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
2218
+ peerDependenciesMeta:
2219
+ node-notifier:
2220
+ optional: true
2221
+ dependencies:
2222
+ '@jest/console': 29.5.0
2223
+ '@jest/reporters': 29.5.0
2224
+ '@jest/test-result': 29.5.0
2225
+ '@jest/transform': 29.5.0
2226
+ '@jest/types': 29.5.0
2227
+ '@types/node': 20.2.1
2228
+ ansi-escapes: 4.3.2
2229
+ chalk: 4.1.2
2230
+ ci-info: 3.8.0
2231
+ exit: 0.1.2
2232
+ graceful-fs: 4.2.11
2233
+ jest-changed-files: 29.5.0
2234
+ jest-config: 29.5.0(@types/node@20.2.1)
2235
+ jest-haste-map: 29.5.0
2236
+ jest-message-util: 29.5.0
2237
+ jest-regex-util: 29.4.3
2238
+ jest-resolve: 29.5.0
2239
+ jest-resolve-dependencies: 29.5.0
2240
+ jest-runner: 29.5.0
2241
+ jest-runtime: 29.5.0
2242
+ jest-snapshot: 29.5.0
2243
+ jest-util: 29.5.0
2244
+ jest-validate: 29.5.0
2245
+ jest-watcher: 29.5.0
2246
+ micromatch: 4.0.5
2247
+ pretty-format: 29.5.0
2248
+ slash: 3.0.0
2249
+ strip-ansi: 6.0.1
2250
+ transitivePeerDependencies:
2251
+ - supports-color
2252
+ - ts-node
2253
+ dev: true
2254
+
2255
+ /@jest/environment@29.5.0:
2256
+ resolution: {integrity: sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==}
2257
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
2258
+ dependencies:
2259
+ '@jest/fake-timers': 29.5.0
2260
+ '@jest/types': 29.5.0
2261
+ '@types/node': 20.2.1
2262
+ jest-mock: 29.5.0
2263
+ dev: true
2264
+
2265
+ /@jest/expect-utils@29.5.0:
2266
+ resolution: {integrity: sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==}
2267
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
2268
+ dependencies:
2269
+ jest-get-type: 29.4.3
2270
+ dev: true
2271
+
2272
+ /@jest/expect@29.5.0:
2273
+ resolution: {integrity: sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==}
2274
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
2275
+ dependencies:
2276
+ expect: 29.5.0
2277
+ jest-snapshot: 29.5.0
2278
+ transitivePeerDependencies:
2279
+ - supports-color
2280
+ dev: true
2281
+
2282
+ /@jest/fake-timers@29.5.0:
2283
+ resolution: {integrity: sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==}
2284
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
2285
+ dependencies:
2286
+ '@jest/types': 29.5.0
2287
+ '@sinonjs/fake-timers': 10.2.0
2288
+ '@types/node': 20.2.1
2289
+ jest-message-util: 29.5.0
2290
+ jest-mock: 29.5.0
2291
+ jest-util: 29.5.0
2292
+ dev: true
2293
+
2294
+ /@jest/globals@29.5.0:
2295
+ resolution: {integrity: sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==}
2296
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
2297
+ dependencies:
2298
+ '@jest/environment': 29.5.0
2299
+ '@jest/expect': 29.5.0
2300
+ '@jest/types': 29.5.0
2301
+ jest-mock: 29.5.0
2302
+ transitivePeerDependencies:
2303
+ - supports-color
2304
+ dev: true
2305
+
2306
+ /@jest/reporters@29.5.0:
2307
+ resolution: {integrity: sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==}
2308
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
2309
+ peerDependencies:
2310
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
2311
+ peerDependenciesMeta:
2312
+ node-notifier:
2313
+ optional: true
2314
+ dependencies:
2315
+ '@bcoe/v8-coverage': 0.2.3
2316
+ '@jest/console': 29.5.0
2317
+ '@jest/test-result': 29.5.0
2318
+ '@jest/transform': 29.5.0
2319
+ '@jest/types': 29.5.0
2320
+ '@jridgewell/trace-mapping': 0.3.18
2321
+ '@types/node': 20.2.1
2322
+ chalk: 4.1.2
2323
+ collect-v8-coverage: 1.0.1
2324
+ exit: 0.1.2
2325
+ glob: 7.2.3
2326
+ graceful-fs: 4.2.11
2327
+ istanbul-lib-coverage: 3.2.0
2328
+ istanbul-lib-instrument: 5.2.1
2329
+ istanbul-lib-report: 3.0.0
2330
+ istanbul-lib-source-maps: 4.0.1
2331
+ istanbul-reports: 3.1.5
2332
+ jest-message-util: 29.5.0
2333
+ jest-util: 29.5.0
2334
+ jest-worker: 29.5.0
2335
+ slash: 3.0.0
2336
+ string-length: 4.0.2
2337
+ strip-ansi: 6.0.1
2338
+ v8-to-istanbul: 9.1.0
2339
+ transitivePeerDependencies:
2340
+ - supports-color
2341
+ dev: true
2342
+
2343
+ /@jest/schemas@29.4.3:
2344
+ resolution: {integrity: sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==}
2345
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
2346
+ dependencies:
2347
+ '@sinclair/typebox': 0.25.24
2348
+ dev: true
2349
+
2350
+ /@jest/source-map@29.4.3:
2351
+ resolution: {integrity: sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==}
2352
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
2353
+ dependencies:
2354
+ '@jridgewell/trace-mapping': 0.3.18
2355
+ callsites: 3.1.0
2356
+ graceful-fs: 4.2.11
2357
+ dev: true
2358
+
2359
+ /@jest/test-result@29.5.0:
2360
+ resolution: {integrity: sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ==}
2361
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
2362
+ dependencies:
2363
+ '@jest/console': 29.5.0
2364
+ '@jest/types': 29.5.0
2365
+ '@types/istanbul-lib-coverage': 2.0.4
2366
+ collect-v8-coverage: 1.0.1
2367
+ dev: true
2368
+
2369
+ /@jest/test-sequencer@29.5.0:
2370
+ resolution: {integrity: sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==}
2371
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
2372
+ dependencies:
2373
+ '@jest/test-result': 29.5.0
2374
+ graceful-fs: 4.2.11
2375
+ jest-haste-map: 29.5.0
2376
+ slash: 3.0.0
2377
+ dev: true
2378
+
2379
+ /@jest/transform@29.5.0:
2380
+ resolution: {integrity: sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==}
2381
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
2382
+ dependencies:
2383
+ '@babel/core': 7.21.8
2384
+ '@jest/types': 29.5.0
2385
+ '@jridgewell/trace-mapping': 0.3.18
2386
+ babel-plugin-istanbul: 6.1.1
2387
+ chalk: 4.1.2
2388
+ convert-source-map: 2.0.0
2389
+ fast-json-stable-stringify: 2.1.0
2390
+ graceful-fs: 4.2.11
2391
+ jest-haste-map: 29.5.0
2392
+ jest-regex-util: 29.4.3
2393
+ jest-util: 29.5.0
2394
+ micromatch: 4.0.5
2395
+ pirates: 4.0.5
2396
+ slash: 3.0.0
2397
+ write-file-atomic: 4.0.2
2398
+ transitivePeerDependencies:
2399
+ - supports-color
2400
+ dev: true
2401
+
2402
+ /@jest/types@29.5.0:
2403
+ resolution: {integrity: sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==}
2404
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
2405
+ dependencies:
2406
+ '@jest/schemas': 29.4.3
2407
+ '@types/istanbul-lib-coverage': 2.0.4
2408
+ '@types/istanbul-reports': 3.0.1
2409
+ '@types/node': 20.2.1
2410
+ '@types/yargs': 17.0.24
2411
+ chalk: 4.1.2
2412
+ dev: true
2413
+
2414
+ /@jridgewell/gen-mapping@0.3.3:
2415
+ resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
2416
+ engines: {node: '>=6.0.0'}
2417
+ dependencies:
2418
+ '@jridgewell/set-array': 1.1.2
2419
+ '@jridgewell/sourcemap-codec': 1.4.15
2420
+ '@jridgewell/trace-mapping': 0.3.18
2421
+ dev: true
2422
+
2423
+ /@jridgewell/resolve-uri@3.1.0:
2424
+ resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
2425
+ engines: {node: '>=6.0.0'}
2426
+ dev: true
2427
+
2428
+ /@jridgewell/set-array@1.1.2:
2429
+ resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
2430
+ engines: {node: '>=6.0.0'}
2431
+ dev: true
2432
+
2433
+ /@jridgewell/sourcemap-codec@1.4.14:
2434
+ resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
2435
+ dev: true
2436
+
2437
+ /@jridgewell/sourcemap-codec@1.4.15:
2438
+ resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
2439
+ dev: true
2440
+
2441
+ /@jridgewell/trace-mapping@0.3.18:
2442
+ resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==}
2443
+ dependencies:
2444
+ '@jridgewell/resolve-uri': 3.1.0
2445
+ '@jridgewell/sourcemap-codec': 1.4.14
2446
+ dev: true
2447
+
2448
+ /@markdoc/markdoc@0.2.2:
2449
+ resolution: {integrity: sha512-0TiD9jmA5h5znN4lxo7HECAu3WieU5g5vUsfByeucrdR/x88hEilpt16EydFyJwJddQ/3w5HQgW7Ovy62r4cyw==}
2450
+ engines: {node: '>=14.7.0'}
2451
+ peerDependencies:
2452
+ '@types/react': '*'
2453
+ react: '*'
2454
+ peerDependenciesMeta:
2455
+ '@types/react':
2456
+ optional: true
2457
+ react:
2458
+ optional: true
2459
+ optionalDependencies:
2460
+ '@types/markdown-it': 12.2.3
2461
+ dev: false
2462
+
2463
+ /@neondatabase/serverless@0.4.5:
2464
+ resolution: {integrity: sha512-+wYPtiqrIimONiOvHczfEdstxNUSWZ0dY+MD9vFwHBdr4Vx1adRKIKWQivG1MJ7uRpWsZZwEFQ7qhDJrgnidqw==}
2465
+ dependencies:
2466
+ '@types/pg': 8.10.1
2467
+ dev: false
2468
+
2469
+ /@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1:
2470
+ resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==}
2471
+ dependencies:
2472
+ eslint-scope: 5.1.1
2473
+ dev: true
2474
+
2475
+ /@nodelib/fs.scandir@2.1.5:
2476
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
2477
+ engines: {node: '>= 8'}
2478
+ dependencies:
2479
+ '@nodelib/fs.stat': 2.0.5
2480
+ run-parallel: 1.2.0
2481
+ dev: true
2482
+
2483
+ /@nodelib/fs.stat@2.0.5:
2484
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
2485
+ engines: {node: '>= 8'}
2486
+ dev: true
2487
+
2488
+ /@nodelib/fs.walk@1.2.8:
2489
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
2490
+ engines: {node: '>= 8'}
2491
+ dependencies:
2492
+ '@nodelib/fs.scandir': 2.1.5
2493
+ fastq: 1.15.0
2494
+ dev: true
2495
+
2496
+ /@playwright/test@1.31.2:
2497
+ resolution: {integrity: sha512-BYVutxDI4JeZKV1+ups6dt5WiqKhjBtIYowyZIJ3kBDmJgsuPKsqqKNIMFbUePLSCmp2cZu+BDL427RcNKTRYw==}
2498
+ engines: {node: '>=14'}
2499
+ hasBin: true
2500
+ dependencies:
2501
+ '@types/node': 20.2.1
2502
+ playwright-core: 1.31.2
2503
+ optionalDependencies:
2504
+ fsevents: 2.3.2
2505
+ dev: true
2506
+
2507
+ /@react-aria/breadcrumbs@3.5.1(react@18.2.0):
2508
+ resolution: {integrity: sha512-/7UMNtwTBbhPiswoEZF2zGUtezinKeLrEMmywzWgxryJ6A/edfT5KXXcPr7MZdWH5faEFq27WSYsMqdX1J3MsA==}
2509
+ peerDependencies:
2510
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2511
+ dependencies:
2512
+ '@react-aria/i18n': 3.7.1(react@18.2.0)
2513
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
2514
+ '@react-aria/link': 3.5.0(react@18.2.0)
2515
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2516
+ '@react-types/breadcrumbs': 3.5.1(react@18.2.0)
2517
+ '@react-types/shared': 3.18.0(react@18.2.0)
2518
+ '@swc/helpers': 0.4.14
2519
+ react: 18.2.0
2520
+ dev: false
2521
+
2522
+ /@react-aria/button@3.7.1(react@18.2.0):
2523
+ resolution: {integrity: sha512-l4Xqu83mT9STB89JLNsejHjHdFZClp/xez07LYfqibdvgcXiH311I76n1QCZqga2OGuIsW+fKmpMtuVPDdS61g==}
2524
+ peerDependencies:
2525
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2526
+ dependencies:
2527
+ '@react-aria/focus': 3.12.0(react@18.2.0)
2528
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
2529
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2530
+ '@react-stately/toggle': 3.5.1(react@18.2.0)
2531
+ '@react-types/button': 3.7.2(react@18.2.0)
2532
+ '@react-types/shared': 3.18.0(react@18.2.0)
2533
+ '@swc/helpers': 0.4.14
2534
+ react: 18.2.0
2535
+ dev: false
2536
+
2537
+ /@react-aria/calendar@3.2.0(react-dom@18.2.0)(react@18.2.0):
2538
+ resolution: {integrity: sha512-3wnCusOi7mU9kRMDxspAL81SXAsEVzWuPILOl6OXQHbVtDvRWqkhlqWkjDDoStKD9uwDDB9rfcCsfOQBJnj63A==}
2539
+ peerDependencies:
2540
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2541
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2542
+ dependencies:
2543
+ '@internationalized/date': 3.2.0
2544
+ '@react-aria/i18n': 3.7.1(react@18.2.0)
2545
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
2546
+ '@react-aria/live-announcer': 3.3.0
2547
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2548
+ '@react-stately/calendar': 3.2.0(react@18.2.0)
2549
+ '@react-types/button': 3.7.2(react@18.2.0)
2550
+ '@react-types/calendar': 3.2.0(react@18.2.0)
2551
+ '@react-types/shared': 3.18.0(react@18.2.0)
2552
+ '@swc/helpers': 0.4.14
2553
+ react: 18.2.0
2554
+ react-dom: 18.2.0(react@18.2.0)
2555
+ dev: false
2556
+
2557
+ /@react-aria/checkbox@3.9.0(react@18.2.0):
2558
+ resolution: {integrity: sha512-r6f7fQIZMv5k8x73v9i8Q/WsWqd6Q2yJ8F9TdOrYg5vrRot+QaxzC61HFyW7o+e7A5+UXQfTgU9E/Lezy9YSbA==}
2559
+ peerDependencies:
2560
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2561
+ dependencies:
2562
+ '@react-aria/label': 3.5.1(react@18.2.0)
2563
+ '@react-aria/toggle': 3.6.0(react@18.2.0)
2564
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2565
+ '@react-stately/checkbox': 3.4.1(react@18.2.0)
2566
+ '@react-stately/toggle': 3.5.1(react@18.2.0)
2567
+ '@react-types/checkbox': 3.4.3(react@18.2.0)
2568
+ '@react-types/shared': 3.18.0(react@18.2.0)
2569
+ '@swc/helpers': 0.4.14
2570
+ react: 18.2.0
2571
+ dev: false
2572
+
2573
+ /@react-aria/combobox@3.6.0(react-dom@18.2.0)(react@18.2.0):
2574
+ resolution: {integrity: sha512-GQqKUlSZy7wciSbLstq0zTTDP2zPPLxwrsqH/SahruRQqFYG8D/5aaqDMooPg17nGWg6wQ693Ho572+dIIgx6A==}
2575
+ peerDependencies:
2576
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2577
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2578
+ dependencies:
2579
+ '@react-aria/i18n': 3.7.1(react@18.2.0)
2580
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
2581
+ '@react-aria/listbox': 3.9.0(react@18.2.0)
2582
+ '@react-aria/live-announcer': 3.3.0
2583
+ '@react-aria/menu': 3.9.0(react-dom@18.2.0)(react@18.2.0)
2584
+ '@react-aria/overlays': 3.14.0(react-dom@18.2.0)(react@18.2.0)
2585
+ '@react-aria/selection': 3.14.0(react@18.2.0)
2586
+ '@react-aria/textfield': 3.9.1(react@18.2.0)
2587
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2588
+ '@react-stately/collections': 3.7.0(react@18.2.0)
2589
+ '@react-stately/combobox': 3.5.0(react@18.2.0)
2590
+ '@react-stately/layout': 3.12.0(react@18.2.0)
2591
+ '@react-types/button': 3.7.2(react@18.2.0)
2592
+ '@react-types/combobox': 3.6.1(react@18.2.0)
2593
+ '@react-types/shared': 3.18.0(react@18.2.0)
2594
+ '@swc/helpers': 0.4.14
2595
+ react: 18.2.0
2596
+ react-dom: 18.2.0(react@18.2.0)
2597
+ dev: false
2598
+
2599
+ /@react-aria/datepicker@3.4.0(react-dom@18.2.0)(react@18.2.0):
2600
+ resolution: {integrity: sha512-KhyyeLgWU5eJ+LqpfgOXFm/QBS6SIsX60zOgcQmst+LstsyuYjGQD7oqZX3UIMRWWgWj6urkYHk1yrZtam6doQ==}
2601
+ peerDependencies:
2602
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2603
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2604
+ dependencies:
2605
+ '@internationalized/date': 3.2.0
2606
+ '@internationalized/number': 3.2.0
2607
+ '@internationalized/string': 3.1.0
2608
+ '@react-aria/focus': 3.12.0(react@18.2.0)
2609
+ '@react-aria/i18n': 3.7.1(react@18.2.0)
2610
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
2611
+ '@react-aria/label': 3.5.1(react@18.2.0)
2612
+ '@react-aria/spinbutton': 3.4.0(react-dom@18.2.0)(react@18.2.0)
2613
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2614
+ '@react-stately/datepicker': 3.4.0(react@18.2.0)
2615
+ '@react-types/button': 3.7.2(react@18.2.0)
2616
+ '@react-types/calendar': 3.2.0(react@18.2.0)
2617
+ '@react-types/datepicker': 3.3.0(react@18.2.0)
2618
+ '@react-types/dialog': 3.5.1(react@18.2.0)
2619
+ '@react-types/shared': 3.18.0(react@18.2.0)
2620
+ '@swc/helpers': 0.4.14
2621
+ react: 18.2.0
2622
+ react-dom: 18.2.0(react@18.2.0)
2623
+ dev: false
2624
+
2625
+ /@react-aria/dialog@3.5.1(react-dom@18.2.0)(react@18.2.0):
2626
+ resolution: {integrity: sha512-nvBIO7GbRSoLPtbS38wCuCHXEbRUIAhD87XKGsFslsmK8csZgJiJa8ZQQNknfvNcEBRIYzNRz2XMPJmnN4H1og==}
2627
+ peerDependencies:
2628
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2629
+ dependencies:
2630
+ '@react-aria/focus': 3.12.0(react@18.2.0)
2631
+ '@react-aria/overlays': 3.14.0(react-dom@18.2.0)(react@18.2.0)
2632
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2633
+ '@react-stately/overlays': 3.5.1(react@18.2.0)
2634
+ '@react-types/dialog': 3.5.1(react@18.2.0)
2635
+ '@react-types/shared': 3.18.0(react@18.2.0)
2636
+ '@swc/helpers': 0.4.14
2637
+ react: 18.2.0
2638
+ transitivePeerDependencies:
2639
+ - react-dom
2640
+ dev: false
2641
+
2642
+ /@react-aria/dnd@3.2.0(react-dom@18.2.0)(react@18.2.0):
2643
+ resolution: {integrity: sha512-O0/JhHA2Qf5gMDqI9DD7xJIZBovUFbn4Y25xMiN52dighmdVLKtw8opgIp+K4lL3n+KR3aG/49R2JYiwJIxHOA==}
2644
+ peerDependencies:
2645
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2646
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2647
+ dependencies:
2648
+ '@internationalized/string': 3.1.0
2649
+ '@react-aria/i18n': 3.7.1(react@18.2.0)
2650
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
2651
+ '@react-aria/live-announcer': 3.3.0
2652
+ '@react-aria/overlays': 3.14.0(react-dom@18.2.0)(react@18.2.0)
2653
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2654
+ '@react-aria/visually-hidden': 3.8.0(react@18.2.0)
2655
+ '@react-stately/dnd': 3.2.0(react@18.2.0)
2656
+ '@react-types/button': 3.7.2(react@18.2.0)
2657
+ '@react-types/shared': 3.18.0(react@18.2.0)
2658
+ '@swc/helpers': 0.4.14
2659
+ react: 18.2.0
2660
+ react-dom: 18.2.0(react@18.2.0)
2661
+ dev: false
2662
+
2663
+ /@react-aria/focus@3.12.0(react@18.2.0):
2664
+ resolution: {integrity: sha512-nY6/2lpXzLep6dzQEESoowiSqNcy7DFWuRD/qHj9uKcQwWpYH/rqBrHVS/RNvL6Cz/fBA7L/4AzByJ6pTBtoeA==}
2665
+ peerDependencies:
2666
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2667
+ dependencies:
2668
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
2669
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2670
+ '@react-types/shared': 3.18.0(react@18.2.0)
2671
+ '@swc/helpers': 0.4.14
2672
+ clsx: 1.2.1
2673
+ react: 18.2.0
2674
+ dev: false
2675
+
2676
+ /@react-aria/grid@3.7.0(react-dom@18.2.0)(react@18.2.0):
2677
+ resolution: {integrity: sha512-jXo+/wQotHDSaMSVdVT7Hxzz65Nj2yK1wssIUQPEZalRhcosGWI1vhdQOD0g9GQL1l5DLyw0m55sych6naeBlw==}
2678
+ peerDependencies:
2679
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2680
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2681
+ dependencies:
2682
+ '@react-aria/focus': 3.12.0(react@18.2.0)
2683
+ '@react-aria/i18n': 3.7.1(react@18.2.0)
2684
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
2685
+ '@react-aria/live-announcer': 3.3.0
2686
+ '@react-aria/selection': 3.14.0(react@18.2.0)
2687
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2688
+ '@react-stately/collections': 3.7.0(react@18.2.0)
2689
+ '@react-stately/grid': 3.6.0(react@18.2.0)
2690
+ '@react-stately/selection': 3.13.0(react@18.2.0)
2691
+ '@react-stately/virtualizer': 3.5.1(react@18.2.0)
2692
+ '@react-types/checkbox': 3.4.3(react@18.2.0)
2693
+ '@react-types/grid': 3.1.7(react@18.2.0)
2694
+ '@react-types/shared': 3.18.0(react@18.2.0)
2695
+ '@swc/helpers': 0.4.14
2696
+ react: 18.2.0
2697
+ react-dom: 18.2.0(react@18.2.0)
2698
+ dev: false
2699
+
2700
+ /@react-aria/gridlist@3.3.0(react-dom@18.2.0)(react@18.2.0):
2701
+ resolution: {integrity: sha512-VNXnNRcAPel1C9KvhIj+lAC3UvtAg8nrkrtdBvuJTWJPuorAvfF8Dy5Oan+bHoo5KFT/SW96KsR7olH5aZucoQ==}
2702
+ peerDependencies:
2703
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2704
+ dependencies:
2705
+ '@react-aria/focus': 3.12.0(react@18.2.0)
2706
+ '@react-aria/grid': 3.7.0(react-dom@18.2.0)(react@18.2.0)
2707
+ '@react-aria/i18n': 3.7.1(react@18.2.0)
2708
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
2709
+ '@react-aria/selection': 3.14.0(react@18.2.0)
2710
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2711
+ '@react-stately/list': 3.8.0(react@18.2.0)
2712
+ '@react-types/checkbox': 3.4.3(react@18.2.0)
2713
+ '@react-types/shared': 3.18.0(react@18.2.0)
2714
+ '@swc/helpers': 0.4.14
2715
+ react: 18.2.0
2716
+ transitivePeerDependencies:
2717
+ - react-dom
2718
+ dev: false
2719
+
2720
+ /@react-aria/i18n@3.7.1(react@18.2.0):
2721
+ resolution: {integrity: sha512-2fu1cv8yD3V+rlhOqstTdGAubadoMFuPE7lA1FfYdaJNxXa09iWqvpipUPlxYJrahW0eazkesOPDKFwOEMF1iA==}
2722
+ peerDependencies:
2723
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2724
+ dependencies:
2725
+ '@internationalized/date': 3.2.0
2726
+ '@internationalized/message': 3.1.0
2727
+ '@internationalized/number': 3.2.0
2728
+ '@internationalized/string': 3.1.0
2729
+ '@react-aria/ssr': 3.6.0(react@18.2.0)
2730
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2731
+ '@react-types/shared': 3.18.0(react@18.2.0)
2732
+ '@swc/helpers': 0.4.14
2733
+ react: 18.2.0
2734
+ dev: false
2735
+
2736
+ /@react-aria/interactions@3.15.0(react@18.2.0):
2737
+ resolution: {integrity: sha512-8br5uatPDISEWMINKGs7RhNPtqLhRsgwQsooaH7Jgxjs0LBlylODa8l7D3NA1uzVzlvfnZm/t2YN/y8ieRSDcQ==}
2738
+ peerDependencies:
2739
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2740
+ dependencies:
2741
+ '@react-aria/ssr': 3.6.0(react@18.2.0)
2742
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2743
+ '@react-types/shared': 3.18.0(react@18.2.0)
2744
+ '@swc/helpers': 0.4.14
2745
+ react: 18.2.0
2746
+ dev: false
2747
+
2748
+ /@react-aria/label@3.5.1(react@18.2.0):
2749
+ resolution: {integrity: sha512-3KNg6/MJNMN25o0psBbCWzhJNFjtT5NtYJPrFwGHbAfVWvMTRqNftoyrhR490Ac0q2eMKIXkULl1HVn3izrAuw==}
2750
+ peerDependencies:
2751
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2752
+ dependencies:
2753
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2754
+ '@react-types/label': 3.7.3(react@18.2.0)
2755
+ '@react-types/shared': 3.18.0(react@18.2.0)
2756
+ '@swc/helpers': 0.4.14
2757
+ react: 18.2.0
2758
+ dev: false
2759
+
2760
+ /@react-aria/link@3.5.0(react@18.2.0):
2761
+ resolution: {integrity: sha512-GcQEHL1MauvTEfqWy4JGP7/bHPaJZ8QJKmDOKrCQCzcT4ts+YaaG6dGGzkkaKK7gymRAF4ePHWWFHySN5mSE7w==}
2762
+ peerDependencies:
2763
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2764
+ dependencies:
2765
+ '@react-aria/focus': 3.12.0(react@18.2.0)
2766
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
2767
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2768
+ '@react-types/link': 3.4.1(react@18.2.0)
2769
+ '@react-types/shared': 3.18.0(react@18.2.0)
2770
+ '@swc/helpers': 0.4.14
2771
+ react: 18.2.0
2772
+ dev: false
2773
+
2774
+ /@react-aria/listbox@3.9.0(react@18.2.0):
2775
+ resolution: {integrity: sha512-CWJBw+R9eGrd2I/RRIpXeTmCTiJRPz9JgL2EYage1+8lCV0sp7HIH2StTMsVBzCA1eH+vJ06LBcPuiZBdtZFlA==}
2776
+ peerDependencies:
2777
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2778
+ dependencies:
2779
+ '@react-aria/focus': 3.12.0(react@18.2.0)
2780
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
2781
+ '@react-aria/label': 3.5.1(react@18.2.0)
2782
+ '@react-aria/selection': 3.14.0(react@18.2.0)
2783
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2784
+ '@react-stately/collections': 3.7.0(react@18.2.0)
2785
+ '@react-stately/list': 3.8.0(react@18.2.0)
2786
+ '@react-types/listbox': 3.4.1(react@18.2.0)
2787
+ '@react-types/shared': 3.18.0(react@18.2.0)
2788
+ '@swc/helpers': 0.4.14
2789
+ react: 18.2.0
2790
+ dev: false
2791
+
2792
+ /@react-aria/live-announcer@3.3.0:
2793
+ resolution: {integrity: sha512-6diTS6mIf70KdxfGqiDxHV+9Qv8a9A88EqBllzXGF6HWPdcwde/GIEmfpTwj8g1ImNGZYUwDkv4Hd9lFj0MXEg==}
2794
+ dependencies:
2795
+ '@swc/helpers': 0.4.14
2796
+ dev: false
2797
+
2798
+ /@react-aria/menu@3.9.0(react-dom@18.2.0)(react@18.2.0):
2799
+ resolution: {integrity: sha512-lIbfWzFvYE7EPOno3lVogXHlc6fzswymlpJWiMBKaB68wkfCtknIIL1cwWssiwgGU63v08H5YpQOZdxRwux2PQ==}
2800
+ peerDependencies:
2801
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2802
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2803
+ dependencies:
2804
+ '@react-aria/i18n': 3.7.1(react@18.2.0)
2805
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
2806
+ '@react-aria/overlays': 3.14.0(react-dom@18.2.0)(react@18.2.0)
2807
+ '@react-aria/selection': 3.14.0(react@18.2.0)
2808
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2809
+ '@react-stately/collections': 3.7.0(react@18.2.0)
2810
+ '@react-stately/menu': 3.5.1(react@18.2.0)
2811
+ '@react-stately/tree': 3.6.0(react@18.2.0)
2812
+ '@react-types/button': 3.7.2(react@18.2.0)
2813
+ '@react-types/menu': 3.9.0(react@18.2.0)
2814
+ '@react-types/shared': 3.18.0(react@18.2.0)
2815
+ '@swc/helpers': 0.4.14
2816
+ react: 18.2.0
2817
+ react-dom: 18.2.0(react@18.2.0)
2818
+ dev: false
2819
+
2820
+ /@react-aria/meter@3.4.1(react@18.2.0):
2821
+ resolution: {integrity: sha512-z+FGa8mZgLk/A0leNrGXb43YnOafRea+pZbDQvRQZa5E9kNIVhXaIfFrs0f+Wro8rnOPM8G2V17/XSfy9M809A==}
2822
+ peerDependencies:
2823
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2824
+ dependencies:
2825
+ '@react-aria/progress': 3.4.1(react@18.2.0)
2826
+ '@react-types/meter': 3.3.1(react@18.2.0)
2827
+ '@react-types/shared': 3.18.0(react@18.2.0)
2828
+ '@swc/helpers': 0.4.14
2829
+ react: 18.2.0
2830
+ dev: false
2831
+
2832
+ /@react-aria/numberfield@3.5.0(react-dom@18.2.0)(react@18.2.0):
2833
+ resolution: {integrity: sha512-gOe0BKrYGXrjqn0dkMuMoB+WYzn1qwxR7QvKwwfceutUmirjEvMSQOldnBhHao55pxd4/4bWssrEHhJb7YmPiQ==}
2834
+ peerDependencies:
2835
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2836
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2837
+ dependencies:
2838
+ '@react-aria/i18n': 3.7.1(react@18.2.0)
2839
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
2840
+ '@react-aria/live-announcer': 3.3.0
2841
+ '@react-aria/spinbutton': 3.4.0(react-dom@18.2.0)(react@18.2.0)
2842
+ '@react-aria/textfield': 3.9.1(react@18.2.0)
2843
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2844
+ '@react-stately/numberfield': 3.4.1(react@18.2.0)
2845
+ '@react-types/button': 3.7.2(react@18.2.0)
2846
+ '@react-types/numberfield': 3.4.1(react@18.2.0)
2847
+ '@react-types/shared': 3.18.0(react@18.2.0)
2848
+ '@react-types/textfield': 3.7.1(react@18.2.0)
2849
+ '@swc/helpers': 0.4.14
2850
+ react: 18.2.0
2851
+ react-dom: 18.2.0(react@18.2.0)
2852
+ dev: false
2853
+
2854
+ /@react-aria/overlays@3.14.0(react-dom@18.2.0)(react@18.2.0):
2855
+ resolution: {integrity: sha512-lt4vOj44ho0LpmpaHwQ4VgX7eNfKXig9VD7cvE9u7uyECG51jqt9go19s4+/O+otX7pPrhdYlEB2FxLFJocxfw==}
2856
+ peerDependencies:
2857
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2858
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2859
+ dependencies:
2860
+ '@react-aria/focus': 3.12.0(react@18.2.0)
2861
+ '@react-aria/i18n': 3.7.1(react@18.2.0)
2862
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
2863
+ '@react-aria/ssr': 3.6.0(react@18.2.0)
2864
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2865
+ '@react-aria/visually-hidden': 3.8.0(react@18.2.0)
2866
+ '@react-stately/overlays': 3.5.1(react@18.2.0)
2867
+ '@react-types/button': 3.7.2(react@18.2.0)
2868
+ '@react-types/overlays': 3.7.1(react@18.2.0)
2869
+ '@react-types/shared': 3.18.0(react@18.2.0)
2870
+ '@swc/helpers': 0.4.14
2871
+ react: 18.2.0
2872
+ react-dom: 18.2.0(react@18.2.0)
2873
+ dev: false
2874
+
2875
+ /@react-aria/progress@3.4.1(react@18.2.0):
2876
+ resolution: {integrity: sha512-hSM4TDfL9Sy0hMFEEXjYsKDR1ZnNdVV8EQ6WDe1RdHkqifKtbEoUC5fvQu5ZdPx65jG6xWx/WG9Mv/ylMiYnig==}
2877
+ peerDependencies:
2878
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2879
+ dependencies:
2880
+ '@react-aria/i18n': 3.7.1(react@18.2.0)
2881
+ '@react-aria/label': 3.5.1(react@18.2.0)
2882
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2883
+ '@react-types/progress': 3.4.0(react@18.2.0)
2884
+ '@react-types/shared': 3.18.0(react@18.2.0)
2885
+ '@swc/helpers': 0.4.14
2886
+ react: 18.2.0
2887
+ dev: false
2888
+
2889
+ /@react-aria/radio@3.6.0(react@18.2.0):
2890
+ resolution: {integrity: sha512-yMyaqFSf05P8w4LE50ENIJza4iM74CEyAhVlQwxRszXhJk6uro5bnxTSJqPrdRdI5+anwOijH53+x5dISO3KWA==}
2891
+ peerDependencies:
2892
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2893
+ dependencies:
2894
+ '@react-aria/focus': 3.12.0(react@18.2.0)
2895
+ '@react-aria/i18n': 3.7.1(react@18.2.0)
2896
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
2897
+ '@react-aria/label': 3.5.1(react@18.2.0)
2898
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2899
+ '@react-stately/radio': 3.8.0(react@18.2.0)
2900
+ '@react-types/radio': 3.4.1(react@18.2.0)
2901
+ '@react-types/shared': 3.18.0(react@18.2.0)
2902
+ '@swc/helpers': 0.4.14
2903
+ react: 18.2.0
2904
+ dev: false
2905
+
2906
+ /@react-aria/searchfield@3.5.1(react@18.2.0):
2907
+ resolution: {integrity: sha512-gJQWgBIycxZXdmluHWUdCGN5gSArLJnDnuri3el8ECURZM7C+zxDeHd6A8xlKPNF+m5X0HcarrDAnEdXNjKKlQ==}
2908
+ peerDependencies:
2909
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2910
+ dependencies:
2911
+ '@react-aria/i18n': 3.7.1(react@18.2.0)
2912
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
2913
+ '@react-aria/textfield': 3.9.1(react@18.2.0)
2914
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2915
+ '@react-stately/searchfield': 3.4.1(react@18.2.0)
2916
+ '@react-types/button': 3.7.2(react@18.2.0)
2917
+ '@react-types/searchfield': 3.4.1(react@18.2.0)
2918
+ '@react-types/shared': 3.18.0(react@18.2.0)
2919
+ '@swc/helpers': 0.4.14
2920
+ react: 18.2.0
2921
+ dev: false
2922
+
2923
+ /@react-aria/select@3.10.0(react-dom@18.2.0)(react@18.2.0):
2924
+ resolution: {integrity: sha512-Adn/uQdGj0BUTe/gqvhtyEdkUQ0j0oZPrhxo6MIwXiX3vyu/GJJBgeSe67Z848iZvYzVk3iheFS88qvwmJ0Qbg==}
2925
+ peerDependencies:
2926
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2927
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2928
+ dependencies:
2929
+ '@react-aria/i18n': 3.7.1(react@18.2.0)
2930
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
2931
+ '@react-aria/label': 3.5.1(react@18.2.0)
2932
+ '@react-aria/listbox': 3.9.0(react@18.2.0)
2933
+ '@react-aria/menu': 3.9.0(react-dom@18.2.0)(react@18.2.0)
2934
+ '@react-aria/selection': 3.14.0(react@18.2.0)
2935
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2936
+ '@react-aria/visually-hidden': 3.8.0(react@18.2.0)
2937
+ '@react-stately/select': 3.5.0(react@18.2.0)
2938
+ '@react-types/button': 3.7.2(react@18.2.0)
2939
+ '@react-types/select': 3.8.0(react@18.2.0)
2940
+ '@react-types/shared': 3.18.0(react@18.2.0)
2941
+ '@swc/helpers': 0.4.14
2942
+ react: 18.2.0
2943
+ react-dom: 18.2.0(react@18.2.0)
2944
+ dev: false
2945
+
2946
+ /@react-aria/selection@3.14.0(react@18.2.0):
2947
+ resolution: {integrity: sha512-4/cq3mP75/qbhz2OkWmrfL6MJ+7+KfFsT6wvVNvxgOWR0n4jivHToKi3DXo2TzInvNU+10Ha7FCWavZoUNgSlA==}
2948
+ peerDependencies:
2949
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2950
+ dependencies:
2951
+ '@react-aria/focus': 3.12.0(react@18.2.0)
2952
+ '@react-aria/i18n': 3.7.1(react@18.2.0)
2953
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
2954
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2955
+ '@react-stately/collections': 3.7.0(react@18.2.0)
2956
+ '@react-stately/selection': 3.13.0(react@18.2.0)
2957
+ '@react-types/shared': 3.18.0(react@18.2.0)
2958
+ '@swc/helpers': 0.4.14
2959
+ react: 18.2.0
2960
+ dev: false
2961
+
2962
+ /@react-aria/separator@3.3.1(react@18.2.0):
2963
+ resolution: {integrity: sha512-BNiJpkzHDnNBeZFGud9MSLzUkYevq7WT0+XO60SMvD/OhDBoBPp26b6fK1W81HKTbs+bk/dvmlnnbx9ViGsLzw==}
2964
+ peerDependencies:
2965
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2966
+ dependencies:
2967
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2968
+ '@react-types/shared': 3.18.0(react@18.2.0)
2969
+ '@swc/helpers': 0.4.14
2970
+ react: 18.2.0
2971
+ dev: false
2972
+
2973
+ /@react-aria/slider@3.4.0(react@18.2.0):
2974
+ resolution: {integrity: sha512-fW3gQhafs8ACAN7HGBpzmGV+hHVMUxI4UZ/V3h/LJ1vIxZY857iSQolzfJFBYhCyV0YU4D4uDUcYZhoH18GZnQ==}
2975
+ peerDependencies:
2976
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2977
+ dependencies:
2978
+ '@react-aria/focus': 3.12.0(react@18.2.0)
2979
+ '@react-aria/i18n': 3.7.1(react@18.2.0)
2980
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
2981
+ '@react-aria/label': 3.5.1(react@18.2.0)
2982
+ '@react-aria/utils': 3.16.0(react@18.2.0)
2983
+ '@react-stately/radio': 3.8.0(react@18.2.0)
2984
+ '@react-stately/slider': 3.3.1(react@18.2.0)
2985
+ '@react-types/radio': 3.4.1(react@18.2.0)
2986
+ '@react-types/shared': 3.18.0(react@18.2.0)
2987
+ '@react-types/slider': 3.5.0(react@18.2.0)
2988
+ '@swc/helpers': 0.4.14
2989
+ react: 18.2.0
2990
+ dev: false
2991
+
2992
+ /@react-aria/spinbutton@3.4.0(react-dom@18.2.0)(react@18.2.0):
2993
+ resolution: {integrity: sha512-8JEHw3pnosEYOQSZol0QpXMRhdb3z4FtaSovUdCPo7x7A7BtGCVsy3lAt31+WvQAknzZIDwxSBaNAcOj0cYhWQ==}
2994
+ peerDependencies:
2995
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2996
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
2997
+ dependencies:
2998
+ '@react-aria/i18n': 3.7.1(react@18.2.0)
2999
+ '@react-aria/live-announcer': 3.3.0
3000
+ '@react-aria/utils': 3.16.0(react@18.2.0)
3001
+ '@react-types/button': 3.7.2(react@18.2.0)
3002
+ '@react-types/shared': 3.18.0(react@18.2.0)
3003
+ '@swc/helpers': 0.4.14
3004
+ react: 18.2.0
3005
+ react-dom: 18.2.0(react@18.2.0)
3006
+ dev: false
3007
+
3008
+ /@react-aria/ssr@3.6.0(react@18.2.0):
3009
+ resolution: {integrity: sha512-OFiYQdv+Yk7AO7IsQu/fAEPijbeTwrrEYvdNoJ3sblBBedD5j5fBTNWrUPNVlwC4XWWnWTCMaRIVsJujsFiWXg==}
3010
+ peerDependencies:
3011
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3012
+ dependencies:
3013
+ '@swc/helpers': 0.4.14
3014
+ react: 18.2.0
3015
+ dev: false
3016
+
3017
+ /@react-aria/switch@3.5.0(react@18.2.0):
3018
+ resolution: {integrity: sha512-nMrwT0McuQ7ki6rSDFIuf9qa9UjcA1XJQ9zDRD2CC10F48xpHHi12iZpS8GAEdG2jTNdCZ3qSO1HsIt63uEQoQ==}
3019
+ peerDependencies:
3020
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3021
+ dependencies:
3022
+ '@react-aria/toggle': 3.6.0(react@18.2.0)
3023
+ '@react-stately/toggle': 3.5.1(react@18.2.0)
3024
+ '@react-types/switch': 3.3.1(react@18.2.0)
3025
+ '@swc/helpers': 0.4.14
3026
+ react: 18.2.0
3027
+ dev: false
3028
+
3029
+ /@react-aria/table@3.9.0(react-dom@18.2.0)(react@18.2.0):
3030
+ resolution: {integrity: sha512-hY1tM7NRjP+gRvm2OGgWeEZ8An0tzljj0O19JCg7oi6IpypFJqeSqSUQml1OIv5wbZ04pQnoYGtMkP7h7YqkPw==}
3031
+ peerDependencies:
3032
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3033
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3034
+ dependencies:
3035
+ '@react-aria/focus': 3.12.0(react@18.2.0)
3036
+ '@react-aria/grid': 3.7.0(react-dom@18.2.0)(react@18.2.0)
3037
+ '@react-aria/i18n': 3.7.1(react@18.2.0)
3038
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
3039
+ '@react-aria/live-announcer': 3.3.0
3040
+ '@react-aria/selection': 3.14.0(react@18.2.0)
3041
+ '@react-aria/utils': 3.16.0(react@18.2.0)
3042
+ '@react-aria/visually-hidden': 3.8.0(react@18.2.0)
3043
+ '@react-stately/collections': 3.7.0(react@18.2.0)
3044
+ '@react-stately/table': 3.9.0(react@18.2.0)
3045
+ '@react-stately/virtualizer': 3.5.1(react@18.2.0)
3046
+ '@react-types/checkbox': 3.4.3(react@18.2.0)
3047
+ '@react-types/grid': 3.1.7(react@18.2.0)
3048
+ '@react-types/shared': 3.18.0(react@18.2.0)
3049
+ '@react-types/table': 3.6.0(react@18.2.0)
3050
+ '@swc/helpers': 0.4.14
3051
+ react: 18.2.0
3052
+ react-dom: 18.2.0(react@18.2.0)
3053
+ dev: false
3054
+
3055
+ /@react-aria/tabs@3.5.0(react@18.2.0):
3056
+ resolution: {integrity: sha512-QnCoNHDmeRoPWLHsr1Q81RN/KymwU79XS/zHguhZ3fx59je9bswUDG77NjylcPRXoOEOZ18gZ+Y7reBVRhNEog==}
3057
+ peerDependencies:
3058
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3059
+ dependencies:
3060
+ '@react-aria/focus': 3.12.0(react@18.2.0)
3061
+ '@react-aria/i18n': 3.7.1(react@18.2.0)
3062
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
3063
+ '@react-aria/selection': 3.14.0(react@18.2.0)
3064
+ '@react-aria/utils': 3.16.0(react@18.2.0)
3065
+ '@react-stately/list': 3.8.0(react@18.2.0)
3066
+ '@react-stately/tabs': 3.4.0(react@18.2.0)
3067
+ '@react-types/shared': 3.18.0(react@18.2.0)
3068
+ '@react-types/tabs': 3.2.1(react@18.2.0)
3069
+ '@swc/helpers': 0.4.14
3070
+ react: 18.2.0
3071
+ dev: false
3072
+
3073
+ /@react-aria/textfield@3.9.1(react@18.2.0):
3074
+ resolution: {integrity: sha512-IxJ6QupBD8yiEwF1etj4BWfwjNpc3Y00j+pzRIuo07bbkEOPl0jtKxW5YHG9un6nC9a5CKIHcILato1Q0Tsy0g==}
3075
+ peerDependencies:
3076
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3077
+ dependencies:
3078
+ '@react-aria/focus': 3.12.0(react@18.2.0)
3079
+ '@react-aria/label': 3.5.1(react@18.2.0)
3080
+ '@react-aria/utils': 3.16.0(react@18.2.0)
3081
+ '@react-types/shared': 3.18.0(react@18.2.0)
3082
+ '@react-types/textfield': 3.7.1(react@18.2.0)
3083
+ '@swc/helpers': 0.4.14
3084
+ react: 18.2.0
3085
+ dev: false
3086
+
3087
+ /@react-aria/toggle@3.6.0(react@18.2.0):
3088
+ resolution: {integrity: sha512-W6xncx5zzqCaPU2XsgjWnACHL3WBpxphYLvF5XlICRg0nZVjGPIWPDDUGyDoPsSUeGMW2vxtFY6erKXtcy4Kgw==}
3089
+ peerDependencies:
3090
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3091
+ dependencies:
3092
+ '@react-aria/focus': 3.12.0(react@18.2.0)
3093
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
3094
+ '@react-aria/utils': 3.16.0(react@18.2.0)
3095
+ '@react-stately/toggle': 3.5.1(react@18.2.0)
3096
+ '@react-types/checkbox': 3.4.3(react@18.2.0)
3097
+ '@react-types/shared': 3.18.0(react@18.2.0)
3098
+ '@react-types/switch': 3.3.1(react@18.2.0)
3099
+ '@swc/helpers': 0.4.14
3100
+ react: 18.2.0
3101
+ dev: false
3102
+
3103
+ /@react-aria/tooltip@3.5.0(react@18.2.0):
3104
+ resolution: {integrity: sha512-zjKJDUMVbkzRpSHLGYpK12NpWy2NPfqS7MlGPB8fjjdY4bQjVOGlGWPqcfnE28gdNRYWZuMBwJSC0NrT8iylUg==}
3105
+ peerDependencies:
3106
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3107
+ dependencies:
3108
+ '@react-aria/focus': 3.12.0(react@18.2.0)
3109
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
3110
+ '@react-aria/utils': 3.16.0(react@18.2.0)
3111
+ '@react-stately/tooltip': 3.4.0(react@18.2.0)
3112
+ '@react-types/shared': 3.18.0(react@18.2.0)
3113
+ '@react-types/tooltip': 3.4.0(react@18.2.0)
3114
+ '@swc/helpers': 0.4.14
3115
+ react: 18.2.0
3116
+ dev: false
3117
+
3118
+ /@react-aria/utils@3.16.0(react@18.2.0):
3119
+ resolution: {integrity: sha512-BumpgENDlXuoRPQm1OfVUYRcxY9vwuXw1AmUpwF61v55gAZT3LvJWsfF8jgfQNzLJr5jtr7xvUx7pXuEyFpJMA==}
3120
+ peerDependencies:
3121
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3122
+ dependencies:
3123
+ '@react-aria/ssr': 3.6.0(react@18.2.0)
3124
+ '@react-stately/utils': 3.6.0(react@18.2.0)
3125
+ '@react-types/shared': 3.18.0(react@18.2.0)
3126
+ '@swc/helpers': 0.4.14
3127
+ clsx: 1.2.1
3128
+ react: 18.2.0
3129
+ dev: false
3130
+
3131
+ /@react-aria/visually-hidden@3.8.0(react@18.2.0):
3132
+ resolution: {integrity: sha512-Ox7VcO8vfdA1rCHPcUuP9DWfCI9bNFVlvN/u66AfjwBLH40MnGGdob5hZswQnbxOY4e0kwkMQDmZwNPYzBQgsg==}
3133
+ peerDependencies:
3134
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3135
+ dependencies:
3136
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
3137
+ '@react-aria/utils': 3.16.0(react@18.2.0)
3138
+ '@react-types/shared': 3.18.0(react@18.2.0)
3139
+ '@swc/helpers': 0.4.14
3140
+ clsx: 1.2.1
3141
+ react: 18.2.0
3142
+ dev: false
3143
+
3144
+ /@react-stately/calendar@3.2.0(react@18.2.0):
3145
+ resolution: {integrity: sha512-A13QSmlzLI5rtpIu2QIkij4ST29MWkCJd1kM6WFDS/1if8lSzfPL3kI4tdFDaFzFCwmv2Hb2cIfv9soIG8KASQ==}
3146
+ peerDependencies:
3147
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3148
+ dependencies:
3149
+ '@internationalized/date': 3.2.0
3150
+ '@react-stately/utils': 3.6.0(react@18.2.0)
3151
+ '@react-types/calendar': 3.2.0(react@18.2.0)
3152
+ '@react-types/datepicker': 3.3.0(react@18.2.0)
3153
+ '@react-types/shared': 3.18.0(react@18.2.0)
3154
+ '@swc/helpers': 0.4.14
3155
+ react: 18.2.0
3156
+ dev: false
3157
+
3158
+ /@react-stately/checkbox@3.4.1(react@18.2.0):
3159
+ resolution: {integrity: sha512-Ju1EBuIE/JJbuhd8xMkgqf3KuSNpRrwXsgtI+Ur42F+lAedZH7vqy+5bZPo0Q3u0yHcNJzexZXOxHZNqq1ij8w==}
3160
+ peerDependencies:
3161
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3162
+ dependencies:
3163
+ '@react-stately/toggle': 3.5.1(react@18.2.0)
3164
+ '@react-stately/utils': 3.6.0(react@18.2.0)
3165
+ '@react-types/checkbox': 3.4.3(react@18.2.0)
3166
+ '@react-types/shared': 3.18.0(react@18.2.0)
3167
+ '@swc/helpers': 0.4.14
3168
+ react: 18.2.0
3169
+ dev: false
3170
+
3171
+ /@react-stately/collections@3.7.0(react@18.2.0):
3172
+ resolution: {integrity: sha512-xZHJxjGXFe3LUbuNgR1yATBVSIQnm+ItLq2DJZo3JzTtRu3gEwLoRRoapPsBQnC5VsjcaimgoqvT05P0AlvCTQ==}
3173
+ peerDependencies:
3174
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3175
+ dependencies:
3176
+ '@react-types/shared': 3.18.0(react@18.2.0)
3177
+ '@swc/helpers': 0.4.14
3178
+ react: 18.2.0
3179
+ dev: false
3180
+
3181
+ /@react-stately/combobox@3.5.0(react@18.2.0):
3182
+ resolution: {integrity: sha512-1klrkm1q1awoPUIXt0kKRrUu+rISLQkHRkStjLupXgGOnJUyYP0XWPYHCnRV+IR2K2RnWYiEY5kOi7TEp/F7Fw==}
3183
+ peerDependencies:
3184
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3185
+ dependencies:
3186
+ '@react-stately/collections': 3.7.0(react@18.2.0)
3187
+ '@react-stately/list': 3.8.0(react@18.2.0)
3188
+ '@react-stately/menu': 3.5.1(react@18.2.0)
3189
+ '@react-stately/select': 3.5.0(react@18.2.0)
3190
+ '@react-stately/utils': 3.6.0(react@18.2.0)
3191
+ '@react-types/combobox': 3.6.1(react@18.2.0)
3192
+ '@react-types/shared': 3.18.0(react@18.2.0)
3193
+ '@swc/helpers': 0.4.14
3194
+ react: 18.2.0
3195
+ dev: false
3196
+
3197
+ /@react-stately/data@3.9.1(react@18.2.0):
3198
+ resolution: {integrity: sha512-UClgI8jQTF3hVR/WLa2ht7Gjd2x2PRnYycDmfY+mfbd+ONBD7rX/m3KWGgrR8AvO05qSpQoSlab8D+cfLXvgWA==}
3199
+ peerDependencies:
3200
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3201
+ dependencies:
3202
+ '@react-types/shared': 3.18.0(react@18.2.0)
3203
+ '@swc/helpers': 0.4.14
3204
+ react: 18.2.0
3205
+ dev: false
3206
+
3207
+ /@react-stately/datepicker@3.4.0(react@18.2.0):
3208
+ resolution: {integrity: sha512-JiRQBQYDXOQDdJl5YUGob10aVYp2N/F5rSSkRt7MrBJhC87bkDW0ARfs83gnl398WOJ6d9rJp0f+CJa1mjtzUw==}
3209
+ peerDependencies:
3210
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3211
+ dependencies:
3212
+ '@internationalized/date': 3.2.0
3213
+ '@internationalized/string': 3.1.0
3214
+ '@react-stately/overlays': 3.5.1(react@18.2.0)
3215
+ '@react-stately/utils': 3.6.0(react@18.2.0)
3216
+ '@react-types/datepicker': 3.3.0(react@18.2.0)
3217
+ '@react-types/shared': 3.18.0(react@18.2.0)
3218
+ '@swc/helpers': 0.4.14
3219
+ react: 18.2.0
3220
+ dev: false
3221
+
3222
+ /@react-stately/dnd@3.2.0(react@18.2.0):
3223
+ resolution: {integrity: sha512-e+f5lBiBBHmgqwcKKPxJBpCSx08iuNacNUFQ5/yIWm/enpjwTQhCMyfOFCLM1DfSllM/19GlqV/GiDRM7xjEAQ==}
3224
+ peerDependencies:
3225
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3226
+ dependencies:
3227
+ '@react-stately/selection': 3.13.0(react@18.2.0)
3228
+ '@react-types/shared': 3.18.0(react@18.2.0)
3229
+ '@swc/helpers': 0.4.14
3230
+ react: 18.2.0
3231
+ dev: false
3232
+
3233
+ /@react-stately/grid@3.6.0(react@18.2.0):
3234
+ resolution: {integrity: sha512-Sq/ivfq9Kskghoe6rYh2PfhB9/jBGfoj8wUZ4bqHcalTrBjfUvkcWMSFosibYPNZFDkA7r00bbJPDJVf1VLhuw==}
3235
+ peerDependencies:
3236
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3237
+ dependencies:
3238
+ '@react-stately/collections': 3.7.0(react@18.2.0)
3239
+ '@react-stately/selection': 3.13.0(react@18.2.0)
3240
+ '@react-types/grid': 3.1.7(react@18.2.0)
3241
+ '@react-types/shared': 3.18.0(react@18.2.0)
3242
+ '@swc/helpers': 0.4.14
3243
+ react: 18.2.0
3244
+ dev: false
3245
+
3246
+ /@react-stately/layout@3.12.0(react@18.2.0):
3247
+ resolution: {integrity: sha512-CsBGh1Xp3SL64g5xTxNYEWdnNmmqryOyrK4BW59pzpXFytVquv4MBb6t/YRl5PnhtsORxk5aTR21NZkhDQa7jA==}
3248
+ peerDependencies:
3249
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3250
+ dependencies:
3251
+ '@react-stately/collections': 3.7.0(react@18.2.0)
3252
+ '@react-stately/table': 3.9.0(react@18.2.0)
3253
+ '@react-stately/virtualizer': 3.5.1(react@18.2.0)
3254
+ '@react-types/grid': 3.1.7(react@18.2.0)
3255
+ '@react-types/shared': 3.18.0(react@18.2.0)
3256
+ '@react-types/table': 3.6.0(react@18.2.0)
3257
+ '@swc/helpers': 0.4.14
3258
+ react: 18.2.0
3259
+ dev: false
3260
+
3261
+ /@react-stately/list@3.8.0(react@18.2.0):
3262
+ resolution: {integrity: sha512-eJ1iUFnXPZi5MGW2h/RdNTrKtq4HLoAlFAQbC4eSPlET6VDeFsX9NkKhE/A111ia24DnWCqJB5zH20EvNbOxxA==}
3263
+ peerDependencies:
3264
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3265
+ dependencies:
3266
+ '@react-stately/collections': 3.7.0(react@18.2.0)
3267
+ '@react-stately/selection': 3.13.0(react@18.2.0)
3268
+ '@react-stately/utils': 3.6.0(react@18.2.0)
3269
+ '@react-types/shared': 3.18.0(react@18.2.0)
3270
+ '@swc/helpers': 0.4.14
3271
+ react: 18.2.0
3272
+ dev: false
3273
+
3274
+ /@react-stately/menu@3.5.1(react@18.2.0):
3275
+ resolution: {integrity: sha512-nnuZlDBFIc3gB34kofbKDStFg9r8rijY+7ez2VWQmss72I9D7+JTn7OXJxV0oQt2lBYmNfS5W6bC9uXk3Z4dLg==}
3276
+ peerDependencies:
3277
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3278
+ dependencies:
3279
+ '@react-stately/overlays': 3.5.1(react@18.2.0)
3280
+ '@react-stately/utils': 3.6.0(react@18.2.0)
3281
+ '@react-types/menu': 3.9.0(react@18.2.0)
3282
+ '@react-types/shared': 3.18.0(react@18.2.0)
3283
+ '@swc/helpers': 0.4.14
3284
+ react: 18.2.0
3285
+ dev: false
3286
+
3287
+ /@react-stately/numberfield@3.4.1(react@18.2.0):
3288
+ resolution: {integrity: sha512-fpIyk3Wf9HN/fY/T2y4q9mA/9z4no8QMY4tEIn/tkumjU6QGzxCSRO0qb3RFE8sU0etsVAZOkPi+97DeQVLExw==}
3289
+ peerDependencies:
3290
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3291
+ dependencies:
3292
+ '@internationalized/number': 3.2.0
3293
+ '@react-stately/utils': 3.6.0(react@18.2.0)
3294
+ '@react-types/numberfield': 3.4.1(react@18.2.0)
3295
+ '@react-types/shared': 3.18.0(react@18.2.0)
3296
+ '@swc/helpers': 0.4.14
3297
+ react: 18.2.0
3298
+ dev: false
3299
+
3300
+ /@react-stately/overlays@3.5.1(react@18.2.0):
3301
+ resolution: {integrity: sha512-lDKqqpdaIQdJb8DS4+tT7p0TLyCeaUaFpEtWZNjyv1/nguoqYtSeRwnyPR4p/YM4AW7SJspNiTJSLQxkTMIa8w==}
3302
+ peerDependencies:
3303
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3304
+ dependencies:
3305
+ '@react-stately/utils': 3.6.0(react@18.2.0)
3306
+ '@react-types/overlays': 3.7.1(react@18.2.0)
3307
+ '@swc/helpers': 0.4.14
3308
+ react: 18.2.0
3309
+ dev: false
3310
+
3311
+ /@react-stately/radio@3.8.0(react@18.2.0):
3312
+ resolution: {integrity: sha512-3xNocZ8jlS8JcQtlS+pGhGLmrTA/P6zWs7Xi3Cx/I6ialFVL7IE0W37Z0XTYrvpNhE9hmG4+j63ZqQDNj2nu6A==}
3313
+ peerDependencies:
3314
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3315
+ dependencies:
3316
+ '@react-stately/utils': 3.6.0(react@18.2.0)
3317
+ '@react-types/radio': 3.4.1(react@18.2.0)
3318
+ '@react-types/shared': 3.18.0(react@18.2.0)
3319
+ '@swc/helpers': 0.4.14
3320
+ react: 18.2.0
3321
+ dev: false
3322
+
3323
+ /@react-stately/searchfield@3.4.1(react@18.2.0):
3324
+ resolution: {integrity: sha512-iEMcT2hH15TSoONi6FyFa9mh+H/UyNneYFzaUgl7kEClfL38Dq/y0zF18N9T8PJ0GvXN2Yj9Fc0AvycNy3DQ8g==}
3325
+ peerDependencies:
3326
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3327
+ dependencies:
3328
+ '@react-stately/utils': 3.6.0(react@18.2.0)
3329
+ '@react-types/searchfield': 3.4.1(react@18.2.0)
3330
+ '@react-types/shared': 3.18.0(react@18.2.0)
3331
+ '@swc/helpers': 0.4.14
3332
+ react: 18.2.0
3333
+ dev: false
3334
+
3335
+ /@react-stately/select@3.5.0(react@18.2.0):
3336
+ resolution: {integrity: sha512-65gCPkIcyhGBDlWKYQY+Xvx38r7dtZ/GMp09LFZqqZTYSe29EgY45Owv4+EQ2ZSoZxb3cEvG/sv+hLL0VSGjgQ==}
3337
+ peerDependencies:
3338
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3339
+ dependencies:
3340
+ '@react-stately/collections': 3.7.0(react@18.2.0)
3341
+ '@react-stately/list': 3.8.0(react@18.2.0)
3342
+ '@react-stately/menu': 3.5.1(react@18.2.0)
3343
+ '@react-stately/selection': 3.13.0(react@18.2.0)
3344
+ '@react-stately/utils': 3.6.0(react@18.2.0)
3345
+ '@react-types/select': 3.8.0(react@18.2.0)
3346
+ '@react-types/shared': 3.18.0(react@18.2.0)
3347
+ '@swc/helpers': 0.4.14
3348
+ react: 18.2.0
3349
+ dev: false
3350
+
3351
+ /@react-stately/selection@3.13.0(react@18.2.0):
3352
+ resolution: {integrity: sha512-F6FiB5GIS6wdmDDJtD2ofr+y6ysLHcvHVyUZHm00aEup2hcNjtNx3x4MlFIc3tO1LvxDSIIWXJhPXdB4sb32uw==}
3353
+ peerDependencies:
3354
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3355
+ dependencies:
3356
+ '@react-stately/collections': 3.7.0(react@18.2.0)
3357
+ '@react-stately/utils': 3.6.0(react@18.2.0)
3358
+ '@react-types/shared': 3.18.0(react@18.2.0)
3359
+ '@swc/helpers': 0.4.14
3360
+ react: 18.2.0
3361
+ dev: false
3362
+
3363
+ /@react-stately/slider@3.3.1(react@18.2.0):
3364
+ resolution: {integrity: sha512-d38VY/jAvDzohYvqsdwsegcRCmzO1Ed4N3cdSGqYNTkr/nLTye/NZGpzt8kGbPUsc4UzOH7GoycqG6x6hFlyuw==}
3365
+ peerDependencies:
3366
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3367
+ dependencies:
3368
+ '@react-aria/i18n': 3.7.1(react@18.2.0)
3369
+ '@react-aria/utils': 3.16.0(react@18.2.0)
3370
+ '@react-stately/utils': 3.6.0(react@18.2.0)
3371
+ '@react-types/shared': 3.18.0(react@18.2.0)
3372
+ '@react-types/slider': 3.5.0(react@18.2.0)
3373
+ '@swc/helpers': 0.4.14
3374
+ react: 18.2.0
3375
+ dev: false
3376
+
3377
+ /@react-stately/table@3.9.0(react@18.2.0):
3378
+ resolution: {integrity: sha512-Cl0jmC5eCEhWBAhCjhGklsgYluziNZHF34lHnc99T/DPP+OxwrgwS9rJKTW7L6UOvHU/ADKjEwkE/fZuqVBohg==}
3379
+ peerDependencies:
3380
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3381
+ dependencies:
3382
+ '@react-stately/collections': 3.7.0(react@18.2.0)
3383
+ '@react-stately/grid': 3.6.0(react@18.2.0)
3384
+ '@react-stately/selection': 3.13.0(react@18.2.0)
3385
+ '@react-types/grid': 3.1.7(react@18.2.0)
3386
+ '@react-types/shared': 3.18.0(react@18.2.0)
3387
+ '@react-types/table': 3.6.0(react@18.2.0)
3388
+ '@swc/helpers': 0.4.14
3389
+ react: 18.2.0
3390
+ dev: false
3391
+
3392
+ /@react-stately/tabs@3.4.0(react@18.2.0):
3393
+ resolution: {integrity: sha512-GeU0cykAEsyTf2tWC7JZqqLrgxPT1WriCmu9QAswJ7Dev1PkPvwDy3CEhJ3QDklTlhiLXLZOooyHh37lZTjRdg==}
3394
+ peerDependencies:
3395
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3396
+ dependencies:
3397
+ '@react-stately/list': 3.8.0(react@18.2.0)
3398
+ '@react-stately/utils': 3.6.0(react@18.2.0)
3399
+ '@react-types/shared': 3.18.0(react@18.2.0)
3400
+ '@react-types/tabs': 3.2.1(react@18.2.0)
3401
+ '@swc/helpers': 0.4.14
3402
+ react: 18.2.0
3403
+ dev: false
3404
+
3405
+ /@react-stately/toggle@3.5.1(react@18.2.0):
3406
+ resolution: {integrity: sha512-PF4ZaATpXWu7DkneGSZ2/PA6LJ1MrhKNiaENTZlbojXMRr5kK33wPzaDW7I8O25IUm0+rvQicv7A6QkEOxgOPg==}
3407
+ peerDependencies:
3408
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3409
+ dependencies:
3410
+ '@react-stately/utils': 3.6.0(react@18.2.0)
3411
+ '@react-types/checkbox': 3.4.3(react@18.2.0)
3412
+ '@react-types/shared': 3.18.0(react@18.2.0)
3413
+ '@swc/helpers': 0.4.14
3414
+ react: 18.2.0
3415
+ dev: false
3416
+
3417
+ /@react-stately/tooltip@3.4.0(react@18.2.0):
3418
+ resolution: {integrity: sha512-TQyDIcugRah4eGmbK6UsyrtJrKJKte+xKv8X7kgdiGVMWiENiMG5h+3pGa8OT07FJzg7FvQHkMH+hrIuAqXT2g==}
3419
+ peerDependencies:
3420
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3421
+ dependencies:
3422
+ '@react-stately/overlays': 3.5.1(react@18.2.0)
3423
+ '@react-stately/utils': 3.6.0(react@18.2.0)
3424
+ '@react-types/tooltip': 3.4.0(react@18.2.0)
3425
+ '@swc/helpers': 0.4.14
3426
+ react: 18.2.0
3427
+ dev: false
3428
+
3429
+ /@react-stately/tree@3.6.0(react@18.2.0):
3430
+ resolution: {integrity: sha512-9ekYGaebgMmd2p6PGRzsvr8KsDsDnrJF2uLV1GMq9hBaMxOLN5/dpxgfZGdHWoF3MXgeHeLloqrleMNfO6g64Q==}
3431
+ peerDependencies:
3432
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3433
+ dependencies:
3434
+ '@react-stately/collections': 3.7.0(react@18.2.0)
3435
+ '@react-stately/selection': 3.13.0(react@18.2.0)
3436
+ '@react-stately/utils': 3.6.0(react@18.2.0)
3437
+ '@react-types/shared': 3.18.0(react@18.2.0)
3438
+ '@swc/helpers': 0.4.14
3439
+ react: 18.2.0
3440
+ dev: false
3441
+
3442
+ /@react-stately/utils@3.6.0(react@18.2.0):
3443
+ resolution: {integrity: sha512-rptF7iUWDrquaYvBAS4QQhOBQyLBncDeHF03WnHXAxnuPJXNcr9cXJtjJPGCs036ZB8Q2hc9BGG5wNyMkF5v+Q==}
3444
+ peerDependencies:
3445
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3446
+ dependencies:
3447
+ '@swc/helpers': 0.4.14
3448
+ react: 18.2.0
3449
+ dev: false
3450
+
3451
+ /@react-stately/virtualizer@3.5.1(react@18.2.0):
3452
+ resolution: {integrity: sha512-TVszEl8+os5eAwoETAJ0ndz5cnYFQs52OIcWonKRYbNp5KvWAV+OA2HuIrB3SSC29ZRB2bDqpj4S2LY4wWJPCw==}
3453
+ peerDependencies:
3454
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3455
+ dependencies:
3456
+ '@react-aria/utils': 3.16.0(react@18.2.0)
3457
+ '@react-types/shared': 3.18.0(react@18.2.0)
3458
+ '@swc/helpers': 0.4.14
3459
+ react: 18.2.0
3460
+ dev: false
3461
+
3462
+ /@react-types/breadcrumbs@3.5.1(react@18.2.0):
3463
+ resolution: {integrity: sha512-+l9134cLOrLpxfzrCzEZiVpH7rfhFm8/+xklpbbpz4RguAHmP5bvi9TMRqK0mC9LAdm2GhG7i23YED8Gcv5EVQ==}
3464
+ peerDependencies:
3465
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3466
+ dependencies:
3467
+ '@react-types/link': 3.4.1(react@18.2.0)
3468
+ '@react-types/shared': 3.18.0(react@18.2.0)
3469
+ react: 18.2.0
3470
+ dev: false
3471
+
3472
+ /@react-types/button@3.7.2(react@18.2.0):
3473
+ resolution: {integrity: sha512-P7L+r+k4yVrvsfEWx3wlzbb+G7c9XNWzxEBfy6WX9HnKb/J5bo4sP5Zi8/TFVaKTlaG60wmVhdr+8KWSjL0GuQ==}
3474
+ peerDependencies:
3475
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3476
+ dependencies:
3477
+ '@react-types/shared': 3.18.0(react@18.2.0)
3478
+ react: 18.2.0
3479
+ dev: false
3480
+
3481
+ /@react-types/calendar@3.2.0(react@18.2.0):
3482
+ resolution: {integrity: sha512-MunGx/lQgf/Lf9v2MrWoqKTZhJJcyAhUno2MewytdMQNXwtY2FB1X4fUufMMrKHwhVnFVkGfEQJCh4FAm5P9JA==}
3483
+ peerDependencies:
3484
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3485
+ dependencies:
3486
+ '@internationalized/date': 3.2.0
3487
+ '@react-types/shared': 3.18.0(react@18.2.0)
3488
+ react: 18.2.0
3489
+ dev: false
3490
+
3491
+ /@react-types/checkbox@3.4.3(react@18.2.0):
3492
+ resolution: {integrity: sha512-kn2f8mK88yvRrCfh8jYCDL2xpPhSApFWk9+qjWGsX/bnGGob7D5n71YYQ4cS58117YK2nrLc/AyQJXcZnJiA7Q==}
3493
+ peerDependencies:
3494
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3495
+ dependencies:
3496
+ '@react-types/shared': 3.18.0(react@18.2.0)
3497
+ react: 18.2.0
3498
+ dev: false
3499
+
3500
+ /@react-types/combobox@3.6.1(react@18.2.0):
3501
+ resolution: {integrity: sha512-CydRYMc80d4Wi6HeXUhmVPrVUnvQm60WJUaX2hM71tkKFo9ZOM6oW02YuOicjkNr7gpM7PLUxvM4Poc9EvDQTw==}
3502
+ peerDependencies:
3503
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3504
+ dependencies:
3505
+ '@react-types/shared': 3.18.0(react@18.2.0)
3506
+ react: 18.2.0
3507
+ dev: false
3508
+
3509
+ /@react-types/datepicker@3.3.0(react@18.2.0):
3510
+ resolution: {integrity: sha512-dKhkpG3UhdwYqdpVjg5dCQgMefpr7sa4a6Ep6fvbyD/q7gv9+h0/1J5F3FJynW+CBL6uYhcZjNev2vjYVTDbEg==}
3511
+ peerDependencies:
3512
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3513
+ dependencies:
3514
+ '@internationalized/date': 3.2.0
3515
+ '@react-types/overlays': 3.7.1(react@18.2.0)
3516
+ '@react-types/shared': 3.18.0(react@18.2.0)
3517
+ react: 18.2.0
3518
+ dev: false
3519
+
3520
+ /@react-types/dialog@3.5.1(react@18.2.0):
3521
+ resolution: {integrity: sha512-a0eeGIITFuOxY2fIL1WkJT5yWIMIQ+VM4vE5MtS59zV9JynDaiL4uNL4yg08kJZm8oyzxIWwrov4gAbEVVWbDQ==}
3522
+ peerDependencies:
3523
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3524
+ dependencies:
3525
+ '@react-types/overlays': 3.7.1(react@18.2.0)
3526
+ '@react-types/shared': 3.18.0(react@18.2.0)
3527
+ react: 18.2.0
3528
+ dev: false
3529
+
3530
+ /@react-types/grid@3.1.7(react@18.2.0):
3531
+ resolution: {integrity: sha512-YKo/AbJrgWErPmr5y0K4o6Ts9ModFv5+2FVujecIydu3zLuHsVcx//6uVeHSy2W+uTV9vU/dpMP+GGgg+vWQhw==}
3532
+ peerDependencies:
3533
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3534
+ dependencies:
3535
+ '@react-types/shared': 3.18.0(react@18.2.0)
3536
+ react: 18.2.0
3537
+ dev: false
3538
+
3539
+ /@react-types/label@3.7.3(react@18.2.0):
3540
+ resolution: {integrity: sha512-TKuQ2REPl4UVq/wl3CAujzixeNVVso0Kob+0T1nP8jIt9k9ssdLMAgSh8Z4zNNfR+oBIngYOA9IToMnbx6qACA==}
3541
+ peerDependencies:
3542
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3543
+ dependencies:
3544
+ '@react-types/shared': 3.18.0(react@18.2.0)
3545
+ react: 18.2.0
3546
+ dev: false
3547
+
3548
+ /@react-types/link@3.4.1(react@18.2.0):
3549
+ resolution: {integrity: sha512-ZoCfuS+0A0QrCG5kfp4ZeqXCMW39WCyTRSD9FCQvtTYOgCT4G5rvXBnCKIaN8T8w6WbgEbkg2wpRSG3Qd0GZJQ==}
3550
+ peerDependencies:
3551
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3552
+ dependencies:
3553
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
3554
+ '@react-types/shared': 3.18.0(react@18.2.0)
3555
+ react: 18.2.0
3556
+ dev: false
3557
+
3558
+ /@react-types/listbox@3.4.1(react@18.2.0):
3559
+ resolution: {integrity: sha512-2h1zJDQI3v4BFBwpjKc+OYXM2EzN2uxG5DiZ4MZUcWJDpa1+rOlfaPtBNUPiEVHt6fm6qeuoYVPf3r65Lo3IDw==}
3560
+ peerDependencies:
3561
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3562
+ dependencies:
3563
+ '@react-types/shared': 3.18.0(react@18.2.0)
3564
+ react: 18.2.0
3565
+ dev: false
3566
+
3567
+ /@react-types/menu@3.9.0(react@18.2.0):
3568
+ resolution: {integrity: sha512-aalUYwOkzcHn8X59vllgtH96YLqZvAr4mTj5GEs8chv5JVlmArUzcDiOymNrYZ0p9JzshzSUqxxXyCFpnnxghw==}
3569
+ peerDependencies:
3570
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3571
+ dependencies:
3572
+ '@react-types/overlays': 3.7.1(react@18.2.0)
3573
+ '@react-types/shared': 3.18.0(react@18.2.0)
3574
+ react: 18.2.0
3575
+ dev: false
3576
+
3577
+ /@react-types/meter@3.3.1(react@18.2.0):
3578
+ resolution: {integrity: sha512-KWaJ3OFW4X3tROpz/Dtun1d/RmghzXEBqAKeuv0AQDwy2QaQhQdAKgMpS7mPbkF906Xl8eNNDms+0Yi56EYJog==}
3579
+ peerDependencies:
3580
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3581
+ dependencies:
3582
+ '@react-types/progress': 3.4.0(react@18.2.0)
3583
+ '@react-types/shared': 3.18.0(react@18.2.0)
3584
+ react: 18.2.0
3585
+ dev: false
3586
+
3587
+ /@react-types/numberfield@3.4.1(react@18.2.0):
3588
+ resolution: {integrity: sha512-iS+s2BgOWUxYnMt+LG1OxlKZWeggKMBs55/NzVF5I2MCe1ju8ZUgM27g9A/gvUTdjt+fqx6VZu0MCipw0rVkIQ==}
3589
+ peerDependencies:
3590
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3591
+ dependencies:
3592
+ '@react-types/shared': 3.18.0(react@18.2.0)
3593
+ react: 18.2.0
3594
+ dev: false
3595
+
3596
+ /@react-types/overlays@3.7.1(react@18.2.0):
3597
+ resolution: {integrity: sha512-2AwYQkelr4p1uXR1KJIGQEbubOumzM853Hsyup2y/TaMbjvBWOVyzYWSrQURex667JZmpwUb0qjkEH+4z3Q74g==}
3598
+ peerDependencies:
3599
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3600
+ dependencies:
3601
+ '@react-types/shared': 3.18.0(react@18.2.0)
3602
+ react: 18.2.0
3603
+ dev: false
3604
+
3605
+ /@react-types/progress@3.4.0(react@18.2.0):
3606
+ resolution: {integrity: sha512-aSb7mn6nqVla8svO75/QZba7PhhdTh2rsvdwhvPkB7S06pbX6f0x+YCqXrpT+v9aPGxQ8q6U1b2I0fLrmQTSeA==}
3607
+ peerDependencies:
3608
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3609
+ dependencies:
3610
+ '@react-types/shared': 3.18.0(react@18.2.0)
3611
+ react: 18.2.0
3612
+ dev: false
3613
+
3614
+ /@react-types/radio@3.4.1(react@18.2.0):
3615
+ resolution: {integrity: sha512-8r7s+Zj0JoIpYgbuHjhE/eWUHKiptaFvYXMH986yKAg969VQlQiP9Dm4oWv2d+p26WbGK7oJDQJCt8NjASWl8g==}
3616
+ peerDependencies:
3617
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3618
+ dependencies:
3619
+ '@react-types/shared': 3.18.0(react@18.2.0)
3620
+ react: 18.2.0
3621
+ dev: false
3622
+
3623
+ /@react-types/searchfield@3.4.1(react@18.2.0):
3624
+ resolution: {integrity: sha512-JmIwylx88IYrntfw7vAWCL1Ip5okJIRtC8Ne6mr2IjT4oGA9BRF5LpoPdEZlXfVPwLt7jlwGLUwKphbkds+yUA==}
3625
+ peerDependencies:
3626
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3627
+ dependencies:
3628
+ '@react-types/shared': 3.18.0(react@18.2.0)
3629
+ '@react-types/textfield': 3.7.1(react@18.2.0)
3630
+ react: 18.2.0
3631
+ dev: false
3632
+
3633
+ /@react-types/select@3.8.0(react@18.2.0):
3634
+ resolution: {integrity: sha512-hdaB3CzK8GSip9oGahfnlwolRqdNow85CQwf5P0oEtIDdijihrG6hyphPu5HYGK687EF+lfhnWUYUMwckEwB8Q==}
3635
+ peerDependencies:
3636
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3637
+ dependencies:
3638
+ '@react-types/shared': 3.18.0(react@18.2.0)
3639
+ react: 18.2.0
3640
+ dev: false
3641
+
3642
+ /@react-types/shared@3.18.0(react@18.2.0):
3643
+ resolution: {integrity: sha512-WJj7RAPj7NLdR/VzFObgvCju9NMDktWSruSPJ3DrL5qyrrvJoyMW67L4YjNoVp2b7Y+k10E0q4fSMV0PlJoL0w==}
3644
+ peerDependencies:
3645
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3646
+ dependencies:
3647
+ react: 18.2.0
3648
+ dev: false
3649
+
3650
+ /@react-types/slider@3.5.0(react@18.2.0):
3651
+ resolution: {integrity: sha512-ri0jGWt1x/+nWLLJmlRKaS0xyAjTE1UtsobEYotKkQjzG93WrsEZrb0tLmDnXyEfWi3NXyrReQcORveyv4EQ5g==}
3652
+ peerDependencies:
3653
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3654
+ dependencies:
3655
+ '@react-types/shared': 3.18.0(react@18.2.0)
3656
+ react: 18.2.0
3657
+ dev: false
3658
+
3659
+ /@react-types/switch@3.3.1(react@18.2.0):
3660
+ resolution: {integrity: sha512-EvKWPtcOLTF7Wh8YCxJEtmqRZX3qSLRYPaIntl/CKF+14QXErPXwOn0ObLfy6VNda5jDJBOecWpgC69JEjkvfw==}
3661
+ peerDependencies:
3662
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3663
+ dependencies:
3664
+ '@react-types/checkbox': 3.4.3(react@18.2.0)
3665
+ '@react-types/shared': 3.18.0(react@18.2.0)
3666
+ react: 18.2.0
3667
+ dev: false
3668
+
3669
+ /@react-types/table@3.6.0(react@18.2.0):
3670
+ resolution: {integrity: sha512-jUp8yTWJuJlqpJY+EIEppgjFsZ3oj4y9zg1oUO+l1rqRWEqmAdoq42g3dTZHmnz9hQJkUeo34I1HGaB9kxNqvg==}
3671
+ peerDependencies:
3672
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3673
+ dependencies:
3674
+ '@react-types/grid': 3.1.7(react@18.2.0)
3675
+ '@react-types/shared': 3.18.0(react@18.2.0)
3676
+ react: 18.2.0
3677
+ dev: false
3678
+
3679
+ /@react-types/tabs@3.2.1(react@18.2.0):
3680
+ resolution: {integrity: sha512-KgvhrYvISQUq540iuNc3bRvOCfLvaeqpB5VwDYR8amG1FVWHklCW8xx8Uz63SVkOvNtExYCrlw63M/OnjRUzOw==}
3681
+ peerDependencies:
3682
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3683
+ dependencies:
3684
+ '@react-types/shared': 3.18.0(react@18.2.0)
3685
+ react: 18.2.0
3686
+ dev: false
3687
+
3688
+ /@react-types/textfield@3.7.1(react@18.2.0):
3689
+ resolution: {integrity: sha512-6V5+6/VgDbmgN61pyVct1VrXb2hqq7Y43BFQ+/ZhFDlVaMpC5xKWKgW/gPbGLLc27gax8t2Brt7VHJj+d+yrUw==}
3690
+ peerDependencies:
3691
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3692
+ dependencies:
3693
+ '@react-types/shared': 3.18.0(react@18.2.0)
3694
+ react: 18.2.0
3695
+ dev: false
3696
+
3697
+ /@react-types/tooltip@3.4.0(react@18.2.0):
3698
+ resolution: {integrity: sha512-dvMwX377uJAMTuditfvwWed53YjV62XWMqW29Fave4xg3A807VVK3H1iEgwCIGA9ve2XHF8cJbqSHD635qU+tQ==}
3699
+ peerDependencies:
3700
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
3701
+ dependencies:
3702
+ '@react-types/overlays': 3.7.1(react@18.2.0)
3703
+ '@react-types/shared': 3.18.0(react@18.2.0)
3704
+ react: 18.2.0
3705
+ dev: false
3706
+
3707
+ /@rushstack/eslint-patch@1.2.0:
3708
+ resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==}
3709
+ dev: true
3710
+
3711
+ /@sinclair/typebox@0.25.24:
3712
+ resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==}
3713
+ dev: true
3714
+
3715
+ /@sinonjs/commons@3.0.0:
3716
+ resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==}
3717
+ dependencies:
3718
+ type-detect: 4.0.8
3719
+ dev: true
3720
+
3721
+ /@sinonjs/fake-timers@10.2.0:
3722
+ resolution: {integrity: sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg==}
3723
+ dependencies:
3724
+ '@sinonjs/commons': 3.0.0
3725
+ dev: true
3726
+
3727
+ /@swc/helpers@0.4.14:
3728
+ resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==}
3729
+ dependencies:
3730
+ tslib: 2.5.2
3731
+ dev: false
3732
+
3733
+ /@types/babel__core@7.20.0:
3734
+ resolution: {integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==}
3735
+ dependencies:
3736
+ '@babel/parser': 7.21.8
3737
+ '@babel/types': 7.21.5
3738
+ '@types/babel__generator': 7.6.4
3739
+ '@types/babel__template': 7.4.1
3740
+ '@types/babel__traverse': 7.18.5
3741
+ dev: true
3742
+
3743
+ /@types/babel__generator@7.6.4:
3744
+ resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==}
3745
+ dependencies:
3746
+ '@babel/types': 7.21.5
3747
+ dev: true
3748
+
3749
+ /@types/babel__template@7.4.1:
3750
+ resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==}
3751
+ dependencies:
3752
+ '@babel/parser': 7.21.8
3753
+ '@babel/types': 7.21.5
3754
+ dev: true
3755
+
3756
+ /@types/babel__traverse@7.18.5:
3757
+ resolution: {integrity: sha512-enCvTL8m/EHS/zIvJno9nE+ndYPh1/oNFzRYRmtUqJICG2VnCSBzMLW5VN2KCQU91f23tsNKR8v7VJJQMatl7Q==}
3758
+ dependencies:
3759
+ '@babel/types': 7.21.5
3760
+ dev: true
3761
+
3762
+ /@types/graceful-fs@4.1.6:
3763
+ resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==}
3764
+ dependencies:
3765
+ '@types/node': 20.2.1
3766
+ dev: true
3767
+
3768
+ /@types/istanbul-lib-coverage@2.0.4:
3769
+ resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==}
3770
+ dev: true
3771
+
3772
+ /@types/istanbul-lib-report@3.0.0:
3773
+ resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==}
3774
+ dependencies:
3775
+ '@types/istanbul-lib-coverage': 2.0.4
3776
+ dev: true
3777
+
3778
+ /@types/istanbul-reports@3.0.1:
3779
+ resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==}
3780
+ dependencies:
3781
+ '@types/istanbul-lib-report': 3.0.0
3782
+ dev: true
3783
+
3784
+ /@types/json-schema@7.0.11:
3785
+ resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==}
3786
+ dev: true
3787
+
3788
+ /@types/json5@0.0.29:
3789
+ resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
3790
+ dev: true
3791
+
3792
+ /@types/linkify-it@3.0.2:
3793
+ resolution: {integrity: sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==}
3794
+ dev: false
3795
+ optional: true
3796
+
3797
+ /@types/markdown-it@12.2.3:
3798
+ resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==}
3799
+ requiresBuild: true
3800
+ dependencies:
3801
+ '@types/linkify-it': 3.0.2
3802
+ '@types/mdurl': 1.0.2
3803
+ dev: false
3804
+ optional: true
3805
+
3806
+ /@types/mdurl@1.0.2:
3807
+ resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==}
3808
+ dev: false
3809
+ optional: true
3810
+
3811
+ /@types/node@20.2.1:
3812
+ resolution: {integrity: sha512-DqJociPbZP1lbZ5SQPk4oag6W7AyaGMO6gSfRwq3PWl4PXTwJpRQJhDq4W0kzrg3w6tJ1SwlvGZ5uKFHY13LIg==}
3813
+
3814
+ /@types/parse-json@4.0.0:
3815
+ resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==}
3816
+ dev: true
3817
+
3818
+ /@types/pg@8.10.1:
3819
+ resolution: {integrity: sha512-AmEHA/XxMxemQom5iDwP62FYNkv+gDDnetRG7v2N2dPtju7UKI7FknUimcZo7SodKTHtckYPzaTqUEvUKbVJEA==}
3820
+ dependencies:
3821
+ '@types/node': 20.2.1
3822
+ pg-protocol: 1.6.0
3823
+ pg-types: 4.0.1
3824
+ dev: false
3825
+
3826
+ /@types/prettier@2.7.2:
3827
+ resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==}
3828
+ dev: true
3829
+
3830
+ /@types/semver@7.5.0:
3831
+ resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==}
3832
+ dev: true
3833
+
3834
+ /@types/stack-utils@2.0.1:
3835
+ resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==}
3836
+ dev: true
3837
+
3838
+ /@types/yargs-parser@21.0.0:
3839
+ resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==}
3840
+ dev: true
3841
+
3842
+ /@types/yargs@17.0.24:
3843
+ resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==}
3844
+ dependencies:
3845
+ '@types/yargs-parser': 21.0.0
3846
+ dev: true
3847
+
3848
+ /@typescript-eslint/eslint-plugin@5.59.6(@typescript-eslint/parser@5.59.6)(eslint@8.35.0)(typescript@5.0.4):
3849
+ resolution: {integrity: sha512-sXtOgJNEuRU5RLwPUb1jxtToZbgvq3M6FPpY4QENxoOggK+UpTxUBpj6tD8+Qh2g46Pi9We87E+eHnUw8YcGsw==}
3850
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
3851
+ peerDependencies:
3852
+ '@typescript-eslint/parser': ^5.0.0
3853
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
3854
+ typescript: '*'
3855
+ peerDependenciesMeta:
3856
+ typescript:
3857
+ optional: true
3858
+ dependencies:
3859
+ '@eslint-community/regexpp': 4.5.1
3860
+ '@typescript-eslint/parser': 5.59.6(eslint@8.35.0)(typescript@5.0.4)
3861
+ '@typescript-eslint/scope-manager': 5.59.6
3862
+ '@typescript-eslint/type-utils': 5.59.6(eslint@8.35.0)(typescript@5.0.4)
3863
+ '@typescript-eslint/utils': 5.59.6(eslint@8.35.0)(typescript@5.0.4)
3864
+ debug: 4.3.4
3865
+ eslint: 8.35.0
3866
+ grapheme-splitter: 1.0.4
3867
+ ignore: 5.2.4
3868
+ natural-compare-lite: 1.4.0
3869
+ semver: 7.5.1
3870
+ tsutils: 3.21.0(typescript@5.0.4)
3871
+ typescript: 5.0.4
3872
+ transitivePeerDependencies:
3873
+ - supports-color
3874
+ dev: true
3875
+
3876
+ /@typescript-eslint/experimental-utils@5.59.6(eslint@8.35.0)(typescript@5.0.4):
3877
+ resolution: {integrity: sha512-UIVfEaaHggOuhgqdpFlFQ7IN9UFMCiBR/N7uPBUyUlwNdJzYfAu9m4wbOj0b59oI/HSPW1N63Q7lsvfwTQY13w==}
3878
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
3879
+ peerDependencies:
3880
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
3881
+ dependencies:
3882
+ '@typescript-eslint/utils': 5.59.6(eslint@8.35.0)(typescript@5.0.4)
3883
+ eslint: 8.35.0
3884
+ transitivePeerDependencies:
3885
+ - supports-color
3886
+ - typescript
3887
+ dev: true
3888
+
3889
+ /@typescript-eslint/parser@5.59.6(eslint@8.35.0)(typescript@5.0.4):
3890
+ resolution: {integrity: sha512-7pCa6al03Pv1yf/dUg/s1pXz/yGMUBAw5EeWqNTFiSueKvRNonze3hma3lhdsOrQcaOXhbk5gKu2Fludiho9VA==}
3891
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
3892
+ peerDependencies:
3893
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
3894
+ typescript: '*'
3895
+ peerDependenciesMeta:
3896
+ typescript:
3897
+ optional: true
3898
+ dependencies:
3899
+ '@typescript-eslint/scope-manager': 5.59.6
3900
+ '@typescript-eslint/types': 5.59.6
3901
+ '@typescript-eslint/typescript-estree': 5.59.6(typescript@5.0.4)
3902
+ debug: 4.3.4
3903
+ eslint: 8.35.0
3904
+ typescript: 5.0.4
3905
+ transitivePeerDependencies:
3906
+ - supports-color
3907
+ dev: true
3908
+
3909
+ /@typescript-eslint/scope-manager@5.59.6:
3910
+ resolution: {integrity: sha512-gLbY3Le9Dxcb8KdpF0+SJr6EQ+hFGYFl6tVY8VxLPFDfUZC7BHFw+Vq7bM5lE9DwWPfx4vMWWTLGXgpc0mAYyQ==}
3911
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
3912
+ dependencies:
3913
+ '@typescript-eslint/types': 5.59.6
3914
+ '@typescript-eslint/visitor-keys': 5.59.6
3915
+ dev: true
3916
+
3917
+ /@typescript-eslint/type-utils@5.59.6(eslint@8.35.0)(typescript@5.0.4):
3918
+ resolution: {integrity: sha512-A4tms2Mp5yNvLDlySF+kAThV9VTBPCvGf0Rp8nl/eoDX9Okun8byTKoj3fJ52IJitjWOk0fKPNQhXEB++eNozQ==}
3919
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
3920
+ peerDependencies:
3921
+ eslint: '*'
3922
+ typescript: '*'
3923
+ peerDependenciesMeta:
3924
+ typescript:
3925
+ optional: true
3926
+ dependencies:
3927
+ '@typescript-eslint/typescript-estree': 5.59.6(typescript@5.0.4)
3928
+ '@typescript-eslint/utils': 5.59.6(eslint@8.35.0)(typescript@5.0.4)
3929
+ debug: 4.3.4
3930
+ eslint: 8.35.0
3931
+ tsutils: 3.21.0(typescript@5.0.4)
3932
+ typescript: 5.0.4
3933
+ transitivePeerDependencies:
3934
+ - supports-color
3935
+ dev: true
3936
+
3937
+ /@typescript-eslint/types@5.59.6:
3938
+ resolution: {integrity: sha512-tH5lBXZI7T2MOUgOWFdVNUILsI02shyQvfzG9EJkoONWugCG77NDDa1EeDGw7oJ5IvsTAAGVV8I3Tk2PNu9QfA==}
3939
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
3940
+ dev: true
3941
+
3942
+ /@typescript-eslint/typescript-estree@5.59.6(typescript@5.0.4):
3943
+ resolution: {integrity: sha512-vW6JP3lMAs/Tq4KjdI/RiHaaJSO7IUsbkz17it/Rl9Q+WkQ77EOuOnlbaU8kKfVIOJxMhnRiBG+olE7f3M16DA==}
3944
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
3945
+ peerDependencies:
3946
+ typescript: '*'
3947
+ peerDependenciesMeta:
3948
+ typescript:
3949
+ optional: true
3950
+ dependencies:
3951
+ '@typescript-eslint/types': 5.59.6
3952
+ '@typescript-eslint/visitor-keys': 5.59.6
3953
+ debug: 4.3.4
3954
+ globby: 11.1.0
3955
+ is-glob: 4.0.3
3956
+ semver: 7.5.1
3957
+ tsutils: 3.21.0(typescript@5.0.4)
3958
+ typescript: 5.0.4
3959
+ transitivePeerDependencies:
3960
+ - supports-color
3961
+ dev: true
3962
+
3963
+ /@typescript-eslint/utils@5.59.6(eslint@8.35.0)(typescript@5.0.4):
3964
+ resolution: {integrity: sha512-vzaaD6EXbTS29cVH0JjXBdzMt6VBlv+hE31XktDRMX1j3462wZCJa7VzO2AxXEXcIl8GQqZPcOPuW/Z1tZVogg==}
3965
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
3966
+ peerDependencies:
3967
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
3968
+ dependencies:
3969
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.35.0)
3970
+ '@types/json-schema': 7.0.11
3971
+ '@types/semver': 7.5.0
3972
+ '@typescript-eslint/scope-manager': 5.59.6
3973
+ '@typescript-eslint/types': 5.59.6
3974
+ '@typescript-eslint/typescript-estree': 5.59.6(typescript@5.0.4)
3975
+ eslint: 8.35.0
3976
+ eslint-scope: 5.1.1
3977
+ semver: 7.5.1
3978
+ transitivePeerDependencies:
3979
+ - supports-color
3980
+ - typescript
3981
+ dev: true
3982
+
3983
+ /@typescript-eslint/visitor-keys@5.59.6:
3984
+ resolution: {integrity: sha512-zEfbFLzB9ETcEJ4HZEEsCR9HHeNku5/Qw1jSS5McYJv5BR+ftYXwFFAH5Al+xkGaZEqowMwl7uoJjQb1YSPF8Q==}
3985
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
3986
+ dependencies:
3987
+ '@typescript-eslint/types': 5.59.6
3988
+ eslint-visitor-keys: 3.4.1
3989
+ dev: true
3990
+
3991
+ /@vitejs/plugin-react@4.0.0(vite@4.3.9):
3992
+ resolution: {integrity: sha512-HX0XzMjL3hhOYm+0s95pb0Z7F8O81G7joUHgfDd/9J/ZZf5k4xX6QAMFkKsHFxaHlf6X7GD7+XuaZ66ULiJuhQ==}
3993
+ engines: {node: ^14.18.0 || >=16.0.0}
3994
+ peerDependencies:
3995
+ vite: ^4.2.0
3996
+ dependencies:
3997
+ '@babel/core': 7.21.8
3998
+ '@babel/plugin-transform-react-jsx-self': 7.21.0(@babel/core@7.21.8)
3999
+ '@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.21.8)
4000
+ react-refresh: 0.14.0
4001
+ vite: 4.3.9
4002
+ transitivePeerDependencies:
4003
+ - supports-color
4004
+ dev: true
4005
+
4006
+ /accepts@1.3.8:
4007
+ resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
4008
+ engines: {node: '>= 0.6'}
4009
+ dependencies:
4010
+ mime-types: 2.1.35
4011
+ negotiator: 0.6.3
4012
+ dev: true
4013
+
4014
+ /acorn-jsx@5.3.2(acorn@8.8.2):
4015
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
4016
+ peerDependencies:
4017
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
4018
+ dependencies:
4019
+ acorn: 8.8.2
4020
+ dev: true
4021
+
4022
+ /acorn-walk@8.2.0:
4023
+ resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
4024
+ engines: {node: '>=0.4.0'}
4025
+ dev: true
4026
+
4027
+ /acorn@8.8.2:
4028
+ resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
4029
+ engines: {node: '>=0.4.0'}
4030
+ hasBin: true
4031
+ dev: true
4032
+
4033
+ /ajv@6.12.6:
4034
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
4035
+ dependencies:
4036
+ fast-deep-equal: 3.1.3
4037
+ fast-json-stable-stringify: 2.1.0
4038
+ json-schema-traverse: 0.4.1
4039
+ uri-js: 4.4.1
4040
+ dev: true
4041
+
4042
+ /ansi-escapes@4.3.2:
4043
+ resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
4044
+ engines: {node: '>=8'}
4045
+ dependencies:
4046
+ type-fest: 0.21.3
4047
+ dev: true
4048
+
4049
+ /ansi-regex@5.0.1:
4050
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
4051
+ engines: {node: '>=8'}
4052
+ dev: true
4053
+
4054
+ /ansi-styles@3.2.1:
4055
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
4056
+ engines: {node: '>=4'}
4057
+ dependencies:
4058
+ color-convert: 1.9.3
4059
+ dev: true
4060
+
4061
+ /ansi-styles@4.3.0:
4062
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
4063
+ engines: {node: '>=8'}
4064
+ dependencies:
4065
+ color-convert: 2.0.1
4066
+ dev: true
4067
+
4068
+ /ansi-styles@5.2.0:
4069
+ resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
4070
+ engines: {node: '>=10'}
4071
+ dev: true
4072
+
4073
+ /anymatch@3.1.3:
4074
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
4075
+ engines: {node: '>= 8'}
4076
+ dependencies:
4077
+ normalize-path: 3.0.0
4078
+ picomatch: 2.3.1
4079
+ dev: true
4080
+
4081
+ /argparse@1.0.10:
4082
+ resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
4083
+ dependencies:
4084
+ sprintf-js: 1.0.3
4085
+ dev: true
4086
+
4087
+ /argparse@2.0.1:
4088
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
4089
+ dev: true
4090
+
4091
+ /aria-query@5.1.3:
4092
+ resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==}
4093
+ dependencies:
4094
+ deep-equal: 2.2.1
4095
+ dev: true
4096
+
4097
+ /array-buffer-byte-length@1.0.0:
4098
+ resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==}
4099
+ dependencies:
4100
+ call-bind: 1.0.2
4101
+ is-array-buffer: 3.0.2
4102
+ dev: true
4103
+
4104
+ /array-flatten@1.1.1:
4105
+ resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
4106
+ dev: true
4107
+
4108
+ /array-includes@3.1.6:
4109
+ resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==}
4110
+ engines: {node: '>= 0.4'}
4111
+ dependencies:
4112
+ call-bind: 1.0.2
4113
+ define-properties: 1.2.0
4114
+ es-abstract: 1.21.2
4115
+ get-intrinsic: 1.2.1
4116
+ is-string: 1.0.7
4117
+ dev: true
4118
+
4119
+ /array-union@2.1.0:
4120
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
4121
+ engines: {node: '>=8'}
4122
+ dev: true
4123
+
4124
+ /array.prototype.flat@1.3.1:
4125
+ resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==}
4126
+ engines: {node: '>= 0.4'}
4127
+ dependencies:
4128
+ call-bind: 1.0.2
4129
+ define-properties: 1.2.0
4130
+ es-abstract: 1.21.2
4131
+ es-shim-unscopables: 1.0.0
4132
+ dev: true
4133
+
4134
+ /array.prototype.flatmap@1.3.1:
4135
+ resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==}
4136
+ engines: {node: '>= 0.4'}
4137
+ dependencies:
4138
+ call-bind: 1.0.2
4139
+ define-properties: 1.2.0
4140
+ es-abstract: 1.21.2
4141
+ es-shim-unscopables: 1.0.0
4142
+ dev: true
4143
+
4144
+ /array.prototype.tosorted@1.1.1:
4145
+ resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==}
4146
+ dependencies:
4147
+ call-bind: 1.0.2
4148
+ define-properties: 1.2.0
4149
+ es-abstract: 1.21.2
4150
+ es-shim-unscopables: 1.0.0
4151
+ get-intrinsic: 1.2.1
4152
+ dev: true
4153
+
4154
+ /as-table@1.0.55:
4155
+ resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==}
4156
+ dependencies:
4157
+ printable-characters: 1.0.42
4158
+ dev: true
4159
+
4160
+ /ast-types-flow@0.0.7:
4161
+ resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==}
4162
+ dev: true
4163
+
4164
+ /autoprefixer@10.4.14(postcss@8.4.21):
4165
+ resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==}
4166
+ engines: {node: ^10 || ^12 || >=14}
4167
+ hasBin: true
4168
+ peerDependencies:
4169
+ postcss: ^8.1.0
4170
+ dependencies:
4171
+ browserslist: 4.21.5
4172
+ caniuse-lite: 1.0.30001488
4173
+ fraction.js: 4.2.0
4174
+ normalize-range: 0.1.2
4175
+ picocolors: 1.0.0
4176
+ postcss: 8.4.21
4177
+ postcss-value-parser: 4.2.0
4178
+ dev: true
4179
+
4180
+ /available-typed-arrays@1.0.5:
4181
+ resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
4182
+ engines: {node: '>= 0.4'}
4183
+ dev: true
4184
+
4185
+ /axe-core@4.7.1:
4186
+ resolution: {integrity: sha512-sCXXUhA+cljomZ3ZAwb8i1p3oOlkABzPy08ZDAoGcYuvtBPlQ1Ytde129ArXyHWDhfeewq7rlx9F+cUx2SSlkg==}
4187
+ engines: {node: '>=4'}
4188
+ dev: true
4189
+
4190
+ /axobject-query@3.1.1:
4191
+ resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==}
4192
+ dependencies:
4193
+ deep-equal: 2.2.1
4194
+ dev: true
4195
+
4196
+ /babel-jest@29.5.0(@babel/core@7.21.8):
4197
+ resolution: {integrity: sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==}
4198
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
4199
+ peerDependencies:
4200
+ '@babel/core': ^7.8.0
4201
+ dependencies:
4202
+ '@babel/core': 7.21.8
4203
+ '@jest/transform': 29.5.0
4204
+ '@types/babel__core': 7.20.0
4205
+ babel-plugin-istanbul: 6.1.1
4206
+ babel-preset-jest: 29.5.0(@babel/core@7.21.8)
4207
+ chalk: 4.1.2
4208
+ graceful-fs: 4.2.11
4209
+ slash: 3.0.0
4210
+ transitivePeerDependencies:
4211
+ - supports-color
4212
+ dev: true
4213
+
4214
+ /babel-plugin-istanbul@6.1.1:
4215
+ resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
4216
+ engines: {node: '>=8'}
4217
+ dependencies:
4218
+ '@babel/helper-plugin-utils': 7.21.5
4219
+ '@istanbuljs/load-nyc-config': 1.1.0
4220
+ '@istanbuljs/schema': 0.1.3
4221
+ istanbul-lib-instrument: 5.2.1
4222
+ test-exclude: 6.0.0
4223
+ transitivePeerDependencies:
4224
+ - supports-color
4225
+ dev: true
4226
+
4227
+ /babel-plugin-jest-hoist@29.5.0:
4228
+ resolution: {integrity: sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==}
4229
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
4230
+ dependencies:
4231
+ '@babel/template': 7.20.7
4232
+ '@babel/types': 7.21.5
4233
+ '@types/babel__core': 7.20.0
4234
+ '@types/babel__traverse': 7.18.5
4235
+ dev: true
4236
+
4237
+ /babel-plugin-macros@3.1.0:
4238
+ resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
4239
+ engines: {node: '>=10', npm: '>=6'}
4240
+ dependencies:
4241
+ '@babel/runtime': 7.21.5
4242
+ cosmiconfig: 7.1.0
4243
+ resolve: 1.22.2
4244
+ dev: true
4245
+
4246
+ /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.21.8):
4247
+ resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==}
4248
+ peerDependencies:
4249
+ '@babel/core': ^7.0.0-0
4250
+ dependencies:
4251
+ '@babel/compat-data': 7.21.7
4252
+ '@babel/core': 7.21.8
4253
+ '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.8)
4254
+ semver: 6.3.0
4255
+ transitivePeerDependencies:
4256
+ - supports-color
4257
+ dev: true
4258
+
4259
+ /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.21.8):
4260
+ resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==}
4261
+ peerDependencies:
4262
+ '@babel/core': ^7.0.0-0
4263
+ dependencies:
4264
+ '@babel/core': 7.21.8
4265
+ '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.8)
4266
+ core-js-compat: 3.30.2
4267
+ transitivePeerDependencies:
4268
+ - supports-color
4269
+ dev: true
4270
+
4271
+ /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.21.8):
4272
+ resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==}
4273
+ peerDependencies:
4274
+ '@babel/core': ^7.0.0-0
4275
+ dependencies:
4276
+ '@babel/core': 7.21.8
4277
+ '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.8)
4278
+ transitivePeerDependencies:
4279
+ - supports-color
4280
+ dev: true
4281
+
4282
+ /babel-plugin-transform-react-remove-prop-types@0.4.24:
4283
+ resolution: {integrity: sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==}
4284
+ dev: true
4285
+
4286
+ /babel-preset-current-node-syntax@1.0.1(@babel/core@7.21.8):
4287
+ resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==}
4288
+ peerDependencies:
4289
+ '@babel/core': ^7.0.0
4290
+ dependencies:
4291
+ '@babel/core': 7.21.8
4292
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.8)
4293
+ '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.21.8)
4294
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.8)
4295
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.21.8)
4296
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.8)
4297
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.8)
4298
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.8)
4299
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.8)
4300
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.8)
4301
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.8)
4302
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.8)
4303
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.8)
4304
+ dev: true
4305
+
4306
+ /babel-preset-jest@29.5.0(@babel/core@7.21.8):
4307
+ resolution: {integrity: sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==}
4308
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
4309
+ peerDependencies:
4310
+ '@babel/core': ^7.0.0
4311
+ dependencies:
4312
+ '@babel/core': 7.21.8
4313
+ babel-plugin-jest-hoist: 29.5.0
4314
+ babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.8)
4315
+ dev: true
4316
+
4317
+ /babel-preset-react-app@10.0.1:
4318
+ resolution: {integrity: sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==}
4319
+ dependencies:
4320
+ '@babel/core': 7.21.8
4321
+ '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.8)
4322
+ '@babel/plugin-proposal-decorators': 7.21.0(@babel/core@7.21.8)
4323
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.8)
4324
+ '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.8)
4325
+ '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.8)
4326
+ '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.21.8)
4327
+ '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.21.8)
4328
+ '@babel/plugin-transform-flow-strip-types': 7.21.0(@babel/core@7.21.8)
4329
+ '@babel/plugin-transform-react-display-name': 7.18.6(@babel/core@7.21.8)
4330
+ '@babel/plugin-transform-runtime': 7.21.4(@babel/core@7.21.8)
4331
+ '@babel/preset-env': 7.21.5(@babel/core@7.21.8)
4332
+ '@babel/preset-react': 7.18.6(@babel/core@7.21.8)
4333
+ '@babel/preset-typescript': 7.21.5(@babel/core@7.21.8)
4334
+ '@babel/runtime': 7.21.5
4335
+ babel-plugin-macros: 3.1.0
4336
+ babel-plugin-transform-react-remove-prop-types: 0.4.24
4337
+ transitivePeerDependencies:
4338
+ - supports-color
4339
+ dev: true
4340
+
4341
+ /balanced-match@1.0.2:
4342
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
4343
+ dev: true
4344
+
4345
+ /base64-js@1.5.1:
4346
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
4347
+ dev: true
4348
+
4349
+ /better-sqlite3@8.4.0:
4350
+ resolution: {integrity: sha512-NmsNW1CQvqMszu/CFAJ3pLct6NEFlNfuGM6vw72KHkjOD1UDnL96XNN1BMQc1hiHo8vE2GbOWQYIpZ+YM5wrZw==}
4351
+ requiresBuild: true
4352
+ dependencies:
4353
+ bindings: 1.5.0
4354
+ prebuild-install: 7.1.1
4355
+ dev: true
4356
+
4357
+ /binary-extensions@2.2.0:
4358
+ resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
4359
+ engines: {node: '>=8'}
4360
+ dev: true
4361
+
4362
+ /bindings@1.5.0:
4363
+ resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
4364
+ dependencies:
4365
+ file-uri-to-path: 1.0.0
4366
+ dev: true
4367
+
4368
+ /bl@4.1.0:
4369
+ resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
4370
+ dependencies:
4371
+ buffer: 5.7.1
4372
+ inherits: 2.0.4
4373
+ readable-stream: 3.6.2
4374
+ dev: true
4375
+
4376
+ /blake3-wasm@2.1.5:
4377
+ resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==}
4378
+ dev: true
4379
+
4380
+ /body-parser@1.20.1:
4381
+ resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==}
4382
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
4383
+ dependencies:
4384
+ bytes: 3.1.2
4385
+ content-type: 1.0.5
4386
+ debug: 2.6.9
4387
+ depd: 2.0.0
4388
+ destroy: 1.2.0
4389
+ http-errors: 2.0.0
4390
+ iconv-lite: 0.4.24
4391
+ on-finished: 2.4.1
4392
+ qs: 6.11.0
4393
+ raw-body: 2.5.1
4394
+ type-is: 1.6.18
4395
+ unpipe: 1.0.0
4396
+ transitivePeerDependencies:
4397
+ - supports-color
4398
+ dev: true
4399
+
4400
+ /brace-expansion@1.1.11:
4401
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
4402
+ dependencies:
4403
+ balanced-match: 1.0.2
4404
+ concat-map: 0.0.1
4405
+ dev: true
4406
+
4407
+ /brace-expansion@2.0.1:
4408
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
4409
+ dependencies:
4410
+ balanced-match: 1.0.2
4411
+ dev: true
4412
+
4413
+ /braces@3.0.2:
4414
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
4415
+ engines: {node: '>=8'}
4416
+ dependencies:
4417
+ fill-range: 7.0.1
4418
+ dev: true
4419
+
4420
+ /browserslist@4.21.5:
4421
+ resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==}
4422
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
4423
+ hasBin: true
4424
+ dependencies:
4425
+ caniuse-lite: 1.0.30001488
4426
+ electron-to-chromium: 1.4.402
4427
+ node-releases: 2.0.10
4428
+ update-browserslist-db: 1.0.11(browserslist@4.21.5)
4429
+ dev: true
4430
+
4431
+ /bser@2.1.1:
4432
+ resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
4433
+ dependencies:
4434
+ node-int64: 0.4.0
4435
+ dev: true
4436
+
4437
+ /buffer-from@1.1.2:
4438
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
4439
+ dev: true
4440
+
4441
+ /buffer@5.7.1:
4442
+ resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
4443
+ dependencies:
4444
+ base64-js: 1.5.1
4445
+ ieee754: 1.2.1
4446
+ dev: true
4447
+
4448
+ /busboy@1.6.0:
4449
+ resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
4450
+ engines: {node: '>=10.16.0'}
4451
+ dependencies:
4452
+ streamsearch: 1.1.0
4453
+ dev: true
4454
+
4455
+ /bytes@3.1.2:
4456
+ resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
4457
+ engines: {node: '>= 0.8'}
4458
+ dev: true
4459
+
4460
+ /call-bind@1.0.2:
4461
+ resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
4462
+ dependencies:
4463
+ function-bind: 1.1.1
4464
+ get-intrinsic: 1.2.1
4465
+ dev: true
4466
+
4467
+ /callsites@3.1.0:
4468
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
4469
+ engines: {node: '>=6'}
4470
+ dev: true
4471
+
4472
+ /camelcase@5.3.1:
4473
+ resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
4474
+ engines: {node: '>=6'}
4475
+ dev: true
4476
+
4477
+ /camelcase@6.3.0:
4478
+ resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
4479
+ engines: {node: '>=10'}
4480
+ dev: true
4481
+
4482
+ /camelcase@7.0.1:
4483
+ resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==}
4484
+ engines: {node: '>=14.16'}
4485
+ dev: true
4486
+
4487
+ /caniuse-lite@1.0.30001488:
4488
+ resolution: {integrity: sha512-NORIQuuL4xGpIy6iCCQGN4iFjlBXtfKWIenlUuyZJumLRIindLb7wXM+GO8erEhb7vXfcnf4BAg2PrSDN5TNLQ==}
4489
+ dev: true
4490
+
4491
+ /capnp-ts@0.7.0:
4492
+ resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==}
4493
+ dependencies:
4494
+ debug: 4.3.4
4495
+ tslib: 2.5.2
4496
+ transitivePeerDependencies:
4497
+ - supports-color
4498
+ dev: true
4499
+
4500
+ /chalk@2.4.2:
4501
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
4502
+ engines: {node: '>=4'}
4503
+ dependencies:
4504
+ ansi-styles: 3.2.1
4505
+ escape-string-regexp: 1.0.5
4506
+ supports-color: 5.5.0
4507
+ dev: true
4508
+
4509
+ /chalk@4.1.2:
4510
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
4511
+ engines: {node: '>=10'}
4512
+ dependencies:
4513
+ ansi-styles: 4.3.0
4514
+ supports-color: 7.2.0
4515
+ dev: true
4516
+
4517
+ /chalk@5.2.0:
4518
+ resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==}
4519
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
4520
+ dev: true
4521
+
4522
+ /char-regex@1.0.2:
4523
+ resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
4524
+ engines: {node: '>=10'}
4525
+ dev: true
4526
+
4527
+ /chokidar@3.5.3:
4528
+ resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
4529
+ engines: {node: '>= 8.10.0'}
4530
+ dependencies:
4531
+ anymatch: 3.1.3
4532
+ braces: 3.0.2
4533
+ glob-parent: 5.1.2
4534
+ is-binary-path: 2.1.0
4535
+ is-glob: 4.0.3
4536
+ normalize-path: 3.0.0
4537
+ readdirp: 3.6.0
4538
+ optionalDependencies:
4539
+ fsevents: 2.3.2
4540
+ dev: true
4541
+
4542
+ /chownr@1.1.4:
4543
+ resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
4544
+ dev: true
4545
+
4546
+ /ci-info@3.8.0:
4547
+ resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==}
4548
+ engines: {node: '>=8'}
4549
+ dev: true
4550
+
4551
+ /cjs-module-lexer@1.2.2:
4552
+ resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==}
4553
+ dev: true
4554
+
4555
+ /cli-color@2.0.3:
4556
+ resolution: {integrity: sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==}
4557
+ engines: {node: '>=0.10'}
4558
+ dependencies:
4559
+ d: 1.0.1
4560
+ es5-ext: 0.10.62
4561
+ es6-iterator: 2.0.3
4562
+ memoizee: 0.4.15
4563
+ timers-ext: 0.1.7
4564
+ dev: true
4565
+
4566
+ /cliui@8.0.1:
4567
+ resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
4568
+ engines: {node: '>=12'}
4569
+ dependencies:
4570
+ string-width: 4.2.3
4571
+ strip-ansi: 6.0.1
4572
+ wrap-ansi: 7.0.0
4573
+ dev: true
4574
+
4575
+ /clsx@1.2.1:
4576
+ resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==}
4577
+ engines: {node: '>=6'}
4578
+ dev: false
4579
+
4580
+ /co@4.6.0:
4581
+ resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
4582
+ engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
4583
+ dev: true
4584
+
4585
+ /collect-v8-coverage@1.0.1:
4586
+ resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==}
4587
+ dev: true
4588
+
4589
+ /color-convert@1.9.3:
4590
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
4591
+ dependencies:
4592
+ color-name: 1.1.3
4593
+ dev: true
4594
+
4595
+ /color-convert@2.0.1:
4596
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
4597
+ engines: {node: '>=7.0.0'}
4598
+ dependencies:
4599
+ color-name: 1.1.4
4600
+ dev: true
4601
+
4602
+ /color-name@1.1.3:
4603
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
4604
+ dev: true
4605
+
4606
+ /color-name@1.1.4:
4607
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
4608
+ dev: true
4609
+
4610
+ /commander@9.5.0:
4611
+ resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
4612
+ engines: {node: ^12.20.0 || >=14}
4613
+ dev: true
4614
+
4615
+ /concat-map@0.0.1:
4616
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
4617
+ dev: true
4618
+
4619
+ /confusing-browser-globals@1.0.11:
4620
+ resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==}
4621
+ dev: true
4622
+
4623
+ /content-disposition@0.5.4:
4624
+ resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
4625
+ engines: {node: '>= 0.6'}
4626
+ dependencies:
4627
+ safe-buffer: 5.2.1
4628
+ dev: true
4629
+
4630
+ /content-type@1.0.5:
4631
+ resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
4632
+ engines: {node: '>= 0.6'}
4633
+ dev: true
4634
+
4635
+ /convert-source-map@1.9.0:
4636
+ resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
4637
+ dev: true
4638
+
4639
+ /convert-source-map@2.0.0:
4640
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
4641
+ dev: true
4642
+
4643
+ /cookie-signature@1.0.6:
4644
+ resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
4645
+ dev: true
4646
+
4647
+ /cookie@0.5.0:
4648
+ resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
4649
+ engines: {node: '>= 0.6'}
4650
+ dev: true
4651
+
4652
+ /core-js-compat@3.30.2:
4653
+ resolution: {integrity: sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==}
4654
+ dependencies:
4655
+ browserslist: 4.21.5
4656
+ dev: true
4657
+
4658
+ /cosmiconfig@7.1.0:
4659
+ resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
4660
+ engines: {node: '>=10'}
4661
+ dependencies:
4662
+ '@types/parse-json': 4.0.0
4663
+ import-fresh: 3.3.0
4664
+ parse-json: 5.2.0
4665
+ path-type: 4.0.0
4666
+ yaml: 1.10.2
4667
+ dev: true
4668
+
4669
+ /cross-spawn@7.0.3:
4670
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
4671
+ engines: {node: '>= 8'}
4672
+ dependencies:
4673
+ path-key: 3.1.1
4674
+ shebang-command: 2.0.0
4675
+ which: 2.0.2
4676
+ dev: true
4677
+
4678
+ /cssesc@3.0.0:
4679
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
4680
+ engines: {node: '>=4'}
4681
+ hasBin: true
4682
+ dev: true
4683
+
4684
+ /d@1.0.1:
4685
+ resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==}
4686
+ dependencies:
4687
+ es5-ext: 0.10.62
4688
+ type: 1.2.0
4689
+ dev: true
4690
+
4691
+ /damerau-levenshtein@1.0.8:
4692
+ resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
4693
+ dev: true
4694
+
4695
+ /data-uri-to-buffer@2.0.2:
4696
+ resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==}
4697
+ dev: true
4698
+
4699
+ /debug@2.6.9:
4700
+ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
4701
+ peerDependencies:
4702
+ supports-color: '*'
4703
+ peerDependenciesMeta:
4704
+ supports-color:
4705
+ optional: true
4706
+ dependencies:
4707
+ ms: 2.0.0
4708
+ dev: true
4709
+
4710
+ /debug@3.2.7:
4711
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
4712
+ peerDependencies:
4713
+ supports-color: '*'
4714
+ peerDependenciesMeta:
4715
+ supports-color:
4716
+ optional: true
4717
+ dependencies:
4718
+ ms: 2.1.3
4719
+ dev: true
4720
+
4721
+ /debug@4.3.4:
4722
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
4723
+ engines: {node: '>=6.0'}
4724
+ peerDependencies:
4725
+ supports-color: '*'
4726
+ peerDependenciesMeta:
4727
+ supports-color:
4728
+ optional: true
4729
+ dependencies:
4730
+ ms: 2.1.2
4731
+ dev: true
4732
+
4733
+ /decompress-response@6.0.0:
4734
+ resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
4735
+ engines: {node: '>=10'}
4736
+ dependencies:
4737
+ mimic-response: 3.1.0
4738
+ dev: true
4739
+
4740
+ /dedent@0.7.0:
4741
+ resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
4742
+ dev: true
4743
+
4744
+ /deep-equal@2.2.1:
4745
+ resolution: {integrity: sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ==}
4746
+ dependencies:
4747
+ array-buffer-byte-length: 1.0.0
4748
+ call-bind: 1.0.2
4749
+ es-get-iterator: 1.1.3
4750
+ get-intrinsic: 1.2.1
4751
+ is-arguments: 1.1.1
4752
+ is-array-buffer: 3.0.2
4753
+ is-date-object: 1.0.5
4754
+ is-regex: 1.1.4
4755
+ is-shared-array-buffer: 1.0.2
4756
+ isarray: 2.0.5
4757
+ object-is: 1.1.5
4758
+ object-keys: 1.1.1
4759
+ object.assign: 4.1.4
4760
+ regexp.prototype.flags: 1.5.0
4761
+ side-channel: 1.0.4
4762
+ which-boxed-primitive: 1.0.2
4763
+ which-collection: 1.0.1
4764
+ which-typed-array: 1.1.9
4765
+ dev: true
4766
+
4767
+ /deep-extend@0.6.0:
4768
+ resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
4769
+ engines: {node: '>=4.0.0'}
4770
+ dev: true
4771
+
4772
+ /deep-is@0.1.4:
4773
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
4774
+ dev: true
4775
+
4776
+ /deepmerge@4.3.1:
4777
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
4778
+ engines: {node: '>=0.10.0'}
4779
+ dev: true
4780
+
4781
+ /define-properties@1.2.0:
4782
+ resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==}
4783
+ engines: {node: '>= 0.4'}
4784
+ dependencies:
4785
+ has-property-descriptors: 1.0.0
4786
+ object-keys: 1.1.1
4787
+ dev: true
4788
+
4789
+ /depd@2.0.0:
4790
+ resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
4791
+ engines: {node: '>= 0.8'}
4792
+ dev: true
4793
+
4794
+ /destroy@1.2.0:
4795
+ resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
4796
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
4797
+ dev: true
4798
+
4799
+ /detect-libc@2.0.1:
4800
+ resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==}
4801
+ engines: {node: '>=8'}
4802
+ dev: true
4803
+
4804
+ /detect-newline@3.1.0:
4805
+ resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
4806
+ engines: {node: '>=8'}
4807
+ dev: true
4808
+
4809
+ /diff-sequences@29.4.3:
4810
+ resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==}
4811
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
4812
+ dev: true
4813
+
4814
+ /difflib@0.2.4:
4815
+ resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==}
4816
+ dependencies:
4817
+ heap: 0.2.7
4818
+ dev: true
4819
+
4820
+ /dir-glob@3.0.1:
4821
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
4822
+ engines: {node: '>=8'}
4823
+ dependencies:
4824
+ path-type: 4.0.0
4825
+ dev: true
4826
+
4827
+ /doctrine@2.1.0:
4828
+ resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
4829
+ engines: {node: '>=0.10.0'}
4830
+ dependencies:
4831
+ esutils: 2.0.3
4832
+ dev: true
4833
+
4834
+ /doctrine@3.0.0:
4835
+ resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
4836
+ engines: {node: '>=6.0.0'}
4837
+ dependencies:
4838
+ esutils: 2.0.3
4839
+ dev: true
4840
+
4841
+ /dotenv@16.0.3:
4842
+ resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==}
4843
+ engines: {node: '>=12'}
4844
+ dev: true
4845
+
4846
+ /dreamopt@0.8.0:
4847
+ resolution: {integrity: sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg==}
4848
+ engines: {node: '>=0.4.0'}
4849
+ dependencies:
4850
+ wordwrap: 1.0.0
4851
+ dev: true
4852
+
4853
+ /drizzle-kit@0.18.0:
4854
+ resolution: {integrity: sha512-43oH0XNWJDfMmVtDVnW8OV+tIs3xXDb1MjdsDiv0a7unQAylr0hpGG0HD5uEPWSbt7oxBots+hnYWxo98D0KAg==}
4855
+ hasBin: true
4856
+ dependencies:
4857
+ camelcase: 7.0.1
4858
+ chalk: 5.2.0
4859
+ commander: 9.5.0
4860
+ esbuild: 0.15.18
4861
+ esbuild-register: 3.4.2(esbuild@0.15.18)
4862
+ glob: 8.1.0
4863
+ hanji: 0.0.5
4864
+ json-diff: 0.9.0
4865
+ minimatch: 7.4.6
4866
+ zod: 3.21.4
4867
+ transitivePeerDependencies:
4868
+ - supports-color
4869
+ dev: true
4870
+
4871
+ /drizzle-orm@0.26.0(@neondatabase/serverless@0.4.5)(postgres@3.3.4):
4872
+ resolution: {integrity: sha512-ztjhHehcuG5+lpGYxfT/L5I+yd/Z0dOf0fV3cS2ywBU01wkpxjwl4EJZVT7kVzjYfM8kwMGDghAPRPBCK0vULA==}
4873
+ peerDependencies:
4874
+ '@aws-sdk/client-rds-data': '>=3'
4875
+ '@cloudflare/workers-types': '>=3'
4876
+ '@libsql/client': '*'
4877
+ '@neondatabase/serverless': '>=0.1'
4878
+ '@planetscale/database': '>=1'
4879
+ '@types/better-sqlite3': '*'
4880
+ '@types/pg': '*'
4881
+ '@types/sql.js': '*'
4882
+ '@vercel/postgres': '*'
4883
+ better-sqlite3: '>=7'
4884
+ bun-types: '*'
4885
+ knex: '*'
4886
+ kysely: '*'
4887
+ mysql2: '>=2'
4888
+ pg: '>=8'
4889
+ postgres: '>=3'
4890
+ sql.js: '>=1'
4891
+ sqlite3: '>=5'
4892
+ peerDependenciesMeta:
4893
+ '@aws-sdk/client-rds-data':
4894
+ optional: true
4895
+ '@cloudflare/workers-types':
4896
+ optional: true
4897
+ '@libsql/client':
4898
+ optional: true
4899
+ '@neondatabase/serverless':
4900
+ optional: true
4901
+ '@planetscale/database':
4902
+ optional: true
4903
+ '@types/better-sqlite3':
4904
+ optional: true
4905
+ '@types/pg':
4906
+ optional: true
4907
+ '@types/sql.js':
4908
+ optional: true
4909
+ '@vercel/postgres':
4910
+ optional: true
4911
+ better-sqlite3:
4912
+ optional: true
4913
+ bun-types:
4914
+ optional: true
4915
+ knex:
4916
+ optional: true
4917
+ kysely:
4918
+ optional: true
4919
+ mysql2:
4920
+ optional: true
4921
+ pg:
4922
+ optional: true
4923
+ postgres:
4924
+ optional: true
4925
+ sql.js:
4926
+ optional: true
4927
+ sqlite3:
4928
+ optional: true
4929
+ dependencies:
4930
+ '@neondatabase/serverless': 0.4.5
4931
+ postgres: 3.3.4
4932
+ dev: false
4933
+
4934
+ /ee-first@1.1.1:
4935
+ resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
4936
+ dev: true
4937
+
4938
+ /electron-to-chromium@1.4.402:
4939
+ resolution: {integrity: sha512-gWYvJSkohOiBE6ecVYXkrDgNaUjo47QEKK0kQzmWyhkH+yoYiG44bwuicTGNSIQRG3WDMsWVZJLRnJnLNkbWvA==}
4940
+ dev: true
4941
+
4942
+ /emittery@0.13.1:
4943
+ resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==}
4944
+ engines: {node: '>=12'}
4945
+ dev: true
4946
+
4947
+ /emoji-regex@8.0.0:
4948
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
4949
+ dev: true
4950
+
4951
+ /emoji-regex@9.2.2:
4952
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
4953
+ dev: true
4954
+
4955
+ /encodeurl@1.0.2:
4956
+ resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
4957
+ engines: {node: '>= 0.8'}
4958
+ dev: true
4959
+
4960
+ /end-of-stream@1.4.4:
4961
+ resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
4962
+ dependencies:
4963
+ once: 1.4.0
4964
+ dev: true
4965
+
4966
+ /error-ex@1.3.2:
4967
+ resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
4968
+ dependencies:
4969
+ is-arrayish: 0.2.1
4970
+ dev: true
4971
+
4972
+ /es-abstract@1.21.2:
4973
+ resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==}
4974
+ engines: {node: '>= 0.4'}
4975
+ dependencies:
4976
+ array-buffer-byte-length: 1.0.0
4977
+ available-typed-arrays: 1.0.5
4978
+ call-bind: 1.0.2
4979
+ es-set-tostringtag: 2.0.1
4980
+ es-to-primitive: 1.2.1
4981
+ function.prototype.name: 1.1.5
4982
+ get-intrinsic: 1.2.1
4983
+ get-symbol-description: 1.0.0
4984
+ globalthis: 1.0.3
4985
+ gopd: 1.0.1
4986
+ has: 1.0.3
4987
+ has-property-descriptors: 1.0.0
4988
+ has-proto: 1.0.1
4989
+ has-symbols: 1.0.3
4990
+ internal-slot: 1.0.5
4991
+ is-array-buffer: 3.0.2
4992
+ is-callable: 1.2.7
4993
+ is-negative-zero: 2.0.2
4994
+ is-regex: 1.1.4
4995
+ is-shared-array-buffer: 1.0.2
4996
+ is-string: 1.0.7
4997
+ is-typed-array: 1.1.10
4998
+ is-weakref: 1.0.2
4999
+ object-inspect: 1.12.3
5000
+ object-keys: 1.1.1
5001
+ object.assign: 4.1.4
5002
+ regexp.prototype.flags: 1.5.0
5003
+ safe-regex-test: 1.0.0
5004
+ string.prototype.trim: 1.2.7
5005
+ string.prototype.trimend: 1.0.6
5006
+ string.prototype.trimstart: 1.0.6
5007
+ typed-array-length: 1.0.4
5008
+ unbox-primitive: 1.0.2
5009
+ which-typed-array: 1.1.9
5010
+ dev: true
5011
+
5012
+ /es-get-iterator@1.1.3:
5013
+ resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==}
5014
+ dependencies:
5015
+ call-bind: 1.0.2
5016
+ get-intrinsic: 1.2.1
5017
+ has-symbols: 1.0.3
5018
+ is-arguments: 1.1.1
5019
+ is-map: 2.0.2
5020
+ is-set: 2.0.2
5021
+ is-string: 1.0.7
5022
+ isarray: 2.0.5
5023
+ stop-iteration-iterator: 1.0.0
5024
+ dev: true
5025
+
5026
+ /es-set-tostringtag@2.0.1:
5027
+ resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==}
5028
+ engines: {node: '>= 0.4'}
5029
+ dependencies:
5030
+ get-intrinsic: 1.2.1
5031
+ has: 1.0.3
5032
+ has-tostringtag: 1.0.0
5033
+ dev: true
5034
+
5035
+ /es-shim-unscopables@1.0.0:
5036
+ resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==}
5037
+ dependencies:
5038
+ has: 1.0.3
5039
+ dev: true
5040
+
5041
+ /es-to-primitive@1.2.1:
5042
+ resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
5043
+ engines: {node: '>= 0.4'}
5044
+ dependencies:
5045
+ is-callable: 1.2.7
5046
+ is-date-object: 1.0.5
5047
+ is-symbol: 1.0.4
5048
+ dev: true
5049
+
5050
+ /es5-ext@0.10.62:
5051
+ resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==}
5052
+ engines: {node: '>=0.10'}
5053
+ requiresBuild: true
5054
+ dependencies:
5055
+ es6-iterator: 2.0.3
5056
+ es6-symbol: 3.1.3
5057
+ next-tick: 1.1.0
5058
+ dev: true
5059
+
5060
+ /es6-iterator@2.0.3:
5061
+ resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
5062
+ dependencies:
5063
+ d: 1.0.1
5064
+ es5-ext: 0.10.62
5065
+ es6-symbol: 3.1.3
5066
+ dev: true
5067
+
5068
+ /es6-symbol@3.1.3:
5069
+ resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==}
5070
+ dependencies:
5071
+ d: 1.0.1
5072
+ ext: 1.7.0
5073
+ dev: true
5074
+
5075
+ /es6-weak-map@2.0.3:
5076
+ resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==}
5077
+ dependencies:
5078
+ d: 1.0.1
5079
+ es5-ext: 0.10.62
5080
+ es6-iterator: 2.0.3
5081
+ es6-symbol: 3.1.3
5082
+ dev: true
5083
+
5084
+ /esbuild-android-64@0.15.18:
5085
+ resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==}
5086
+ engines: {node: '>=12'}
5087
+ cpu: [x64]
5088
+ os: [android]
5089
+ requiresBuild: true
5090
+ dev: true
5091
+ optional: true
5092
+
5093
+ /esbuild-android-arm64@0.15.18:
5094
+ resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==}
5095
+ engines: {node: '>=12'}
5096
+ cpu: [arm64]
5097
+ os: [android]
5098
+ requiresBuild: true
5099
+ dev: true
5100
+ optional: true
5101
+
5102
+ /esbuild-darwin-64@0.15.18:
5103
+ resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==}
5104
+ engines: {node: '>=12'}
5105
+ cpu: [x64]
5106
+ os: [darwin]
5107
+ requiresBuild: true
5108
+ dev: true
5109
+ optional: true
5110
+
5111
+ /esbuild-darwin-arm64@0.15.18:
5112
+ resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==}
5113
+ engines: {node: '>=12'}
5114
+ cpu: [arm64]
5115
+ os: [darwin]
5116
+ requiresBuild: true
5117
+ dev: true
5118
+ optional: true
5119
+
5120
+ /esbuild-freebsd-64@0.15.18:
5121
+ resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==}
5122
+ engines: {node: '>=12'}
5123
+ cpu: [x64]
5124
+ os: [freebsd]
5125
+ requiresBuild: true
5126
+ dev: true
5127
+ optional: true
5128
+
5129
+ /esbuild-freebsd-arm64@0.15.18:
5130
+ resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==}
5131
+ engines: {node: '>=12'}
5132
+ cpu: [arm64]
5133
+ os: [freebsd]
5134
+ requiresBuild: true
5135
+ dev: true
5136
+ optional: true
5137
+
5138
+ /esbuild-linux-32@0.15.18:
5139
+ resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==}
5140
+ engines: {node: '>=12'}
5141
+ cpu: [ia32]
5142
+ os: [linux]
5143
+ requiresBuild: true
5144
+ dev: true
5145
+ optional: true
5146
+
5147
+ /esbuild-linux-64@0.15.18:
5148
+ resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==}
5149
+ engines: {node: '>=12'}
5150
+ cpu: [x64]
5151
+ os: [linux]
5152
+ requiresBuild: true
5153
+ dev: true
5154
+ optional: true
5155
+
5156
+ /esbuild-linux-arm64@0.15.18:
5157
+ resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==}
5158
+ engines: {node: '>=12'}
5159
+ cpu: [arm64]
5160
+ os: [linux]
5161
+ requiresBuild: true
5162
+ dev: true
5163
+ optional: true
5164
+
5165
+ /esbuild-linux-arm@0.15.18:
5166
+ resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==}
5167
+ engines: {node: '>=12'}
5168
+ cpu: [arm]
5169
+ os: [linux]
5170
+ requiresBuild: true
5171
+ dev: true
5172
+ optional: true
5173
+
5174
+ /esbuild-linux-mips64le@0.15.18:
5175
+ resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==}
5176
+ engines: {node: '>=12'}
5177
+ cpu: [mips64el]
5178
+ os: [linux]
5179
+ requiresBuild: true
5180
+ dev: true
5181
+ optional: true
5182
+
5183
+ /esbuild-linux-ppc64le@0.15.18:
5184
+ resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==}
5185
+ engines: {node: '>=12'}
5186
+ cpu: [ppc64]
5187
+ os: [linux]
5188
+ requiresBuild: true
5189
+ dev: true
5190
+ optional: true
5191
+
5192
+ /esbuild-linux-riscv64@0.15.18:
5193
+ resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==}
5194
+ engines: {node: '>=12'}
5195
+ cpu: [riscv64]
5196
+ os: [linux]
5197
+ requiresBuild: true
5198
+ dev: true
5199
+ optional: true
5200
+
5201
+ /esbuild-linux-s390x@0.15.18:
5202
+ resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==}
5203
+ engines: {node: '>=12'}
5204
+ cpu: [s390x]
5205
+ os: [linux]
5206
+ requiresBuild: true
5207
+ dev: true
5208
+ optional: true
5209
+
5210
+ /esbuild-netbsd-64@0.15.18:
5211
+ resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==}
5212
+ engines: {node: '>=12'}
5213
+ cpu: [x64]
5214
+ os: [netbsd]
5215
+ requiresBuild: true
5216
+ dev: true
5217
+ optional: true
5218
+
5219
+ /esbuild-openbsd-64@0.15.18:
5220
+ resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==}
5221
+ engines: {node: '>=12'}
5222
+ cpu: [x64]
5223
+ os: [openbsd]
5224
+ requiresBuild: true
5225
+ dev: true
5226
+ optional: true
5227
+
5228
+ /esbuild-plugin-resolve@2.0.0:
5229
+ resolution: {integrity: sha512-eJy9B8yDW5X/J48eWtR1uVmv+DKfHvYYnrrcqQoe/nUkVHVOTZlJnSevkYyGOz6hI90t036Y5QIPDrGzmppxfg==}
5230
+ dev: true
5231
+
5232
+ /esbuild-register@3.4.2(esbuild@0.15.18):
5233
+ resolution: {integrity: sha512-kG/XyTDyz6+YDuyfB9ZoSIOOmgyFCH+xPRtsCa8W85HLRV5Csp+o3jWVbOSHgSLfyLc5DmP+KFDNwty4mEjC+Q==}
5234
+ peerDependencies:
5235
+ esbuild: '>=0.12 <1'
5236
+ dependencies:
5237
+ debug: 4.3.4
5238
+ esbuild: 0.15.18
5239
+ transitivePeerDependencies:
5240
+ - supports-color
5241
+ dev: true
5242
+
5243
+ /esbuild-sunos-64@0.15.18:
5244
+ resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==}
5245
+ engines: {node: '>=12'}
5246
+ cpu: [x64]
5247
+ os: [sunos]
5248
+ requiresBuild: true
5249
+ dev: true
5250
+ optional: true
5251
+
5252
+ /esbuild-windows-32@0.15.18:
5253
+ resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==}
5254
+ engines: {node: '>=12'}
5255
+ cpu: [ia32]
5256
+ os: [win32]
5257
+ requiresBuild: true
5258
+ dev: true
5259
+ optional: true
5260
+
5261
+ /esbuild-windows-64@0.15.18:
5262
+ resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==}
5263
+ engines: {node: '>=12'}
5264
+ cpu: [x64]
5265
+ os: [win32]
5266
+ requiresBuild: true
5267
+ dev: true
5268
+ optional: true
5269
+
5270
+ /esbuild-windows-arm64@0.15.18:
5271
+ resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==}
5272
+ engines: {node: '>=12'}
5273
+ cpu: [arm64]
5274
+ os: [win32]
5275
+ requiresBuild: true
5276
+ dev: true
5277
+ optional: true
5278
+
5279
+ /esbuild@0.15.18:
5280
+ resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==}
5281
+ engines: {node: '>=12'}
5282
+ hasBin: true
5283
+ requiresBuild: true
5284
+ optionalDependencies:
5285
+ '@esbuild/android-arm': 0.15.18
5286
+ '@esbuild/linux-loong64': 0.15.18
5287
+ esbuild-android-64: 0.15.18
5288
+ esbuild-android-arm64: 0.15.18
5289
+ esbuild-darwin-64: 0.15.18
5290
+ esbuild-darwin-arm64: 0.15.18
5291
+ esbuild-freebsd-64: 0.15.18
5292
+ esbuild-freebsd-arm64: 0.15.18
5293
+ esbuild-linux-32: 0.15.18
5294
+ esbuild-linux-64: 0.15.18
5295
+ esbuild-linux-arm: 0.15.18
5296
+ esbuild-linux-arm64: 0.15.18
5297
+ esbuild-linux-mips64le: 0.15.18
5298
+ esbuild-linux-ppc64le: 0.15.18
5299
+ esbuild-linux-riscv64: 0.15.18
5300
+ esbuild-linux-s390x: 0.15.18
5301
+ esbuild-netbsd-64: 0.15.18
5302
+ esbuild-openbsd-64: 0.15.18
5303
+ esbuild-sunos-64: 0.15.18
5304
+ esbuild-windows-32: 0.15.18
5305
+ esbuild-windows-64: 0.15.18
5306
+ esbuild-windows-arm64: 0.15.18
5307
+ dev: true
5308
+
5309
+ /esbuild@0.16.3:
5310
+ resolution: {integrity: sha512-71f7EjPWTiSguen8X/kxEpkAS7BFHwtQKisCDDV3Y4GLGWBaoSCyD5uXkaUew6JDzA9FEN1W23mdnSwW9kqCeg==}
5311
+ engines: {node: '>=12'}
5312
+ hasBin: true
5313
+ requiresBuild: true
5314
+ optionalDependencies:
5315
+ '@esbuild/android-arm': 0.16.3
5316
+ '@esbuild/android-arm64': 0.16.3
5317
+ '@esbuild/android-x64': 0.16.3
5318
+ '@esbuild/darwin-arm64': 0.16.3
5319
+ '@esbuild/darwin-x64': 0.16.3
5320
+ '@esbuild/freebsd-arm64': 0.16.3
5321
+ '@esbuild/freebsd-x64': 0.16.3
5322
+ '@esbuild/linux-arm': 0.16.3
5323
+ '@esbuild/linux-arm64': 0.16.3
5324
+ '@esbuild/linux-ia32': 0.16.3
5325
+ '@esbuild/linux-loong64': 0.16.3
5326
+ '@esbuild/linux-mips64el': 0.16.3
5327
+ '@esbuild/linux-ppc64': 0.16.3
5328
+ '@esbuild/linux-riscv64': 0.16.3
5329
+ '@esbuild/linux-s390x': 0.16.3
5330
+ '@esbuild/linux-x64': 0.16.3
5331
+ '@esbuild/netbsd-x64': 0.16.3
5332
+ '@esbuild/openbsd-x64': 0.16.3
5333
+ '@esbuild/sunos-x64': 0.16.3
5334
+ '@esbuild/win32-arm64': 0.16.3
5335
+ '@esbuild/win32-ia32': 0.16.3
5336
+ '@esbuild/win32-x64': 0.16.3
5337
+ dev: true
5338
+
5339
+ /esbuild@0.17.19:
5340
+ resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==}
5341
+ engines: {node: '>=12'}
5342
+ hasBin: true
5343
+ requiresBuild: true
5344
+ optionalDependencies:
5345
+ '@esbuild/android-arm': 0.17.19
5346
+ '@esbuild/android-arm64': 0.17.19
5347
+ '@esbuild/android-x64': 0.17.19
5348
+ '@esbuild/darwin-arm64': 0.17.19
5349
+ '@esbuild/darwin-x64': 0.17.19
5350
+ '@esbuild/freebsd-arm64': 0.17.19
5351
+ '@esbuild/freebsd-x64': 0.17.19
5352
+ '@esbuild/linux-arm': 0.17.19
5353
+ '@esbuild/linux-arm64': 0.17.19
5354
+ '@esbuild/linux-ia32': 0.17.19
5355
+ '@esbuild/linux-loong64': 0.17.19
5356
+ '@esbuild/linux-mips64el': 0.17.19
5357
+ '@esbuild/linux-ppc64': 0.17.19
5358
+ '@esbuild/linux-riscv64': 0.17.19
5359
+ '@esbuild/linux-s390x': 0.17.19
5360
+ '@esbuild/linux-x64': 0.17.19
5361
+ '@esbuild/netbsd-x64': 0.17.19
5362
+ '@esbuild/openbsd-x64': 0.17.19
5363
+ '@esbuild/sunos-x64': 0.17.19
5364
+ '@esbuild/win32-arm64': 0.17.19
5365
+ '@esbuild/win32-ia32': 0.17.19
5366
+ '@esbuild/win32-x64': 0.17.19
5367
+ dev: true
5368
+
5369
+ /escalade@3.1.1:
5370
+ resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
5371
+ engines: {node: '>=6'}
5372
+ dev: true
5373
+
5374
+ /escape-html@1.0.3:
5375
+ resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
5376
+ dev: true
5377
+
5378
+ /escape-string-regexp@1.0.5:
5379
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
5380
+ engines: {node: '>=0.8.0'}
5381
+ dev: true
5382
+
5383
+ /escape-string-regexp@2.0.0:
5384
+ resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
5385
+ engines: {node: '>=8'}
5386
+ dev: true
5387
+
5388
+ /escape-string-regexp@4.0.0:
5389
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
5390
+ engines: {node: '>=10'}
5391
+ dev: true
5392
+
5393
+ /eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.5)(eslint@8.35.0)(typescript@5.0.4):
5394
+ resolution: {integrity: sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==}
5395
+ engines: {node: '>=14.0.0'}
5396
+ peerDependencies:
5397
+ eslint: ^8.0.0
5398
+ typescript: '*'
5399
+ peerDependenciesMeta:
5400
+ typescript:
5401
+ optional: true
5402
+ dependencies:
5403
+ '@babel/core': 7.21.8
5404
+ '@babel/eslint-parser': 7.21.8(@babel/core@7.21.8)(eslint@8.35.0)
5405
+ '@rushstack/eslint-patch': 1.2.0
5406
+ '@typescript-eslint/eslint-plugin': 5.59.6(@typescript-eslint/parser@5.59.6)(eslint@8.35.0)(typescript@5.0.4)
5407
+ '@typescript-eslint/parser': 5.59.6(eslint@8.35.0)(typescript@5.0.4)
5408
+ babel-preset-react-app: 10.0.1
5409
+ confusing-browser-globals: 1.0.11
5410
+ eslint: 8.35.0
5411
+ eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.5)(eslint@8.35.0)
5412
+ eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.6)(eslint@8.35.0)
5413
+ eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.59.6)(eslint@8.35.0)(typescript@5.0.4)
5414
+ eslint-plugin-jsx-a11y: 6.7.1(eslint@8.35.0)
5415
+ eslint-plugin-react: 7.32.2(eslint@8.35.0)
5416
+ eslint-plugin-react-hooks: 4.6.0(eslint@8.35.0)
5417
+ eslint-plugin-testing-library: 5.11.0(eslint@8.35.0)(typescript@5.0.4)
5418
+ typescript: 5.0.4
5419
+ transitivePeerDependencies:
5420
+ - '@babel/plugin-syntax-flow'
5421
+ - '@babel/plugin-transform-react-jsx'
5422
+ - eslint-import-resolver-typescript
5423
+ - eslint-import-resolver-webpack
5424
+ - jest
5425
+ - supports-color
5426
+ dev: true
5427
+
5428
+ /eslint-import-resolver-node@0.3.7:
5429
+ resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==}
5430
+ dependencies:
5431
+ debug: 3.2.7
5432
+ is-core-module: 2.12.1
5433
+ resolve: 1.22.2
5434
+ transitivePeerDependencies:
5435
+ - supports-color
5436
+ dev: true
5437
+
5438
+ /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.59.6)(eslint-import-resolver-node@0.3.7)(eslint@8.35.0):
5439
+ resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
5440
+ engines: {node: '>=4'}
5441
+ peerDependencies:
5442
+ '@typescript-eslint/parser': '*'
5443
+ eslint: '*'
5444
+ eslint-import-resolver-node: '*'
5445
+ eslint-import-resolver-typescript: '*'
5446
+ eslint-import-resolver-webpack: '*'
5447
+ peerDependenciesMeta:
5448
+ '@typescript-eslint/parser':
5449
+ optional: true
5450
+ eslint:
5451
+ optional: true
5452
+ eslint-import-resolver-node:
5453
+ optional: true
5454
+ eslint-import-resolver-typescript:
5455
+ optional: true
5456
+ eslint-import-resolver-webpack:
5457
+ optional: true
5458
+ dependencies:
5459
+ '@typescript-eslint/parser': 5.59.6(eslint@8.35.0)(typescript@5.0.4)
5460
+ debug: 3.2.7
5461
+ eslint: 8.35.0
5462
+ eslint-import-resolver-node: 0.3.7
5463
+ transitivePeerDependencies:
5464
+ - supports-color
5465
+ dev: true
5466
+
5467
+ /eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.5)(eslint@8.35.0):
5468
+ resolution: {integrity: sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==}
5469
+ engines: {node: '>=12.0.0'}
5470
+ peerDependencies:
5471
+ '@babel/plugin-syntax-flow': ^7.14.5
5472
+ '@babel/plugin-transform-react-jsx': ^7.14.9
5473
+ eslint: ^8.1.0
5474
+ dependencies:
5475
+ '@babel/plugin-syntax-flow': 7.21.4(@babel/core@7.21.8)
5476
+ '@babel/plugin-transform-react-jsx': 7.21.5(@babel/core@7.21.8)
5477
+ eslint: 8.35.0
5478
+ lodash: 4.17.21
5479
+ string-natural-compare: 3.0.1
5480
+ dev: true
5481
+
5482
+ /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.59.6)(eslint@8.35.0):
5483
+ resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==}
5484
+ engines: {node: '>=4'}
5485
+ peerDependencies:
5486
+ '@typescript-eslint/parser': '*'
5487
+ eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
5488
+ peerDependenciesMeta:
5489
+ '@typescript-eslint/parser':
5490
+ optional: true
5491
+ dependencies:
5492
+ '@typescript-eslint/parser': 5.59.6(eslint@8.35.0)(typescript@5.0.4)
5493
+ array-includes: 3.1.6
5494
+ array.prototype.flat: 1.3.1
5495
+ array.prototype.flatmap: 1.3.1
5496
+ debug: 3.2.7
5497
+ doctrine: 2.1.0
5498
+ eslint: 8.35.0
5499
+ eslint-import-resolver-node: 0.3.7
5500
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.59.6)(eslint-import-resolver-node@0.3.7)(eslint@8.35.0)
5501
+ has: 1.0.3
5502
+ is-core-module: 2.12.1
5503
+ is-glob: 4.0.3
5504
+ minimatch: 3.1.2
5505
+ object.values: 1.1.6
5506
+ resolve: 1.22.2
5507
+ semver: 6.3.0
5508
+ tsconfig-paths: 3.14.2
5509
+ transitivePeerDependencies:
5510
+ - eslint-import-resolver-typescript
5511
+ - eslint-import-resolver-webpack
5512
+ - supports-color
5513
+ dev: true
5514
+
5515
+ /eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.59.6)(eslint@8.35.0)(typescript@5.0.4):
5516
+ resolution: {integrity: sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==}
5517
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
5518
+ peerDependencies:
5519
+ '@typescript-eslint/eslint-plugin': ^4.0.0 || ^5.0.0
5520
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
5521
+ jest: '*'
5522
+ peerDependenciesMeta:
5523
+ '@typescript-eslint/eslint-plugin':
5524
+ optional: true
5525
+ jest:
5526
+ optional: true
5527
+ dependencies:
5528
+ '@typescript-eslint/eslint-plugin': 5.59.6(@typescript-eslint/parser@5.59.6)(eslint@8.35.0)(typescript@5.0.4)
5529
+ '@typescript-eslint/experimental-utils': 5.59.6(eslint@8.35.0)(typescript@5.0.4)
5530
+ eslint: 8.35.0
5531
+ transitivePeerDependencies:
5532
+ - supports-color
5533
+ - typescript
5534
+ dev: true
5535
+
5536
+ /eslint-plugin-jsx-a11y@6.7.1(eslint@8.35.0):
5537
+ resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==}
5538
+ engines: {node: '>=4.0'}
5539
+ peerDependencies:
5540
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
5541
+ dependencies:
5542
+ '@babel/runtime': 7.21.5
5543
+ aria-query: 5.1.3
5544
+ array-includes: 3.1.6
5545
+ array.prototype.flatmap: 1.3.1
5546
+ ast-types-flow: 0.0.7
5547
+ axe-core: 4.7.1
5548
+ axobject-query: 3.1.1
5549
+ damerau-levenshtein: 1.0.8
5550
+ emoji-regex: 9.2.2
5551
+ eslint: 8.35.0
5552
+ has: 1.0.3
5553
+ jsx-ast-utils: 3.3.3
5554
+ language-tags: 1.0.5
5555
+ minimatch: 3.1.2
5556
+ object.entries: 1.1.6
5557
+ object.fromentries: 2.0.6
5558
+ semver: 6.3.0
5559
+ dev: true
5560
+
5561
+ /eslint-plugin-react-hooks@4.6.0(eslint@8.35.0):
5562
+ resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
5563
+ engines: {node: '>=10'}
5564
+ peerDependencies:
5565
+ eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
5566
+ dependencies:
5567
+ eslint: 8.35.0
5568
+ dev: true
5569
+
5570
+ /eslint-plugin-react@7.32.2(eslint@8.35.0):
5571
+ resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==}
5572
+ engines: {node: '>=4'}
5573
+ peerDependencies:
5574
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
5575
+ dependencies:
5576
+ array-includes: 3.1.6
5577
+ array.prototype.flatmap: 1.3.1
5578
+ array.prototype.tosorted: 1.1.1
5579
+ doctrine: 2.1.0
5580
+ eslint: 8.35.0
5581
+ estraverse: 5.3.0
5582
+ jsx-ast-utils: 3.3.3
5583
+ minimatch: 3.1.2
5584
+ object.entries: 1.1.6
5585
+ object.fromentries: 2.0.6
5586
+ object.hasown: 1.1.2
5587
+ object.values: 1.1.6
5588
+ prop-types: 15.8.1
5589
+ resolve: 2.0.0-next.4
5590
+ semver: 6.3.0
5591
+ string.prototype.matchall: 4.0.8
5592
+ dev: true
5593
+
5594
+ /eslint-plugin-testing-library@5.11.0(eslint@8.35.0)(typescript@5.0.4):
5595
+ resolution: {integrity: sha512-ELY7Gefo+61OfXKlQeXNIDVVLPcvKTeiQOoMZG9TeuWa7Ln4dUNRv8JdRWBQI9Mbb427XGlVB1aa1QPZxBJM8Q==}
5596
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'}
5597
+ peerDependencies:
5598
+ eslint: ^7.5.0 || ^8.0.0
5599
+ dependencies:
5600
+ '@typescript-eslint/utils': 5.59.6(eslint@8.35.0)(typescript@5.0.4)
5601
+ eslint: 8.35.0
5602
+ transitivePeerDependencies:
5603
+ - supports-color
5604
+ - typescript
5605
+ dev: true
5606
+
5607
+ /eslint-scope@5.1.1:
5608
+ resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
5609
+ engines: {node: '>=8.0.0'}
5610
+ dependencies:
5611
+ esrecurse: 4.3.0
5612
+ estraverse: 4.3.0
5613
+ dev: true
5614
+
5615
+ /eslint-scope@7.2.0:
5616
+ resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==}
5617
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
5618
+ dependencies:
5619
+ esrecurse: 4.3.0
5620
+ estraverse: 5.3.0
5621
+ dev: true
5622
+
5623
+ /eslint-utils@3.0.0(eslint@8.35.0):
5624
+ resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
5625
+ engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
5626
+ peerDependencies:
5627
+ eslint: '>=5'
5628
+ dependencies:
5629
+ eslint: 8.35.0
5630
+ eslint-visitor-keys: 2.1.0
5631
+ dev: true
5632
+
5633
+ /eslint-visitor-keys@2.1.0:
5634
+ resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
5635
+ engines: {node: '>=10'}
5636
+ dev: true
5637
+
5638
+ /eslint-visitor-keys@3.4.1:
5639
+ resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==}
5640
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
5641
+ dev: true
5642
+
5643
+ /eslint@8.35.0:
5644
+ resolution: {integrity: sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==}
5645
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
5646
+ hasBin: true
5647
+ dependencies:
5648
+ '@eslint/eslintrc': 2.0.3
5649
+ '@eslint/js': 8.35.0
5650
+ '@humanwhocodes/config-array': 0.11.8
5651
+ '@humanwhocodes/module-importer': 1.0.1
5652
+ '@nodelib/fs.walk': 1.2.8
5653
+ ajv: 6.12.6
5654
+ chalk: 4.1.2
5655
+ cross-spawn: 7.0.3
5656
+ debug: 4.3.4
5657
+ doctrine: 3.0.0
5658
+ escape-string-regexp: 4.0.0
5659
+ eslint-scope: 7.2.0
5660
+ eslint-utils: 3.0.0(eslint@8.35.0)
5661
+ eslint-visitor-keys: 3.4.1
5662
+ espree: 9.5.2
5663
+ esquery: 1.5.0
5664
+ esutils: 2.0.3
5665
+ fast-deep-equal: 3.1.3
5666
+ file-entry-cache: 6.0.1
5667
+ find-up: 5.0.0
5668
+ glob-parent: 6.0.2
5669
+ globals: 13.20.0
5670
+ grapheme-splitter: 1.0.4
5671
+ ignore: 5.2.4
5672
+ import-fresh: 3.3.0
5673
+ imurmurhash: 0.1.4
5674
+ is-glob: 4.0.3
5675
+ is-path-inside: 3.0.3
5676
+ js-sdsl: 4.4.0
5677
+ js-yaml: 4.1.0
5678
+ json-stable-stringify-without-jsonify: 1.0.1
5679
+ levn: 0.4.1
5680
+ lodash.merge: 4.6.2
5681
+ minimatch: 3.1.2
5682
+ natural-compare: 1.4.0
5683
+ optionator: 0.9.1
5684
+ regexpp: 3.2.0
5685
+ strip-ansi: 6.0.1
5686
+ strip-json-comments: 3.1.1
5687
+ text-table: 0.2.0
5688
+ transitivePeerDependencies:
5689
+ - supports-color
5690
+ dev: true
5691
+
5692
+ /espree@9.5.2:
5693
+ resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==}
5694
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
5695
+ dependencies:
5696
+ acorn: 8.8.2
5697
+ acorn-jsx: 5.3.2(acorn@8.8.2)
5698
+ eslint-visitor-keys: 3.4.1
5699
+ dev: true
5700
+
5701
+ /esprima@4.0.1:
5702
+ resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
5703
+ engines: {node: '>=4'}
5704
+ hasBin: true
5705
+ dev: true
5706
+
5707
+ /esquery@1.5.0:
5708
+ resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
5709
+ engines: {node: '>=0.10'}
5710
+ dependencies:
5711
+ estraverse: 5.3.0
5712
+ dev: true
5713
+
5714
+ /esrecurse@4.3.0:
5715
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
5716
+ engines: {node: '>=4.0'}
5717
+ dependencies:
5718
+ estraverse: 5.3.0
5719
+ dev: true
5720
+
5721
+ /estraverse@4.3.0:
5722
+ resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
5723
+ engines: {node: '>=4.0'}
5724
+ dev: true
5725
+
5726
+ /estraverse@5.3.0:
5727
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
5728
+ engines: {node: '>=4.0'}
5729
+ dev: true
5730
+
5731
+ /estree-walker@0.6.1:
5732
+ resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==}
5733
+ dev: true
5734
+
5735
+ /esutils@2.0.3:
5736
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
5737
+ engines: {node: '>=0.10.0'}
5738
+ dev: true
5739
+
5740
+ /etag@1.8.1:
5741
+ resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
5742
+ engines: {node: '>= 0.6'}
5743
+ dev: true
5744
+
5745
+ /event-emitter@0.3.5:
5746
+ resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
5747
+ dependencies:
5748
+ d: 1.0.1
5749
+ es5-ext: 0.10.62
5750
+ dev: true
5751
+
5752
+ /execa@5.1.1:
5753
+ resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
5754
+ engines: {node: '>=10'}
5755
+ dependencies:
5756
+ cross-spawn: 7.0.3
5757
+ get-stream: 6.0.1
5758
+ human-signals: 2.1.0
5759
+ is-stream: 2.0.1
5760
+ merge-stream: 2.0.0
5761
+ npm-run-path: 4.0.1
5762
+ onetime: 5.1.2
5763
+ signal-exit: 3.0.7
5764
+ strip-final-newline: 2.0.0
5765
+ dev: true
5766
+
5767
+ /exit-hook@2.2.1:
5768
+ resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==}
5769
+ engines: {node: '>=6'}
5770
+ dev: true
5771
+
5772
+ /exit@0.1.2:
5773
+ resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
5774
+ engines: {node: '>= 0.8.0'}
5775
+ dev: true
5776
+
5777
+ /expand-template@2.0.3:
5778
+ resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==}
5779
+ engines: {node: '>=6'}
5780
+ dev: true
5781
+
5782
+ /expect@29.5.0:
5783
+ resolution: {integrity: sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==}
5784
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
5785
+ dependencies:
5786
+ '@jest/expect-utils': 29.5.0
5787
+ jest-get-type: 29.4.3
5788
+ jest-matcher-utils: 29.5.0
5789
+ jest-message-util: 29.5.0
5790
+ jest-util: 29.5.0
5791
+ dev: true
5792
+
5793
+ /express@4.18.2:
5794
+ resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==}
5795
+ engines: {node: '>= 0.10.0'}
5796
+ dependencies:
5797
+ accepts: 1.3.8
5798
+ array-flatten: 1.1.1
5799
+ body-parser: 1.20.1
5800
+ content-disposition: 0.5.4
5801
+ content-type: 1.0.5
5802
+ cookie: 0.5.0
5803
+ cookie-signature: 1.0.6
5804
+ debug: 2.6.9
5805
+ depd: 2.0.0
5806
+ encodeurl: 1.0.2
5807
+ escape-html: 1.0.3
5808
+ etag: 1.8.1
5809
+ finalhandler: 1.2.0
5810
+ fresh: 0.5.2
5811
+ http-errors: 2.0.0
5812
+ merge-descriptors: 1.0.1
5813
+ methods: 1.1.2
5814
+ on-finished: 2.4.1
5815
+ parseurl: 1.3.3
5816
+ path-to-regexp: 0.1.7
5817
+ proxy-addr: 2.0.7
5818
+ qs: 6.11.0
5819
+ range-parser: 1.2.1
5820
+ safe-buffer: 5.2.1
5821
+ send: 0.18.0
5822
+ serve-static: 1.15.0
5823
+ setprototypeof: 1.2.0
5824
+ statuses: 2.0.1
5825
+ type-is: 1.6.18
5826
+ utils-merge: 1.0.1
5827
+ vary: 1.1.2
5828
+ transitivePeerDependencies:
5829
+ - supports-color
5830
+ dev: true
5831
+
5832
+ /ext@1.7.0:
5833
+ resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
5834
+ dependencies:
5835
+ type: 2.7.2
5836
+ dev: true
5837
+
5838
+ /fast-deep-equal@3.1.3:
5839
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
5840
+ dev: true
5841
+
5842
+ /fast-glob@3.2.12:
5843
+ resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==}
5844
+ engines: {node: '>=8.6.0'}
5845
+ dependencies:
5846
+ '@nodelib/fs.stat': 2.0.5
5847
+ '@nodelib/fs.walk': 1.2.8
5848
+ glob-parent: 5.1.2
5849
+ merge2: 1.4.1
5850
+ micromatch: 4.0.5
5851
+ dev: true
5852
+
5853
+ /fast-json-stable-stringify@2.1.0:
5854
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
5855
+ dev: true
5856
+
5857
+ /fast-levenshtein@2.0.6:
5858
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
5859
+ dev: true
5860
+
5861
+ /fastq@1.15.0:
5862
+ resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
5863
+ dependencies:
5864
+ reusify: 1.0.4
5865
+ dev: true
5866
+
5867
+ /fb-watchman@2.0.2:
5868
+ resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
5869
+ dependencies:
5870
+ bser: 2.1.1
5871
+ dev: true
5872
+
5873
+ /file-entry-cache@6.0.1:
5874
+ resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
5875
+ engines: {node: ^10.12.0 || >=12.0.0}
5876
+ dependencies:
5877
+ flat-cache: 3.0.4
5878
+ dev: true
5879
+
5880
+ /file-uri-to-path@1.0.0:
5881
+ resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==}
5882
+ dev: true
5883
+
5884
+ /fill-range@7.0.1:
5885
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
5886
+ engines: {node: '>=8'}
5887
+ dependencies:
5888
+ to-regex-range: 5.0.1
5889
+ dev: true
5890
+
5891
+ /finalhandler@1.2.0:
5892
+ resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
5893
+ engines: {node: '>= 0.8'}
5894
+ dependencies:
5895
+ debug: 2.6.9
5896
+ encodeurl: 1.0.2
5897
+ escape-html: 1.0.3
5898
+ on-finished: 2.4.1
5899
+ parseurl: 1.3.3
5900
+ statuses: 2.0.1
5901
+ unpipe: 1.0.0
5902
+ transitivePeerDependencies:
5903
+ - supports-color
5904
+ dev: true
5905
+
5906
+ /find-up@4.1.0:
5907
+ resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
5908
+ engines: {node: '>=8'}
5909
+ dependencies:
5910
+ locate-path: 5.0.0
5911
+ path-exists: 4.0.0
5912
+ dev: true
5913
+
5914
+ /find-up@5.0.0:
5915
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
5916
+ engines: {node: '>=10'}
5917
+ dependencies:
5918
+ locate-path: 6.0.0
5919
+ path-exists: 4.0.0
5920
+ dev: true
5921
+
5922
+ /flat-cache@3.0.4:
5923
+ resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
5924
+ engines: {node: ^10.12.0 || >=12.0.0}
5925
+ dependencies:
5926
+ flatted: 3.2.7
5927
+ rimraf: 3.0.2
5928
+ dev: true
5929
+
5930
+ /flatted@3.2.7:
5931
+ resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
5932
+ dev: true
5933
+
5934
+ /for-each@0.3.3:
5935
+ resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
5936
+ dependencies:
5937
+ is-callable: 1.2.7
5938
+ dev: true
5939
+
5940
+ /forwarded@0.2.0:
5941
+ resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
5942
+ engines: {node: '>= 0.6'}
5943
+ dev: true
5944
+
5945
+ /fraction.js@4.2.0:
5946
+ resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
5947
+ dev: true
5948
+
5949
+ /fresh@0.5.2:
5950
+ resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
5951
+ engines: {node: '>= 0.6'}
5952
+ dev: true
5953
+
5954
+ /fs-constants@1.0.0:
5955
+ resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
5956
+ dev: true
5957
+
5958
+ /fs-extra@11.1.1:
5959
+ resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==}
5960
+ engines: {node: '>=14.14'}
5961
+ dependencies:
5962
+ graceful-fs: 4.2.11
5963
+ jsonfile: 6.1.0
5964
+ universalify: 2.0.0
5965
+ dev: true
5966
+
5967
+ /fs.realpath@1.0.0:
5968
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
5969
+ dev: true
5970
+
5971
+ /fsevents@2.3.2:
5972
+ resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
5973
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
5974
+ os: [darwin]
5975
+ requiresBuild: true
5976
+ dev: true
5977
+ optional: true
5978
+
5979
+ /function-bind@1.1.1:
5980
+ resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
5981
+ dev: true
5982
+
5983
+ /function.prototype.name@1.1.5:
5984
+ resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==}
5985
+ engines: {node: '>= 0.4'}
5986
+ dependencies:
5987
+ call-bind: 1.0.2
5988
+ define-properties: 1.2.0
5989
+ es-abstract: 1.21.2
5990
+ functions-have-names: 1.2.3
5991
+ dev: true
5992
+
5993
+ /functions-have-names@1.2.3:
5994
+ resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
5995
+ dev: true
5996
+
5997
+ /gensync@1.0.0-beta.2:
5998
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
5999
+ engines: {node: '>=6.9.0'}
6000
+ dev: true
6001
+
6002
+ /get-caller-file@2.0.5:
6003
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
6004
+ engines: {node: 6.* || 8.* || >= 10.*}
6005
+ dev: true
6006
+
6007
+ /get-intrinsic@1.2.1:
6008
+ resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==}
6009
+ dependencies:
6010
+ function-bind: 1.1.1
6011
+ has: 1.0.3
6012
+ has-proto: 1.0.1
6013
+ has-symbols: 1.0.3
6014
+ dev: true
6015
+
6016
+ /get-package-type@0.1.0:
6017
+ resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
6018
+ engines: {node: '>=8.0.0'}
6019
+ dev: true
6020
+
6021
+ /get-source@2.0.12:
6022
+ resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==}
6023
+ dependencies:
6024
+ data-uri-to-buffer: 2.0.2
6025
+ source-map: 0.6.1
6026
+ dev: true
6027
+
6028
+ /get-stream@6.0.1:
6029
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
6030
+ engines: {node: '>=10'}
6031
+ dev: true
6032
+
6033
+ /get-symbol-description@1.0.0:
6034
+ resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
6035
+ engines: {node: '>= 0.4'}
6036
+ dependencies:
6037
+ call-bind: 1.0.2
6038
+ get-intrinsic: 1.2.1
6039
+ dev: true
6040
+
6041
+ /github-from-package@0.0.0:
6042
+ resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==}
6043
+ dev: true
6044
+
6045
+ /glob-parent@5.1.2:
6046
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
6047
+ engines: {node: '>= 6'}
6048
+ dependencies:
6049
+ is-glob: 4.0.3
6050
+ dev: true
6051
+
6052
+ /glob-parent@6.0.2:
6053
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
6054
+ engines: {node: '>=10.13.0'}
6055
+ dependencies:
6056
+ is-glob: 4.0.3
6057
+ dev: true
6058
+
6059
+ /glob-to-regexp@0.4.1:
6060
+ resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
6061
+ dev: true
6062
+
6063
+ /glob@7.2.3:
6064
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
6065
+ dependencies:
6066
+ fs.realpath: 1.0.0
6067
+ inflight: 1.0.6
6068
+ inherits: 2.0.4
6069
+ minimatch: 3.1.2
6070
+ once: 1.4.0
6071
+ path-is-absolute: 1.0.1
6072
+ dev: true
6073
+
6074
+ /glob@8.1.0:
6075
+ resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
6076
+ engines: {node: '>=12'}
6077
+ dependencies:
6078
+ fs.realpath: 1.0.0
6079
+ inflight: 1.0.6
6080
+ inherits: 2.0.4
6081
+ minimatch: 5.1.6
6082
+ once: 1.4.0
6083
+ dev: true
6084
+
6085
+ /globals@11.12.0:
6086
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
6087
+ engines: {node: '>=4'}
6088
+ dev: true
6089
+
6090
+ /globals@13.20.0:
6091
+ resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==}
6092
+ engines: {node: '>=8'}
6093
+ dependencies:
6094
+ type-fest: 0.20.2
6095
+ dev: true
6096
+
6097
+ /globalthis@1.0.3:
6098
+ resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
6099
+ engines: {node: '>= 0.4'}
6100
+ dependencies:
6101
+ define-properties: 1.2.0
6102
+ dev: true
6103
+
6104
+ /globby@11.1.0:
6105
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
6106
+ engines: {node: '>=10'}
6107
+ dependencies:
6108
+ array-union: 2.1.0
6109
+ dir-glob: 3.0.1
6110
+ fast-glob: 3.2.12
6111
+ ignore: 5.2.4
6112
+ merge2: 1.4.1
6113
+ slash: 3.0.0
6114
+ dev: true
6115
+
6116
+ /gopd@1.0.1:
6117
+ resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
6118
+ dependencies:
6119
+ get-intrinsic: 1.2.1
6120
+ dev: true
6121
+
6122
+ /graceful-fs@4.2.11:
6123
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
6124
+ dev: true
6125
+
6126
+ /grapheme-splitter@1.0.4:
6127
+ resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
6128
+ dev: true
6129
+
6130
+ /hanji@0.0.5:
6131
+ resolution: {integrity: sha512-Abxw1Lq+TnYiL4BueXqMau222fPSPMFtya8HdpWsz/xVAhifXou71mPh/kY2+08RgFcVccjG3uZHs6K5HAe3zw==}
6132
+ dependencies:
6133
+ lodash.throttle: 4.1.1
6134
+ sisteransi: 1.0.5
6135
+ dev: true
6136
+
6137
+ /has-bigints@1.0.2:
6138
+ resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
6139
+ dev: true
6140
+
6141
+ /has-flag@3.0.0:
6142
+ resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
6143
+ engines: {node: '>=4'}
6144
+ dev: true
6145
+
6146
+ /has-flag@4.0.0:
6147
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
6148
+ engines: {node: '>=8'}
6149
+ dev: true
6150
+
6151
+ /has-property-descriptors@1.0.0:
6152
+ resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==}
6153
+ dependencies:
6154
+ get-intrinsic: 1.2.1
6155
+ dev: true
6156
+
6157
+ /has-proto@1.0.1:
6158
+ resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
6159
+ engines: {node: '>= 0.4'}
6160
+ dev: true
6161
+
6162
+ /has-symbols@1.0.3:
6163
+ resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
6164
+ engines: {node: '>= 0.4'}
6165
+ dev: true
6166
+
6167
+ /has-tostringtag@1.0.0:
6168
+ resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
6169
+ engines: {node: '>= 0.4'}
6170
+ dependencies:
6171
+ has-symbols: 1.0.3
6172
+ dev: true
6173
+
6174
+ /has@1.0.3:
6175
+ resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
6176
+ engines: {node: '>= 0.4.0'}
6177
+ dependencies:
6178
+ function-bind: 1.1.1
6179
+ dev: true
6180
+
6181
+ /heap@0.2.7:
6182
+ resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==}
6183
+ dev: true
6184
+
6185
+ /history@5.3.0:
6186
+ resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==}
6187
+ dependencies:
6188
+ '@babel/runtime': 7.21.5
6189
+ dev: false
6190
+
6191
+ /html-escaper@2.0.2:
6192
+ resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
6193
+ dev: true
6194
+
6195
+ /http-cache-semantics@4.1.1:
6196
+ resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
6197
+ dev: true
6198
+
6199
+ /http-errors@2.0.0:
6200
+ resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
6201
+ engines: {node: '>= 0.8'}
6202
+ dependencies:
6203
+ depd: 2.0.0
6204
+ inherits: 2.0.4
6205
+ setprototypeof: 1.2.0
6206
+ statuses: 2.0.1
6207
+ toidentifier: 1.0.1
6208
+ dev: true
6209
+
6210
+ /human-signals@2.1.0:
6211
+ resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
6212
+ engines: {node: '>=10.17.0'}
6213
+ dev: true
6214
+
6215
+ /iconv-lite@0.4.24:
6216
+ resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
6217
+ engines: {node: '>=0.10.0'}
6218
+ dependencies:
6219
+ safer-buffer: 2.1.2
6220
+ dev: true
6221
+
6222
+ /ieee754@1.2.1:
6223
+ resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
6224
+ dev: true
6225
+
6226
+ /ignore@5.2.4:
6227
+ resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
6228
+ engines: {node: '>= 4'}
6229
+ dev: true
6230
+
6231
+ /import-fresh@3.3.0:
6232
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
6233
+ engines: {node: '>=6'}
6234
+ dependencies:
6235
+ parent-module: 1.0.1
6236
+ resolve-from: 4.0.0
6237
+ dev: true
6238
+
6239
+ /import-local@3.1.0:
6240
+ resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==}
6241
+ engines: {node: '>=8'}
6242
+ hasBin: true
6243
+ dependencies:
6244
+ pkg-dir: 4.2.0
6245
+ resolve-cwd: 3.0.0
6246
+ dev: true
6247
+
6248
+ /imurmurhash@0.1.4:
6249
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
6250
+ engines: {node: '>=0.8.19'}
6251
+ dev: true
6252
+
6253
+ /inflight@1.0.6:
6254
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
6255
+ dependencies:
6256
+ once: 1.4.0
6257
+ wrappy: 1.0.2
6258
+ dev: true
6259
+
6260
+ /inherits@2.0.4:
6261
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
6262
+ dev: true
6263
+
6264
+ /ini@1.3.8:
6265
+ resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
6266
+ dev: true
6267
+
6268
+ /internal-slot@1.0.5:
6269
+ resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==}
6270
+ engines: {node: '>= 0.4'}
6271
+ dependencies:
6272
+ get-intrinsic: 1.2.1
6273
+ has: 1.0.3
6274
+ side-channel: 1.0.4
6275
+ dev: true
6276
+
6277
+ /intl-messageformat@10.3.5:
6278
+ resolution: {integrity: sha512-6kPkftF8Jg3XJCkGKa5OD+nYQ+qcSxF4ZkuDdXZ6KGG0VXn+iblJqRFyDdm9VvKcMyC0Km2+JlVQffFM52D0YA==}
6279
+ dependencies:
6280
+ '@formatjs/ecma402-abstract': 1.15.0
6281
+ '@formatjs/fast-memoize': 2.0.1
6282
+ '@formatjs/icu-messageformat-parser': 2.4.0
6283
+ tslib: 2.5.2
6284
+ dev: false
6285
+
6286
+ /invariant@2.2.4:
6287
+ resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
6288
+ dependencies:
6289
+ loose-envify: 1.4.0
6290
+ dev: false
6291
+
6292
+ /ipaddr.js@1.9.1:
6293
+ resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
6294
+ engines: {node: '>= 0.10'}
6295
+ dev: true
6296
+
6297
+ /is-arguments@1.1.1:
6298
+ resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==}
6299
+ engines: {node: '>= 0.4'}
6300
+ dependencies:
6301
+ call-bind: 1.0.2
6302
+ has-tostringtag: 1.0.0
6303
+ dev: true
6304
+
6305
+ /is-array-buffer@3.0.2:
6306
+ resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==}
6307
+ dependencies:
6308
+ call-bind: 1.0.2
6309
+ get-intrinsic: 1.2.1
6310
+ is-typed-array: 1.1.10
6311
+ dev: true
6312
+
6313
+ /is-arrayish@0.2.1:
6314
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
6315
+ dev: true
6316
+
6317
+ /is-bigint@1.0.4:
6318
+ resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
6319
+ dependencies:
6320
+ has-bigints: 1.0.2
6321
+ dev: true
6322
+
6323
+ /is-binary-path@2.1.0:
6324
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
6325
+ engines: {node: '>=8'}
6326
+ dependencies:
6327
+ binary-extensions: 2.2.0
6328
+ dev: true
6329
+
6330
+ /is-boolean-object@1.1.2:
6331
+ resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
6332
+ engines: {node: '>= 0.4'}
6333
+ dependencies:
6334
+ call-bind: 1.0.2
6335
+ has-tostringtag: 1.0.0
6336
+ dev: true
6337
+
6338
+ /is-callable@1.2.7:
6339
+ resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
6340
+ engines: {node: '>= 0.4'}
6341
+ dev: true
6342
+
6343
+ /is-core-module@2.12.1:
6344
+ resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==}
6345
+ dependencies:
6346
+ has: 1.0.3
6347
+ dev: true
6348
+
6349
+ /is-date-object@1.0.5:
6350
+ resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
6351
+ engines: {node: '>= 0.4'}
6352
+ dependencies:
6353
+ has-tostringtag: 1.0.0
6354
+ dev: true
6355
+
6356
+ /is-extglob@2.1.1:
6357
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
6358
+ engines: {node: '>=0.10.0'}
6359
+ dev: true
6360
+
6361
+ /is-fullwidth-code-point@3.0.0:
6362
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
6363
+ engines: {node: '>=8'}
6364
+ dev: true
6365
+
6366
+ /is-generator-fn@2.1.0:
6367
+ resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
6368
+ engines: {node: '>=6'}
6369
+ dev: true
6370
+
6371
+ /is-glob@4.0.3:
6372
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
6373
+ engines: {node: '>=0.10.0'}
6374
+ dependencies:
6375
+ is-extglob: 2.1.1
6376
+ dev: true
6377
+
6378
+ /is-map@2.0.2:
6379
+ resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==}
6380
+ dev: true
6381
+
6382
+ /is-negative-zero@2.0.2:
6383
+ resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
6384
+ engines: {node: '>= 0.4'}
6385
+ dev: true
6386
+
6387
+ /is-number-object@1.0.7:
6388
+ resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
6389
+ engines: {node: '>= 0.4'}
6390
+ dependencies:
6391
+ has-tostringtag: 1.0.0
6392
+ dev: true
6393
+
6394
+ /is-number@7.0.0:
6395
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
6396
+ engines: {node: '>=0.12.0'}
6397
+ dev: true
6398
+
6399
+ /is-path-inside@3.0.3:
6400
+ resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
6401
+ engines: {node: '>=8'}
6402
+ dev: true
6403
+
6404
+ /is-promise@2.2.2:
6405
+ resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==}
6406
+ dev: true
6407
+
6408
+ /is-regex@1.1.4:
6409
+ resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
6410
+ engines: {node: '>= 0.4'}
6411
+ dependencies:
6412
+ call-bind: 1.0.2
6413
+ has-tostringtag: 1.0.0
6414
+ dev: true
6415
+
6416
+ /is-set@2.0.2:
6417
+ resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==}
6418
+ dev: true
6419
+
6420
+ /is-shared-array-buffer@1.0.2:
6421
+ resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==}
6422
+ dependencies:
6423
+ call-bind: 1.0.2
6424
+ dev: true
6425
+
6426
+ /is-stream@2.0.1:
6427
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
6428
+ engines: {node: '>=8'}
6429
+ dev: true
6430
+
6431
+ /is-string@1.0.7:
6432
+ resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
6433
+ engines: {node: '>= 0.4'}
6434
+ dependencies:
6435
+ has-tostringtag: 1.0.0
6436
+ dev: true
6437
+
6438
+ /is-symbol@1.0.4:
6439
+ resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
6440
+ engines: {node: '>= 0.4'}
6441
+ dependencies:
6442
+ has-symbols: 1.0.3
6443
+ dev: true
6444
+
6445
+ /is-typed-array@1.1.10:
6446
+ resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==}
6447
+ engines: {node: '>= 0.4'}
6448
+ dependencies:
6449
+ available-typed-arrays: 1.0.5
6450
+ call-bind: 1.0.2
6451
+ for-each: 0.3.3
6452
+ gopd: 1.0.1
6453
+ has-tostringtag: 1.0.0
6454
+ dev: true
6455
+
6456
+ /is-weakmap@2.0.1:
6457
+ resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==}
6458
+ dev: true
6459
+
6460
+ /is-weakref@1.0.2:
6461
+ resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
6462
+ dependencies:
6463
+ call-bind: 1.0.2
6464
+ dev: true
6465
+
6466
+ /is-weakset@2.0.2:
6467
+ resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==}
6468
+ dependencies:
6469
+ call-bind: 1.0.2
6470
+ get-intrinsic: 1.2.1
6471
+ dev: true
6472
+
6473
+ /isarray@2.0.5:
6474
+ resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
6475
+ dev: true
6476
+
6477
+ /isbot@3.6.10:
6478
+ resolution: {integrity: sha512-+I+2998oyP4oW9+OTQD8TS1r9P6wv10yejukj+Ksj3+UR5pUhsZN3f8W7ysq0p1qxpOVNbl5mCuv0bCaF8y5iQ==}
6479
+ engines: {node: '>=12'}
6480
+ dev: false
6481
+
6482
+ /isexe@2.0.0:
6483
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
6484
+ dev: true
6485
+
6486
+ /istanbul-lib-coverage@3.2.0:
6487
+ resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==}
6488
+ engines: {node: '>=8'}
6489
+ dev: true
6490
+
6491
+ /istanbul-lib-instrument@5.2.1:
6492
+ resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
6493
+ engines: {node: '>=8'}
6494
+ dependencies:
6495
+ '@babel/core': 7.21.8
6496
+ '@babel/parser': 7.21.8
6497
+ '@istanbuljs/schema': 0.1.3
6498
+ istanbul-lib-coverage: 3.2.0
6499
+ semver: 6.3.0
6500
+ transitivePeerDependencies:
6501
+ - supports-color
6502
+ dev: true
6503
+
6504
+ /istanbul-lib-report@3.0.0:
6505
+ resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==}
6506
+ engines: {node: '>=8'}
6507
+ dependencies:
6508
+ istanbul-lib-coverage: 3.2.0
6509
+ make-dir: 3.1.0
6510
+ supports-color: 7.2.0
6511
+ dev: true
6512
+
6513
+ /istanbul-lib-source-maps@4.0.1:
6514
+ resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
6515
+ engines: {node: '>=10'}
6516
+ dependencies:
6517
+ debug: 4.3.4
6518
+ istanbul-lib-coverage: 3.2.0
6519
+ source-map: 0.6.1
6520
+ transitivePeerDependencies:
6521
+ - supports-color
6522
+ dev: true
6523
+
6524
+ /istanbul-reports@3.1.5:
6525
+ resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==}
6526
+ engines: {node: '>=8'}
6527
+ dependencies:
6528
+ html-escaper: 2.0.2
6529
+ istanbul-lib-report: 3.0.0
6530
+ dev: true
6531
+
6532
+ /jest-changed-files@29.5.0:
6533
+ resolution: {integrity: sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==}
6534
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6535
+ dependencies:
6536
+ execa: 5.1.1
6537
+ p-limit: 3.1.0
6538
+ dev: true
6539
+
6540
+ /jest-circus@29.5.0:
6541
+ resolution: {integrity: sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==}
6542
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6543
+ dependencies:
6544
+ '@jest/environment': 29.5.0
6545
+ '@jest/expect': 29.5.0
6546
+ '@jest/test-result': 29.5.0
6547
+ '@jest/types': 29.5.0
6548
+ '@types/node': 20.2.1
6549
+ chalk: 4.1.2
6550
+ co: 4.6.0
6551
+ dedent: 0.7.0
6552
+ is-generator-fn: 2.1.0
6553
+ jest-each: 29.5.0
6554
+ jest-matcher-utils: 29.5.0
6555
+ jest-message-util: 29.5.0
6556
+ jest-runtime: 29.5.0
6557
+ jest-snapshot: 29.5.0
6558
+ jest-util: 29.5.0
6559
+ p-limit: 3.1.0
6560
+ pretty-format: 29.5.0
6561
+ pure-rand: 6.0.2
6562
+ slash: 3.0.0
6563
+ stack-utils: 2.0.6
6564
+ transitivePeerDependencies:
6565
+ - supports-color
6566
+ dev: true
6567
+
6568
+ /jest-cli@29.5.0:
6569
+ resolution: {integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==}
6570
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6571
+ hasBin: true
6572
+ peerDependencies:
6573
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
6574
+ peerDependenciesMeta:
6575
+ node-notifier:
6576
+ optional: true
6577
+ dependencies:
6578
+ '@jest/core': 29.5.0
6579
+ '@jest/test-result': 29.5.0
6580
+ '@jest/types': 29.5.0
6581
+ chalk: 4.1.2
6582
+ exit: 0.1.2
6583
+ graceful-fs: 4.2.11
6584
+ import-local: 3.1.0
6585
+ jest-config: 29.5.0(@types/node@20.2.1)
6586
+ jest-util: 29.5.0
6587
+ jest-validate: 29.5.0
6588
+ prompts: 2.4.2
6589
+ yargs: 17.7.2
6590
+ transitivePeerDependencies:
6591
+ - '@types/node'
6592
+ - supports-color
6593
+ - ts-node
6594
+ dev: true
6595
+
6596
+ /jest-config@29.5.0(@types/node@20.2.1):
6597
+ resolution: {integrity: sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==}
6598
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6599
+ peerDependencies:
6600
+ '@types/node': '*'
6601
+ ts-node: '>=9.0.0'
6602
+ peerDependenciesMeta:
6603
+ '@types/node':
6604
+ optional: true
6605
+ ts-node:
6606
+ optional: true
6607
+ dependencies:
6608
+ '@babel/core': 7.21.8
6609
+ '@jest/test-sequencer': 29.5.0
6610
+ '@jest/types': 29.5.0
6611
+ '@types/node': 20.2.1
6612
+ babel-jest: 29.5.0(@babel/core@7.21.8)
6613
+ chalk: 4.1.2
6614
+ ci-info: 3.8.0
6615
+ deepmerge: 4.3.1
6616
+ glob: 7.2.3
6617
+ graceful-fs: 4.2.11
6618
+ jest-circus: 29.5.0
6619
+ jest-environment-node: 29.5.0
6620
+ jest-get-type: 29.4.3
6621
+ jest-regex-util: 29.4.3
6622
+ jest-resolve: 29.5.0
6623
+ jest-runner: 29.5.0
6624
+ jest-util: 29.5.0
6625
+ jest-validate: 29.5.0
6626
+ micromatch: 4.0.5
6627
+ parse-json: 5.2.0
6628
+ pretty-format: 29.5.0
6629
+ slash: 3.0.0
6630
+ strip-json-comments: 3.1.1
6631
+ transitivePeerDependencies:
6632
+ - supports-color
6633
+ dev: true
6634
+
6635
+ /jest-diff@29.5.0:
6636
+ resolution: {integrity: sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==}
6637
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6638
+ dependencies:
6639
+ chalk: 4.1.2
6640
+ diff-sequences: 29.4.3
6641
+ jest-get-type: 29.4.3
6642
+ pretty-format: 29.5.0
6643
+ dev: true
6644
+
6645
+ /jest-docblock@29.4.3:
6646
+ resolution: {integrity: sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==}
6647
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6648
+ dependencies:
6649
+ detect-newline: 3.1.0
6650
+ dev: true
6651
+
6652
+ /jest-each@29.5.0:
6653
+ resolution: {integrity: sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==}
6654
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6655
+ dependencies:
6656
+ '@jest/types': 29.5.0
6657
+ chalk: 4.1.2
6658
+ jest-get-type: 29.4.3
6659
+ jest-util: 29.5.0
6660
+ pretty-format: 29.5.0
6661
+ dev: true
6662
+
6663
+ /jest-environment-node@29.5.0:
6664
+ resolution: {integrity: sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==}
6665
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6666
+ dependencies:
6667
+ '@jest/environment': 29.5.0
6668
+ '@jest/fake-timers': 29.5.0
6669
+ '@jest/types': 29.5.0
6670
+ '@types/node': 20.2.1
6671
+ jest-mock: 29.5.0
6672
+ jest-util: 29.5.0
6673
+ dev: true
6674
+
6675
+ /jest-get-type@29.4.3:
6676
+ resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==}
6677
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6678
+ dev: true
6679
+
6680
+ /jest-haste-map@29.5.0:
6681
+ resolution: {integrity: sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==}
6682
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6683
+ dependencies:
6684
+ '@jest/types': 29.5.0
6685
+ '@types/graceful-fs': 4.1.6
6686
+ '@types/node': 20.2.1
6687
+ anymatch: 3.1.3
6688
+ fb-watchman: 2.0.2
6689
+ graceful-fs: 4.2.11
6690
+ jest-regex-util: 29.4.3
6691
+ jest-util: 29.5.0
6692
+ jest-worker: 29.5.0
6693
+ micromatch: 4.0.5
6694
+ walker: 1.0.8
6695
+ optionalDependencies:
6696
+ fsevents: 2.3.2
6697
+ dev: true
6698
+
6699
+ /jest-leak-detector@29.5.0:
6700
+ resolution: {integrity: sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==}
6701
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6702
+ dependencies:
6703
+ jest-get-type: 29.4.3
6704
+ pretty-format: 29.5.0
6705
+ dev: true
6706
+
6707
+ /jest-matcher-utils@29.5.0:
6708
+ resolution: {integrity: sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==}
6709
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6710
+ dependencies:
6711
+ chalk: 4.1.2
6712
+ jest-diff: 29.5.0
6713
+ jest-get-type: 29.4.3
6714
+ pretty-format: 29.5.0
6715
+ dev: true
6716
+
6717
+ /jest-message-util@29.5.0:
6718
+ resolution: {integrity: sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==}
6719
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6720
+ dependencies:
6721
+ '@babel/code-frame': 7.21.4
6722
+ '@jest/types': 29.5.0
6723
+ '@types/stack-utils': 2.0.1
6724
+ chalk: 4.1.2
6725
+ graceful-fs: 4.2.11
6726
+ micromatch: 4.0.5
6727
+ pretty-format: 29.5.0
6728
+ slash: 3.0.0
6729
+ stack-utils: 2.0.6
6730
+ dev: true
6731
+
6732
+ /jest-mock@29.5.0:
6733
+ resolution: {integrity: sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==}
6734
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6735
+ dependencies:
6736
+ '@jest/types': 29.5.0
6737
+ '@types/node': 20.2.1
6738
+ jest-util: 29.5.0
6739
+ dev: true
6740
+
6741
+ /jest-pnp-resolver@1.2.3(jest-resolve@29.5.0):
6742
+ resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
6743
+ engines: {node: '>=6'}
6744
+ peerDependencies:
6745
+ jest-resolve: '*'
6746
+ peerDependenciesMeta:
6747
+ jest-resolve:
6748
+ optional: true
6749
+ dependencies:
6750
+ jest-resolve: 29.5.0
6751
+ dev: true
6752
+
6753
+ /jest-regex-util@29.4.3:
6754
+ resolution: {integrity: sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==}
6755
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6756
+ dev: true
6757
+
6758
+ /jest-resolve-dependencies@29.5.0:
6759
+ resolution: {integrity: sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg==}
6760
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6761
+ dependencies:
6762
+ jest-regex-util: 29.4.3
6763
+ jest-snapshot: 29.5.0
6764
+ transitivePeerDependencies:
6765
+ - supports-color
6766
+ dev: true
6767
+
6768
+ /jest-resolve@29.5.0:
6769
+ resolution: {integrity: sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==}
6770
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6771
+ dependencies:
6772
+ chalk: 4.1.2
6773
+ graceful-fs: 4.2.11
6774
+ jest-haste-map: 29.5.0
6775
+ jest-pnp-resolver: 1.2.3(jest-resolve@29.5.0)
6776
+ jest-util: 29.5.0
6777
+ jest-validate: 29.5.0
6778
+ resolve: 1.22.2
6779
+ resolve.exports: 2.0.2
6780
+ slash: 3.0.0
6781
+ dev: true
6782
+
6783
+ /jest-runner@29.5.0:
6784
+ resolution: {integrity: sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ==}
6785
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6786
+ dependencies:
6787
+ '@jest/console': 29.5.0
6788
+ '@jest/environment': 29.5.0
6789
+ '@jest/test-result': 29.5.0
6790
+ '@jest/transform': 29.5.0
6791
+ '@jest/types': 29.5.0
6792
+ '@types/node': 20.2.1
6793
+ chalk: 4.1.2
6794
+ emittery: 0.13.1
6795
+ graceful-fs: 4.2.11
6796
+ jest-docblock: 29.4.3
6797
+ jest-environment-node: 29.5.0
6798
+ jest-haste-map: 29.5.0
6799
+ jest-leak-detector: 29.5.0
6800
+ jest-message-util: 29.5.0
6801
+ jest-resolve: 29.5.0
6802
+ jest-runtime: 29.5.0
6803
+ jest-util: 29.5.0
6804
+ jest-watcher: 29.5.0
6805
+ jest-worker: 29.5.0
6806
+ p-limit: 3.1.0
6807
+ source-map-support: 0.5.13
6808
+ transitivePeerDependencies:
6809
+ - supports-color
6810
+ dev: true
6811
+
6812
+ /jest-runtime@29.5.0:
6813
+ resolution: {integrity: sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==}
6814
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6815
+ dependencies:
6816
+ '@jest/environment': 29.5.0
6817
+ '@jest/fake-timers': 29.5.0
6818
+ '@jest/globals': 29.5.0
6819
+ '@jest/source-map': 29.4.3
6820
+ '@jest/test-result': 29.5.0
6821
+ '@jest/transform': 29.5.0
6822
+ '@jest/types': 29.5.0
6823
+ '@types/node': 20.2.1
6824
+ chalk: 4.1.2
6825
+ cjs-module-lexer: 1.2.2
6826
+ collect-v8-coverage: 1.0.1
6827
+ glob: 7.2.3
6828
+ graceful-fs: 4.2.11
6829
+ jest-haste-map: 29.5.0
6830
+ jest-message-util: 29.5.0
6831
+ jest-mock: 29.5.0
6832
+ jest-regex-util: 29.4.3
6833
+ jest-resolve: 29.5.0
6834
+ jest-snapshot: 29.5.0
6835
+ jest-util: 29.5.0
6836
+ slash: 3.0.0
6837
+ strip-bom: 4.0.0
6838
+ transitivePeerDependencies:
6839
+ - supports-color
6840
+ dev: true
6841
+
6842
+ /jest-snapshot@29.5.0:
6843
+ resolution: {integrity: sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==}
6844
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6845
+ dependencies:
6846
+ '@babel/core': 7.21.8
6847
+ '@babel/generator': 7.21.5
6848
+ '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.8)
6849
+ '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.21.8)
6850
+ '@babel/traverse': 7.21.5
6851
+ '@babel/types': 7.21.5
6852
+ '@jest/expect-utils': 29.5.0
6853
+ '@jest/transform': 29.5.0
6854
+ '@jest/types': 29.5.0
6855
+ '@types/babel__traverse': 7.18.5
6856
+ '@types/prettier': 2.7.2
6857
+ babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.8)
6858
+ chalk: 4.1.2
6859
+ expect: 29.5.0
6860
+ graceful-fs: 4.2.11
6861
+ jest-diff: 29.5.0
6862
+ jest-get-type: 29.4.3
6863
+ jest-matcher-utils: 29.5.0
6864
+ jest-message-util: 29.5.0
6865
+ jest-util: 29.5.0
6866
+ natural-compare: 1.4.0
6867
+ pretty-format: 29.5.0
6868
+ semver: 7.5.1
6869
+ transitivePeerDependencies:
6870
+ - supports-color
6871
+ dev: true
6872
+
6873
+ /jest-util@29.5.0:
6874
+ resolution: {integrity: sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==}
6875
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6876
+ dependencies:
6877
+ '@jest/types': 29.5.0
6878
+ '@types/node': 20.2.1
6879
+ chalk: 4.1.2
6880
+ ci-info: 3.8.0
6881
+ graceful-fs: 4.2.11
6882
+ picomatch: 2.3.1
6883
+ dev: true
6884
+
6885
+ /jest-validate@29.5.0:
6886
+ resolution: {integrity: sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==}
6887
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6888
+ dependencies:
6889
+ '@jest/types': 29.5.0
6890
+ camelcase: 6.3.0
6891
+ chalk: 4.1.2
6892
+ jest-get-type: 29.4.3
6893
+ leven: 3.1.0
6894
+ pretty-format: 29.5.0
6895
+ dev: true
6896
+
6897
+ /jest-watcher@29.5.0:
6898
+ resolution: {integrity: sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA==}
6899
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6900
+ dependencies:
6901
+ '@jest/test-result': 29.5.0
6902
+ '@jest/types': 29.5.0
6903
+ '@types/node': 20.2.1
6904
+ ansi-escapes: 4.3.2
6905
+ chalk: 4.1.2
6906
+ emittery: 0.13.1
6907
+ jest-util: 29.5.0
6908
+ string-length: 4.0.2
6909
+ dev: true
6910
+
6911
+ /jest-worker@29.5.0:
6912
+ resolution: {integrity: sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==}
6913
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6914
+ dependencies:
6915
+ '@types/node': 20.2.1
6916
+ jest-util: 29.5.0
6917
+ merge-stream: 2.0.0
6918
+ supports-color: 8.1.1
6919
+ dev: true
6920
+
6921
+ /jest@29.5.0:
6922
+ resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==}
6923
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
6924
+ hasBin: true
6925
+ peerDependencies:
6926
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
6927
+ peerDependenciesMeta:
6928
+ node-notifier:
6929
+ optional: true
6930
+ dependencies:
6931
+ '@jest/core': 29.5.0
6932
+ '@jest/types': 29.5.0
6933
+ import-local: 3.1.0
6934
+ jest-cli: 29.5.0
6935
+ transitivePeerDependencies:
6936
+ - '@types/node'
6937
+ - supports-color
6938
+ - ts-node
6939
+ dev: true
6940
+
6941
+ /js-sdsl@4.4.0:
6942
+ resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==}
6943
+ dev: true
6944
+
6945
+ /js-tokens@4.0.0:
6946
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
6947
+
6948
+ /js-yaml@3.14.1:
6949
+ resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
6950
+ hasBin: true
6951
+ dependencies:
6952
+ argparse: 1.0.10
6953
+ esprima: 4.0.1
6954
+ dev: true
6955
+
6956
+ /js-yaml@4.1.0:
6957
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
6958
+ hasBin: true
6959
+ dependencies:
6960
+ argparse: 2.0.1
6961
+ dev: true
6962
+
6963
+ /jsesc@0.5.0:
6964
+ resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
6965
+ hasBin: true
6966
+ dev: true
6967
+
6968
+ /jsesc@2.5.2:
6969
+ resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
6970
+ engines: {node: '>=4'}
6971
+ hasBin: true
6972
+ dev: true
6973
+
6974
+ /json-diff@0.9.0:
6975
+ resolution: {integrity: sha512-cVnggDrVkAAA3OvFfHpFEhOnmcsUpleEKq4d4O8sQWWSH40MBrWstKigVB1kGrgLWzuom+7rRdaCsnBD6VyObQ==}
6976
+ hasBin: true
6977
+ dependencies:
6978
+ cli-color: 2.0.3
6979
+ difflib: 0.2.4
6980
+ dreamopt: 0.8.0
6981
+ dev: true
6982
+
6983
+ /json-parse-even-better-errors@2.3.1:
6984
+ resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
6985
+ dev: true
6986
+
6987
+ /json-schema-traverse@0.4.1:
6988
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
6989
+ dev: true
6990
+
6991
+ /json-stable-stringify-without-jsonify@1.0.1:
6992
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
6993
+ dev: true
6994
+
6995
+ /json5@1.0.2:
6996
+ resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
6997
+ hasBin: true
6998
+ dependencies:
6999
+ minimist: 1.2.8
7000
+ dev: true
7001
+
7002
+ /json5@2.2.3:
7003
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
7004
+ engines: {node: '>=6'}
7005
+ hasBin: true
7006
+ dev: true
7007
+
7008
+ /jsonfile@6.1.0:
7009
+ resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
7010
+ dependencies:
7011
+ universalify: 2.0.0
7012
+ optionalDependencies:
7013
+ graceful-fs: 4.2.11
7014
+ dev: true
7015
+
7016
+ /jsx-ast-utils@3.3.3:
7017
+ resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==}
7018
+ engines: {node: '>=4.0'}
7019
+ dependencies:
7020
+ array-includes: 3.1.6
7021
+ object.assign: 4.1.4
7022
+ dev: true
7023
+
7024
+ /kleur@3.0.3:
7025
+ resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
7026
+ engines: {node: '>=6'}
7027
+ dev: true
7028
+
7029
+ /kleur@4.1.5:
7030
+ resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
7031
+ engines: {node: '>=6'}
7032
+ dev: true
7033
+
7034
+ /language-subtag-registry@0.3.22:
7035
+ resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
7036
+ dev: true
7037
+
7038
+ /language-tags@1.0.5:
7039
+ resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==}
7040
+ dependencies:
7041
+ language-subtag-registry: 0.3.22
7042
+ dev: true
7043
+
7044
+ /leven@3.1.0:
7045
+ resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
7046
+ engines: {node: '>=6'}
7047
+ dev: true
7048
+
7049
+ /levn@0.4.1:
7050
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
7051
+ engines: {node: '>= 0.8.0'}
7052
+ dependencies:
7053
+ prelude-ls: 1.2.1
7054
+ type-check: 0.4.0
7055
+ dev: true
7056
+
7057
+ /lines-and-columns@1.2.4:
7058
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
7059
+ dev: true
7060
+
7061
+ /locate-path@5.0.0:
7062
+ resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
7063
+ engines: {node: '>=8'}
7064
+ dependencies:
7065
+ p-locate: 4.1.0
7066
+ dev: true
7067
+
7068
+ /locate-path@6.0.0:
7069
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
7070
+ engines: {node: '>=10'}
7071
+ dependencies:
7072
+ p-locate: 5.0.0
7073
+ dev: true
7074
+
7075
+ /lodash.debounce@4.0.8:
7076
+ resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
7077
+ dev: true
7078
+
7079
+ /lodash.merge@4.6.2:
7080
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
7081
+ dev: true
7082
+
7083
+ /lodash.throttle@4.1.1:
7084
+ resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==}
7085
+ dev: true
7086
+
7087
+ /lodash@4.17.21:
7088
+ resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
7089
+ dev: true
7090
+
7091
+ /loose-envify@1.4.0:
7092
+ resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
7093
+ hasBin: true
7094
+ dependencies:
7095
+ js-tokens: 4.0.0
7096
+
7097
+ /lru-cache@5.1.1:
7098
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
7099
+ dependencies:
7100
+ yallist: 3.1.1
7101
+ dev: true
7102
+
7103
+ /lru-cache@6.0.0:
7104
+ resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
7105
+ engines: {node: '>=10'}
7106
+ dependencies:
7107
+ yallist: 4.0.0
7108
+ dev: true
7109
+
7110
+ /lru-queue@0.1.0:
7111
+ resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==}
7112
+ dependencies:
7113
+ es5-ext: 0.10.62
7114
+ dev: true
7115
+
7116
+ /magic-string@0.25.9:
7117
+ resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
7118
+ dependencies:
7119
+ sourcemap-codec: 1.4.8
7120
+ dev: true
7121
+
7122
+ /make-dir@3.1.0:
7123
+ resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
7124
+ engines: {node: '>=8'}
7125
+ dependencies:
7126
+ semver: 6.3.0
7127
+ dev: true
7128
+
7129
+ /makeerror@1.0.12:
7130
+ resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
7131
+ dependencies:
7132
+ tmpl: 1.0.5
7133
+ dev: true
7134
+
7135
+ /media-typer@0.3.0:
7136
+ resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
7137
+ engines: {node: '>= 0.6'}
7138
+ dev: true
7139
+
7140
+ /memoizee@0.4.15:
7141
+ resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==}
7142
+ dependencies:
7143
+ d: 1.0.1
7144
+ es5-ext: 0.10.62
7145
+ es6-weak-map: 2.0.3
7146
+ event-emitter: 0.3.5
7147
+ is-promise: 2.2.2
7148
+ lru-queue: 0.1.0
7149
+ next-tick: 1.1.0
7150
+ timers-ext: 0.1.7
7151
+ dev: true
7152
+
7153
+ /merge-descriptors@1.0.1:
7154
+ resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==}
7155
+ dev: true
7156
+
7157
+ /merge-stream@2.0.0:
7158
+ resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
7159
+ dev: true
7160
+
7161
+ /merge2@1.4.1:
7162
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
7163
+ engines: {node: '>= 8'}
7164
+ dev: true
7165
+
7166
+ /methods@1.1.2:
7167
+ resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
7168
+ engines: {node: '>= 0.6'}
7169
+ dev: true
7170
+
7171
+ /micromatch@4.0.5:
7172
+ resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
7173
+ engines: {node: '>=8.6'}
7174
+ dependencies:
7175
+ braces: 3.0.2
7176
+ picomatch: 2.3.1
7177
+ dev: true
7178
+
7179
+ /mime-db@1.52.0:
7180
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
7181
+ engines: {node: '>= 0.6'}
7182
+ dev: true
7183
+
7184
+ /mime-types@2.1.35:
7185
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
7186
+ engines: {node: '>= 0.6'}
7187
+ dependencies:
7188
+ mime-db: 1.52.0
7189
+ dev: true
7190
+
7191
+ /mime@1.6.0:
7192
+ resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
7193
+ engines: {node: '>=4'}
7194
+ hasBin: true
7195
+ dev: true
7196
+
7197
+ /mime@3.0.0:
7198
+ resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==}
7199
+ engines: {node: '>=10.0.0'}
7200
+ hasBin: true
7201
+ dev: true
7202
+
7203
+ /mimic-fn@2.1.0:
7204
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
7205
+ engines: {node: '>=6'}
7206
+ dev: true
7207
+
7208
+ /mimic-response@3.1.0:
7209
+ resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
7210
+ engines: {node: '>=10'}
7211
+ dev: true
7212
+
7213
+ /miniflare@3.0.1:
7214
+ resolution: {integrity: sha512-aLOB8d26lOTn493GOv1LmpGHVLSxmeT4MixPG/k3Ze10j0wDKnMj8wsFgbZ6Q4cr1N4faf8O3IbNRJuQ+rLoJA==}
7215
+ engines: {node: '>=16.13'}
7216
+ dependencies:
7217
+ acorn: 8.8.2
7218
+ acorn-walk: 8.2.0
7219
+ better-sqlite3: 8.4.0
7220
+ capnp-ts: 0.7.0
7221
+ exit-hook: 2.2.1
7222
+ glob-to-regexp: 0.4.1
7223
+ http-cache-semantics: 4.1.1
7224
+ kleur: 4.1.5
7225
+ source-map-support: 0.5.21
7226
+ stoppable: 1.1.0
7227
+ undici: 5.22.1
7228
+ workerd: 1.20230518.0
7229
+ ws: 8.13.0
7230
+ youch: 3.2.3
7231
+ zod: 3.21.4
7232
+ transitivePeerDependencies:
7233
+ - bufferutil
7234
+ - supports-color
7235
+ - utf-8-validate
7236
+ dev: true
7237
+
7238
+ /minimatch@3.1.2:
7239
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
7240
+ dependencies:
7241
+ brace-expansion: 1.1.11
7242
+ dev: true
7243
+
7244
+ /minimatch@5.1.6:
7245
+ resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
7246
+ engines: {node: '>=10'}
7247
+ dependencies:
7248
+ brace-expansion: 2.0.1
7249
+ dev: true
7250
+
7251
+ /minimatch@7.4.6:
7252
+ resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==}
7253
+ engines: {node: '>=10'}
7254
+ dependencies:
7255
+ brace-expansion: 2.0.1
7256
+ dev: true
7257
+
7258
+ /minimist@1.2.8:
7259
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
7260
+ dev: true
7261
+
7262
+ /mkdirp-classic@0.5.3:
7263
+ resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
7264
+ dev: true
7265
+
7266
+ /ms@2.0.0:
7267
+ resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
7268
+ dev: true
7269
+
7270
+ /ms@2.1.2:
7271
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
7272
+ dev: true
7273
+
7274
+ /ms@2.1.3:
7275
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
7276
+ dev: true
7277
+
7278
+ /mustache@4.2.0:
7279
+ resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==}
7280
+ hasBin: true
7281
+ dev: true
7282
+
7283
+ /nanoid@3.3.6:
7284
+ resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
7285
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
7286
+ hasBin: true
7287
+ dev: true
7288
+
7289
+ /napi-build-utils@1.0.2:
7290
+ resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==}
7291
+ dev: true
7292
+
7293
+ /natural-compare-lite@1.4.0:
7294
+ resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
7295
+ dev: true
7296
+
7297
+ /natural-compare@1.4.0:
7298
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
7299
+ dev: true
7300
+
7301
+ /negotiator@0.6.3:
7302
+ resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
7303
+ engines: {node: '>= 0.6'}
7304
+ dev: true
7305
+
7306
+ /next-tick@1.1.0:
7307
+ resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
7308
+ dev: true
7309
+
7310
+ /node-abi@3.40.0:
7311
+ resolution: {integrity: sha512-zNy02qivjjRosswoYmPi8hIKJRr8MpQyeKT6qlcq/OnOgA3Rhoae+IYOqsM9V5+JnHWmxKnWOT2GxvtqdtOCXA==}
7312
+ engines: {node: '>=10'}
7313
+ dependencies:
7314
+ semver: 7.5.1
7315
+ dev: true
7316
+
7317
+ /node-forge@1.3.1:
7318
+ resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
7319
+ engines: {node: '>= 6.13.0'}
7320
+ dev: true
7321
+
7322
+ /node-int64@0.4.0:
7323
+ resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
7324
+ dev: true
7325
+
7326
+ /node-releases@2.0.10:
7327
+ resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==}
7328
+ dev: true
7329
+
7330
+ /node-watch@0.7.3:
7331
+ resolution: {integrity: sha512-3l4E8uMPY1HdMMryPRUAl+oIHtXtyiTlIiESNSVSNxcPfzAFzeTbXFQkZfAwBbo0B1qMSG8nUABx+Gd+YrbKrQ==}
7332
+ engines: {node: '>=6'}
7333
+ dev: true
7334
+
7335
+ /normalize-path@3.0.0:
7336
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
7337
+ engines: {node: '>=0.10.0'}
7338
+ dev: true
7339
+
7340
+ /normalize-range@0.1.2:
7341
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
7342
+ engines: {node: '>=0.10.0'}
7343
+ dev: true
7344
+
7345
+ /npm-run-path@4.0.1:
7346
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
7347
+ engines: {node: '>=8'}
7348
+ dependencies:
7349
+ path-key: 3.1.1
7350
+ dev: true
7351
+
7352
+ /object-assign@4.1.1:
7353
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
7354
+ engines: {node: '>=0.10.0'}
7355
+
7356
+ /object-inspect@1.12.3:
7357
+ resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==}
7358
+ dev: true
7359
+
7360
+ /object-is@1.1.5:
7361
+ resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==}
7362
+ engines: {node: '>= 0.4'}
7363
+ dependencies:
7364
+ call-bind: 1.0.2
7365
+ define-properties: 1.2.0
7366
+ dev: true
7367
+
7368
+ /object-keys@1.1.1:
7369
+ resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
7370
+ engines: {node: '>= 0.4'}
7371
+ dev: true
7372
+
7373
+ /object.assign@4.1.4:
7374
+ resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==}
7375
+ engines: {node: '>= 0.4'}
7376
+ dependencies:
7377
+ call-bind: 1.0.2
7378
+ define-properties: 1.2.0
7379
+ has-symbols: 1.0.3
7380
+ object-keys: 1.1.1
7381
+ dev: true
7382
+
7383
+ /object.entries@1.1.6:
7384
+ resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==}
7385
+ engines: {node: '>= 0.4'}
7386
+ dependencies:
7387
+ call-bind: 1.0.2
7388
+ define-properties: 1.2.0
7389
+ es-abstract: 1.21.2
7390
+ dev: true
7391
+
7392
+ /object.fromentries@2.0.6:
7393
+ resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==}
7394
+ engines: {node: '>= 0.4'}
7395
+ dependencies:
7396
+ call-bind: 1.0.2
7397
+ define-properties: 1.2.0
7398
+ es-abstract: 1.21.2
7399
+ dev: true
7400
+
7401
+ /object.hasown@1.1.2:
7402
+ resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==}
7403
+ dependencies:
7404
+ define-properties: 1.2.0
7405
+ es-abstract: 1.21.2
7406
+ dev: true
7407
+
7408
+ /object.values@1.1.6:
7409
+ resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==}
7410
+ engines: {node: '>= 0.4'}
7411
+ dependencies:
7412
+ call-bind: 1.0.2
7413
+ define-properties: 1.2.0
7414
+ es-abstract: 1.21.2
7415
+ dev: true
7416
+
7417
+ /obuf@1.1.2:
7418
+ resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
7419
+ dev: false
7420
+
7421
+ /on-finished@2.4.1:
7422
+ resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
7423
+ engines: {node: '>= 0.8'}
7424
+ dependencies:
7425
+ ee-first: 1.1.1
7426
+ dev: true
7427
+
7428
+ /once@1.4.0:
7429
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
7430
+ dependencies:
7431
+ wrappy: 1.0.2
7432
+ dev: true
7433
+
7434
+ /onetime@5.1.2:
7435
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
7436
+ engines: {node: '>=6'}
7437
+ dependencies:
7438
+ mimic-fn: 2.1.0
7439
+ dev: true
7440
+
7441
+ /optionator@0.9.1:
7442
+ resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
7443
+ engines: {node: '>= 0.8.0'}
7444
+ dependencies:
7445
+ deep-is: 0.1.4
7446
+ fast-levenshtein: 2.0.6
7447
+ levn: 0.4.1
7448
+ prelude-ls: 1.2.1
7449
+ type-check: 0.4.0
7450
+ word-wrap: 1.2.3
7451
+ dev: true
7452
+
7453
+ /p-limit@2.3.0:
7454
+ resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
7455
+ engines: {node: '>=6'}
7456
+ dependencies:
7457
+ p-try: 2.2.0
7458
+ dev: true
7459
+
7460
+ /p-limit@3.1.0:
7461
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
7462
+ engines: {node: '>=10'}
7463
+ dependencies:
7464
+ yocto-queue: 0.1.0
7465
+ dev: true
7466
+
7467
+ /p-locate@4.1.0:
7468
+ resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
7469
+ engines: {node: '>=8'}
7470
+ dependencies:
7471
+ p-limit: 2.3.0
7472
+ dev: true
7473
+
7474
+ /p-locate@5.0.0:
7475
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
7476
+ engines: {node: '>=10'}
7477
+ dependencies:
7478
+ p-limit: 3.1.0
7479
+ dev: true
7480
+
7481
+ /p-try@2.2.0:
7482
+ resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
7483
+ engines: {node: '>=6'}
7484
+ dev: true
7485
+
7486
+ /parent-module@1.0.1:
7487
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
7488
+ engines: {node: '>=6'}
7489
+ dependencies:
7490
+ callsites: 3.1.0
7491
+ dev: true
7492
+
7493
+ /parse-json@5.2.0:
7494
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
7495
+ engines: {node: '>=8'}
7496
+ dependencies:
7497
+ '@babel/code-frame': 7.21.4
7498
+ error-ex: 1.3.2
7499
+ json-parse-even-better-errors: 2.3.1
7500
+ lines-and-columns: 1.2.4
7501
+ dev: true
7502
+
7503
+ /parseurl@1.3.3:
7504
+ resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
7505
+ engines: {node: '>= 0.8'}
7506
+ dev: true
7507
+
7508
+ /path-exists@4.0.0:
7509
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
7510
+ engines: {node: '>=8'}
7511
+ dev: true
7512
+
7513
+ /path-is-absolute@1.0.1:
7514
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
7515
+ engines: {node: '>=0.10.0'}
7516
+ dev: true
7517
+
7518
+ /path-key@3.1.1:
7519
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
7520
+ engines: {node: '>=8'}
7521
+ dev: true
7522
+
7523
+ /path-parse@1.0.7:
7524
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
7525
+ dev: true
7526
+
7527
+ /path-to-regexp@0.1.7:
7528
+ resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
7529
+ dev: true
7530
+
7531
+ /path-to-regexp@6.2.1:
7532
+ resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==}
7533
+ dev: true
7534
+
7535
+ /path-type@4.0.0:
7536
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
7537
+ engines: {node: '>=8'}
7538
+ dev: true
7539
+
7540
+ /pg-int8@1.0.1:
7541
+ resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==}
7542
+ engines: {node: '>=4.0.0'}
7543
+ dev: false
7544
+
7545
+ /pg-numeric@1.0.2:
7546
+ resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==}
7547
+ engines: {node: '>=4'}
7548
+ dev: false
7549
+
7550
+ /pg-protocol@1.6.0:
7551
+ resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==}
7552
+ dev: false
7553
+
7554
+ /pg-types@4.0.1:
7555
+ resolution: {integrity: sha512-hRCSDuLII9/LE3smys1hRHcu5QGcLs9ggT7I/TCs0IE+2Eesxi9+9RWAAwZ0yaGjxoWICF/YHLOEjydGujoJ+g==}
7556
+ engines: {node: '>=10'}
7557
+ dependencies:
7558
+ pg-int8: 1.0.1
7559
+ pg-numeric: 1.0.2
7560
+ postgres-array: 3.0.2
7561
+ postgres-bytea: 3.0.0
7562
+ postgres-date: 2.0.1
7563
+ postgres-interval: 3.0.0
7564
+ postgres-range: 1.1.3
7565
+ dev: false
7566
+
7567
+ /picocolors@1.0.0:
7568
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
7569
+ dev: true
7570
+
7571
+ /picomatch@2.3.1:
7572
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
7573
+ engines: {node: '>=8.6'}
7574
+ dev: true
7575
+
7576
+ /pirates@4.0.5:
7577
+ resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==}
7578
+ engines: {node: '>= 6'}
7579
+ dev: true
7580
+
7581
+ /pkg-dir@4.2.0:
7582
+ resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
7583
+ engines: {node: '>=8'}
7584
+ dependencies:
7585
+ find-up: 4.1.0
7586
+ dev: true
7587
+
7588
+ /playwright-core@1.31.2:
7589
+ resolution: {integrity: sha512-a1dFgCNQw4vCsG7bnojZjDnPewZcw7tZUNFN0ZkcLYKj+mPmXvg4MpaaKZ5SgqPsOmqIf2YsVRkgqiRDxD+fDQ==}
7590
+ engines: {node: '>=14'}
7591
+ hasBin: true
7592
+ dev: true
7593
+
7594
+ /postcss-custom-media@9.1.2(postcss@8.4.21):
7595
+ resolution: {integrity: sha512-osM9g4UKq4XKimAC7RAXroqi3BXpxfwTswAJQiZdrBjWGFGEyxQrY5H2eDWI8F+MEvEUfYDxA8scqi3QWROCSw==}
7596
+ engines: {node: ^14 || ^16 || >=18}
7597
+ peerDependencies:
7598
+ postcss: ^8.4
7599
+ dependencies:
7600
+ '@csstools/cascade-layer-name-parser': 1.0.2(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1)
7601
+ '@csstools/css-parser-algorithms': 2.1.1(@csstools/css-tokenizer@2.1.1)
7602
+ '@csstools/css-tokenizer': 2.1.1
7603
+ '@csstools/media-query-list-parser': 2.0.4(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1)
7604
+ postcss: 8.4.21
7605
+ dev: true
7606
+
7607
+ /postcss-nesting@11.2.1(postcss@8.4.21):
7608
+ resolution: {integrity: sha512-E6Jq74Jo/PbRAtZioON54NPhUNJYxVWhwxbweYl1vAoBYuGlDIts5yhtKiZFLvkvwT73e/9nFrW3oMqAtgG+GQ==}
7609
+ engines: {node: ^14 || ^16 || >=18}
7610
+ peerDependencies:
7611
+ postcss: ^8.4
7612
+ dependencies:
7613
+ '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.13)
7614
+ postcss: 8.4.21
7615
+ postcss-selector-parser: 6.0.13
7616
+ dev: true
7617
+
7618
+ /postcss-selector-parser@6.0.13:
7619
+ resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
7620
+ engines: {node: '>=4'}
7621
+ dependencies:
7622
+ cssesc: 3.0.0
7623
+ util-deprecate: 1.0.2
7624
+ dev: true
7625
+
7626
+ /postcss-value-parser@4.2.0:
7627
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
7628
+ dev: true
7629
+
7630
+ /postcss@8.4.21:
7631
+ resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==}
7632
+ engines: {node: ^10 || ^12 || >=14}
7633
+ dependencies:
7634
+ nanoid: 3.3.6
7635
+ picocolors: 1.0.0
7636
+ source-map-js: 1.0.2
7637
+ dev: true
7638
+
7639
+ /postcss@8.4.24:
7640
+ resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==}
7641
+ engines: {node: ^10 || ^12 || >=14}
7642
+ dependencies:
7643
+ nanoid: 3.3.6
7644
+ picocolors: 1.0.0
7645
+ source-map-js: 1.0.2
7646
+ dev: true
7647
+
7648
+ /postgres-array@3.0.2:
7649
+ resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==}
7650
+ engines: {node: '>=12'}
7651
+ dev: false
7652
+
7653
+ /postgres-bytea@3.0.0:
7654
+ resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==}
7655
+ engines: {node: '>= 6'}
7656
+ dependencies:
7657
+ obuf: 1.1.2
7658
+ dev: false
7659
+
7660
+ /postgres-date@2.0.1:
7661
+ resolution: {integrity: sha512-YtMKdsDt5Ojv1wQRvUhnyDJNSr2dGIC96mQVKz7xufp07nfuFONzdaowrMHjlAzY6GDLd4f+LUHHAAM1h4MdUw==}
7662
+ engines: {node: '>=12'}
7663
+ dev: false
7664
+
7665
+ /postgres-interval@3.0.0:
7666
+ resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==}
7667
+ engines: {node: '>=12'}
7668
+ dev: false
7669
+
7670
+ /postgres-range@1.1.3:
7671
+ resolution: {integrity: sha512-VdlZoocy5lCP0c/t66xAfclglEapXPCIVhqqJRncYpvbCgImF0w67aPKfbqUMr72tO2k5q0TdTZwCLjPTI6C9g==}
7672
+ dev: false
7673
+
7674
+ /postgres@3.3.4:
7675
+ resolution: {integrity: sha512-XVu0+d/Y56pl2lSaf0c7V19AhAEfpVrhID1IENWN8nf0xch6hFq6dAov5dtUX6ZD46wfr1TxvLhxLtV8WnNsOg==}
7676
+
7677
+ /prebuild-install@7.1.1:
7678
+ resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==}
7679
+ engines: {node: '>=10'}
7680
+ hasBin: true
7681
+ dependencies:
7682
+ detect-libc: 2.0.1
7683
+ expand-template: 2.0.3
7684
+ github-from-package: 0.0.0
7685
+ minimist: 1.2.8
7686
+ mkdirp-classic: 0.5.3
7687
+ napi-build-utils: 1.0.2
7688
+ node-abi: 3.40.0
7689
+ pump: 3.0.0
7690
+ rc: 1.2.8
7691
+ simple-get: 4.0.1
7692
+ tar-fs: 2.1.1
7693
+ tunnel-agent: 0.6.0
7694
+ dev: true
7695
+
7696
+ /prelude-ls@1.2.1:
7697
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
7698
+ engines: {node: '>= 0.8.0'}
7699
+ dev: true
7700
+
7701
+ /prettier@2.8.8:
7702
+ resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
7703
+ engines: {node: '>=10.13.0'}
7704
+ hasBin: true
7705
+ dev: true
7706
+
7707
+ /pretty-format@29.5.0:
7708
+ resolution: {integrity: sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==}
7709
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
7710
+ dependencies:
7711
+ '@jest/schemas': 29.4.3
7712
+ ansi-styles: 5.2.0
7713
+ react-is: 18.2.0
7714
+ dev: true
7715
+
7716
+ /printable-characters@1.0.42:
7717
+ resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==}
7718
+ dev: true
7719
+
7720
+ /prompts@2.4.2:
7721
+ resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
7722
+ engines: {node: '>= 6'}
7723
+ dependencies:
7724
+ kleur: 3.0.3
7725
+ sisteransi: 1.0.5
7726
+ dev: true
7727
+
7728
+ /prop-types@15.8.1:
7729
+ resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
7730
+ dependencies:
7731
+ loose-envify: 1.4.0
7732
+ object-assign: 4.1.1
7733
+ react-is: 16.13.1
7734
+
7735
+ /proxy-addr@2.0.7:
7736
+ resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
7737
+ engines: {node: '>= 0.10'}
7738
+ dependencies:
7739
+ forwarded: 0.2.0
7740
+ ipaddr.js: 1.9.1
7741
+ dev: true
7742
+
7743
+ /pump@3.0.0:
7744
+ resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
7745
+ dependencies:
7746
+ end-of-stream: 1.4.4
7747
+ once: 1.4.0
7748
+ dev: true
7749
+
7750
+ /punycode@2.3.0:
7751
+ resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
7752
+ engines: {node: '>=6'}
7753
+ dev: true
7754
+
7755
+ /pure-rand@6.0.2:
7756
+ resolution: {integrity: sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==}
7757
+ dev: true
7758
+
7759
+ /qs@6.11.0:
7760
+ resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
7761
+ engines: {node: '>=0.6'}
7762
+ dependencies:
7763
+ side-channel: 1.0.4
7764
+ dev: true
7765
+
7766
+ /queue-microtask@1.2.3:
7767
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
7768
+ dev: true
7769
+
7770
+ /radix3@1.0.0:
7771
+ resolution: {integrity: sha512-6n3AEXth91ASapMVKiEh2wrbFJmI+NBilrWE0AbiGgfm0xet0QXC8+a3K19r1UVYjUjctUgB053c3V/J6V0kCQ==}
7772
+ dev: false
7773
+
7774
+ /range-parser@1.2.1:
7775
+ resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
7776
+ engines: {node: '>= 0.6'}
7777
+ dev: true
7778
+
7779
+ /raw-body@2.5.1:
7780
+ resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==}
7781
+ engines: {node: '>= 0.8'}
7782
+ dependencies:
7783
+ bytes: 3.1.2
7784
+ http-errors: 2.0.0
7785
+ iconv-lite: 0.4.24
7786
+ unpipe: 1.0.0
7787
+ dev: true
7788
+
7789
+ /rc@1.2.8:
7790
+ resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
7791
+ hasBin: true
7792
+ dependencies:
7793
+ deep-extend: 0.6.0
7794
+ ini: 1.3.8
7795
+ minimist: 1.2.8
7796
+ strip-json-comments: 2.0.1
7797
+ dev: true
7798
+
7799
+ /react-aria-components@1.0.0-alpha.3(react-dom@18.2.0)(react@18.2.0):
7800
+ resolution: {integrity: sha512-rhakTyOPsTwk/ylCCcK38/y3yN2SXPWN2wPknNwDQ9wE+P/PQWIrc3WxOlhTFGltLC1/KXAAIvJrkPgPBFTE1g==}
7801
+ peerDependencies:
7802
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
7803
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
7804
+ dependencies:
7805
+ '@internationalized/date': 3.2.0
7806
+ '@react-aria/focus': 3.12.0(react@18.2.0)
7807
+ '@react-aria/utils': 3.16.0(react@18.2.0)
7808
+ '@react-stately/table': 3.9.0(react@18.2.0)
7809
+ '@react-types/grid': 3.1.7(react@18.2.0)
7810
+ '@react-types/shared': 3.18.0(react@18.2.0)
7811
+ '@react-types/table': 3.6.0(react@18.2.0)
7812
+ '@swc/helpers': 0.4.14
7813
+ react: 18.2.0
7814
+ react-aria: 3.24.0(react-dom@18.2.0)(react@18.2.0)
7815
+ react-dom: 18.2.0(react@18.2.0)
7816
+ react-stately: 3.22.0(react@18.2.0)
7817
+ use-sync-external-store: 1.2.0(react@18.2.0)
7818
+ dev: false
7819
+
7820
+ /react-aria@3.24.0(react-dom@18.2.0)(react@18.2.0):
7821
+ resolution: {integrity: sha512-uqqUOTlRVbOTsbCMr2+SVgRg4345LYBnpBXpLZnYwhlDwDK+w7qXf+AO0cUty6fD3jYw0FmCp0PhyF1bfk1MGg==}
7822
+ peerDependencies:
7823
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
7824
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
7825
+ dependencies:
7826
+ '@react-aria/breadcrumbs': 3.5.1(react@18.2.0)
7827
+ '@react-aria/button': 3.7.1(react@18.2.0)
7828
+ '@react-aria/calendar': 3.2.0(react-dom@18.2.0)(react@18.2.0)
7829
+ '@react-aria/checkbox': 3.9.0(react@18.2.0)
7830
+ '@react-aria/combobox': 3.6.0(react-dom@18.2.0)(react@18.2.0)
7831
+ '@react-aria/datepicker': 3.4.0(react-dom@18.2.0)(react@18.2.0)
7832
+ '@react-aria/dialog': 3.5.1(react-dom@18.2.0)(react@18.2.0)
7833
+ '@react-aria/dnd': 3.2.0(react-dom@18.2.0)(react@18.2.0)
7834
+ '@react-aria/focus': 3.12.0(react@18.2.0)
7835
+ '@react-aria/gridlist': 3.3.0(react-dom@18.2.0)(react@18.2.0)
7836
+ '@react-aria/i18n': 3.7.1(react@18.2.0)
7837
+ '@react-aria/interactions': 3.15.0(react@18.2.0)
7838
+ '@react-aria/label': 3.5.1(react@18.2.0)
7839
+ '@react-aria/link': 3.5.0(react@18.2.0)
7840
+ '@react-aria/listbox': 3.9.0(react@18.2.0)
7841
+ '@react-aria/menu': 3.9.0(react-dom@18.2.0)(react@18.2.0)
7842
+ '@react-aria/meter': 3.4.1(react@18.2.0)
7843
+ '@react-aria/numberfield': 3.5.0(react-dom@18.2.0)(react@18.2.0)
7844
+ '@react-aria/overlays': 3.14.0(react-dom@18.2.0)(react@18.2.0)
7845
+ '@react-aria/progress': 3.4.1(react@18.2.0)
7846
+ '@react-aria/radio': 3.6.0(react@18.2.0)
7847
+ '@react-aria/searchfield': 3.5.1(react@18.2.0)
7848
+ '@react-aria/select': 3.10.0(react-dom@18.2.0)(react@18.2.0)
7849
+ '@react-aria/selection': 3.14.0(react@18.2.0)
7850
+ '@react-aria/separator': 3.3.1(react@18.2.0)
7851
+ '@react-aria/slider': 3.4.0(react@18.2.0)
7852
+ '@react-aria/ssr': 3.6.0(react@18.2.0)
7853
+ '@react-aria/switch': 3.5.0(react@18.2.0)
7854
+ '@react-aria/table': 3.9.0(react-dom@18.2.0)(react@18.2.0)
7855
+ '@react-aria/tabs': 3.5.0(react@18.2.0)
7856
+ '@react-aria/textfield': 3.9.1(react@18.2.0)
7857
+ '@react-aria/tooltip': 3.5.0(react@18.2.0)
7858
+ '@react-aria/utils': 3.16.0(react@18.2.0)
7859
+ '@react-aria/visually-hidden': 3.8.0(react@18.2.0)
7860
+ '@react-types/shared': 3.18.0(react@18.2.0)
7861
+ react: 18.2.0
7862
+ react-dom: 18.2.0(react@18.2.0)
7863
+ dev: false
7864
+
7865
+ /react-dom@18.2.0(react@18.2.0):
7866
+ resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
7867
+ peerDependencies:
7868
+ react: ^18.2.0
7869
+ dependencies:
7870
+ loose-envify: 1.4.0
7871
+ react: 18.2.0
7872
+ scheduler: 0.23.0
7873
+ dev: false
7874
+
7875
+ /react-error-boundary@4.0.4(react@18.2.0):
7876
+ resolution: {integrity: sha512-AbqMFx8bCsob8rCHZvJYQ42MQijK0/034RUvan9qrqyJCpazr8d9vKHrysbxcr6odoHLZvQEcYomFPoIqH9fow==}
7877
+ peerDependencies:
7878
+ react: '>=16.13.1'
7879
+ dependencies:
7880
+ '@babel/runtime': 7.21.5
7881
+ react: 18.2.0
7882
+ dev: false
7883
+
7884
+ /react-fast-compare@3.2.2:
7885
+ resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==}
7886
+ dev: false
7887
+
7888
+ /react-helmet-async@1.3.0(react-dom@18.2.0)(react@18.2.0):
7889
+ resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==}
7890
+ peerDependencies:
7891
+ react: ^16.6.0 || ^17.0.0 || ^18.0.0
7892
+ react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0
7893
+ dependencies:
7894
+ '@babel/runtime': 7.21.5
7895
+ invariant: 2.2.4
7896
+ prop-types: 15.8.1
7897
+ react: 18.2.0
7898
+ react-dom: 18.2.0(react@18.2.0)
7899
+ react-fast-compare: 3.2.2
7900
+ shallowequal: 1.1.0
7901
+ dev: false
7902
+
7903
+ /react-hook-form@7.43.9(react@18.2.0):
7904
+ resolution: {integrity: sha512-AUDN3Pz2NSeoxQ7Hs6OhQhDr6gtF9YRuutGDwPQqhSUAHJSgGl2VeY3qN19MG0SucpjgDiuMJ4iC5T5uB+eaNQ==}
7905
+ engines: {node: '>=12.22.0'}
7906
+ peerDependencies:
7907
+ react: ^16.8.0 || ^17 || ^18
7908
+ dependencies:
7909
+ react: 18.2.0
7910
+ dev: false
7911
+
7912
+ /react-is@16.13.1:
7913
+ resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
7914
+
7915
+ /react-is@18.2.0:
7916
+ resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
7917
+ dev: true
7918
+
7919
+ /react-refresh@0.14.0:
7920
+ resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==}
7921
+ engines: {node: '>=0.10.0'}
7922
+ dev: true
7923
+
7924
+ /react-stately@3.22.0(react@18.2.0):
7925
+ resolution: {integrity: sha512-w5itlPtjfUpxy+195LxRbaCNaGN1NVfPHelhYXuoPoKNgUvmy54uKXvP1Ek1ETZ9e55BaXuMs83yXv94wIMdpQ==}
7926
+ peerDependencies:
7927
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
7928
+ dependencies:
7929
+ '@react-stately/calendar': 3.2.0(react@18.2.0)
7930
+ '@react-stately/checkbox': 3.4.1(react@18.2.0)
7931
+ '@react-stately/collections': 3.7.0(react@18.2.0)
7932
+ '@react-stately/combobox': 3.5.0(react@18.2.0)
7933
+ '@react-stately/data': 3.9.1(react@18.2.0)
7934
+ '@react-stately/datepicker': 3.4.0(react@18.2.0)
7935
+ '@react-stately/dnd': 3.2.0(react@18.2.0)
7936
+ '@react-stately/list': 3.8.0(react@18.2.0)
7937
+ '@react-stately/menu': 3.5.1(react@18.2.0)
7938
+ '@react-stately/numberfield': 3.4.1(react@18.2.0)
7939
+ '@react-stately/overlays': 3.5.1(react@18.2.0)
7940
+ '@react-stately/radio': 3.8.0(react@18.2.0)
7941
+ '@react-stately/searchfield': 3.4.1(react@18.2.0)
7942
+ '@react-stately/select': 3.5.0(react@18.2.0)
7943
+ '@react-stately/selection': 3.13.0(react@18.2.0)
7944
+ '@react-stately/slider': 3.3.1(react@18.2.0)
7945
+ '@react-stately/table': 3.9.0(react@18.2.0)
7946
+ '@react-stately/tabs': 3.4.0(react@18.2.0)
7947
+ '@react-stately/toggle': 3.5.1(react@18.2.0)
7948
+ '@react-stately/tooltip': 3.4.0(react@18.2.0)
7949
+ '@react-stately/tree': 3.6.0(react@18.2.0)
7950
+ '@react-types/shared': 3.18.0(react@18.2.0)
7951
+ react: 18.2.0
7952
+ dev: false
7953
+
7954
+ /react@18.2.0:
7955
+ resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
7956
+ engines: {node: '>=0.10.0'}
7957
+ dependencies:
7958
+ loose-envify: 1.4.0
7959
+ dev: false
7960
+
7961
+ /readable-stream@3.6.2:
7962
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
7963
+ engines: {node: '>= 6'}
7964
+ dependencies:
7965
+ inherits: 2.0.4
7966
+ string_decoder: 1.3.0
7967
+ util-deprecate: 1.0.2
7968
+ dev: true
7969
+
7970
+ /readdirp@3.6.0:
7971
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
7972
+ engines: {node: '>=8.10.0'}
7973
+ dependencies:
7974
+ picomatch: 2.3.1
7975
+ dev: true
7976
+
7977
+ /regenerate-unicode-properties@10.1.0:
7978
+ resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==}
7979
+ engines: {node: '>=4'}
7980
+ dependencies:
7981
+ regenerate: 1.4.2
7982
+ dev: true
7983
+
7984
+ /regenerate@1.4.2:
7985
+ resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
7986
+ dev: true
7987
+
7988
+ /regenerator-runtime@0.13.11:
7989
+ resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
7990
+
7991
+ /regenerator-transform@0.15.1:
7992
+ resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==}
7993
+ dependencies:
7994
+ '@babel/runtime': 7.21.5
7995
+ dev: true
7996
+
7997
+ /regexp.prototype.flags@1.5.0:
7998
+ resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==}
7999
+ engines: {node: '>= 0.4'}
8000
+ dependencies:
8001
+ call-bind: 1.0.2
8002
+ define-properties: 1.2.0
8003
+ functions-have-names: 1.2.3
8004
+ dev: true
8005
+
8006
+ /regexpp@3.2.0:
8007
+ resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==}
8008
+ engines: {node: '>=8'}
8009
+ dev: true
8010
+
8011
+ /regexpu-core@5.3.2:
8012
+ resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==}
8013
+ engines: {node: '>=4'}
8014
+ dependencies:
8015
+ '@babel/regjsgen': 0.8.0
8016
+ regenerate: 1.4.2
8017
+ regenerate-unicode-properties: 10.1.0
8018
+ regjsparser: 0.9.1
8019
+ unicode-match-property-ecmascript: 2.0.0
8020
+ unicode-match-property-value-ecmascript: 2.1.0
8021
+ dev: true
8022
+
8023
+ /regjsparser@0.9.1:
8024
+ resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==}
8025
+ hasBin: true
8026
+ dependencies:
8027
+ jsesc: 0.5.0
8028
+ dev: true
8029
+
8030
+ /require-directory@2.1.1:
8031
+ resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
8032
+ engines: {node: '>=0.10.0'}
8033
+ dev: true
8034
+
8035
+ /resolve-cwd@3.0.0:
8036
+ resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
8037
+ engines: {node: '>=8'}
8038
+ dependencies:
8039
+ resolve-from: 5.0.0
8040
+ dev: true
8041
+
8042
+ /resolve-from@4.0.0:
8043
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
8044
+ engines: {node: '>=4'}
8045
+ dev: true
8046
+
8047
+ /resolve-from@5.0.0:
8048
+ resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
8049
+ engines: {node: '>=8'}
8050
+ dev: true
8051
+
8052
+ /resolve.exports@2.0.2:
8053
+ resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==}
8054
+ engines: {node: '>=10'}
8055
+ dev: true
8056
+
8057
+ /resolve@1.22.2:
8058
+ resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==}
8059
+ hasBin: true
8060
+ dependencies:
8061
+ is-core-module: 2.12.1
8062
+ path-parse: 1.0.7
8063
+ supports-preserve-symlinks-flag: 1.0.0
8064
+ dev: true
8065
+
8066
+ /resolve@2.0.0-next.4:
8067
+ resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==}
8068
+ hasBin: true
8069
+ dependencies:
8070
+ is-core-module: 2.12.1
8071
+ path-parse: 1.0.7
8072
+ supports-preserve-symlinks-flag: 1.0.0
8073
+ dev: true
8074
+
8075
+ /reusify@1.0.4:
8076
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
8077
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
8078
+ dev: true
8079
+
8080
+ /rimraf@3.0.2:
8081
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
8082
+ hasBin: true
8083
+ dependencies:
8084
+ glob: 7.2.3
8085
+ dev: true
8086
+
8087
+ /rollup-plugin-inject@3.0.2:
8088
+ resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==}
8089
+ deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.
8090
+ dependencies:
8091
+ estree-walker: 0.6.1
8092
+ magic-string: 0.25.9
8093
+ rollup-pluginutils: 2.8.2
8094
+ dev: true
8095
+
8096
+ /rollup-plugin-node-polyfills@0.2.1:
8097
+ resolution: {integrity: sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==}
8098
+ dependencies:
8099
+ rollup-plugin-inject: 3.0.2
8100
+ dev: true
8101
+
8102
+ /rollup-pluginutils@2.8.2:
8103
+ resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==}
8104
+ dependencies:
8105
+ estree-walker: 0.6.1
8106
+ dev: true
8107
+
8108
+ /rollup@3.23.0:
8109
+ resolution: {integrity: sha512-h31UlwEi7FHihLe1zbk+3Q7z1k/84rb9BSwmBSr/XjOCEaBJ2YyedQDuM0t/kfOS0IxM+vk1/zI9XxYj9V+NJQ==}
8110
+ engines: {node: '>=14.18.0', npm: '>=8.0.0'}
8111
+ hasBin: true
8112
+ optionalDependencies:
8113
+ fsevents: 2.3.2
8114
+ dev: true
8115
+
8116
+ /run-parallel@1.2.0:
8117
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
8118
+ dependencies:
8119
+ queue-microtask: 1.2.3
8120
+ dev: true
8121
+
8122
+ /safe-buffer@5.2.1:
8123
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
8124
+ dev: true
8125
+
8126
+ /safe-regex-test@1.0.0:
8127
+ resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
8128
+ dependencies:
8129
+ call-bind: 1.0.2
8130
+ get-intrinsic: 1.2.1
8131
+ is-regex: 1.1.4
8132
+ dev: true
8133
+
8134
+ /safer-buffer@2.1.2:
8135
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
8136
+ dev: true
8137
+
8138
+ /scheduler@0.23.0:
8139
+ resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
8140
+ dependencies:
8141
+ loose-envify: 1.4.0
8142
+ dev: false
8143
+
8144
+ /selfsigned@2.1.1:
8145
+ resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==}
8146
+ engines: {node: '>=10'}
8147
+ dependencies:
8148
+ node-forge: 1.3.1
8149
+ dev: true
8150
+
8151
+ /semver@6.3.0:
8152
+ resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
8153
+ hasBin: true
8154
+ dev: true
8155
+
8156
+ /semver@7.5.1:
8157
+ resolution: {integrity: sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==}
8158
+ engines: {node: '>=10'}
8159
+ hasBin: true
8160
+ dependencies:
8161
+ lru-cache: 6.0.0
8162
+ dev: true
8163
+
8164
+ /send@0.18.0:
8165
+ resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
8166
+ engines: {node: '>= 0.8.0'}
8167
+ dependencies:
8168
+ debug: 2.6.9
8169
+ depd: 2.0.0
8170
+ destroy: 1.2.0
8171
+ encodeurl: 1.0.2
8172
+ escape-html: 1.0.3
8173
+ etag: 1.8.1
8174
+ fresh: 0.5.2
8175
+ http-errors: 2.0.0
8176
+ mime: 1.6.0
8177
+ ms: 2.1.3
8178
+ on-finished: 2.4.1
8179
+ range-parser: 1.2.1
8180
+ statuses: 2.0.1
8181
+ transitivePeerDependencies:
8182
+ - supports-color
8183
+ dev: true
8184
+
8185
+ /serve-static@1.15.0:
8186
+ resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
8187
+ engines: {node: '>= 0.8.0'}
8188
+ dependencies:
8189
+ encodeurl: 1.0.2
8190
+ escape-html: 1.0.3
8191
+ parseurl: 1.3.3
8192
+ send: 0.18.0
8193
+ transitivePeerDependencies:
8194
+ - supports-color
8195
+ dev: true
8196
+
8197
+ /setprototypeof@1.2.0:
8198
+ resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
8199
+ dev: true
8200
+
8201
+ /shallowequal@1.1.0:
8202
+ resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==}
8203
+ dev: false
8204
+
8205
+ /shebang-command@2.0.0:
8206
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
8207
+ engines: {node: '>=8'}
8208
+ dependencies:
8209
+ shebang-regex: 3.0.0
8210
+ dev: true
8211
+
8212
+ /shebang-regex@3.0.0:
8213
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
8214
+ engines: {node: '>=8'}
8215
+ dev: true
8216
+
8217
+ /side-channel@1.0.4:
8218
+ resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
8219
+ dependencies:
8220
+ call-bind: 1.0.2
8221
+ get-intrinsic: 1.2.1
8222
+ object-inspect: 1.12.3
8223
+ dev: true
8224
+
8225
+ /signal-exit@3.0.7:
8226
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
8227
+ dev: true
8228
+
8229
+ /simple-concat@1.0.1:
8230
+ resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==}
8231
+ dev: true
8232
+
8233
+ /simple-get@4.0.1:
8234
+ resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==}
8235
+ dependencies:
8236
+ decompress-response: 6.0.0
8237
+ once: 1.4.0
8238
+ simple-concat: 1.0.1
8239
+ dev: true
8240
+
8241
+ /sisteransi@1.0.5:
8242
+ resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
8243
+ dev: true
8244
+
8245
+ /slash@3.0.0:
8246
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
8247
+ engines: {node: '>=8'}
8248
+ dev: true
8249
+
8250
+ /source-map-js@1.0.2:
8251
+ resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
8252
+ engines: {node: '>=0.10.0'}
8253
+ dev: true
8254
+
8255
+ /source-map-support@0.5.13:
8256
+ resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==}
8257
+ dependencies:
8258
+ buffer-from: 1.1.2
8259
+ source-map: 0.6.1
8260
+ dev: true
8261
+
8262
+ /source-map-support@0.5.21:
8263
+ resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
8264
+ dependencies:
8265
+ buffer-from: 1.1.2
8266
+ source-map: 0.6.1
8267
+ dev: true
8268
+
8269
+ /source-map@0.6.1:
8270
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
8271
+ engines: {node: '>=0.10.0'}
8272
+ dev: true
8273
+
8274
+ /source-map@0.7.4:
8275
+ resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
8276
+ engines: {node: '>= 8'}
8277
+ dev: true
8278
+
8279
+ /sourcemap-codec@1.4.8:
8280
+ resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
8281
+ deprecated: Please use @jridgewell/sourcemap-codec instead
8282
+ dev: true
8283
+
8284
+ /sprintf-js@1.0.3:
8285
+ resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
8286
+ dev: true
8287
+
8288
+ /sql-highlight@4.3.2:
8289
+ resolution: {integrity: sha512-7r6R5QKkiyKdMPMMdoUYwHbFZWdRhjJNxb0vUsFqloSZybGgFRcnM8IDZ9ZQSV2s6MWbtwn6O130+2ySL86oOA==}
8290
+ engines: {node: '>=14'}
8291
+ dev: false
8292
+
8293
+ /stack-utils@2.0.6:
8294
+ resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
8295
+ engines: {node: '>=10'}
8296
+ dependencies:
8297
+ escape-string-regexp: 2.0.0
8298
+ dev: true
8299
+
8300
+ /stacktracey@2.1.8:
8301
+ resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==}
8302
+ dependencies:
8303
+ as-table: 1.0.55
8304
+ get-source: 2.0.12
8305
+ dev: true
8306
+
8307
+ /statuses@2.0.1:
8308
+ resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
8309
+ engines: {node: '>= 0.8'}
8310
+ dev: true
8311
+
8312
+ /stop-iteration-iterator@1.0.0:
8313
+ resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==}
8314
+ engines: {node: '>= 0.4'}
8315
+ dependencies:
8316
+ internal-slot: 1.0.5
8317
+ dev: true
8318
+
8319
+ /stoppable@1.1.0:
8320
+ resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==}
8321
+ engines: {node: '>=4', npm: '>=6'}
8322
+ dev: true
8323
+
8324
+ /streamsearch@1.1.0:
8325
+ resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
8326
+ engines: {node: '>=10.0.0'}
8327
+ dev: true
8328
+
8329
+ /string-length@4.0.2:
8330
+ resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
8331
+ engines: {node: '>=10'}
8332
+ dependencies:
8333
+ char-regex: 1.0.2
8334
+ strip-ansi: 6.0.1
8335
+ dev: true
8336
+
8337
+ /string-natural-compare@3.0.1:
8338
+ resolution: {integrity: sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==}
8339
+ dev: true
8340
+
8341
+ /string-width@4.2.3:
8342
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
8343
+ engines: {node: '>=8'}
8344
+ dependencies:
8345
+ emoji-regex: 8.0.0
8346
+ is-fullwidth-code-point: 3.0.0
8347
+ strip-ansi: 6.0.1
8348
+ dev: true
8349
+
8350
+ /string.prototype.matchall@4.0.8:
8351
+ resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==}
8352
+ dependencies:
8353
+ call-bind: 1.0.2
8354
+ define-properties: 1.2.0
8355
+ es-abstract: 1.21.2
8356
+ get-intrinsic: 1.2.1
8357
+ has-symbols: 1.0.3
8358
+ internal-slot: 1.0.5
8359
+ regexp.prototype.flags: 1.5.0
8360
+ side-channel: 1.0.4
8361
+ dev: true
8362
+
8363
+ /string.prototype.trim@1.2.7:
8364
+ resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==}
8365
+ engines: {node: '>= 0.4'}
8366
+ dependencies:
8367
+ call-bind: 1.0.2
8368
+ define-properties: 1.2.0
8369
+ es-abstract: 1.21.2
8370
+ dev: true
8371
+
8372
+ /string.prototype.trimend@1.0.6:
8373
+ resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==}
8374
+ dependencies:
8375
+ call-bind: 1.0.2
8376
+ define-properties: 1.2.0
8377
+ es-abstract: 1.21.2
8378
+ dev: true
8379
+
8380
+ /string.prototype.trimstart@1.0.6:
8381
+ resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==}
8382
+ dependencies:
8383
+ call-bind: 1.0.2
8384
+ define-properties: 1.2.0
8385
+ es-abstract: 1.21.2
8386
+ dev: true
8387
+
8388
+ /string_decoder@1.3.0:
8389
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
8390
+ dependencies:
8391
+ safe-buffer: 5.2.1
8392
+ dev: true
8393
+
8394
+ /strip-ansi@6.0.1:
8395
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
8396
+ engines: {node: '>=8'}
8397
+ dependencies:
8398
+ ansi-regex: 5.0.1
8399
+ dev: true
8400
+
8401
+ /strip-bom@3.0.0:
8402
+ resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
8403
+ engines: {node: '>=4'}
8404
+ dev: true
8405
+
8406
+ /strip-bom@4.0.0:
8407
+ resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
8408
+ engines: {node: '>=8'}
8409
+ dev: true
8410
+
8411
+ /strip-final-newline@2.0.0:
8412
+ resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
8413
+ engines: {node: '>=6'}
8414
+ dev: true
8415
+
8416
+ /strip-json-comments@2.0.1:
8417
+ resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
8418
+ engines: {node: '>=0.10.0'}
8419
+ dev: true
8420
+
8421
+ /strip-json-comments@3.1.1:
8422
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
8423
+ engines: {node: '>=8'}
8424
+ dev: true
8425
+
8426
+ /supports-color@5.5.0:
8427
+ resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
8428
+ engines: {node: '>=4'}
8429
+ dependencies:
8430
+ has-flag: 3.0.0
8431
+ dev: true
8432
+
8433
+ /supports-color@7.2.0:
8434
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
8435
+ engines: {node: '>=8'}
8436
+ dependencies:
8437
+ has-flag: 4.0.0
8438
+ dev: true
8439
+
8440
+ /supports-color@8.1.1:
8441
+ resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
8442
+ engines: {node: '>=10'}
8443
+ dependencies:
8444
+ has-flag: 4.0.0
8445
+ dev: true
8446
+
8447
+ /supports-preserve-symlinks-flag@1.0.0:
8448
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
8449
+ engines: {node: '>= 0.4'}
8450
+ dev: true
8451
+
8452
+ /tar-fs@2.1.1:
8453
+ resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==}
8454
+ dependencies:
8455
+ chownr: 1.1.4
8456
+ mkdirp-classic: 0.5.3
8457
+ pump: 3.0.0
8458
+ tar-stream: 2.2.0
8459
+ dev: true
8460
+
8461
+ /tar-stream@2.2.0:
8462
+ resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
8463
+ engines: {node: '>=6'}
8464
+ dependencies:
8465
+ bl: 4.1.0
8466
+ end-of-stream: 1.4.4
8467
+ fs-constants: 1.0.0
8468
+ inherits: 2.0.4
8469
+ readable-stream: 3.6.2
8470
+ dev: true
8471
+
8472
+ /test-exclude@6.0.0:
8473
+ resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
8474
+ engines: {node: '>=8'}
8475
+ dependencies:
8476
+ '@istanbuljs/schema': 0.1.3
8477
+ glob: 7.2.3
8478
+ minimatch: 3.1.2
8479
+ dev: true
8480
+
8481
+ /text-table@0.2.0:
8482
+ resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
8483
+ dev: true
8484
+
8485
+ /timers-ext@0.1.7:
8486
+ resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==}
8487
+ dependencies:
8488
+ es5-ext: 0.10.62
8489
+ next-tick: 1.1.0
8490
+ dev: true
8491
+
8492
+ /tmpl@1.0.5:
8493
+ resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
8494
+ dev: true
8495
+
8496
+ /to-fast-properties@2.0.0:
8497
+ resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
8498
+ engines: {node: '>=4'}
8499
+ dev: true
8500
+
8501
+ /to-regex-range@5.0.1:
8502
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
8503
+ engines: {node: '>=8.0'}
8504
+ dependencies:
8505
+ is-number: 7.0.0
8506
+ dev: true
8507
+
8508
+ /toidentifier@1.0.1:
8509
+ resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
8510
+ engines: {node: '>=0.6'}
8511
+ dev: true
8512
+
8513
+ /tsconfig-paths@3.14.2:
8514
+ resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==}
8515
+ dependencies:
8516
+ '@types/json5': 0.0.29
8517
+ json5: 1.0.2
8518
+ minimist: 1.2.8
8519
+ strip-bom: 3.0.0
8520
+ dev: true
8521
+
8522
+ /tslib@1.14.1:
8523
+ resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
8524
+ dev: true
8525
+
8526
+ /tslib@2.5.2:
8527
+ resolution: {integrity: sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==}
8528
+
8529
+ /tsutils@3.21.0(typescript@5.0.4):
8530
+ resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
8531
+ engines: {node: '>= 6'}
8532
+ peerDependencies:
8533
+ typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
8534
+ dependencies:
8535
+ tslib: 1.14.1
8536
+ typescript: 5.0.4
8537
+ dev: true
8538
+
8539
+ /tunnel-agent@0.6.0:
8540
+ resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
8541
+ dependencies:
8542
+ safe-buffer: 5.2.1
8543
+ dev: true
8544
+
8545
+ /type-check@0.4.0:
8546
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
8547
+ engines: {node: '>= 0.8.0'}
8548
+ dependencies:
8549
+ prelude-ls: 1.2.1
8550
+ dev: true
8551
+
8552
+ /type-detect@4.0.8:
8553
+ resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
8554
+ engines: {node: '>=4'}
8555
+ dev: true
8556
+
8557
+ /type-fest@0.20.2:
8558
+ resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
8559
+ engines: {node: '>=10'}
8560
+ dev: true
8561
+
8562
+ /type-fest@0.21.3:
8563
+ resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
8564
+ engines: {node: '>=10'}
8565
+ dev: true
8566
+
8567
+ /type-is@1.6.18:
8568
+ resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
8569
+ engines: {node: '>= 0.6'}
8570
+ dependencies:
8571
+ media-typer: 0.3.0
8572
+ mime-types: 2.1.35
8573
+ dev: true
8574
+
8575
+ /type@1.2.0:
8576
+ resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==}
8577
+ dev: true
8578
+
8579
+ /type@2.7.2:
8580
+ resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==}
8581
+ dev: true
8582
+
8583
+ /typed-array-length@1.0.4:
8584
+ resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==}
8585
+ dependencies:
8586
+ call-bind: 1.0.2
8587
+ for-each: 0.3.3
8588
+ is-typed-array: 1.1.10
8589
+ dev: true
8590
+
8591
+ /typescript@5.0.4:
8592
+ resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==}
8593
+ engines: {node: '>=12.20'}
8594
+ hasBin: true
8595
+ dev: true
8596
+
8597
+ /unbox-primitive@1.0.2:
8598
+ resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
8599
+ dependencies:
8600
+ call-bind: 1.0.2
8601
+ has-bigints: 1.0.2
8602
+ has-symbols: 1.0.3
8603
+ which-boxed-primitive: 1.0.2
8604
+ dev: true
8605
+
8606
+ /undici@5.22.1:
8607
+ resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==}
8608
+ engines: {node: '>=14.0'}
8609
+ dependencies:
8610
+ busboy: 1.6.0
8611
+ dev: true
8612
+
8613
+ /unicode-canonical-property-names-ecmascript@2.0.0:
8614
+ resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
8615
+ engines: {node: '>=4'}
8616
+ dev: true
8617
+
8618
+ /unicode-match-property-ecmascript@2.0.0:
8619
+ resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
8620
+ engines: {node: '>=4'}
8621
+ dependencies:
8622
+ unicode-canonical-property-names-ecmascript: 2.0.0
8623
+ unicode-property-aliases-ecmascript: 2.1.0
8624
+ dev: true
8625
+
8626
+ /unicode-match-property-value-ecmascript@2.1.0:
8627
+ resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==}
8628
+ engines: {node: '>=4'}
8629
+ dev: true
8630
+
8631
+ /unicode-property-aliases-ecmascript@2.1.0:
8632
+ resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
8633
+ engines: {node: '>=4'}
8634
+ dev: true
8635
+
8636
+ /universalify@2.0.0:
8637
+ resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
8638
+ engines: {node: '>= 10.0.0'}
8639
+ dev: true
8640
+
8641
+ /unpipe@1.0.0:
8642
+ resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
8643
+ engines: {node: '>= 0.8'}
8644
+ dev: true
8645
+
8646
+ /update-browserslist-db@1.0.11(browserslist@4.21.5):
8647
+ resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==}
8648
+ hasBin: true
8649
+ peerDependencies:
8650
+ browserslist: '>= 4.21.0'
8651
+ dependencies:
8652
+ browserslist: 4.21.5
8653
+ escalade: 3.1.1
8654
+ picocolors: 1.0.0
8655
+ dev: true
8656
+
8657
+ /uri-js@4.4.1:
8658
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
8659
+ dependencies:
8660
+ punycode: 2.3.0
8661
+ dev: true
8662
+
8663
+ /use-sync-external-store@1.2.0(react@18.2.0):
8664
+ resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
8665
+ peerDependencies:
8666
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
8667
+ dependencies:
8668
+ react: 18.2.0
8669
+ dev: false
8670
+
8671
+ /util-deprecate@1.0.2:
8672
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
8673
+ dev: true
8674
+
8675
+ /utils-merge@1.0.1:
8676
+ resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
8677
+ engines: {node: '>= 0.4.0'}
8678
+ dev: true
8679
+
8680
+ /v8-to-istanbul@9.1.0:
8681
+ resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==}
8682
+ engines: {node: '>=10.12.0'}
8683
+ dependencies:
8684
+ '@jridgewell/trace-mapping': 0.3.18
8685
+ '@types/istanbul-lib-coverage': 2.0.4
8686
+ convert-source-map: 1.9.0
8687
+ dev: true
8688
+
8689
+ /vary@1.1.2:
8690
+ resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
8691
+ engines: {node: '>= 0.8'}
8692
+ dev: true
8693
+
8694
+ /vite@4.3.9:
8695
+ resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==}
8696
+ engines: {node: ^14.18.0 || >=16.0.0}
8697
+ hasBin: true
8698
+ peerDependencies:
8699
+ '@types/node': '>= 14'
8700
+ less: '*'
8701
+ sass: '*'
8702
+ stylus: '*'
8703
+ sugarss: '*'
8704
+ terser: ^5.4.0
8705
+ peerDependenciesMeta:
8706
+ '@types/node':
8707
+ optional: true
8708
+ less:
8709
+ optional: true
8710
+ sass:
8711
+ optional: true
8712
+ stylus:
8713
+ optional: true
8714
+ sugarss:
8715
+ optional: true
8716
+ terser:
8717
+ optional: true
8718
+ dependencies:
8719
+ esbuild: 0.17.19
8720
+ postcss: 8.4.24
8721
+ rollup: 3.23.0
8722
+ optionalDependencies:
8723
+ fsevents: 2.3.2
8724
+ dev: true
8725
+
8726
+ /walkdir@0.4.1:
8727
+ resolution: {integrity: sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==}
8728
+ engines: {node: '>=6.0.0'}
8729
+ dev: true
8730
+
8731
+ /walker@1.0.8:
8732
+ resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
8733
+ dependencies:
8734
+ makeerror: 1.0.12
8735
+ dev: true
8736
+
8737
+ /which-boxed-primitive@1.0.2:
8738
+ resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
8739
+ dependencies:
8740
+ is-bigint: 1.0.4
8741
+ is-boolean-object: 1.1.2
8742
+ is-number-object: 1.0.7
8743
+ is-string: 1.0.7
8744
+ is-symbol: 1.0.4
8745
+ dev: true
8746
+
8747
+ /which-collection@1.0.1:
8748
+ resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==}
8749
+ dependencies:
8750
+ is-map: 2.0.2
8751
+ is-set: 2.0.2
8752
+ is-weakmap: 2.0.1
8753
+ is-weakset: 2.0.2
8754
+ dev: true
8755
+
8756
+ /which-typed-array@1.1.9:
8757
+ resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==}
8758
+ engines: {node: '>= 0.4'}
8759
+ dependencies:
8760
+ available-typed-arrays: 1.0.5
8761
+ call-bind: 1.0.2
8762
+ for-each: 0.3.3
8763
+ gopd: 1.0.1
8764
+ has-tostringtag: 1.0.0
8765
+ is-typed-array: 1.1.10
8766
+ dev: true
8767
+
8768
+ /which@2.0.2:
8769
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
8770
+ engines: {node: '>= 8'}
8771
+ hasBin: true
8772
+ dependencies:
8773
+ isexe: 2.0.0
8774
+ dev: true
8775
+
8776
+ /word-wrap@1.2.3:
8777
+ resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
8778
+ engines: {node: '>=0.10.0'}
8779
+ dev: true
8780
+
8781
+ /wordwrap@1.0.0:
8782
+ resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
8783
+ dev: true
8784
+
8785
+ /workerd@1.20230518.0:
8786
+ resolution: {integrity: sha512-VNmK0zoNZXrwEEx77O/oQDVUzzyDjf5kKKK8bty+FmKCd5EQJCpqi8NlRKWLGMyyYrKm86MFz0kAsreTEs7HHA==}
8787
+ engines: {node: '>=16'}
8788
+ hasBin: true
8789
+ requiresBuild: true
8790
+ optionalDependencies:
8791
+ '@cloudflare/workerd-darwin-64': 1.20230518.0
8792
+ '@cloudflare/workerd-darwin-arm64': 1.20230518.0
8793
+ '@cloudflare/workerd-linux-64': 1.20230518.0
8794
+ '@cloudflare/workerd-linux-arm64': 1.20230518.0
8795
+ '@cloudflare/workerd-windows-64': 1.20230518.0
8796
+ dev: true
8797
+
8798
+ /wrangler@3.0.1:
8799
+ resolution: {integrity: sha512-YamXlRjkMO/V3Fvq7IC9H9GDWIbNGc4IV3l1Z5q45XYTWxUYbkwXyiTAfpmqhyl5wx+XEPKe3k/ubqmW+r63yQ==}
8800
+ engines: {node: '>=16.13.0'}
8801
+ hasBin: true
8802
+ dependencies:
8803
+ '@cloudflare/kv-asset-handler': 0.2.0
8804
+ '@esbuild-plugins/node-globals-polyfill': 0.1.1(esbuild@0.16.3)
8805
+ '@esbuild-plugins/node-modules-polyfill': 0.1.4(esbuild@0.16.3)
8806
+ blake3-wasm: 2.1.5
8807
+ chokidar: 3.5.3
8808
+ esbuild: 0.16.3
8809
+ miniflare: 3.0.1
8810
+ nanoid: 3.3.6
8811
+ path-to-regexp: 6.2.1
8812
+ selfsigned: 2.1.1
8813
+ source-map: 0.7.4
8814
+ xxhash-wasm: 1.0.2
8815
+ optionalDependencies:
8816
+ fsevents: 2.3.2
8817
+ transitivePeerDependencies:
8818
+ - bufferutil
8819
+ - supports-color
8820
+ - utf-8-validate
8821
+ dev: true
8822
+
8823
+ /wrap-ansi@7.0.0:
8824
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
8825
+ engines: {node: '>=10'}
8826
+ dependencies:
8827
+ ansi-styles: 4.3.0
8828
+ string-width: 4.2.3
8829
+ strip-ansi: 6.0.1
8830
+ dev: true
8831
+
8832
+ /wrappy@1.0.2:
8833
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
8834
+ dev: true
8835
+
8836
+ /write-file-atomic@4.0.2:
8837
+ resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==}
8838
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
8839
+ dependencies:
8840
+ imurmurhash: 0.1.4
8841
+ signal-exit: 3.0.7
8842
+ dev: true
8843
+
8844
+ /ws@8.13.0:
8845
+ resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==}
8846
+ engines: {node: '>=10.0.0'}
8847
+ peerDependencies:
8848
+ bufferutil: ^4.0.1
8849
+ utf-8-validate: '>=5.0.2'
8850
+ peerDependenciesMeta:
8851
+ bufferutil:
8852
+ optional: true
8853
+ utf-8-validate:
8854
+ optional: true
8855
+ dev: true
8856
+
8857
+ /xxhash-wasm@1.0.2:
8858
+ resolution: {integrity: sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==}
8859
+ dev: true
8860
+
8861
+ /y18n@5.0.8:
8862
+ resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
8863
+ engines: {node: '>=10'}
8864
+ dev: true
8865
+
8866
+ /yallist@3.1.1:
8867
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
8868
+ dev: true
8869
+
8870
+ /yallist@4.0.0:
8871
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
8872
+ dev: true
8873
+
8874
+ /yaml@1.10.2:
8875
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
8876
+ engines: {node: '>= 6'}
8877
+ dev: true
8878
+
8879
+ /yargs-parser@21.1.1:
8880
+ resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
8881
+ engines: {node: '>=12'}
8882
+ dev: true
8883
+
8884
+ /yargs@17.7.2:
8885
+ resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
8886
+ engines: {node: '>=12'}
8887
+ dependencies:
8888
+ cliui: 8.0.1
8889
+ escalade: 3.1.1
8890
+ get-caller-file: 2.0.5
8891
+ require-directory: 2.1.1
8892
+ string-width: 4.2.3
8893
+ y18n: 5.0.8
8894
+ yargs-parser: 21.1.1
8895
+ dev: true
8896
+
8897
+ /yocto-queue@0.1.0:
8898
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
8899
+ engines: {node: '>=10'}
8900
+ dev: true
8901
+
8902
+ /youch@3.2.3:
8903
+ resolution: {integrity: sha512-ZBcWz/uzZaQVdCvfV4uk616Bbpf2ee+F/AvuKDR5EwX/Y4v06xWdtMluqTD7+KlZdM93lLm9gMZYo0sKBS0pgw==}
8904
+ dependencies:
8905
+ cookie: 0.5.0
8906
+ mustache: 4.2.0
8907
+ stacktracey: 2.1.8
8908
+ dev: true
8909
+
8910
+ /zod@3.21.4:
8911
+ resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==}
pnpm-workspace.yaml ADDED
@@ -0,0 +1,4 @@
1
+ packages:
2
+ - "lib"
3
+ - "example"
4
+ - "docs"
public/index.html DELETED
@@ -1,44 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8" />
5
- <link rel="icon" href="favicon.ico" />
6
- <meta name="viewport" content="width=device-width, initial-scale=1" />
7
- <meta name="theme-color" content="#000000" />
8
- <meta
9
- name="description"
10
- content="Web site created using create-react-app"
11
- />
12
- <link rel="apple-touch-icon" href="/logo192.png" />
13
- <!--
14
- manifest.json provides metadata used when your web app is installed on a
15
- user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
16
- -->
17
- <link rel="manifest" href="/manifest.json" />
18
- <!--
19
- Notice the use of %PUBLIC_URL% in the tags above.
20
- It will be replaced with the URL of the `public` folder during the build.
21
- Only files inside the `public` folder can be referenced from the HTML.
22
-
23
- Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
24
- work correctly both with client-side routing and a non-root public URL.
25
- Learn how to configure a non-root public URL by running `npm run build`.
26
- -->
27
- <title>React App</title>
28
- </head>
29
- <body>
30
- <noscript>You need to enable JavaScript to run this app.</noscript>
31
- <div id="root"></div>
32
- <!--
33
- This HTML file is a template.
34
- If you open it directly in the browser, you will see an empty page.
35
-
36
- You can add webfonts, meta tags, or analytics to this file.
37
- The build step will place the bundled scripts into the <body> tag.
38
-
39
- To begin the development, run `npm start` or `yarn start`.
40
- To create a production bundle, use `npm run build` or `yarn build`.
41
- -->
42
- <script src="/src/index.jsx" async type="module"></script>
43
- </body>
44
- </html>
readme.md ADDED
@@ -0,0 +1,50 @@
1
+ <img src="https://github.com/pyrossh/edge-city/assets/1687946/29f61137-d467-4730-9368-29ffb259c192" width="200px">
2
+
3
+ # edge-city
4
+
5
+ edge-city is a next level meta-framework for react that runs only on edge runtimes.
6
+ It uses file system routing with streaming SSR + CSR to render pages.
7
+ It is very opionated and has set of idiomatic ways of doing things.
8
+ It has an inbuilt rpc mechanism to access server resources instead of a typical REST API.
9
+ It aims to have almost the same router api as nextjs router for ease of use.
10
+
11
+ During development each request for a page is executed in a separate edge-runtime (miniflare/vercel) vm.
12
+ During production each page is packaged to an esm function adapted to the platform of your choice.
13
+
14
+ ## Why?
15
+ * Its really hard to have a streaming SSR + CSR with automatic data rehydration setup in nextjs 13.
16
+ * There is no meta-framework which runs your code in an edge simulated environment during development.
17
+
18
+ ## Requirements
19
+ 1. `node >= v20`
20
+ 2. `wrangler` for deploying to cloudflare page functions
21
+ 3. `vercel` for deploying to vercel edge runtime
22
+
23
+ ## DB access
24
+ Since it runs only on edge runtimes which run in a constrained browser environment, you have to use database drivers
25
+ which can run in the browser, basically utilize Ajax/Fetch/Websocket. Here is a list of some of them,
26
+
27
+ * [NeonDB serverless driver](https://github.com/neondatabase/serverless) - postgres
28
+ * [Platnetscale serverless driver](https://planetscale.com/docs/tutorials/planetscale-serverless-driver) - mysql
29
+ * [Mongo Http](https://github.com/patrick-kw-chiu/mongo-http.js) - mongodb
30
+
31
+
32
+ ### Supported platforms
33
+ 1. [Cloudflare page functions](https://developers.cloudflare.com/pages/platform/functions/routing/)
34
+ 2. [TODO][Vercel edge functions](https://vercel.com/docs/concepts/functions/edge-functions)
35
+ 3. [TODO][Netlify edge functions](https://docs.netlify.com/edge-functions/overview/)
36
+
37
+ ## Developing
38
+
39
+ 1. `node >= v20.2.0`
40
+ 2. `pnpm >= v8.5.1`
41
+
42
+ ### Todo[General]
43
+ 1. Build a docs website
44
+ 2. Add tests for bot
45
+ 3. Add tests for runtime
46
+ 4. Add E2E tests for example
47
+ 5. Maybe move to vite for HMR goodness
48
+
49
+ ### Todo[Cloudflare]
50
+ 1. Fix 404 pages not routing on server
router.js DELETED
@@ -1,26 +0,0 @@
1
- import { createContext, useContext } from 'react';
2
-
3
- const Context = createContext(undefined)
4
-
5
- export const RouterProvider = ({ value, children }) => {
6
- return <Context.Provider value={value}>{children}</Context.Provider>
7
- }
8
-
9
- export const useRouter = () => {
10
- const state = useContext(Context);
11
- return {
12
- query: state.query,
13
- pathname: state.pathname,
14
- params: state.params,
15
- push: () => {
16
- },
17
- replace: () => {
18
- },
19
- prefetch: () => {
20
- },
21
- beforePopState: () => {
22
- },
23
- back: () => { },
24
- reload: () => window.location.reload(),
25
- }
26
- }
routes/about/index.jsx DELETED
@@ -1,12 +0,0 @@
1
- import { page, useRouter } from "@/utils";
2
-
3
- export default page(() => {
4
- const router = useRouter();
5
- return (
6
- <div>
7
- <p>
8
- Hello from server
9
- </p>
10
- </div>
11
- );
12
- });
routes/api/todos/index.js DELETED
@@ -1,5 +0,0 @@
1
- import { json } from "@/utils";
2
-
3
- export default async () => {
4
- return json([])
5
- };
routes/index.astro DELETED
@@ -1,33 +0,0 @@
1
- ---
2
- import { useState } from 'react';
3
-
4
- const head = {
5
- title: "pyros.sh",
6
- description:
7
- "Hi there, I'm Peter John, a fullstack dev from Bangalore, India",
8
- image: "/favicon.png",
9
- keywords: "pyros.sh,pyrossh",
10
- };
11
-
12
- const router = {};
13
- const [count, setCount] = useState(5);
14
- ---
15
-
16
- <div className="home-page">
17
- <div>
18
- <p>
19
- Hello from server path: {router.pathname}
20
- </p>
21
- <div>
22
- <button onClick={() => setCount(count - 1)}>
23
- -
24
- </button>
25
- <div>
26
- {count}
27
- </div>
28
- <button onClick={() => setCount(count + 1)}>
29
- +
30
- </button>
31
- </div>
32
- </div>
33
- </div>
utils.js DELETED
@@ -1,21 +0,0 @@
1
- import React, { createContext, useContext } from 'react';
2
-
3
- const Context = createContext(undefined)
4
-
5
- export const RouterProvider = ({ value, children }) => {
6
- return <Context.Provider value={value}>{children}</Context.Provider>
7
- }
8
-
9
- export const json = async (body, status = 200, headers = {}) => {
10
- return new Response(body, {
11
- headers: {
12
- 'Content-Type': 'application/json',
13
- ...headers,
14
- },
15
- status
16
- });
17
- }
18
-
19
- // const ErrorBoundary = () => {
20
-
21
- // }