alessandro trinca tornidor commited on
Commit
dbcbde8
·
1 Parent(s): 674ed59

feat: move driver.js to a git submodule; remove unused postgis deps; update some broken python test cases

Browse files
.gitmodules CHANGED
@@ -1,3 +1,6 @@
1
  [submodule "sam-quantized"]
2
  path = sam-quantized
3
  url = https://huggingface.co/aletrn/sam-quantized
 
 
 
 
1
  [submodule "sam-quantized"]
2
  path = sam-quantized
3
  url = https://huggingface.co/aletrn/sam-quantized
4
+ [submodule "static/src/driverjs"]
5
+ path = static/src/driverjs
6
+ url = https://huggingface.co/spaces/aletrn/driver.js
app.py CHANGED
@@ -20,6 +20,9 @@ from samgis_core.utilities import frontend_builder
20
  from samgis_core.utilities.session_logger import setup_logging
21
  from samgis_web.utilities.constants import GRADIO_EXAMPLES_TEXT_LIST, GRADIO_MARKDOWN, GRADIO_EXAMPLE_BODY_STRING_PROMPT
22
  from samgis_web.utilities.type_hints import StringPromptApiRequestBody
 
 
 
23
 
24
 
25
  load_dotenv()
@@ -141,10 +144,6 @@ async def health_models() -> JSONResponse:
141
 
142
 
143
  def infer_lisa_gradio(request_input: StringPromptApiRequestBody) -> str:
144
- from samgis_lisa.io_package.wrappers_helpers import get_parsed_bbox_points_with_string_prompt
145
- from samgis_lisa.prediction_api import lisa
146
- from samgis_lisa.utilities.constants import LISA_INFERENCE_FN
147
-
148
  app_logger.info("starting lisa inference request...")
149
 
150
  try:
@@ -159,7 +158,7 @@ def infer_lisa_gradio(request_input: StringPromptApiRequestBody) -> str:
159
  app_logger.debug(f"body_request:type(source):{type(source)}, source:{source}.")
160
  app_logger.debug(f"body_request:type(source_name):{type(source_name)}, source_name:{source_name}.")
161
  app_logger.debug(f"lisa module:{lisa}.")
162
- output = lisa.lisa_predict(
163
  bbox=body_request["bbox"], prompt=body_request["prompt"], zoom=body_request["zoom"],
164
  source=source, source_name=source_name, inference_function_name_key=LISA_INFERENCE_FN
165
  )
 
20
  from samgis_core.utilities.session_logger import setup_logging
21
  from samgis_web.utilities.constants import GRADIO_EXAMPLES_TEXT_LIST, GRADIO_MARKDOWN, GRADIO_EXAMPLE_BODY_STRING_PROMPT
22
  from samgis_web.utilities.type_hints import StringPromptApiRequestBody
23
+ from samgis_lisa.io_package.wrappers_helpers import get_parsed_bbox_points_with_string_prompt
24
+ from samgis_lisa.prediction_api import lisa as lisa_module
25
+ from samgis_lisa.utilities.constants import LISA_INFERENCE_FN
26
 
27
 
28
  load_dotenv()
 
144
 
145
 
146
  def infer_lisa_gradio(request_input: StringPromptApiRequestBody) -> str:
 
 
 
 
147
  app_logger.info("starting lisa inference request...")
148
 
149
  try:
 
158
  app_logger.debug(f"body_request:type(source):{type(source)}, source:{source}.")
159
  app_logger.debug(f"body_request:type(source_name):{type(source_name)}, source_name:{source_name}.")
160
  app_logger.debug(f"lisa module:{lisa}.")
161
+ output = lisa_module.lisa_predict(
162
  bbox=body_request["bbox"], prompt=body_request["prompt"], zoom=body_request["zoom"],
163
  source=source, source_name=source_name, inference_function_name_key=LISA_INFERENCE_FN
164
  )
poetry.lock CHANGED
The diff for this file is too large to render. See raw diff
 
pyproject.toml CHANGED
@@ -13,7 +13,7 @@ version = "1.6.1"
13
 
14
  [tool.poetry.dependencies]
15
  python = ">=3.10,<3.11"
16
- samgis-lisa = "1.0.9"
17
 
18
  [tool.poetry.group.test]
19
  optional = true
 
13
 
14
  [tool.poetry.dependencies]
15
  python = ">=3.10,<3.11"
16
+ samgis-lisa = "1.0.10"
17
 
18
  [tool.poetry.group.test]
19
  optional = true
static/index.html CHANGED
@@ -5,7 +5,6 @@
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
  <link href="output.css" rel="stylesheet" type="text/css">
7
  <link href="dist/output.css" rel="stylesheet" type="text/css">
8
- <link href="static/output.css" rel="stylesheet" type="text/css">
9
  <link rel="icon" href="/favicon.ico" sizes="32x32">
10
  <link rel="icon" href="/icon.svg" type="image/svg+xml">
11
  <link rel="apple-touch-icon" href="/apple-touch-icon.png"><!-- 180×180 -->
 
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
  <link href="output.css" rel="stylesheet" type="text/css">
7
  <link href="dist/output.css" rel="stylesheet" type="text/css">
 
8
  <link rel="icon" href="/favicon.ico" sizes="32x32">
9
  <link rel="icon" href="/icon.svg" type="image/svg+xml">
10
  <link rel="apple-touch-icon" href="/apple-touch-icon.png"><!-- 180×180 -->
static/lisa.html CHANGED
@@ -5,7 +5,6 @@
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
  <link href="output.css" rel="stylesheet" type="text/css">
7
  <link href="dist/output.css" rel="stylesheet" type="text/css">
8
- <link href="static/output.css" rel="stylesheet" type="text/css">
9
  <link rel="icon" href="/favicon.ico" sizes="32x32">
10
  <link rel="icon" href="/icon.svg" type="image/svg+xml">
11
  <link rel="apple-touch-icon" href="/apple-touch-icon.png"><!-- 180×180 -->
 
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
  <link href="output.css" rel="stylesheet" type="text/css">
7
  <link href="dist/output.css" rel="stylesheet" type="text/css">
 
8
  <link rel="icon" href="/favicon.ico" sizes="32x32">
9
  <link rel="icon" href="/icon.svg" type="image/svg+xml">
10
  <link rel="apple-touch-icon" href="/apple-touch-icon.png"><!-- 180×180 -->
static/package.json CHANGED
@@ -3,7 +3,7 @@
3
  "private": true,
4
  "scripts": {
5
  "dev": "vite",
6
- "build": "vite build",
7
  "preview": "vite preview --port 5173",
8
  "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore",
9
  "build:tailwindcss": "pnpm tailwindcss -i src/input.css -o dist/output.css"
@@ -11,24 +11,21 @@
11
  "type": "module",
12
  "dependencies": {
13
  "@geoman-io/leaflet-geoman-free": "^2.18.3",
14
- "@trincadev/driver.js": "https://github.com/trincadev/driver.js/archive/refs/tags/1.3.1-trincadev.2.tar.gz",
15
  "leaflet": "^1.9.4",
16
  "leaflet-providers": "^2.0.0",
17
  "vue": "^3.5.13"
18
  },
19
  "devDependencies": {
 
20
  "@tsconfig/node20": "^20.1.4",
21
  "@types/leaflet": "^1.9.16",
22
- "@types/node": "^22.10.7",
23
  "@vitejs/plugin-vue": "^5.2.1",
24
  "@vue/tsconfig": "^0.7.0",
25
- "autoprefixer": "^10.4.20",
26
- "eslint": "^9.18.0",
27
  "eslint-plugin-vue": "^9.32.0",
28
- "postcss": "^8.5.1",
29
- "postcss-import": "^16.1.0",
30
- "prettier": "^3.4.2",
31
- "tailwindcss": "^3.4.17",
32
- "vite": "^6.0.11"
33
  }
34
  }
 
3
  "private": true,
4
  "scripts": {
5
  "dev": "vite",
6
+ "build": "rm -rf dist && vite build && pnpm tailwindcss -i src/input.css -o dist/output.css",
7
  "preview": "vite preview --port 5173",
8
  "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore",
9
  "build:tailwindcss": "pnpm tailwindcss -i src/input.css -o dist/output.css"
 
11
  "type": "module",
12
  "dependencies": {
13
  "@geoman-io/leaflet-geoman-free": "^2.18.3",
 
14
  "leaflet": "^1.9.4",
15
  "leaflet-providers": "^2.0.0",
16
  "vue": "^3.5.13"
17
  },
18
  "devDependencies": {
19
+ "@tailwindcss/cli": "^4.0.9",
20
  "@tsconfig/node20": "^20.1.4",
21
  "@types/leaflet": "^1.9.16",
22
+ "@types/node": "^22.13.8",
23
  "@vitejs/plugin-vue": "^5.2.1",
24
  "@vue/tsconfig": "^0.7.0",
25
+ "eslint": "^9.21.0",
 
26
  "eslint-plugin-vue": "^9.32.0",
27
+ "prettier": "^3.5.2",
28
+ "tailwindcss": "^4.0.9",
29
+ "vite": "^6.2.0"
 
 
30
  }
31
  }
static/pnpm-lock.yaml CHANGED
@@ -11,9 +11,6 @@ importers:
11
  '@geoman-io/leaflet-geoman-free':
12
  specifier: ^2.18.3
13
  version: 2.18.3([email protected])
14
- '@trincadev/driver.js':
15
- specifier: https://github.com/trincadev/driver.js/archive/refs/tags/1.3.1-trincadev.2.tar.gz
16
- version: https://github.com/trincadev/driver.js/archive/refs/tags/1.3.1-trincadev.2.tar.gz
17
  leaflet:
18
  specifier: ^1.9.4
19
  version: 1.9.4
@@ -24,6 +21,9 @@ importers:
24
  specifier: ^3.5.13
25
  version: 3.5.13
26
  devDependencies:
 
 
 
27
  '@tsconfig/node20':
28
  specifier: ^20.1.4
29
  version: 20.1.4
@@ -31,45 +31,32 @@ importers:
31
  specifier: ^1.9.16
32
  version: 1.9.16
33
  '@types/node':
34
- specifier: ^22.10.7
35
- version: 22.10.7
36
  '@vitejs/plugin-vue':
37
  specifier: ^5.2.1
38
- version: 5.2.1([email protected].11(@types/node@22.10.7)(jiti@1.21.7)([email protected]))([email protected])
39
  '@vue/tsconfig':
40
  specifier: ^0.7.0
41
  version: 0.7.0([email protected])
42
- autoprefixer:
43
- specifier: ^10.4.20
44
- version: 10.4.20([email protected])
45
  eslint:
46
- specifier: ^9.18.0
47
- version: 9.18.0(jiti@1.21.7)
48
  eslint-plugin-vue:
49
  specifier: ^9.32.0
50
- version: 9.32.0(eslint@9.18.0(jiti@1.21.7))
51
- postcss:
52
- specifier: ^8.5.1
53
- version: 8.5.1
54
- postcss-import:
55
- specifier: ^16.1.0
56
- version: 16.1.0([email protected])
57
  prettier:
58
- specifier: ^3.4.2
59
- version: 3.4.2
60
  tailwindcss:
61
- specifier: ^3.4.17
62
- version: 3.4.17
63
  vite:
64
- specifier: ^6.0.11
65
- version: 6.0.11(@types/node@22.10.7)(jiti@1.21.7)([email protected])
66
 
67
  packages:
68
 
69
- '@alloc/[email protected]':
70
- resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
71
- engines: {node: '>=10'}
72
-
73
  '@babel/[email protected]':
74
  resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
75
  engines: {node: '>=6.9.0'}
@@ -78,161 +65,161 @@ packages:
78
  resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
79
  engines: {node: '>=6.9.0'}
80
 
81
- '@babel/[email protected].5':
82
- resolution: {integrity: sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==}
83
  engines: {node: '>=6.0.0'}
84
  hasBin: true
85
 
86
- '@babel/[email protected].5':
87
- resolution: {integrity: sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==}
88
  engines: {node: '>=6.9.0'}
89
 
90
- '@esbuild/aix-ppc64@0.24.2':
91
- resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==}
92
  engines: {node: '>=18'}
93
  cpu: [ppc64]
94
  os: [aix]
95
 
96
- '@esbuild/android-arm64@0.24.2':
97
- resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==}
98
  engines: {node: '>=18'}
99
  cpu: [arm64]
100
  os: [android]
101
 
102
- '@esbuild/android-arm@0.24.2':
103
- resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==}
104
  engines: {node: '>=18'}
105
  cpu: [arm]
106
  os: [android]
107
 
108
- '@esbuild/android-x64@0.24.2':
109
- resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==}
110
  engines: {node: '>=18'}
111
  cpu: [x64]
112
  os: [android]
113
 
114
- '@esbuild/darwin-arm64@0.24.2':
115
- resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==}
116
  engines: {node: '>=18'}
117
  cpu: [arm64]
118
  os: [darwin]
119
 
120
- '@esbuild/darwin-x64@0.24.2':
121
- resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==}
122
  engines: {node: '>=18'}
123
  cpu: [x64]
124
  os: [darwin]
125
 
126
- '@esbuild/freebsd-arm64@0.24.2':
127
- resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==}
128
  engines: {node: '>=18'}
129
  cpu: [arm64]
130
  os: [freebsd]
131
 
132
- '@esbuild/freebsd-x64@0.24.2':
133
- resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==}
134
  engines: {node: '>=18'}
135
  cpu: [x64]
136
  os: [freebsd]
137
 
138
- '@esbuild/linux-arm64@0.24.2':
139
- resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==}
140
  engines: {node: '>=18'}
141
  cpu: [arm64]
142
  os: [linux]
143
 
144
- '@esbuild/linux-arm@0.24.2':
145
- resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==}
146
  engines: {node: '>=18'}
147
  cpu: [arm]
148
  os: [linux]
149
 
150
- '@esbuild/linux-ia32@0.24.2':
151
- resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==}
152
  engines: {node: '>=18'}
153
  cpu: [ia32]
154
  os: [linux]
155
 
156
- '@esbuild/linux-loong64@0.24.2':
157
- resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==}
158
  engines: {node: '>=18'}
159
  cpu: [loong64]
160
  os: [linux]
161
 
162
- '@esbuild/linux-mips64el@0.24.2':
163
- resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==}
164
  engines: {node: '>=18'}
165
  cpu: [mips64el]
166
  os: [linux]
167
 
168
- '@esbuild/linux-ppc64@0.24.2':
169
- resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==}
170
  engines: {node: '>=18'}
171
  cpu: [ppc64]
172
  os: [linux]
173
 
174
- '@esbuild/linux-riscv64@0.24.2':
175
- resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==}
176
  engines: {node: '>=18'}
177
  cpu: [riscv64]
178
  os: [linux]
179
 
180
- '@esbuild/linux-s390x@0.24.2':
181
- resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==}
182
  engines: {node: '>=18'}
183
  cpu: [s390x]
184
  os: [linux]
185
 
186
- '@esbuild/linux-x64@0.24.2':
187
- resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==}
188
  engines: {node: '>=18'}
189
  cpu: [x64]
190
  os: [linux]
191
 
192
- '@esbuild/netbsd-arm64@0.24.2':
193
- resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==}
194
  engines: {node: '>=18'}
195
  cpu: [arm64]
196
  os: [netbsd]
197
 
198
- '@esbuild/netbsd-x64@0.24.2':
199
- resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==}
200
  engines: {node: '>=18'}
201
  cpu: [x64]
202
  os: [netbsd]
203
 
204
- '@esbuild/openbsd-arm64@0.24.2':
205
- resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==}
206
  engines: {node: '>=18'}
207
  cpu: [arm64]
208
  os: [openbsd]
209
 
210
- '@esbuild/openbsd-x64@0.24.2':
211
- resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==}
212
  engines: {node: '>=18'}
213
  cpu: [x64]
214
  os: [openbsd]
215
 
216
- '@esbuild/sunos-x64@0.24.2':
217
- resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==}
218
  engines: {node: '>=18'}
219
  cpu: [x64]
220
  os: [sunos]
221
 
222
- '@esbuild/win32-arm64@0.24.2':
223
- resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==}
224
  engines: {node: '>=18'}
225
  cpu: [arm64]
226
  os: [win32]
227
 
228
- '@esbuild/win32-ia32@0.24.2':
229
- resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==}
230
  engines: {node: '>=18'}
231
  cpu: [ia32]
232
  os: [win32]
233
 
234
- '@esbuild/win32-x64@0.24.2':
235
- resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==}
236
  engines: {node: '>=18'}
237
  cpu: [x64]
238
  os: [win32]
@@ -247,28 +234,28 @@ packages:
247
  resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
248
  engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
249
 
250
- '@eslint/[email protected].1':
251
- resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==}
252
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
253
 
254
- '@eslint/core@0.10.0':
255
- resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==}
256
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
257
 
258
- '@eslint/eslintrc@3.2.0':
259
- resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==}
260
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
261
 
262
- '@eslint/js@9.18.0':
263
- resolution: {integrity: sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==}
264
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
265
 
266
- '@eslint/[email protected].5':
267
- resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==}
268
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
269
 
270
- '@eslint/[email protected].5':
271
- resolution: {integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==}
272
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
273
 
274
  '@geoman-io/[email protected]':
@@ -292,146 +279,266 @@ packages:
292
  resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
293
  engines: {node: '>=18.18'}
294
 
295
- '@humanwhocodes/[email protected].1':
296
- resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==}
297
  engines: {node: '>=18.18'}
298
 
299
- '@isaacs/cliui@8.0.2':
300
- resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
301
- engines: {node: '>=12'}
302
 
303
- '@jridgewell/gen-mapping@0.3.8':
304
- resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
305
- engines: {node: '>=6.0.0'}
 
 
306
 
307
- '@jridgewell/resolve-uri@3.1.2':
308
- resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
309
- engines: {node: '>=6.0.0'}
 
 
310
 
311
- '@jridgewell/set-array@1.2.1':
312
- resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
313
- engines: {node: '>=6.0.0'}
 
 
314
 
315
- '@jridgewell/sourcemap-codec@1.5.0':
316
- resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
 
 
 
317
 
318
- '@jridgewell/trace-mapping@0.3.25':
319
- resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
 
 
 
320
 
321
- '@nodelib/fs.scandir@2.1.5':
322
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
323
- engines: {node: '>= 8'}
 
 
324
 
325
- '@nodelib/fs.stat@2.0.5':
326
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
327
- engines: {node: '>= 8'}
 
 
328
 
329
- '@nodelib/fs.walk@1.2.8':
330
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
331
- engines: {node: '>= 8'}
 
 
332
 
333
- '@pkgjs/parseargs@0.11.0':
334
- resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
335
- engines: {node: '>=14'}
 
 
 
 
 
 
 
 
336
 
337
- '@rollup/rollup-android-arm-eabi@4.31.0':
338
- resolution: {integrity: sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA==}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
339
  cpu: [arm]
340
  os: [android]
341
 
342
- '@rollup/rollup-android-arm64@4.31.0':
343
- resolution: {integrity: sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g==}
344
  cpu: [arm64]
345
  os: [android]
346
 
347
- '@rollup/rollup-darwin-arm64@4.31.0':
348
- resolution: {integrity: sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g==}
349
  cpu: [arm64]
350
  os: [darwin]
351
 
352
- '@rollup/rollup-darwin-x64@4.31.0':
353
- resolution: {integrity: sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ==}
354
  cpu: [x64]
355
  os: [darwin]
356
 
357
- '@rollup/rollup-freebsd-arm64@4.31.0':
358
- resolution: {integrity: sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew==}
359
  cpu: [arm64]
360
  os: [freebsd]
361
 
362
- '@rollup/rollup-freebsd-x64@4.31.0':
363
- resolution: {integrity: sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA==}
364
  cpu: [x64]
365
  os: [freebsd]
366
 
367
- '@rollup/rollup-linux-arm-gnueabihf@4.31.0':
368
- resolution: {integrity: sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw==}
369
  cpu: [arm]
370
  os: [linux]
371
 
372
- '@rollup/rollup-linux-arm-musleabihf@4.31.0':
373
- resolution: {integrity: sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg==}
374
  cpu: [arm]
375
  os: [linux]
376
 
377
- '@rollup/rollup-linux-arm64-gnu@4.31.0':
378
- resolution: {integrity: sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA==}
379
  cpu: [arm64]
380
  os: [linux]
381
 
382
- '@rollup/rollup-linux-arm64-musl@4.31.0':
383
- resolution: {integrity: sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g==}
384
  cpu: [arm64]
385
  os: [linux]
386
 
387
- '@rollup/rollup-linux-loongarch64-gnu@4.31.0':
388
- resolution: {integrity: sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ==}
389
  cpu: [loong64]
390
  os: [linux]
391
 
392
- '@rollup/rollup-linux-powerpc64le-gnu@4.31.0':
393
- resolution: {integrity: sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ==}
394
  cpu: [ppc64]
395
  os: [linux]
396
 
397
- '@rollup/rollup-linux-riscv64-gnu@4.31.0':
398
- resolution: {integrity: sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw==}
399
  cpu: [riscv64]
400
  os: [linux]
401
 
402
- '@rollup/rollup-linux-s390x-gnu@4.31.0':
403
- resolution: {integrity: sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ==}
404
  cpu: [s390x]
405
  os: [linux]
406
 
407
- '@rollup/rollup-linux-x64-gnu@4.31.0':
408
- resolution: {integrity: sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g==}
409
  cpu: [x64]
410
  os: [linux]
411
 
412
- '@rollup/rollup-linux-x64-musl@4.31.0':
413
- resolution: {integrity: sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA==}
414
  cpu: [x64]
415
  os: [linux]
416
 
417
- '@rollup/rollup-win32-arm64-msvc@4.31.0':
418
- resolution: {integrity: sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw==}
419
  cpu: [arm64]
420
  os: [win32]
421
 
422
- '@rollup/rollup-win32-ia32-msvc@4.31.0':
423
- resolution: {integrity: sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ==}
424
  cpu: [ia32]
425
  os: [win32]
426
 
427
- '@rollup/rollup-win32-x64-msvc@4.31.0':
428
- resolution: {integrity: sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw==}
429
  cpu: [x64]
430
  os: [win32]
431
 
432
- '@trincadev/driver.js@https://github.com/trincadev/driver.js/archive/refs/tags/1.3.1-trincadev.2.tar.gz':
433
- resolution: {tarball: https://github.com/trincadev/driver.js/archive/refs/tags/1.3.1-trincadev.2.tar.gz}
434
- version: 1.3.1-trincadev.2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
435
 
436
  '@tsconfig/[email protected]':
437
  resolution: {integrity: sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==}
@@ -490,8 +597,8 @@ packages:
490
  '@types/[email protected]':
491
  resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
492
 
493
- '@types/[email protected].15':
494
- resolution: {integrity: sha512-9oSxFzDCT2Rj6DfcHF8G++jxBKS7mBqXl5xrRW+Kbvjry6Uduya2iiwqHPhVXpasAVMBYKkEPGgKhd3+/HZ6xA==}
495
 
496
  '@types/[email protected]':
497
  resolution: {integrity: sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==}
@@ -502,8 +609,8 @@ packages:
502
  '@types/[email protected]':
503
  resolution: {integrity: sha512-wzZoyySUxkgMZ0ihJ7IaUIblG8Rdc8AbbZKLneyn+QjYsj5q1QU7TEKYqwTr10BGSzY5LI7tJk9Ifo+mEjdFRw==}
504
 
505
- '@types/node@22.10.7':
506
- resolution: {integrity: sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==}
507
 
508
  '@vitejs/[email protected]':
509
  resolution: {integrity: sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==}
@@ -565,89 +672,37 @@ packages:
565
566
  resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
567
 
568
569
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
570
- engines: {node: '>=8'}
571
-
572
573
- resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
574
- engines: {node: '>=12'}
575
-
576
577
  resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
578
  engines: {node: '>=8'}
579
 
580
581
- resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
582
- engines: {node: '>=12'}
583
-
584
585
- resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
586
-
587
588
- resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
589
- engines: {node: '>= 8'}
590
-
591
592
- resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
593
-
594
595
  resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
596
 
597
598
- resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
599
- engines: {node: ^10 || ^12 || >=14}
600
- hasBin: true
601
- peerDependencies:
602
- postcss: ^8.1.0
603
-
604
605
  resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
606
 
607
608
  resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==}
609
 
610
611
- resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
612
- engines: {node: '>=8'}
613
-
614
615
  resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
616
 
617
618
  resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
619
 
620
621
- resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
622
-
623
624
  resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
625
  engines: {node: '>=8'}
626
 
627
628
- resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==}
629
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
630
- hasBin: true
631
-
632
633
  resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
634
  engines: {node: '>=6'}
635
 
636
637
- resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
638
- engines: {node: '>= 6'}
639
-
640
641
- resolution: {integrity: sha512-vHyLade6wTgI2u1ec3WQBxv+2BrTERV28UXQu9LO6lZ9pYeMk34vjXFLOxo1A4UBA8XTL4njRQZdno/yYaSmWw==}
642
-
643
644
  resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
645
  engines: {node: '>=10'}
646
 
647
648
- resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
649
- engines: {node: '>= 8.10.0'}
650
-
651
652
  resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
653
  engines: {node: '>=7.0.0'}
@@ -655,10 +710,6 @@ packages:
655
656
  resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
657
 
658
659
- resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
660
- engines: {node: '>= 6'}
661
-
662
663
  resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
664
 
@@ -686,37 +737,24 @@ packages:
686
687
  resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
688
 
689
- didyoumean@1.2.2:
690
- resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
691
-
692
693
- resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
694
-
695
696
- resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
697
-
698
699
- resolution: {integrity: sha512-I+DQ8xgafao9Ha6y0qjHHvpZ9OfyA1qKlkHkjywxzniORU2awxyz7f/iVJcULmrF2yrM3nHQf+iDjJtbbexd/g==}
700
-
701
702
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
703
 
704
- emoji-regex@9.2.2:
705
- resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
 
706
 
707
708
  resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
709
  engines: {node: '>=0.12'}
710
 
711
- esbuild@0.24.2:
712
- resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==}
713
  engines: {node: '>=18'}
714
  hasBin: true
715
 
716
717
- resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
718
- engines: {node: '>=6'}
719
-
720
721
  resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
722
  engines: {node: '>=10'}
@@ -743,8 +781,8 @@ packages:
743
  resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
744
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
745
 
746
- eslint@9.18.0:
747
- resolution: {integrity: sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA==}
748
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
749
  hasBin: true
750
  peerDependencies:
@@ -783,19 +821,12 @@ packages:
783
784
  resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
785
 
786
787
- resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
788
- engines: {node: '>=8.6.0'}
789
-
790
791
  resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
792
 
793
794
  resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
795
 
796
797
- resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==}
798
-
799
800
  resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
801
  engines: {node: '>=16.0.0'}
@@ -812,39 +843,21 @@ packages:
812
  resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
813
  engines: {node: '>=16'}
814
 
815
816
- resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==}
817
-
818
819
- resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
820
- engines: {node: '>=14'}
821
-
822
823
- resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
824
 
825
826
  resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
827
  engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
828
  os: [darwin]
829
 
830
831
- resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
832
-
833
834
  resolution: {integrity: sha512-oVltQTXolxvsz1sZnutlSuLDEcQAKYC/uXt9zDzJJ6bu0W+baTI8LZBaTup5afzibEH4N3jlq2p+a152wlBJ7w==}
835
 
836
837
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
838
- engines: {node: '>= 6'}
839
-
840
841
  resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
842
  engines: {node: '>=10.13.0'}
843
 
844
845
- resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
846
- hasBin: true
847
-
848
849
  resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
850
  engines: {node: '>=8'}
@@ -853,42 +866,29 @@ packages:
853
  resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
854
  engines: {node: '>=18'}
855
 
 
 
 
856
857
  resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
858
  engines: {node: '>=8'}
859
 
860
861
- resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
862
- engines: {node: '>= 0.4'}
863
-
864
865
  resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
866
  engines: {node: '>= 4'}
867
 
868
869
- resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
870
  engines: {node: '>=6'}
871
 
872
873
  resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
874
  engines: {node: '>=0.8.19'}
875
 
876
877
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
878
- engines: {node: '>=8'}
879
-
880
881
- resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
882
- engines: {node: '>= 0.4'}
883
-
884
885
  resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
886
  engines: {node: '>=0.10.0'}
887
 
888
889
- resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
890
- engines: {node: '>=8'}
891
-
892
893
  resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
894
  engines: {node: '>=0.10.0'}
@@ -900,11 +900,8 @@ packages:
900
901
  resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
902
 
903
- jackspeak@3.4.3:
904
- resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
905
-
906
907
- resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
908
  hasBin: true
909
 
910
@@ -933,12 +930,69 @@ packages:
933
  resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
934
  engines: {node: '>= 0.8.0'}
935
 
936
- lilconfig@3.1.3:
937
- resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
938
- engines: {node: '>=14'}
 
 
 
 
 
 
 
 
939
 
940
- lines-and-columns@1.2.4:
941
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
942
 
943
944
  resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
@@ -950,16 +1004,9 @@ packages:
950
951
  resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
952
 
953
954
- resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
955
-
956
957
  resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
958
 
959
960
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
961
- engines: {node: '>= 8'}
962
-
963
964
  resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
965
  engines: {node: '>=8.6'}
@@ -967,20 +1014,13 @@ packages:
967
968
  resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
969
 
970
- minimatch@9.0.5:
971
- resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
972
- engines: {node: '>=16 || 14 >=14.17'}
973
-
974
975
- resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
976
- engines: {node: '>=16 || 14 >=14.17'}
977
 
978
979
  resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
980
 
981
982
- resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
983
-
984
985
  resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
986
  engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
@@ -989,28 +1029,12 @@ packages:
989
990
  resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
991
 
992
- node-releases@2.0.19:
993
- resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
994
-
995
996
- resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
997
- engines: {node: '>=0.10.0'}
998
-
999
1000
- resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
1001
- engines: {node: '>=0.10.0'}
1002
 
1003
1004
  resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
1005
 
1006
1007
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
1008
- engines: {node: '>=0.10.0'}
1009
-
1010
1011
- resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
1012
- engines: {node: '>= 6'}
1013
-
1014
1015
  resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
1016
  engines: {node: '>= 0.8.0'}
@@ -1023,9 +1047,6 @@ packages:
1023
  resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1024
  engines: {node: '>=10'}
1025
 
1026
1027
- resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
1028
-
1029
1030
  resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1031
  engines: {node: '>=6'}
@@ -1038,13 +1059,6 @@ packages:
1038
  resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1039
  engines: {node: '>=8'}
1040
 
1041
1042
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1043
-
1044
1045
- resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
1046
- engines: {node: '>=16 || 14 >=14.18'}
1047
-
1048
1049
  resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
1050
 
@@ -1052,70 +1066,23 @@ packages:
1052
  resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1053
  engines: {node: '>=8.6'}
1054
 
1055
1056
- resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
1057
- engines: {node: '>=0.10.0'}
1058
-
1059
1060
- resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
1061
- engines: {node: '>= 6'}
1062
-
1063
1064
  resolution: {integrity: sha512-JPtKbDRuPEuAjuTdhR62Gph7Is2BS1Szx69CFOO3g71lpJDFo78k4tFyi+qFOMVPePEzdSKkpGU3NBXPHHjvKQ==}
1065
 
1066
1067
- resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
1068
- engines: {node: '>=14.0.0'}
1069
- peerDependencies:
1070
- postcss: ^8.0.0
1071
-
1072
1073
- resolution: {integrity: sha512-7hsAZ4xGXl4MW+OKEWCnF6T5jqBw80/EE9aXg1r2yyn1RsVEU8EtKXbijEODa+rg7iih4bKf7vlvTGYR4CnPNg==}
1074
- engines: {node: '>=18.0.0'}
1075
- peerDependencies:
1076
- postcss: ^8.0.0
1077
-
1078
1079
- resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
1080
- engines: {node: ^12 || ^14 || >= 16}
1081
- peerDependencies:
1082
- postcss: ^8.4.21
1083
-
1084
1085
- resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
1086
- engines: {node: '>= 14'}
1087
- peerDependencies:
1088
- postcss: '>=8.0.9'
1089
- ts-node: '>=9.0.0'
1090
- peerDependenciesMeta:
1091
- postcss:
1092
- optional: true
1093
- ts-node:
1094
- optional: true
1095
-
1096
1097
- resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
1098
- engines: {node: '>=12.0'}
1099
- peerDependencies:
1100
- postcss: ^8.2.14
1101
-
1102
1103
  resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
1104
  engines: {node: '>=4'}
1105
 
1106
- postcss-value-parser@4.2.0:
1107
- resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
1108
-
1109
1110
- resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==}
1111
  engines: {node: ^10 || ^12 || >=14}
1112
 
1113
1114
  resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
1115
  engines: {node: '>= 0.8.0'}
1116
 
1117
- prettier@3.4.2:
1118
- resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==}
1119
  engines: {node: '>=14'}
1120
  hasBin: true
1121
 
@@ -1123,45 +1090,23 @@ packages:
1123
  resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
1124
  engines: {node: '>=6'}
1125
 
1126
1127
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1128
-
1129
1130
  resolution: {integrity: sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==}
1131
 
1132
1133
  resolution: {integrity: sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==}
1134
 
1135
1136
- resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
1137
-
1138
1139
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
1140
- engines: {node: '>=8.10.0'}
1141
-
1142
1143
  resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
1144
  engines: {node: '>=4'}
1145
 
1146
- resolve@1.22.10:
1147
- resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
1148
- engines: {node: '>= 0.4'}
1149
- hasBin: true
1150
-
1151
1152
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1153
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1154
-
1155
1156
- resolution: {integrity: sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw==}
1157
  engines: {node: '>=18.0.0', npm: '>=8.0.0'}
1158
  hasBin: true
1159
 
1160
- run-parallel@1.2.0:
1161
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1162
-
1163
1164
- resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
1165
  engines: {node: '>=10'}
1166
  hasBin: true
1167
 
@@ -1173,10 +1118,6 @@ packages:
1173
  resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1174
  engines: {node: '>=8'}
1175
 
1176
1177
- resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
1178
- engines: {node: '>=14'}
1179
-
1180
1181
  resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
1182
  engines: {node: '>=0.10.0'}
@@ -1184,58 +1125,25 @@ packages:
1184
1185
  resolution: {integrity: sha512-0kGecIZNIReCSiznK3uheYB8sbstLjCZLiwcQwbmLhgHJj2gz6OnSPkVzJQCMnmEz1BQ4gPK59ylhBoEWOhGNA==}
1186
 
1187
1188
- resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
1189
- engines: {node: '>=8'}
1190
-
1191
1192
- resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
1193
- engines: {node: '>=12'}
1194
-
1195
1196
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1197
- engines: {node: '>=8'}
1198
-
1199
1200
- resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
1201
- engines: {node: '>=12'}
1202
-
1203
1204
  resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
1205
  engines: {node: '>=8'}
1206
 
1207
1208
- resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
1209
- engines: {node: '>=16 || 14 >=14.17'}
1210
- hasBin: true
1211
-
1212
1213
  resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
1214
  engines: {node: '>=8'}
1215
 
1216
- supports-preserve-symlinks-flag@1.0.0:
1217
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1218
- engines: {node: '>= 0.4'}
1219
-
1220
1221
- resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==}
1222
- engines: {node: '>=14.0.0'}
1223
- hasBin: true
1224
-
1225
1226
- resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
1227
- engines: {node: '>=0.8'}
1228
 
1229
- thenify@3.3.1:
1230
- resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
 
1231
 
1232
1233
  resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1234
  engines: {node: '>=8.0'}
1235
 
1236
1237
- resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
1238
-
1239
1240
  resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
1241
  engines: {node: '>= 0.8.0'}
@@ -1247,20 +1155,14 @@ packages:
1247
1248
  resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
1249
 
1250
1251
- resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==}
1252
- hasBin: true
1253
- peerDependencies:
1254
- browserslist: '>= 4.21.0'
1255
-
1256
1257
  resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
1258
 
1259
1260
  resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
1261
 
1262
1263
- resolution: {integrity: sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==}
1264
  engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
1265
  hasBin: true
1266
  peerDependencies:
@@ -1322,14 +1224,6 @@ packages:
1322
  resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
1323
  engines: {node: '>=0.10.0'}
1324
 
1325
1326
- resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
1327
- engines: {node: '>=10'}
1328
-
1329
1330
- resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
1331
- engines: {node: '>=12'}
1332
-
1333
1334
  resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
1335
  engines: {node: '>=12'}
@@ -1345,136 +1239,134 @@ packages:
1345
 
1346
  snapshots:
1347
 
1348
- '@alloc/[email protected]': {}
1349
-
1350
  '@babel/[email protected]': {}
1351
 
1352
  '@babel/[email protected]': {}
1353
 
1354
- '@babel/[email protected].5':
1355
  dependencies:
1356
- '@babel/types': 7.26.5
1357
 
1358
- '@babel/[email protected].5':
1359
  dependencies:
1360
  '@babel/helper-string-parser': 7.25.9
1361
  '@babel/helper-validator-identifier': 7.25.9
1362
 
1363
- '@esbuild/aix-ppc64@0.24.2':
1364
  optional: true
1365
 
1366
- '@esbuild/android-arm64@0.24.2':
1367
  optional: true
1368
 
1369
- '@esbuild/android-arm@0.24.2':
1370
  optional: true
1371
 
1372
- '@esbuild/android-x64@0.24.2':
1373
  optional: true
1374
 
1375
- '@esbuild/darwin-arm64@0.24.2':
1376
  optional: true
1377
 
1378
- '@esbuild/darwin-x64@0.24.2':
1379
  optional: true
1380
 
1381
- '@esbuild/freebsd-arm64@0.24.2':
1382
  optional: true
1383
 
1384
- '@esbuild/freebsd-x64@0.24.2':
1385
  optional: true
1386
 
1387
- '@esbuild/linux-arm64@0.24.2':
1388
  optional: true
1389
 
1390
- '@esbuild/linux-arm@0.24.2':
1391
  optional: true
1392
 
1393
- '@esbuild/linux-ia32@0.24.2':
1394
  optional: true
1395
 
1396
- '@esbuild/linux-loong64@0.24.2':
1397
  optional: true
1398
 
1399
- '@esbuild/linux-mips64el@0.24.2':
1400
  optional: true
1401
 
1402
- '@esbuild/linux-ppc64@0.24.2':
1403
  optional: true
1404
 
1405
- '@esbuild/linux-riscv64@0.24.2':
1406
  optional: true
1407
 
1408
- '@esbuild/linux-s390x@0.24.2':
1409
  optional: true
1410
 
1411
- '@esbuild/linux-x64@0.24.2':
1412
  optional: true
1413
 
1414
- '@esbuild/netbsd-arm64@0.24.2':
1415
  optional: true
1416
 
1417
- '@esbuild/netbsd-x64@0.24.2':
1418
  optional: true
1419
 
1420
- '@esbuild/openbsd-arm64@0.24.2':
1421
  optional: true
1422
 
1423
- '@esbuild/openbsd-x64@0.24.2':
1424
  optional: true
1425
 
1426
- '@esbuild/sunos-x64@0.24.2':
1427
  optional: true
1428
 
1429
- '@esbuild/win32-arm64@0.24.2':
1430
  optional: true
1431
 
1432
- '@esbuild/win32-ia32@0.24.2':
1433
  optional: true
1434
 
1435
- '@esbuild/win32-x64@0.24.2':
1436
  optional: true
1437
 
1438
- '@eslint-community/[email protected](eslint@9.18.0(jiti@1.21.7))':
1439
  dependencies:
1440
- eslint: 9.18.0(jiti@1.21.7)
1441
  eslint-visitor-keys: 3.4.3
1442
 
1443
  '@eslint-community/[email protected]': {}
1444
 
1445
- '@eslint/[email protected].1':
1446
  dependencies:
1447
- '@eslint/object-schema': 2.1.5
1448
  debug: 4.4.0
1449
  minimatch: 3.1.2
1450
  transitivePeerDependencies:
1451
  - supports-color
1452
 
1453
- '@eslint/core@0.10.0':
1454
  dependencies:
1455
  '@types/json-schema': 7.0.15
1456
 
1457
- '@eslint/eslintrc@3.2.0':
1458
  dependencies:
1459
  ajv: 6.12.6
1460
  debug: 4.4.0
1461
  espree: 10.3.0
1462
  globals: 14.0.0
1463
  ignore: 5.3.2
1464
- import-fresh: 3.3.0
1465
  js-yaml: 4.1.0
1466
  minimatch: 3.1.2
1467
  strip-json-comments: 3.1.1
1468
  transitivePeerDependencies:
1469
  - supports-color
1470
 
1471
- '@eslint/js@9.18.0': {}
1472
 
1473
- '@eslint/[email protected].5': {}
1474
 
1475
- '@eslint/[email protected].5':
1476
  dependencies:
1477
- '@eslint/core': 0.10.0
1478
  levn: 0.4.1
1479
 
1480
@@ -1498,107 +1390,190 @@ snapshots:
1498
 
1499
  '@humanwhocodes/[email protected]': {}
1500
 
1501
- '@humanwhocodes/[email protected].1': {}
1502
 
1503
- '@isaacs/cliui@8.0.2':
1504
- dependencies:
1505
- string-width: 5.1.2
1506
- string-width-cjs: [email protected]
1507
- strip-ansi: 7.1.0
1508
- strip-ansi-cjs: [email protected]
1509
- wrap-ansi: 8.1.0
1510
- wrap-ansi-cjs: [email protected]
1511
 
1512
- '@jridgewell/gen-mapping@0.3.8':
1513
- dependencies:
1514
- '@jridgewell/set-array': 1.2.1
1515
- '@jridgewell/sourcemap-codec': 1.5.0
1516
- '@jridgewell/trace-mapping': 0.3.25
1517
 
1518
- '@jridgewell/resolve-uri@3.1.2': {}
 
1519
 
1520
- '@jridgewell/set-array@1.2.1': {}
 
1521
 
1522
- '@jridgewell/sourcemap-codec@1.5.0': {}
 
1523
 
1524
- '@jridgewell/trace-mapping@0.3.25':
1525
- dependencies:
1526
- '@jridgewell/resolve-uri': 3.1.2
1527
- '@jridgewell/sourcemap-codec': 1.5.0
1528
 
1529
- '@nodelib/fs.scandir@2.1.5':
1530
- dependencies:
1531
- '@nodelib/fs.stat': 2.0.5
1532
- run-parallel: 1.2.0
 
 
 
 
1533
 
1534
- '@nodelib/fs.stat@2.0.5': {}
 
 
 
 
 
 
 
 
 
 
1535
 
1536
- '@nodelib/fs.walk@1.2.8':
 
 
 
1537
  dependencies:
1538
- '@nodelib/fs.scandir': 2.1.5
1539
- fastq: 1.18.0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1540
 
1541
- '@pkgjs/parseargs@0.11.0':
1542
  optional: true
1543
 
1544
- '@rollup/rollup-android-arm-eabi@4.31.0':
1545
  optional: true
1546
 
1547
- '@rollup/rollup-android-arm64@4.31.0':
1548
  optional: true
1549
 
1550
- '@rollup/rollup-darwin-arm64@4.31.0':
1551
  optional: true
1552
 
1553
- '@rollup/rollup-darwin-x64@4.31.0':
1554
  optional: true
1555
 
1556
- '@rollup/rollup-freebsd-arm64@4.31.0':
1557
  optional: true
1558
 
1559
- '@rollup/rollup-freebsd-x64@4.31.0':
1560
  optional: true
1561
 
1562
- '@rollup/rollup-linux-arm-gnueabihf@4.31.0':
1563
  optional: true
1564
 
1565
- '@rollup/rollup-linux-arm-musleabihf@4.31.0':
1566
  optional: true
1567
 
1568
- '@rollup/rollup-linux-arm64-gnu@4.31.0':
1569
  optional: true
1570
 
1571
- '@rollup/rollup-linux-arm64-musl@4.31.0':
1572
  optional: true
1573
 
1574
- '@rollup/rollup-linux-loongarch64-gnu@4.31.0':
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1575
  optional: true
1576
 
1577
- '@rollup/rollup-linux-powerpc64le-gnu@4.31.0':
1578
  optional: true
1579
 
1580
- '@rollup/rollup-linux-riscv64-gnu@4.31.0':
1581
  optional: true
1582
 
1583
- '@rollup/rollup-linux-s390x-gnu@4.31.0':
1584
  optional: true
1585
 
1586
- '@rollup/rollup-linux-x64-gnu@4.31.0':
1587
  optional: true
1588
 
1589
- '@rollup/rollup-linux-x64-musl@4.31.0':
1590
  optional: true
1591
 
1592
- '@rollup/rollup-win32-arm64-msvc@4.31.0':
1593
  optional: true
1594
 
1595
- '@rollup/rollup-win32-ia32-msvc@4.31.0':
1596
  optional: true
1597
 
1598
- '@rollup/rollup-win32-x64-msvc@4.31.0':
1599
  optional: true
1600
 
1601
- '@trincadev/driver.js@https://github.com/trincadev/driver.js/archive/refs/tags/1.3.1-trincadev.2.tar.gz': {}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1602
 
1603
  '@tsconfig/[email protected]': {}
1604
 
@@ -1703,7 +1678,7 @@ snapshots:
1703
 
1704
  '@types/[email protected]': {}
1705
 
1706
- '@types/[email protected].15': {}
1707
 
1708
  '@types/[email protected]': {}
1709
 
@@ -1711,20 +1686,20 @@ snapshots:
1711
 
1712
  '@types/[email protected]':
1713
  dependencies:
1714
- '@types/geojson': 7946.0.15
1715
 
1716
- '@types/node@22.10.7':
1717
  dependencies:
1718
  undici-types: 6.20.0
1719
 
1720
- '@vitejs/[email protected]([email protected].11(@types/node@22.10.7)(jiti@1.21.7)([email protected]))([email protected])':
1721
  dependencies:
1722
- vite: 6.0.11(@types/node@22.10.7)(jiti@1.21.7)([email protected])
1723
  vue: 3.5.13
1724
 
1725
  '@vue/[email protected]':
1726
  dependencies:
1727
- '@babel/parser': 7.26.5
1728
  '@vue/shared': 3.5.13
1729
  entities: 4.5.0
1730
  estree-walker: 2.0.2
@@ -1737,14 +1712,14 @@ snapshots:
1737
 
1738
  '@vue/[email protected]':
1739
  dependencies:
1740
- '@babel/parser': 7.26.5
1741
  '@vue/compiler-core': 3.5.13
1742
  '@vue/compiler-dom': 3.5.13
1743
  '@vue/compiler-ssr': 3.5.13
1744
  '@vue/shared': 3.5.13
1745
  estree-walker: 2.0.2
1746
  magic-string: 0.30.17
1747
- postcss: 8.5.1
1748
  source-map-js: 1.2.1
1749
 
1750
  '@vue/[email protected]':
@@ -1793,43 +1768,16 @@ snapshots:
1793
  json-schema-traverse: 0.4.1
1794
  uri-js: 4.4.1
1795
 
1796
1797
-
1798
1799
-
1800
1801
  dependencies:
1802
  color-convert: 2.0.1
1803
 
1804
1805
-
1806
1807
-
1808
1809
- dependencies:
1810
- normalize-path: 3.0.0
1811
- picomatch: 2.3.1
1812
-
1813
1814
-
1815
1816
 
1817
1818
- dependencies:
1819
- browserslist: 4.24.4
1820
- caniuse-lite: 1.0.30001695
1821
- fraction.js: 4.3.7
1822
- normalize-range: 0.1.2
1823
- picocolors: 1.1.1
1824
- postcss: 8.5.1
1825
- postcss-value-parser: 4.2.0
1826
-
1827
1828
 
1829
1830
 
1831
1832
-
1833
1834
 
1835
@@ -1837,52 +1785,23 @@ snapshots:
1837
  balanced-match: 1.0.2
1838
  concat-map: 0.0.1
1839
 
1840
1841
- dependencies:
1842
- balanced-match: 1.0.2
1843
-
1844
1845
  dependencies:
1846
  fill-range: 7.1.1
1847
 
1848
1849
- dependencies:
1850
- caniuse-lite: 1.0.30001695
1851
- electron-to-chromium: 1.5.84
1852
- node-releases: 2.0.19
1853
- update-browserslist-db: 1.1.2([email protected])
1854
-
1855
1856
 
1857
1858
-
1859
1860
-
1861
1862
  dependencies:
1863
  ansi-styles: 4.3.0
1864
  supports-color: 7.2.0
1865
 
1866
1867
- dependencies:
1868
- anymatch: 3.1.3
1869
- braces: 3.0.3
1870
- glob-parent: 5.1.2
1871
- is-binary-path: 2.1.0
1872
- is-glob: 4.0.3
1873
- normalize-path: 3.0.0
1874
- readdirp: 3.6.0
1875
- optionalDependencies:
1876
- fsevents: 2.3.3
1877
-
1878
1879
  dependencies:
1880
  color-name: 1.1.4
1881
 
1882
1883
 
1884
1885
-
1886
1887
 
1888
@@ -1901,62 +1820,55 @@ snapshots:
1901
 
1902
1903
 
1904
- didyoumean@1.2.2: {}
1905
-
1906
1907
-
1908
1909
 
1910
- electron-to-chromium@1.5.84: {}
1911
-
1912
- emoji-regex@8.0.0: {}
1913
-
1914
1915
 
1916
1917
 
1918
- esbuild@0.24.2:
1919
  optionalDependencies:
1920
- '@esbuild/aix-ppc64': 0.24.2
1921
- '@esbuild/android-arm': 0.24.2
1922
- '@esbuild/android-arm64': 0.24.2
1923
- '@esbuild/android-x64': 0.24.2
1924
- '@esbuild/darwin-arm64': 0.24.2
1925
- '@esbuild/darwin-x64': 0.24.2
1926
- '@esbuild/freebsd-arm64': 0.24.2
1927
- '@esbuild/freebsd-x64': 0.24.2
1928
- '@esbuild/linux-arm': 0.24.2
1929
- '@esbuild/linux-arm64': 0.24.2
1930
- '@esbuild/linux-ia32': 0.24.2
1931
- '@esbuild/linux-loong64': 0.24.2
1932
- '@esbuild/linux-mips64el': 0.24.2
1933
- '@esbuild/linux-ppc64': 0.24.2
1934
- '@esbuild/linux-riscv64': 0.24.2
1935
- '@esbuild/linux-s390x': 0.24.2
1936
- '@esbuild/linux-x64': 0.24.2
1937
- '@esbuild/netbsd-arm64': 0.24.2
1938
- '@esbuild/netbsd-x64': 0.24.2
1939
- '@esbuild/openbsd-arm64': 0.24.2
1940
- '@esbuild/openbsd-x64': 0.24.2
1941
- '@esbuild/sunos-x64': 0.24.2
1942
- '@esbuild/win32-arm64': 0.24.2
1943
- '@esbuild/win32-ia32': 0.24.2
1944
- '@esbuild/win32-x64': 0.24.2
1945
-
1946
1947
 
1948
1949
 
1950
- [email protected](eslint@9.18.0(jiti@1.21.7)):
1951
  dependencies:
1952
- '@eslint-community/eslint-utils': 4.4.1(eslint@9.18.0(jiti@1.21.7))
1953
- eslint: 9.18.0(jiti@1.21.7)
1954
  globals: 13.24.0
1955
  natural-compare: 1.4.0
1956
  nth-check: 2.1.1
1957
  postcss-selector-parser: 6.1.2
1958
- semver: 7.6.3
1959
- vue-eslint-parser: 9.4.3(eslint@9.18.0(jiti@1.21.7))
1960
  xml-name-validator: 4.0.0
1961
  transitivePeerDependencies:
1962
  - supports-color
@@ -1975,18 +1887,18 @@ snapshots:
1975
 
1976
1977
 
1978
- eslint@9.18.0(jiti@1.21.7):
1979
  dependencies:
1980
- '@eslint-community/eslint-utils': 4.4.1(eslint@9.18.0(jiti@1.21.7))
1981
  '@eslint-community/regexpp': 4.12.1
1982
- '@eslint/config-array': 0.19.1
1983
- '@eslint/core': 0.10.0
1984
- '@eslint/eslintrc': 3.2.0
1985
- '@eslint/js': 9.18.0
1986
- '@eslint/plugin-kit': 0.2.5
1987
  '@humanfs/node': 0.16.6
1988
  '@humanwhocodes/module-importer': 1.0.1
1989
- '@humanwhocodes/retry': 0.4.1
1990
  '@types/estree': 1.0.6
1991
  '@types/json-schema': 7.0.15
1992
  ajv: 6.12.6
@@ -2012,7 +1924,7 @@ snapshots:
2012
  natural-compare: 1.4.0
2013
  optionator: 0.9.4
2014
  optionalDependencies:
2015
- jiti: 1.21.7
2016
  transitivePeerDependencies:
2017
  - supports-color
2018
 
@@ -2044,22 +1956,10 @@ snapshots:
2044
 
2045
2046
 
2047
2048
- dependencies:
2049
- '@nodelib/fs.stat': 2.0.5
2050
- '@nodelib/fs.walk': 1.2.8
2051
- glob-parent: 5.1.2
2052
- merge2: 1.4.1
2053
- micromatch: 4.0.8
2054
-
2055
2056
 
2057
2058
 
2059
2060
- dependencies:
2061
- reusify: 1.0.4
2062
-
2063
2064
  dependencies:
2065
  flat-cache: 4.0.1
@@ -2075,23 +1975,14 @@ snapshots:
2075
 
2076
2077
  dependencies:
2078
- flatted: 3.3.2
2079
  keyv: 4.5.4
2080
 
2081
2082
-
2083
2084
- dependencies:
2085
- cross-spawn: 7.0.6
2086
- signal-exit: 4.1.0
2087
-
2088
2089
 
2090
2091
  optional: true
2092
 
2093
2094
-
2095
2096
  dependencies:
2097
  '@turf/bbox': 6.5.0
@@ -2100,56 +1991,31 @@ snapshots:
2100
  '@types/geojson': 7946.0.8
2101
  rbush: 3.0.1
2102
 
2103
2104
- dependencies:
2105
- is-glob: 4.0.3
2106
-
2107
2108
  dependencies:
2109
  is-glob: 4.0.3
2110
 
2111
2112
- dependencies:
2113
- foreground-child: 3.3.0
2114
- jackspeak: 3.4.3
2115
- minimatch: 9.0.5
2116
- minipass: 7.1.2
2117
- package-json-from-dist: 1.0.1
2118
- path-scurry: 1.11.1
2119
-
2120
2121
  dependencies:
2122
  type-fest: 0.20.2
2123
 
2124
2125
 
2126
- has-flag@4.0.0: {}
2127
 
2128
- hasown@2.0.2:
2129
- dependencies:
2130
- function-bind: 1.1.2
2131
 
2132
2133
 
2134
2135
  dependencies:
2136
  parent-module: 1.0.1
2137
  resolve-from: 4.0.0
2138
 
2139
2140
 
2141
2142
- dependencies:
2143
- binary-extensions: 2.3.0
2144
-
2145
2146
- dependencies:
2147
- hasown: 2.0.2
2148
-
2149
2150
 
2151
2152
-
2153
2154
  dependencies:
2155
  is-extglob: 2.1.1
@@ -2158,13 +2024,7 @@ snapshots:
2158
 
2159
2160
 
2161
- jackspeak@3.4.3:
2162
- dependencies:
2163
- '@isaacs/cliui': 8.0.2
2164
- optionalDependencies:
2165
- '@pkgjs/parseargs': 0.11.0
2166
-
2167
2168
 
2169
2170
  dependencies:
@@ -2189,9 +2049,50 @@ snapshots:
2189
  prelude-ls: 1.2.1
2190
  type-check: 0.4.0
2191
 
2192
- lilconfig@3.1.3: {}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2193
 
2194
- lines-and-columns@1.2.4: {}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2195
 
2196
2197
  dependencies:
@@ -2201,14 +2102,10 @@ snapshots:
2201
 
2202
2203
 
2204
2205
-
2206
2207
  dependencies:
2208
  '@jridgewell/sourcemap-codec': 1.5.0
2209
 
2210
2211
-
2212
2213
  dependencies:
2214
  braces: 3.0.3
@@ -2218,38 +2115,20 @@ snapshots:
2218
  dependencies:
2219
  brace-expansion: 1.1.11
2220
 
2221
- minimatch@9.0.5:
2222
- dependencies:
2223
- brace-expansion: 2.0.1
2224
-
2225
2226
 
2227
2228
 
2229
2230
- dependencies:
2231
- any-promise: 1.3.0
2232
- object-assign: 4.1.1
2233
- thenify-all: 1.6.0
2234
-
2235
2236
 
2237
2238
 
2239
- node-releases@2.0.19: {}
2240
-
2241
2242
-
2243
2244
 
2245
2246
  dependencies:
2247
  boolbase: 1.0.0
2248
 
2249
2250
-
2251
2252
-
2253
2254
  dependencies:
2255
  deep-is: 0.1.4
@@ -2267,8 +2146,6 @@ snapshots:
2267
  dependencies:
2268
  p-limit: 3.1.0
2269
 
2270
2271
-
2272
2273
  dependencies:
2274
  callsites: 3.1.0
@@ -2277,65 +2154,21 @@ snapshots:
2277
 
2278
2279
 
2280
2281
-
2282
2283
- dependencies:
2284
- lru-cache: 10.4.3
2285
- minipass: 7.1.2
2286
-
2287
2288
 
2289
2290
 
2291
2292
-
2293
2294
-
2295
2296
  dependencies:
2297
  bignumber.js: 9.1.2
2298
  splaytree-ts: 1.0.2
2299
 
2300
2301
- dependencies:
2302
- postcss: 8.5.1
2303
- postcss-value-parser: 4.2.0
2304
- read-cache: 1.0.0
2305
- resolve: 1.22.10
2306
-
2307
2308
- dependencies:
2309
- postcss: 8.5.1
2310
- postcss-value-parser: 4.2.0
2311
- read-cache: 1.0.0
2312
- resolve: 1.22.10
2313
-
2314
2315
- dependencies:
2316
- camelcase-css: 2.0.1
2317
- postcss: 8.5.1
2318
-
2319
2320
- dependencies:
2321
- lilconfig: 3.1.3
2322
- yaml: 2.7.0
2323
- optionalDependencies:
2324
- postcss: 8.5.1
2325
-
2326
2327
- dependencies:
2328
- postcss: 8.5.1
2329
- postcss-selector-parser: 6.1.2
2330
-
2331
2332
  dependencies:
2333
  cssesc: 3.0.0
2334
  util-deprecate: 1.0.2
2335
 
2336
- postcss-value-parser@4.2.0: {}
2337
-
2338
2339
  dependencies:
2340
  nanoid: 3.3.8
2341
  picocolors: 1.1.1
@@ -2343,66 +2176,44 @@ snapshots:
2343
 
2344
2345
 
2346
- prettier@3.4.2: {}
2347
 
2348
2349
 
2350
2351
-
2352
2353
 
2354
2355
  dependencies:
2356
  quickselect: 2.0.0
2357
 
2358
2359
- dependencies:
2360
- pify: 2.3.0
2361
-
2362
2363
- dependencies:
2364
- picomatch: 2.3.1
2365
-
2366
2367
 
2368
- resolve@1.22.10:
2369
- dependencies:
2370
- is-core-module: 2.16.1
2371
- path-parse: 1.0.7
2372
- supports-preserve-symlinks-flag: 1.0.0
2373
-
2374
2375
-
2376
2377
  dependencies:
2378
  '@types/estree': 1.0.6
2379
  optionalDependencies:
2380
- '@rollup/rollup-android-arm-eabi': 4.31.0
2381
- '@rollup/rollup-android-arm64': 4.31.0
2382
- '@rollup/rollup-darwin-arm64': 4.31.0
2383
- '@rollup/rollup-darwin-x64': 4.31.0
2384
- '@rollup/rollup-freebsd-arm64': 4.31.0
2385
- '@rollup/rollup-freebsd-x64': 4.31.0
2386
- '@rollup/rollup-linux-arm-gnueabihf': 4.31.0
2387
- '@rollup/rollup-linux-arm-musleabihf': 4.31.0
2388
- '@rollup/rollup-linux-arm64-gnu': 4.31.0
2389
- '@rollup/rollup-linux-arm64-musl': 4.31.0
2390
- '@rollup/rollup-linux-loongarch64-gnu': 4.31.0
2391
- '@rollup/rollup-linux-powerpc64le-gnu': 4.31.0
2392
- '@rollup/rollup-linux-riscv64-gnu': 4.31.0
2393
- '@rollup/rollup-linux-s390x-gnu': 4.31.0
2394
- '@rollup/rollup-linux-x64-gnu': 4.31.0
2395
- '@rollup/rollup-linux-x64-musl': 4.31.0
2396
- '@rollup/rollup-win32-arm64-msvc': 4.31.0
2397
- '@rollup/rollup-win32-ia32-msvc': 4.31.0
2398
- '@rollup/rollup-win32-x64-msvc': 4.31.0
2399
  fsevents: 2.3.3
2400
 
2401
- run-parallel@1.2.0:
2402
- dependencies:
2403
- queue-microtask: 1.2.3
2404
-
2405
2406
 
2407
2408
  dependencies:
@@ -2410,91 +2221,24 @@ snapshots:
2410
 
2411
2412
 
2413
2414
-
2415
2416
 
2417
2418
 
2419
2420
- dependencies:
2421
- emoji-regex: 8.0.0
2422
- is-fullwidth-code-point: 3.0.0
2423
- strip-ansi: 6.0.1
2424
-
2425
2426
- dependencies:
2427
- eastasianwidth: 0.2.0
2428
- emoji-regex: 9.2.2
2429
- strip-ansi: 7.1.0
2430
-
2431
2432
- dependencies:
2433
- ansi-regex: 5.0.1
2434
-
2435
2436
- dependencies:
2437
- ansi-regex: 6.1.0
2438
-
2439
2440
 
2441
2442
- dependencies:
2443
- '@jridgewell/gen-mapping': 0.3.8
2444
- commander: 4.1.1
2445
- glob: 10.4.5
2446
- lines-and-columns: 1.2.4
2447
- mz: 2.7.0
2448
- pirates: 4.0.6
2449
- ts-interface-checker: 0.1.13
2450
-
2451
2452
  dependencies:
2453
  has-flag: 4.0.0
2454
 
2455
- supports-preserve-symlinks-flag@1.0.0: {}
2456
-
2457
2458
- dependencies:
2459
- '@alloc/quick-lru': 5.2.0
2460
- arg: 5.0.2
2461
- chokidar: 3.6.0
2462
- didyoumean: 1.2.2
2463
- dlv: 1.1.3
2464
- fast-glob: 3.3.3
2465
- glob-parent: 6.0.2
2466
- is-glob: 4.0.3
2467
- jiti: 1.21.7
2468
- lilconfig: 3.1.3
2469
- micromatch: 4.0.8
2470
- normalize-path: 3.0.0
2471
- object-hash: 3.0.0
2472
- picocolors: 1.1.1
2473
- postcss: 8.5.1
2474
- postcss-import: 15.1.0([email protected])
2475
- postcss-js: 4.0.1([email protected])
2476
- postcss-load-config: 4.0.2([email protected])
2477
- postcss-nested: 6.2.0([email protected])
2478
- postcss-selector-parser: 6.1.2
2479
- resolve: 1.22.10
2480
- sucrase: 3.35.0
2481
- transitivePeerDependencies:
2482
- - ts-node
2483
 
2484
- thenify-all@1.6.0:
2485
- dependencies:
2486
- thenify: 3.3.1
2487
-
2488
2489
- dependencies:
2490
- any-promise: 1.3.0
2491
 
2492
2493
  dependencies:
2494
  is-number: 7.0.0
2495
 
2496
2497
-
2498
2499
  dependencies:
2500
  prelude-ls: 1.2.1
@@ -2503,39 +2247,34 @@ snapshots:
2503
 
2504
2505
 
2506
2507
- dependencies:
2508
- browserslist: 4.24.4
2509
- escalade: 3.2.0
2510
- picocolors: 1.1.1
2511
-
2512
2513
  dependencies:
2514
  punycode: 2.3.1
2515
 
2516
2517
 
2518
- [email protected].11(@types/node@22.10.7)(jiti@1.21.7)([email protected]):
2519
  dependencies:
2520
- esbuild: 0.24.2
2521
- postcss: 8.5.1
2522
- rollup: 4.31.0
2523
  optionalDependencies:
2524
- '@types/node': 22.10.7
2525
  fsevents: 2.3.3
2526
- jiti: 1.21.7
 
2527
  yaml: 2.7.0
2528
 
2529
- [email protected](eslint@9.18.0(jiti@1.21.7)):
2530
  dependencies:
2531
  debug: 4.4.0
2532
- eslint: 9.18.0(jiti@1.21.7)
2533
  eslint-scope: 7.2.2
2534
  eslint-visitor-keys: 3.4.3
2535
  espree: 9.6.1
2536
  esquery: 1.6.0
2537
  lodash: 4.17.21
2538
- semver: 7.6.3
2539
  transitivePeerDependencies:
2540
  - supports-color
2541
 
@@ -2553,20 +2292,9 @@ snapshots:
2553
 
2554
2555
 
2556
2557
- dependencies:
2558
- ansi-styles: 4.3.0
2559
- string-width: 4.2.3
2560
- strip-ansi: 6.0.1
2561
-
2562
2563
- dependencies:
2564
- ansi-styles: 6.2.1
2565
- string-width: 5.1.2
2566
- strip-ansi: 7.1.0
2567
-
2568
2569
 
2570
 
2571
 
2572
 
11
  '@geoman-io/leaflet-geoman-free':
12
  specifier: ^2.18.3
13
  version: 2.18.3([email protected])
 
 
 
14
  leaflet:
15
  specifier: ^1.9.4
16
  version: 1.9.4
 
21
  specifier: ^3.5.13
22
  version: 3.5.13
23
  devDependencies:
24
+ '@tailwindcss/cli':
25
+ specifier: ^4.0.9
26
+ version: 4.0.9
27
  '@tsconfig/node20':
28
  specifier: ^20.1.4
29
  version: 20.1.4
 
31
  specifier: ^1.9.16
32
  version: 1.9.16
33
  '@types/node':
34
+ specifier: ^22.13.8
35
+ version: 22.13.8
36
  '@vitejs/plugin-vue':
37
  specifier: ^5.2.1
38
+ version: 5.2.1(vite@6.2.0(@types/node@22.13.8)(jiti@2.4.2)(lightningcss@1.29.1)([email protected]))([email protected])
39
  '@vue/tsconfig':
40
  specifier: ^0.7.0
41
  version: 0.7.0([email protected])
 
 
 
42
  eslint:
43
+ specifier: ^9.21.0
44
+ version: 9.21.0(jiti@2.4.2)
45
  eslint-plugin-vue:
46
  specifier: ^9.32.0
47
+ version: 9.32.0(eslint@9.21.0(jiti@2.4.2))
 
 
 
 
 
 
48
  prettier:
49
+ specifier: ^3.5.2
50
+ version: 3.5.2
51
  tailwindcss:
52
+ specifier: ^4.0.9
53
+ version: 4.0.9
54
  vite:
55
+ specifier: ^6.2.0
56
+ version: 6.2.0(@types/node@22.13.8)(jiti@2.4.2)(lightningcss@1.29.1)([email protected])
57
 
58
  packages:
59
 
 
 
 
 
60
  '@babel/[email protected]':
61
  resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
62
  engines: {node: '>=6.9.0'}
 
65
  resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
66
  engines: {node: '>=6.9.0'}
67
 
68
+ '@babel/[email protected].9':
69
+ resolution: {integrity: sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==}
70
  engines: {node: '>=6.0.0'}
71
  hasBin: true
72
 
73
+ '@babel/[email protected].9':
74
+ resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==}
75
  engines: {node: '>=6.9.0'}
76
 
77
+ '@esbuild/aix-ppc64@0.25.0':
78
+ resolution: {integrity: sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==}
79
  engines: {node: '>=18'}
80
  cpu: [ppc64]
81
  os: [aix]
82
 
83
+ '@esbuild/android-arm64@0.25.0':
84
+ resolution: {integrity: sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==}
85
  engines: {node: '>=18'}
86
  cpu: [arm64]
87
  os: [android]
88
 
89
+ '@esbuild/android-arm@0.25.0':
90
+ resolution: {integrity: sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==}
91
  engines: {node: '>=18'}
92
  cpu: [arm]
93
  os: [android]
94
 
95
+ '@esbuild/android-x64@0.25.0':
96
+ resolution: {integrity: sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==}
97
  engines: {node: '>=18'}
98
  cpu: [x64]
99
  os: [android]
100
 
101
+ '@esbuild/darwin-arm64@0.25.0':
102
+ resolution: {integrity: sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==}
103
  engines: {node: '>=18'}
104
  cpu: [arm64]
105
  os: [darwin]
106
 
107
+ '@esbuild/darwin-x64@0.25.0':
108
+ resolution: {integrity: sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==}
109
  engines: {node: '>=18'}
110
  cpu: [x64]
111
  os: [darwin]
112
 
113
+ '@esbuild/freebsd-arm64@0.25.0':
114
+ resolution: {integrity: sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==}
115
  engines: {node: '>=18'}
116
  cpu: [arm64]
117
  os: [freebsd]
118
 
119
+ '@esbuild/freebsd-x64@0.25.0':
120
+ resolution: {integrity: sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==}
121
  engines: {node: '>=18'}
122
  cpu: [x64]
123
  os: [freebsd]
124
 
125
+ '@esbuild/linux-arm64@0.25.0':
126
+ resolution: {integrity: sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==}
127
  engines: {node: '>=18'}
128
  cpu: [arm64]
129
  os: [linux]
130
 
131
+ '@esbuild/linux-arm@0.25.0':
132
+ resolution: {integrity: sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==}
133
  engines: {node: '>=18'}
134
  cpu: [arm]
135
  os: [linux]
136
 
137
+ '@esbuild/linux-ia32@0.25.0':
138
+ resolution: {integrity: sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==}
139
  engines: {node: '>=18'}
140
  cpu: [ia32]
141
  os: [linux]
142
 
143
+ '@esbuild/linux-loong64@0.25.0':
144
+ resolution: {integrity: sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==}
145
  engines: {node: '>=18'}
146
  cpu: [loong64]
147
  os: [linux]
148
 
149
+ '@esbuild/linux-mips64el@0.25.0':
150
+ resolution: {integrity: sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==}
151
  engines: {node: '>=18'}
152
  cpu: [mips64el]
153
  os: [linux]
154
 
155
+ '@esbuild/linux-ppc64@0.25.0':
156
+ resolution: {integrity: sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==}
157
  engines: {node: '>=18'}
158
  cpu: [ppc64]
159
  os: [linux]
160
 
161
+ '@esbuild/linux-riscv64@0.25.0':
162
+ resolution: {integrity: sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==}
163
  engines: {node: '>=18'}
164
  cpu: [riscv64]
165
  os: [linux]
166
 
167
+ '@esbuild/linux-s390x@0.25.0':
168
+ resolution: {integrity: sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==}
169
  engines: {node: '>=18'}
170
  cpu: [s390x]
171
  os: [linux]
172
 
173
+ '@esbuild/linux-x64@0.25.0':
174
+ resolution: {integrity: sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==}
175
  engines: {node: '>=18'}
176
  cpu: [x64]
177
  os: [linux]
178
 
179
+ '@esbuild/netbsd-arm64@0.25.0':
180
+ resolution: {integrity: sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==}
181
  engines: {node: '>=18'}
182
  cpu: [arm64]
183
  os: [netbsd]
184
 
185
+ '@esbuild/netbsd-x64@0.25.0':
186
+ resolution: {integrity: sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==}
187
  engines: {node: '>=18'}
188
  cpu: [x64]
189
  os: [netbsd]
190
 
191
+ '@esbuild/openbsd-arm64@0.25.0':
192
+ resolution: {integrity: sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==}
193
  engines: {node: '>=18'}
194
  cpu: [arm64]
195
  os: [openbsd]
196
 
197
+ '@esbuild/openbsd-x64@0.25.0':
198
+ resolution: {integrity: sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==}
199
  engines: {node: '>=18'}
200
  cpu: [x64]
201
  os: [openbsd]
202
 
203
+ '@esbuild/sunos-x64@0.25.0':
204
+ resolution: {integrity: sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==}
205
  engines: {node: '>=18'}
206
  cpu: [x64]
207
  os: [sunos]
208
 
209
+ '@esbuild/win32-arm64@0.25.0':
210
+ resolution: {integrity: sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==}
211
  engines: {node: '>=18'}
212
  cpu: [arm64]
213
  os: [win32]
214
 
215
+ '@esbuild/win32-ia32@0.25.0':
216
+ resolution: {integrity: sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==}
217
  engines: {node: '>=18'}
218
  cpu: [ia32]
219
  os: [win32]
220
 
221
+ '@esbuild/win32-x64@0.25.0':
222
+ resolution: {integrity: sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==}
223
  engines: {node: '>=18'}
224
  cpu: [x64]
225
  os: [win32]
 
234
  resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
235
  engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
236
 
237
+ '@eslint/[email protected].2':
238
+ resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==}
239
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
240
 
241
+ '@eslint/core@0.12.0':
242
+ resolution: {integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==}
243
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
244
 
245
+ '@eslint/eslintrc@3.3.0':
246
+ resolution: {integrity: sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==}
247
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
248
 
249
+ '@eslint/js@9.21.0':
250
+ resolution: {integrity: sha512-BqStZ3HX8Yz6LvsF5ByXYrtigrV5AXADWLAGc7PH/1SxOb7/FIYYMszZZWiUou/GB9P2lXWk2SV4d+Z8h0nknw==}
251
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
252
 
253
+ '@eslint/[email protected].6':
254
+ resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
255
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
256
 
257
+ '@eslint/[email protected].7':
258
+ resolution: {integrity: sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==}
259
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
260
 
261
  '@geoman-io/[email protected]':
 
279
  resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
280
  engines: {node: '>=18.18'}
281
 
282
+ '@humanwhocodes/[email protected].2':
283
+ resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==}
284
  engines: {node: '>=18.18'}
285
 
286
+ '@jridgewell/sourcemap-codec@1.5.0':
287
+ resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
 
288
 
289
+ '@parcel/watcher-android-arm64@2.5.1':
290
+ resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==}
291
+ engines: {node: '>= 10.0.0'}
292
+ cpu: [arm64]
293
+ os: [android]
294
 
295
+ '@parcel/watcher-darwin-arm64@2.5.1':
296
+ resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==}
297
+ engines: {node: '>= 10.0.0'}
298
+ cpu: [arm64]
299
+ os: [darwin]
300
 
301
+ '@parcel/watcher-darwin-x64@2.5.1':
302
+ resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==}
303
+ engines: {node: '>= 10.0.0'}
304
+ cpu: [x64]
305
+ os: [darwin]
306
 
307
+ '@parcel/watcher-freebsd-x64@2.5.1':
308
+ resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==}
309
+ engines: {node: '>= 10.0.0'}
310
+ cpu: [x64]
311
+ os: [freebsd]
312
 
313
+ '@parcel/watcher-linux-arm-glibc@2.5.1':
314
+ resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==}
315
+ engines: {node: '>= 10.0.0'}
316
+ cpu: [arm]
317
+ os: [linux]
318
 
319
+ '@parcel/watcher-linux-arm-musl@2.5.1':
320
+ resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==}
321
+ engines: {node: '>= 10.0.0'}
322
+ cpu: [arm]
323
+ os: [linux]
324
 
325
+ '@parcel/watcher-linux-arm64-glibc@2.5.1':
326
+ resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==}
327
+ engines: {node: '>= 10.0.0'}
328
+ cpu: [arm64]
329
+ os: [linux]
330
 
331
+ '@parcel/watcher-linux-arm64-musl@2.5.1':
332
+ resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==}
333
+ engines: {node: '>= 10.0.0'}
334
+ cpu: [arm64]
335
+ os: [linux]
336
 
337
+ '@parcel/watcher-linux-x64-glibc@2.5.1':
338
+ resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==}
339
+ engines: {node: '>= 10.0.0'}
340
+ cpu: [x64]
341
+ os: [linux]
342
+
343
+ '@parcel/[email protected]':
344
+ resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==}
345
+ engines: {node: '>= 10.0.0'}
346
+ cpu: [x64]
347
+ os: [linux]
348
 
349
+ '@parcel/watcher-win32-arm64@2.5.1':
350
+ resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==}
351
+ engines: {node: '>= 10.0.0'}
352
+ cpu: [arm64]
353
+ os: [win32]
354
+
355
+ '@parcel/[email protected]':
356
+ resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==}
357
+ engines: {node: '>= 10.0.0'}
358
+ cpu: [ia32]
359
+ os: [win32]
360
+
361
+ '@parcel/[email protected]':
362
+ resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==}
363
+ engines: {node: '>= 10.0.0'}
364
+ cpu: [x64]
365
+ os: [win32]
366
+
367
+ '@parcel/[email protected]':
368
+ resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==}
369
+ engines: {node: '>= 10.0.0'}
370
+
371
+ '@rollup/[email protected]':
372
+ resolution: {integrity: sha512-qZdlImWXur0CFakn2BJ2znJOdqYZKiedEPEVNTBrpfPjc/YuTGcaYZcdmNFTkUj3DU0ZM/AElcM8Ybww3xVLzA==}
373
  cpu: [arm]
374
  os: [android]
375
 
376
+ '@rollup/rollup-android-arm64@4.34.9':
377
+ resolution: {integrity: sha512-4KW7P53h6HtJf5Y608T1ISKvNIYLWRKMvfnG0c44M6In4DQVU58HZFEVhWINDZKp7FZps98G3gxwC1sb0wXUUg==}
378
  cpu: [arm64]
379
  os: [android]
380
 
381
+ '@rollup/rollup-darwin-arm64@4.34.9':
382
+ resolution: {integrity: sha512-0CY3/K54slrzLDjOA7TOjN1NuLKERBgk9nY5V34mhmuu673YNb+7ghaDUs6N0ujXR7fz5XaS5Aa6d2TNxZd0OQ==}
383
  cpu: [arm64]
384
  os: [darwin]
385
 
386
+ '@rollup/rollup-darwin-x64@4.34.9':
387
+ resolution: {integrity: sha512-eOojSEAi/acnsJVYRxnMkPFqcxSMFfrw7r2iD9Q32SGkb/Q9FpUY1UlAu1DH9T7j++gZ0lHjnm4OyH2vCI7l7Q==}
388
  cpu: [x64]
389
  os: [darwin]
390
 
391
+ '@rollup/rollup-freebsd-arm64@4.34.9':
392
+ resolution: {integrity: sha512-2lzjQPJbN5UnHm7bHIUKFMulGTQwdvOkouJDpPysJS+QFBGDJqcfh+CxxtG23Ik/9tEvnebQiylYoazFMAgrYw==}
393
  cpu: [arm64]
394
  os: [freebsd]
395
 
396
+ '@rollup/rollup-freebsd-x64@4.34.9':
397
+ resolution: {integrity: sha512-SLl0hi2Ah2H7xQYd6Qaiu01kFPzQ+hqvdYSoOtHYg/zCIFs6t8sV95kaoqjzjFwuYQLtOI0RZre/Ke0nPaQV+g==}
398
  cpu: [x64]
399
  os: [freebsd]
400
 
401
+ '@rollup/rollup-linux-arm-gnueabihf@4.34.9':
402
+ resolution: {integrity: sha512-88I+D3TeKItrw+Y/2ud4Tw0+3CxQ2kLgu3QvrogZ0OfkmX/DEppehus7L3TS2Q4lpB+hYyxhkQiYPJ6Mf5/dPg==}
403
  cpu: [arm]
404
  os: [linux]
405
 
406
+ '@rollup/rollup-linux-arm-musleabihf@4.34.9':
407
+ resolution: {integrity: sha512-3qyfWljSFHi9zH0KgtEPG4cBXHDFhwD8kwg6xLfHQ0IWuH9crp005GfoUUh/6w9/FWGBwEHg3lxK1iHRN1MFlA==}
408
  cpu: [arm]
409
  os: [linux]
410
 
411
+ '@rollup/rollup-linux-arm64-gnu@4.34.9':
412
+ resolution: {integrity: sha512-6TZjPHjKZUQKmVKMUowF3ewHxctrRR09eYyvT5eFv8w/fXarEra83A2mHTVJLA5xU91aCNOUnM+DWFMSbQ0Nxw==}
413
  cpu: [arm64]
414
  os: [linux]
415
 
416
+ '@rollup/rollup-linux-arm64-musl@4.34.9':
417
+ resolution: {integrity: sha512-LD2fytxZJZ6xzOKnMbIpgzFOuIKlxVOpiMAXawsAZ2mHBPEYOnLRK5TTEsID6z4eM23DuO88X0Tq1mErHMVq0A==}
418
  cpu: [arm64]
419
  os: [linux]
420
 
421
+ '@rollup/rollup-linux-loongarch64-gnu@4.34.9':
422
+ resolution: {integrity: sha512-dRAgTfDsn0TE0HI6cmo13hemKpVHOEyeciGtvlBTkpx/F65kTvShtY/EVyZEIfxFkV5JJTuQ9tP5HGBS0hfxIg==}
423
  cpu: [loong64]
424
  os: [linux]
425
 
426
+ '@rollup/rollup-linux-powerpc64le-gnu@4.34.9':
427
+ resolution: {integrity: sha512-PHcNOAEhkoMSQtMf+rJofwisZqaU8iQ8EaSps58f5HYll9EAY5BSErCZ8qBDMVbq88h4UxaNPlbrKqfWP8RfJA==}
428
  cpu: [ppc64]
429
  os: [linux]
430
 
431
+ '@rollup/rollup-linux-riscv64-gnu@4.34.9':
432
+ resolution: {integrity: sha512-Z2i0Uy5G96KBYKjeQFKbbsB54xFOL5/y1P5wNBsbXB8yE+At3oh0DVMjQVzCJRJSfReiB2tX8T6HUFZ2k8iaKg==}
433
  cpu: [riscv64]
434
  os: [linux]
435
 
436
+ '@rollup/rollup-linux-s390x-gnu@4.34.9':
437
+ resolution: {integrity: sha512-U+5SwTMoeYXoDzJX5dhDTxRltSrIax8KWwfaaYcynuJw8mT33W7oOgz0a+AaXtGuvhzTr2tVKh5UO8GVANTxyQ==}
438
  cpu: [s390x]
439
  os: [linux]
440
 
441
+ '@rollup/rollup-linux-x64-gnu@4.34.9':
442
+ resolution: {integrity: sha512-FwBHNSOjUTQLP4MG7y6rR6qbGw4MFeQnIBrMe161QGaQoBQLqSUEKlHIiVgF3g/mb3lxlxzJOpIBhaP+C+KP2A==}
443
  cpu: [x64]
444
  os: [linux]
445
 
446
+ '@rollup/rollup-linux-x64-musl@4.34.9':
447
+ resolution: {integrity: sha512-cYRpV4650z2I3/s6+5/LONkjIz8MBeqrk+vPXV10ORBnshpn8S32bPqQ2Utv39jCiDcO2eJTuSlPXpnvmaIgRA==}
448
  cpu: [x64]
449
  os: [linux]
450
 
451
+ '@rollup/rollup-win32-arm64-msvc@4.34.9':
452
+ resolution: {integrity: sha512-z4mQK9dAN6byRA/vsSgQiPeuO63wdiDxZ9yg9iyX2QTzKuQM7T4xlBoeUP/J8uiFkqxkcWndWi+W7bXdPbt27Q==}
453
  cpu: [arm64]
454
  os: [win32]
455
 
456
+ '@rollup/rollup-win32-ia32-msvc@4.34.9':
457
+ resolution: {integrity: sha512-KB48mPtaoHy1AwDNkAJfHXvHp24H0ryZog28spEs0V48l3H1fr4i37tiyHsgKZJnCmvxsbATdZGBpbmxTE3a9w==}
458
  cpu: [ia32]
459
  os: [win32]
460
 
461
+ '@rollup/rollup-win32-x64-msvc@4.34.9':
462
+ resolution: {integrity: sha512-AyleYRPU7+rgkMWbEh71fQlrzRfeP6SyMnRf9XX4fCdDPAJumdSBqYEcWPMzVQ4ScAl7E4oFfK0GUVn77xSwbw==}
463
  cpu: [x64]
464
  os: [win32]
465
 
466
+ '@tailwindcss/cli@4.0.9':
467
+ resolution: {integrity: sha512-obJvIxu4SCA3PLQYDB7tz9Biv3LFB6+YM/DXNNqwjEMRBNr7Y7LLBk3Cl6xwM+/TxJlA2rEV/t+XwkbldcxeXA==}
468
+ hasBin: true
469
+
470
+ '@tailwindcss/[email protected]':
471
+ resolution: {integrity: sha512-tOJvdI7XfJbARYhxX+0RArAhmuDcczTC46DGCEziqxzzbIaPnfYaIyRT31n4u8lROrsO7Q6u/K9bmQHL2uL1bQ==}
472
+
473
+ '@tailwindcss/[email protected]':
474
+ resolution: {integrity: sha512-YBgy6+2flE/8dbtrdotVInhMVIxnHJPbAwa7U1gX4l2ThUIaPUp18LjB9wEH8wAGMBZUb//SzLtdXXNBHPUl6Q==}
475
+ engines: {node: '>= 10'}
476
+ cpu: [arm64]
477
+ os: [android]
478
+
479
+ '@tailwindcss/[email protected]':
480
+ resolution: {integrity: sha512-pWdl4J2dIHXALgy2jVkwKBmtEb73kqIfMpYmcgESr7oPQ+lbcQ4+tlPeVXaSAmang+vglAfFpXQCOvs/aGSqlw==}
481
+ engines: {node: '>= 10'}
482
+ cpu: [arm64]
483
+ os: [darwin]
484
+
485
+ '@tailwindcss/[email protected]':
486
+ resolution: {integrity: sha512-4Dq3lKp0/C7vrRSkNPtBGVebEyWt9QPPlQctxJ0H3MDyiQYvzVYf8jKow7h5QkWNe8hbatEqljMj/Y0M+ERYJg==}
487
+ engines: {node: '>= 10'}
488
+ cpu: [x64]
489
+ os: [darwin]
490
+
491
+ '@tailwindcss/[email protected]':
492
+ resolution: {integrity: sha512-k7U1RwRODta8x0uealtVt3RoWAWqA+D5FAOsvVGpYoI6ObgmnzqWW6pnVwz70tL8UZ/QXjeMyiICXyjzB6OGtQ==}
493
+ engines: {node: '>= 10'}
494
+ cpu: [x64]
495
+ os: [freebsd]
496
+
497
+ '@tailwindcss/[email protected]':
498
+ resolution: {integrity: sha512-NDDjVweHz2zo4j+oS8y3KwKL5wGCZoXGA9ruJM982uVJLdsF8/1AeKvUwKRlMBpxHt1EdWJSAh8a0Mfhl28GlQ==}
499
+ engines: {node: '>= 10'}
500
+ cpu: [arm]
501
+ os: [linux]
502
+
503
+ '@tailwindcss/[email protected]':
504
+ resolution: {integrity: sha512-jk90UZ0jzJl3Dy1BhuFfRZ2KP9wVKMXPjmCtY4U6fF2LvrjP5gWFJj5VHzfzHonJexjrGe1lMzgtjriuZkxagg==}
505
+ engines: {node: '>= 10'}
506
+ cpu: [arm64]
507
+ os: [linux]
508
+
509
+ '@tailwindcss/[email protected]':
510
+ resolution: {integrity: sha512-3eMjyTC6HBxh9nRgOHzrc96PYh1/jWOwHZ3Kk0JN0Kl25BJ80Lj9HEvvwVDNTgPg154LdICwuFLuhfgH9DULmg==}
511
+ engines: {node: '>= 10'}
512
+ cpu: [arm64]
513
+ os: [linux]
514
+
515
+ '@tailwindcss/[email protected]':
516
+ resolution: {integrity: sha512-v0D8WqI/c3WpWH1kq/HP0J899ATLdGZmENa2/emmNjubT0sWtEke9W9+wXeEoACuGAhF9i3PO5MeyditpDCiWQ==}
517
+ engines: {node: '>= 10'}
518
+ cpu: [x64]
519
+ os: [linux]
520
+
521
+ '@tailwindcss/[email protected]':
522
+ resolution: {integrity: sha512-Kvp0TCkfeXyeehqLJr7otsc4hd/BUPfcIGrQiwsTVCfaMfjQZCG7DjI+9/QqPZha8YapLA9UoIcUILRYO7NE1Q==}
523
+ engines: {node: '>= 10'}
524
+ cpu: [x64]
525
+ os: [linux]
526
+
527
+ '@tailwindcss/[email protected]':
528
+ resolution: {integrity: sha512-m3+60T/7YvWekajNq/eexjhV8z10rswcz4BC9bioJ7YaN+7K8W2AmLmG0B79H14m6UHE571qB0XsPus4n0QVgQ==}
529
+ engines: {node: '>= 10'}
530
+ cpu: [arm64]
531
+ os: [win32]
532
+
533
+ '@tailwindcss/[email protected]':
534
+ resolution: {integrity: sha512-dpc05mSlqkwVNOUjGu/ZXd5U1XNch1kHFJ4/cHkZFvaW1RzbHmRt24gvM8/HC6IirMxNarzVw4IXVtvrOoZtxA==}
535
+ engines: {node: '>= 10'}
536
+ cpu: [x64]
537
+ os: [win32]
538
+
539
+ '@tailwindcss/[email protected]':
540
+ resolution: {integrity: sha512-eLizHmXFqHswJONwfqi/WZjtmWZpIalpvMlNhTM99/bkHtUs6IqgI1XQ0/W5eO2HiRQcIlXUogI2ycvKhVLNcA==}
541
+ engines: {node: '>= 10'}
542
 
543
  '@tsconfig/[email protected]':
544
  resolution: {integrity: sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==}
 
597
  '@types/[email protected]':
598
  resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
599
 
600
+ '@types/[email protected].16':
601
+ resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==}
602
 
603
  '@types/[email protected]':
604
  resolution: {integrity: sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==}
 
609
  '@types/[email protected]':
610
  resolution: {integrity: sha512-wzZoyySUxkgMZ0ihJ7IaUIblG8Rdc8AbbZKLneyn+QjYsj5q1QU7TEKYqwTr10BGSzY5LI7tJk9Ifo+mEjdFRw==}
611
 
612
+ '@types/node@22.13.8':
613
+ resolution: {integrity: sha512-G3EfaZS+iOGYWLLRCEAXdWK9my08oHNZ+FHluRiggIYJPOXzhOiDgpVCUHaUvyIC5/fj7C/p637jdzC666AOKQ==}
614
 
615
  '@vitejs/[email protected]':
616
  resolution: {integrity: sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==}
 
672
673
  resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
674
 
 
 
 
 
 
 
 
 
675
676
  resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
677
  engines: {node: '>=8'}
678
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
679
680
  resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
681
 
 
 
 
 
 
 
 
682
683
  resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
684
 
685
686
  resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==}
687
 
 
 
 
 
688
689
  resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
690
 
691
692
  resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
693
 
 
 
 
694
695
  resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
696
  engines: {node: '>=8'}
697
 
 
 
 
 
 
698
699
  resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
700
  engines: {node: '>=6'}
701
 
 
 
 
 
 
 
 
702
703
  resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
704
  engines: {node: '>=10'}
705
 
 
 
 
 
706
707
  resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
708
  engines: {node: '>=7.0.0'}
 
710
711
  resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
712
 
 
 
 
 
713
714
  resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
715
 
 
737
738
  resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
739
 
740
+ detect-libc@1.0.3:
741
+ resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
742
+ engines: {node: '>=0.10'}
743
+ hasBin: true
 
 
 
 
 
 
 
 
 
 
744
 
745
+ enhanced-resolve@5.18.1:
746
+ resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==}
747
+ engines: {node: '>=10.13.0'}
748
 
749
750
  resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
751
  engines: {node: '>=0.12'}
752
 
753
+ esbuild@0.25.0:
754
+ resolution: {integrity: sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==}
755
  engines: {node: '>=18'}
756
  hasBin: true
757
 
 
 
 
 
758
759
  resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
760
  engines: {node: '>=10'}
 
781
  resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
782
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
783
 
784
+ eslint@9.21.0:
785
+ resolution: {integrity: sha512-KjeihdFqTPhOMXTt7StsDxriV4n66ueuF/jfPNC3j/lduHwr/ijDwJMsF+wyMJethgiKi5wniIE243vi07d3pg==}
786
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
787
  hasBin: true
788
  peerDependencies:
 
821
822
  resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
823
 
 
 
 
 
824
825
  resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
826
 
827
828
  resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
829
 
 
 
 
830
831
  resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
832
  engines: {node: '>=16.0.0'}
 
843
  resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
844
  engines: {node: '>=16'}
845
 
846
847
+ resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
 
 
 
 
 
 
 
848
 
849
850
  resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
851
  engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
852
  os: [darwin]
853
 
 
 
 
854
855
  resolution: {integrity: sha512-oVltQTXolxvsz1sZnutlSuLDEcQAKYC/uXt9zDzJJ6bu0W+baTI8LZBaTup5afzibEH4N3jlq2p+a152wlBJ7w==}
856
 
 
 
 
 
857
858
  resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
859
  engines: {node: '>=10.13.0'}
860
 
 
 
 
 
861
862
  resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
863
  engines: {node: '>=8'}
 
866
  resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
867
  engines: {node: '>=18'}
868
 
869
870
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
871
+
872
873
  resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
874
  engines: {node: '>=8'}
875
 
 
 
 
 
876
877
  resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
878
  engines: {node: '>= 4'}
879
 
880
881
+ resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
882
  engines: {node: '>=6'}
883
 
884
885
  resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
886
  engines: {node: '>=0.8.19'}
887
 
 
 
 
 
 
 
 
 
888
889
  resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
890
  engines: {node: '>=0.10.0'}
891
 
 
 
 
 
892
893
  resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
894
  engines: {node: '>=0.10.0'}
 
900
901
  resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
902
 
903
+ jiti@2.4.2:
904
+ resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==}
 
 
 
905
  hasBin: true
906
 
907
 
930
  resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
931
  engines: {node: '>= 0.8.0'}
932
 
933
+ lightningcss-darwin-arm64@1.29.1:
934
+ resolution: {integrity: sha512-HtR5XJ5A0lvCqYAoSv2QdZZyoHNttBpa5EP9aNuzBQeKGfbyH5+UipLWvVzpP4Uml5ej4BYs5I9Lco9u1fECqw==}
935
+ engines: {node: '>= 12.0.0'}
936
+ cpu: [arm64]
937
+ os: [darwin]
938
+
939
940
+ resolution: {integrity: sha512-k33G9IzKUpHy/J/3+9MCO4e+PzaFblsgBjSGlpAaFikeBFm8B/CkO3cKU9oI4g+fjS2KlkLM/Bza9K/aw8wsNA==}
941
+ engines: {node: '>= 12.0.0'}
942
+ cpu: [x64]
943
+ os: [darwin]
944
 
945
+ lightningcss-freebsd-x64@1.29.1:
946
+ resolution: {integrity: sha512-0SUW22fv/8kln2LnIdOCmSuXnxgxVC276W5KLTwoehiO0hxkacBxjHOL5EtHD8BAXg2BvuhsJPmVMasvby3LiQ==}
947
+ engines: {node: '>= 12.0.0'}
948
+ cpu: [x64]
949
+ os: [freebsd]
950
+
951
952
+ resolution: {integrity: sha512-sD32pFvlR0kDlqsOZmYqH/68SqUMPNj+0pucGxToXZi4XZgZmqeX/NkxNKCPsswAXU3UeYgDSpGhu05eAufjDg==}
953
+ engines: {node: '>= 12.0.0'}
954
+ cpu: [arm]
955
+ os: [linux]
956
+
957
958
+ resolution: {integrity: sha512-0+vClRIZ6mmJl/dxGuRsE197o1HDEeeRk6nzycSy2GofC2JsY4ifCRnvUWf/CUBQmlrvMzt6SMQNMSEu22csWQ==}
959
+ engines: {node: '>= 12.0.0'}
960
+ cpu: [arm64]
961
+ os: [linux]
962
+
963
964
+ resolution: {integrity: sha512-UKMFrG4rL/uHNgelBsDwJcBqVpzNJbzsKkbI3Ja5fg00sgQnHw/VrzUTEc4jhZ+AN2BvQYz/tkHu4vt1kLuJyw==}
965
+ engines: {node: '>= 12.0.0'}
966
+ cpu: [arm64]
967
+ os: [linux]
968
+
969
970
+ resolution: {integrity: sha512-u1S+xdODy/eEtjADqirA774y3jLcm8RPtYztwReEXoZKdzgsHYPl0s5V52Tst+GKzqjebkULT86XMSxejzfISw==}
971
+ engines: {node: '>= 12.0.0'}
972
+ cpu: [x64]
973
+ os: [linux]
974
+
975
976
+ resolution: {integrity: sha512-L0Tx0DtaNUTzXv0lbGCLB/c/qEADanHbu4QdcNOXLIe1i8i22rZRpbT3gpWYsCh9aSL9zFujY/WmEXIatWvXbw==}
977
+ engines: {node: '>= 12.0.0'}
978
+ cpu: [x64]
979
+ os: [linux]
980
+
981
982
+ resolution: {integrity: sha512-QoOVnkIEFfbW4xPi+dpdft/zAKmgLgsRHfJalEPYuJDOWf7cLQzYg0DEh8/sn737FaeMJxHZRc1oBreiwZCjog==}
983
+ engines: {node: '>= 12.0.0'}
984
+ cpu: [arm64]
985
+ os: [win32]
986
+
987
988
+ resolution: {integrity: sha512-NygcbThNBe4JElP+olyTI/doBNGJvLs3bFCRPdvuCcxZCcCZ71B858IHpdm7L1btZex0FvCmM17FK98Y9MRy1Q==}
989
+ engines: {node: '>= 12.0.0'}
990
+ cpu: [x64]
991
+ os: [win32]
992
+
993
994
+ resolution: {integrity: sha512-FmGoeD4S05ewj+AkhTY+D+myDvXI6eL27FjHIjoyUkO/uw7WZD1fBVs0QxeYWa7E17CUHJaYX/RUGISCtcrG4Q==}
995
+ engines: {node: '>= 12.0.0'}
996
 
997
998
  resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
 
1004
1005
  resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
1006
 
 
 
 
1007
1008
  resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
1009
 
 
 
 
 
1010
1011
  resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
1012
  engines: {node: '>=8.6'}
 
1014
1015
  resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1016
 
1017
+ mri@1.2.0:
1018
+ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
1019
+ engines: {node: '>=4'}
 
 
 
 
1020
 
1021
1022
  resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1023
 
 
 
 
1024
1025
  resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
1026
  engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
 
1029
1030
  resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1031
 
1032
+ node-addon-api@7.1.1:
1033
+ resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==}
 
 
 
 
 
 
 
 
1034
 
1035
1036
  resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
1037
 
 
 
 
 
 
 
 
 
1038
1039
  resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
1040
  engines: {node: '>= 0.8.0'}
 
1047
  resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1048
  engines: {node: '>=10'}
1049
 
 
 
 
1050
1051
  resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1052
  engines: {node: '>=6'}
 
1059
  resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1060
  engines: {node: '>=8'}
1061
 
 
 
 
 
 
 
 
1062
1063
  resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
1064
 
 
1066
  resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1067
  engines: {node: '>=8.6'}
1068
 
 
 
 
 
 
 
 
 
1069
1070
  resolution: {integrity: sha512-JPtKbDRuPEuAjuTdhR62Gph7Is2BS1Szx69CFOO3g71lpJDFo78k4tFyi+qFOMVPePEzdSKkpGU3NBXPHHjvKQ==}
1071
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1072
1073
  resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
1074
  engines: {node: '>=4'}
1075
 
1076
+ postcss@8.5.3:
1077
+ resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==}
 
 
 
1078
  engines: {node: ^10 || ^12 || >=14}
1079
 
1080
1081
  resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
1082
  engines: {node: '>= 0.8.0'}
1083
 
1084
+ prettier@3.5.2:
1085
+ resolution: {integrity: sha512-lc6npv5PH7hVqozBR7lkBNOGXV9vMwROAPlumdBkX0wTbbzPu/U1hk5yL8p2pt4Xoc+2mkT8t/sow2YrV/M5qg==}
1086
  engines: {node: '>=14'}
1087
  hasBin: true
1088
 
 
1090
  resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
1091
  engines: {node: '>=6'}
1092
 
 
 
 
1093
1094
  resolution: {integrity: sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==}
1095
 
1096
1097
  resolution: {integrity: sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==}
1098
 
 
 
 
 
 
 
 
1099
1100
  resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
1101
  engines: {node: '>=4'}
1102
 
1103
+ rollup@4.34.9:
1104
+ resolution: {integrity: sha512-nF5XYqWWp9hx/LrpC8sZvvvmq0TeTjQgaZHYmAgwysT9nh8sWnZhBnM8ZyVbbJFIQBLwHDNoMqsBZBbUo4U8sQ==}
 
 
 
 
 
 
 
 
 
1105
  engines: {node: '>=18.0.0', npm: '>=8.0.0'}
1106
  hasBin: true
1107
 
1108
+ semver@7.7.1:
1109
+ resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==}
 
 
 
1110
  engines: {node: '>=10'}
1111
  hasBin: true
1112
 
 
1118
  resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1119
  engines: {node: '>=8'}
1120
 
 
 
 
 
1121
1122
  resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
1123
  engines: {node: '>=0.10.0'}
 
1125
1126
  resolution: {integrity: sha512-0kGecIZNIReCSiznK3uheYB8sbstLjCZLiwcQwbmLhgHJj2gz6OnSPkVzJQCMnmEz1BQ4gPK59ylhBoEWOhGNA==}
1127
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1128
1129
  resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
1130
  engines: {node: '>=8'}
1131
 
 
 
 
 
 
1132
1133
  resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
1134
  engines: {node: '>=8'}
1135
 
1136
+ tailwindcss@4.0.9:
1137
+ resolution: {integrity: sha512-12laZu+fv1ONDRoNR9ipTOpUD7RN9essRVkX36sjxuRUInpN7hIiHN4lBd/SIFjbISvnXzp8h/hXzmU8SQQYhw==}
 
 
 
 
 
 
 
 
 
 
1138
 
1139
+ tapable@2.2.1:
1140
+ resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
1141
+ engines: {node: '>=6'}
1142
 
1143
1144
  resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1145
  engines: {node: '>=8.0'}
1146
 
 
 
 
1147
1148
  resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
1149
  engines: {node: '>= 0.8.0'}
 
1155
1156
  resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
1157
 
 
 
 
 
 
 
1158
1159
  resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
1160
 
1161
1162
  resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
1163
 
1164
+ vite@6.2.0:
1165
+ resolution: {integrity: sha512-7dPxoo+WsT/64rDcwoOjk76XHj+TqNTIvHKcuMQ1k4/SeHDaQt5GFAeLYzrimZrMpn/O6DtdI03WUjdxuPM0oQ==}
1166
  engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
1167
  hasBin: true
1168
  peerDependencies:
 
1224
  resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
1225
  engines: {node: '>=0.10.0'}
1226
 
 
 
 
 
 
 
 
 
1227
1228
  resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
1229
  engines: {node: '>=12'}
 
1239
 
1240
  snapshots:
1241
 
 
 
1242
  '@babel/[email protected]': {}
1243
 
1244
  '@babel/[email protected]': {}
1245
 
1246
+ '@babel/[email protected].9':
1247
  dependencies:
1248
+ '@babel/types': 7.26.9
1249
 
1250
+ '@babel/[email protected].9':
1251
  dependencies:
1252
  '@babel/helper-string-parser': 7.25.9
1253
  '@babel/helper-validator-identifier': 7.25.9
1254
 
1255
+ '@esbuild/aix-ppc64@0.25.0':
1256
  optional: true
1257
 
1258
+ '@esbuild/android-arm64@0.25.0':
1259
  optional: true
1260
 
1261
+ '@esbuild/android-arm@0.25.0':
1262
  optional: true
1263
 
1264
+ '@esbuild/android-x64@0.25.0':
1265
  optional: true
1266
 
1267
+ '@esbuild/darwin-arm64@0.25.0':
1268
  optional: true
1269
 
1270
+ '@esbuild/darwin-x64@0.25.0':
1271
  optional: true
1272
 
1273
+ '@esbuild/freebsd-arm64@0.25.0':
1274
  optional: true
1275
 
1276
+ '@esbuild/freebsd-x64@0.25.0':
1277
  optional: true
1278
 
1279
+ '@esbuild/linux-arm64@0.25.0':
1280
  optional: true
1281
 
1282
+ '@esbuild/linux-arm@0.25.0':
1283
  optional: true
1284
 
1285
+ '@esbuild/linux-ia32@0.25.0':
1286
  optional: true
1287
 
1288
+ '@esbuild/linux-loong64@0.25.0':
1289
  optional: true
1290
 
1291
+ '@esbuild/linux-mips64el@0.25.0':
1292
  optional: true
1293
 
1294
+ '@esbuild/linux-ppc64@0.25.0':
1295
  optional: true
1296
 
1297
+ '@esbuild/linux-riscv64@0.25.0':
1298
  optional: true
1299
 
1300
+ '@esbuild/linux-s390x@0.25.0':
1301
  optional: true
1302
 
1303
+ '@esbuild/linux-x64@0.25.0':
1304
  optional: true
1305
 
1306
+ '@esbuild/netbsd-arm64@0.25.0':
1307
  optional: true
1308
 
1309
+ '@esbuild/netbsd-x64@0.25.0':
1310
  optional: true
1311
 
1312
+ '@esbuild/openbsd-arm64@0.25.0':
1313
  optional: true
1314
 
1315
+ '@esbuild/openbsd-x64@0.25.0':
1316
  optional: true
1317
 
1318
+ '@esbuild/sunos-x64@0.25.0':
1319
  optional: true
1320
 
1321
+ '@esbuild/win32-arm64@0.25.0':
1322
  optional: true
1323
 
1324
+ '@esbuild/win32-ia32@0.25.0':
1325
  optional: true
1326
 
1327
+ '@esbuild/win32-x64@0.25.0':
1328
  optional: true
1329
 
1330
+ '@eslint-community/[email protected](eslint@9.21.0(jiti@2.4.2))':
1331
  dependencies:
1332
+ eslint: 9.21.0(jiti@2.4.2)
1333
  eslint-visitor-keys: 3.4.3
1334
 
1335
  '@eslint-community/[email protected]': {}
1336
 
1337
+ '@eslint/[email protected].2':
1338
  dependencies:
1339
+ '@eslint/object-schema': 2.1.6
1340
  debug: 4.4.0
1341
  minimatch: 3.1.2
1342
  transitivePeerDependencies:
1343
  - supports-color
1344
 
1345
+ '@eslint/core@0.12.0':
1346
  dependencies:
1347
  '@types/json-schema': 7.0.15
1348
 
1349
+ '@eslint/eslintrc@3.3.0':
1350
  dependencies:
1351
  ajv: 6.12.6
1352
  debug: 4.4.0
1353
  espree: 10.3.0
1354
  globals: 14.0.0
1355
  ignore: 5.3.2
1356
+ import-fresh: 3.3.1
1357
  js-yaml: 4.1.0
1358
  minimatch: 3.1.2
1359
  strip-json-comments: 3.1.1
1360
  transitivePeerDependencies:
1361
  - supports-color
1362
 
1363
+ '@eslint/js@9.21.0': {}
1364
 
1365
+ '@eslint/[email protected].6': {}
1366
 
1367
+ '@eslint/[email protected].7':
1368
  dependencies:
1369
+ '@eslint/core': 0.12.0
1370
  levn: 0.4.1
1371
 
1372
 
1390
 
1391
  '@humanwhocodes/[email protected]': {}
1392
 
1393
+ '@humanwhocodes/[email protected].2': {}
1394
 
1395
+ '@jridgewell/sourcemap-codec@1.5.0': {}
 
 
 
 
 
 
 
1396
 
1397
+ '@parcel/watcher-android-arm64@2.5.1':
1398
+ optional: true
 
 
 
1399
 
1400
+ '@parcel/watcher-darwin-arm64@2.5.1':
1401
+ optional: true
1402
 
1403
+ '@parcel/watcher-darwin-x64@2.5.1':
1404
+ optional: true
1405
 
1406
+ '@parcel/watcher-freebsd-x64@2.5.1':
1407
+ optional: true
1408
 
1409
+ '@parcel/watcher-linux-arm-glibc@2.5.1':
1410
+ optional: true
 
 
1411
 
1412
+ '@parcel/watcher-linux-arm-musl@2.5.1':
1413
+ optional: true
1414
+
1415
+ '@parcel/watcher-linux-arm64-glibc@2.5.1':
1416
+ optional: true
1417
+
1418
+ '@parcel/[email protected]':
1419
+ optional: true
1420
 
1421
+ '@parcel/watcher-linux-x64-glibc@2.5.1':
1422
+ optional: true
1423
+
1424
+ '@parcel/[email protected]':
1425
+ optional: true
1426
+
1427
+ '@parcel/[email protected]':
1428
+ optional: true
1429
+
1430
+ '@parcel/[email protected]':
1431
+ optional: true
1432
 
1433
+ '@parcel/watcher-win32-x64@2.5.1':
1434
+ optional: true
1435
+
1436
+ '@parcel/[email protected]':
1437
  dependencies:
1438
+ detect-libc: 1.0.3
1439
+ is-glob: 4.0.3
1440
+ micromatch: 4.0.8
1441
+ node-addon-api: 7.1.1
1442
+ optionalDependencies:
1443
+ '@parcel/watcher-android-arm64': 2.5.1
1444
+ '@parcel/watcher-darwin-arm64': 2.5.1
1445
+ '@parcel/watcher-darwin-x64': 2.5.1
1446
+ '@parcel/watcher-freebsd-x64': 2.5.1
1447
+ '@parcel/watcher-linux-arm-glibc': 2.5.1
1448
+ '@parcel/watcher-linux-arm-musl': 2.5.1
1449
+ '@parcel/watcher-linux-arm64-glibc': 2.5.1
1450
+ '@parcel/watcher-linux-arm64-musl': 2.5.1
1451
+ '@parcel/watcher-linux-x64-glibc': 2.5.1
1452
+ '@parcel/watcher-linux-x64-musl': 2.5.1
1453
+ '@parcel/watcher-win32-arm64': 2.5.1
1454
+ '@parcel/watcher-win32-ia32': 2.5.1
1455
+ '@parcel/watcher-win32-x64': 2.5.1
1456
+
1457
+ '@rollup/[email protected]':
1458
+ optional: true
1459
+
1460
+ '@rollup/[email protected]':
1461
+ optional: true
1462
+
1463
+ '@rollup/[email protected]':
1464
+ optional: true
1465
+
1466
+ '@rollup/[email protected]':
1467
+ optional: true
1468
+
1469
+ '@rollup/[email protected]':
1470
+ optional: true
1471
+
1472
+ '@rollup/[email protected]':
1473
+ optional: true
1474
+
1475
+ '@rollup/[email protected]':
1476
+ optional: true
1477
+
1478
+ '@rollup/[email protected]':
1479
+ optional: true
1480
 
1481
+ '@rollup/rollup-linux-arm64-gnu@4.34.9':
1482
  optional: true
1483
 
1484
+ '@rollup/rollup-linux-arm64-musl@4.34.9':
1485
  optional: true
1486
 
1487
+ '@rollup/rollup-linux-loongarch64-gnu@4.34.9':
1488
  optional: true
1489
 
1490
+ '@rollup/rollup-linux-powerpc64le-gnu@4.34.9':
1491
  optional: true
1492
 
1493
+ '@rollup/rollup-linux-riscv64-gnu@4.34.9':
1494
  optional: true
1495
 
1496
+ '@rollup/rollup-linux-s390x-gnu@4.34.9':
1497
  optional: true
1498
 
1499
+ '@rollup/rollup-linux-x64-gnu@4.34.9':
1500
  optional: true
1501
 
1502
+ '@rollup/rollup-linux-x64-musl@4.34.9':
1503
  optional: true
1504
 
1505
+ '@rollup/rollup-win32-arm64-msvc@4.34.9':
1506
  optional: true
1507
 
1508
+ '@rollup/rollup-win32-ia32-msvc@4.34.9':
1509
  optional: true
1510
 
1511
+ '@rollup/rollup-win32-x64-msvc@4.34.9':
1512
  optional: true
1513
 
1514
+ '@tailwindcss/cli@4.0.9':
1515
+ dependencies:
1516
+ '@parcel/watcher': 2.5.1
1517
+ '@tailwindcss/node': 4.0.9
1518
+ '@tailwindcss/oxide': 4.0.9
1519
+ enhanced-resolve: 5.18.1
1520
+ lightningcss: 1.29.1
1521
+ mri: 1.2.0
1522
+ picocolors: 1.1.1
1523
+ tailwindcss: 4.0.9
1524
+
1525
+ '@tailwindcss/[email protected]':
1526
+ dependencies:
1527
+ enhanced-resolve: 5.18.1
1528
+ jiti: 2.4.2
1529
+ tailwindcss: 4.0.9
1530
+
1531
+ '@tailwindcss/[email protected]':
1532
+ optional: true
1533
+
1534
+ '@tailwindcss/[email protected]':
1535
  optional: true
1536
 
1537
+ '@tailwindcss/oxide-darwin-x64@4.0.9':
1538
  optional: true
1539
 
1540
+ '@tailwindcss/oxide-freebsd-x64@4.0.9':
1541
  optional: true
1542
 
1543
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.9':
1544
  optional: true
1545
 
1546
+ '@tailwindcss/oxide-linux-arm64-gnu@4.0.9':
1547
  optional: true
1548
 
1549
+ '@tailwindcss/oxide-linux-arm64-musl@4.0.9':
1550
  optional: true
1551
 
1552
+ '@tailwindcss/oxide-linux-x64-gnu@4.0.9':
1553
  optional: true
1554
 
1555
+ '@tailwindcss/oxide-linux-x64-musl@4.0.9':
1556
  optional: true
1557
 
1558
+ '@tailwindcss/oxide-win32-arm64-msvc@4.0.9':
1559
  optional: true
1560
 
1561
+ '@tailwindcss/oxide-win32-x64-msvc@4.0.9':
1562
+ optional: true
1563
+
1564
+ '@tailwindcss/[email protected]':
1565
+ optionalDependencies:
1566
+ '@tailwindcss/oxide-android-arm64': 4.0.9
1567
+ '@tailwindcss/oxide-darwin-arm64': 4.0.9
1568
+ '@tailwindcss/oxide-darwin-x64': 4.0.9
1569
+ '@tailwindcss/oxide-freebsd-x64': 4.0.9
1570
+ '@tailwindcss/oxide-linux-arm-gnueabihf': 4.0.9
1571
+ '@tailwindcss/oxide-linux-arm64-gnu': 4.0.9
1572
+ '@tailwindcss/oxide-linux-arm64-musl': 4.0.9
1573
+ '@tailwindcss/oxide-linux-x64-gnu': 4.0.9
1574
+ '@tailwindcss/oxide-linux-x64-musl': 4.0.9
1575
+ '@tailwindcss/oxide-win32-arm64-msvc': 4.0.9
1576
+ '@tailwindcss/oxide-win32-x64-msvc': 4.0.9
1577
 
1578
  '@tsconfig/[email protected]': {}
1579
 
 
1678
 
1679
  '@types/[email protected]': {}
1680
 
1681
+ '@types/[email protected].16': {}
1682
 
1683
  '@types/[email protected]': {}
1684
 
 
1686
 
1687
  '@types/[email protected]':
1688
  dependencies:
1689
+ '@types/geojson': 7946.0.16
1690
 
1691
+ '@types/node@22.13.8':
1692
  dependencies:
1693
  undici-types: 6.20.0
1694
 
1695
+ '@vitejs/[email protected](vite@6.2.0(@types/node@22.13.8)(jiti@2.4.2)(lightningcss@1.29.1)([email protected]))([email protected])':
1696
  dependencies:
1697
+ vite: 6.2.0(@types/node@22.13.8)(jiti@2.4.2)(lightningcss@1.29.1)([email protected])
1698
  vue: 3.5.13
1699
 
1700
  '@vue/[email protected]':
1701
  dependencies:
1702
+ '@babel/parser': 7.26.9
1703
  '@vue/shared': 3.5.13
1704
  entities: 4.5.0
1705
  estree-walker: 2.0.2
 
1712
 
1713
  '@vue/[email protected]':
1714
  dependencies:
1715
+ '@babel/parser': 7.26.9
1716
  '@vue/compiler-core': 3.5.13
1717
  '@vue/compiler-dom': 3.5.13
1718
  '@vue/compiler-ssr': 3.5.13
1719
  '@vue/shared': 3.5.13
1720
  estree-walker: 2.0.2
1721
  magic-string: 0.30.17
1722
+ postcss: 8.5.3
1723
  source-map-js: 1.2.1
1724
 
1725
  '@vue/[email protected]':
 
1768
  json-schema-traverse: 0.4.1
1769
  uri-js: 4.4.1
1770
 
 
 
 
 
1771
1772
  dependencies:
1773
  color-convert: 2.0.1
1774
 
 
 
 
 
 
 
 
 
 
 
 
1775
1776
 
 
 
 
 
 
 
 
 
 
 
1777
1778
 
1779
1780
 
 
 
1781
1782
 
1783
 
1785
  balanced-match: 1.0.2
1786
  concat-map: 0.0.1
1787
 
 
 
 
 
1788
1789
  dependencies:
1790
  fill-range: 7.1.1
1791
 
 
 
 
 
 
 
 
1792
1793
 
 
 
 
 
1794
1795
  dependencies:
1796
  ansi-styles: 4.3.0
1797
  supports-color: 7.2.0
1798
 
 
 
 
 
 
 
 
 
 
 
 
 
1799
1800
  dependencies:
1801
  color-name: 1.1.4
1802
 
1803
1804
 
 
 
1805
1806
 
1807
 
1820
 
1821
1822
 
1823
+ detect-libc@1.0.3: {}
 
 
 
 
1824
 
1825
+ enhanced-resolve@5.18.1:
1826
+ dependencies:
1827
+ graceful-fs: 4.2.11
1828
+ tapable: 2.2.1
 
1829
 
1830
1831
 
1832
+ esbuild@0.25.0:
1833
  optionalDependencies:
1834
+ '@esbuild/aix-ppc64': 0.25.0
1835
+ '@esbuild/android-arm': 0.25.0
1836
+ '@esbuild/android-arm64': 0.25.0
1837
+ '@esbuild/android-x64': 0.25.0
1838
+ '@esbuild/darwin-arm64': 0.25.0
1839
+ '@esbuild/darwin-x64': 0.25.0
1840
+ '@esbuild/freebsd-arm64': 0.25.0
1841
+ '@esbuild/freebsd-x64': 0.25.0
1842
+ '@esbuild/linux-arm': 0.25.0
1843
+ '@esbuild/linux-arm64': 0.25.0
1844
+ '@esbuild/linux-ia32': 0.25.0
1845
+ '@esbuild/linux-loong64': 0.25.0
1846
+ '@esbuild/linux-mips64el': 0.25.0
1847
+ '@esbuild/linux-ppc64': 0.25.0
1848
+ '@esbuild/linux-riscv64': 0.25.0
1849
+ '@esbuild/linux-s390x': 0.25.0
1850
+ '@esbuild/linux-x64': 0.25.0
1851
+ '@esbuild/netbsd-arm64': 0.25.0
1852
+ '@esbuild/netbsd-x64': 0.25.0
1853
+ '@esbuild/openbsd-arm64': 0.25.0
1854
+ '@esbuild/openbsd-x64': 0.25.0
1855
+ '@esbuild/sunos-x64': 0.25.0
1856
+ '@esbuild/win32-arm64': 0.25.0
1857
+ '@esbuild/win32-ia32': 0.25.0
1858
+ '@esbuild/win32-x64': 0.25.0
 
 
1859
 
1860
1861
 
1862
+ [email protected](eslint@9.21.0(jiti@2.4.2)):
1863
  dependencies:
1864
+ '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2))
1865
+ eslint: 9.21.0(jiti@2.4.2)
1866
  globals: 13.24.0
1867
  natural-compare: 1.4.0
1868
  nth-check: 2.1.1
1869
  postcss-selector-parser: 6.1.2
1870
+ semver: 7.7.1
1871
+ vue-eslint-parser: 9.4.3(eslint@9.21.0(jiti@2.4.2))
1872
  xml-name-validator: 4.0.0
1873
  transitivePeerDependencies:
1874
  - supports-color
 
1887
 
1888
1889
 
1890
+ eslint@9.21.0(jiti@2.4.2):
1891
  dependencies:
1892
+ '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2))
1893
  '@eslint-community/regexpp': 4.12.1
1894
+ '@eslint/config-array': 0.19.2
1895
+ '@eslint/core': 0.12.0
1896
+ '@eslint/eslintrc': 3.3.0
1897
+ '@eslint/js': 9.21.0
1898
+ '@eslint/plugin-kit': 0.2.7
1899
  '@humanfs/node': 0.16.6
1900
  '@humanwhocodes/module-importer': 1.0.1
1901
+ '@humanwhocodes/retry': 0.4.2
1902
  '@types/estree': 1.0.6
1903
  '@types/json-schema': 7.0.15
1904
  ajv: 6.12.6
 
1924
  natural-compare: 1.4.0
1925
  optionator: 0.9.4
1926
  optionalDependencies:
1927
+ jiti: 2.4.2
1928
  transitivePeerDependencies:
1929
  - supports-color
1930
 
 
1956
 
1957
1958
 
 
 
 
 
 
 
 
 
1959
1960
 
1961
1962
 
 
 
 
 
1963
1964
  dependencies:
1965
  flat-cache: 4.0.1
 
1975
 
1976
1977
  dependencies:
1978
+ flatted: 3.3.3
1979
  keyv: 4.5.4
1980
 
1981
 
 
 
 
 
 
 
1982
 
1983
1984
  optional: true
1985
 
 
 
1986
1987
  dependencies:
1988
  '@turf/bbox': 6.5.0
 
1991
  '@types/geojson': 7946.0.8
1992
  rbush: 3.0.1
1993
 
 
 
 
 
1994
1995
  dependencies:
1996
  is-glob: 4.0.3
1997
 
 
 
 
 
 
 
 
 
 
1998
1999
  dependencies:
2000
  type-fest: 0.20.2
2001
 
2002
2003
 
2004
+ graceful-fs@4.2.11: {}
2005
 
2006
+ has-flag@4.0.0: {}
 
 
2007
 
2008
2009
 
2010
2011
  dependencies:
2012
  parent-module: 1.0.1
2013
  resolve-from: 4.0.0
2014
 
2015
2016
 
 
 
 
 
 
 
 
 
2017
2018
 
 
 
2019
2020
  dependencies:
2021
  is-extglob: 2.1.1
 
2024
 
2025
2026
 
2027
+ jiti@2.4.2: {}
 
 
 
 
 
 
2028
 
2029
2030
  dependencies:
 
2049
  prelude-ls: 1.2.1
2050
  type-check: 0.4.0
2051
 
2052
+ lightningcss-darwin-arm64@1.29.1:
2053
+ optional: true
2054
+
2055
2056
+ optional: true
2057
+
2058
2059
+ optional: true
2060
+
2061
2062
+ optional: true
2063
+
2064
2065
+ optional: true
2066
+
2067
2068
+ optional: true
2069
+
2070
2071
+ optional: true
2072
+
2073
2074
+ optional: true
2075
+
2076
2077
+ optional: true
2078
 
2079
+ lightningcss-win32-x64-msvc@1.29.1:
2080
+ optional: true
2081
+
2082
2083
+ dependencies:
2084
+ detect-libc: 1.0.3
2085
+ optionalDependencies:
2086
+ lightningcss-darwin-arm64: 1.29.1
2087
+ lightningcss-darwin-x64: 1.29.1
2088
+ lightningcss-freebsd-x64: 1.29.1
2089
+ lightningcss-linux-arm-gnueabihf: 1.29.1
2090
+ lightningcss-linux-arm64-gnu: 1.29.1
2091
+ lightningcss-linux-arm64-musl: 1.29.1
2092
+ lightningcss-linux-x64-gnu: 1.29.1
2093
+ lightningcss-linux-x64-musl: 1.29.1
2094
+ lightningcss-win32-arm64-msvc: 1.29.1
2095
+ lightningcss-win32-x64-msvc: 1.29.1
2096
 
2097
2098
  dependencies:
 
2102
 
2103
2104
 
 
 
2105
2106
  dependencies:
2107
  '@jridgewell/sourcemap-codec': 1.5.0
2108
 
 
 
2109
2110
  dependencies:
2111
  braces: 3.0.3
 
2115
  dependencies:
2116
  brace-expansion: 1.1.11
2117
 
2118
+ mri@1.2.0: {}
 
 
 
 
2119
 
2120
2121
 
 
 
 
 
 
 
2122
2123
 
2124
2125
 
2126
+ node-addon-api@7.1.1: {}
 
 
 
 
2127
 
2128
2129
  dependencies:
2130
  boolbase: 1.0.0
2131
 
 
 
 
 
2132
2133
  dependencies:
2134
  deep-is: 0.1.4
 
2146
  dependencies:
2147
  p-limit: 3.1.0
2148
 
 
 
2149
2150
  dependencies:
2151
  callsites: 3.1.0
 
2154
 
2155
2156
 
 
 
 
 
 
 
 
2157
2158
 
2159
2160
 
 
 
 
 
2161
2162
  dependencies:
2163
  bignumber.js: 9.1.2
2164
  splaytree-ts: 1.0.2
2165
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2166
2167
  dependencies:
2168
  cssesc: 3.0.0
2169
  util-deprecate: 1.0.2
2170
 
2171
+ postcss@8.5.3:
 
 
2172
  dependencies:
2173
  nanoid: 3.3.8
2174
  picocolors: 1.1.1
 
2176
 
2177
2178
 
2179
+ prettier@3.5.2: {}
2180
 
2181
2182
 
 
 
2183
2184
 
2185
2186
  dependencies:
2187
  quickselect: 2.0.0
2188
 
 
 
 
 
 
 
 
 
2189
2190
 
2191
+ rollup@4.34.9:
 
 
 
 
 
 
 
 
2192
  dependencies:
2193
  '@types/estree': 1.0.6
2194
  optionalDependencies:
2195
+ '@rollup/rollup-android-arm-eabi': 4.34.9
2196
+ '@rollup/rollup-android-arm64': 4.34.9
2197
+ '@rollup/rollup-darwin-arm64': 4.34.9
2198
+ '@rollup/rollup-darwin-x64': 4.34.9
2199
+ '@rollup/rollup-freebsd-arm64': 4.34.9
2200
+ '@rollup/rollup-freebsd-x64': 4.34.9
2201
+ '@rollup/rollup-linux-arm-gnueabihf': 4.34.9
2202
+ '@rollup/rollup-linux-arm-musleabihf': 4.34.9
2203
+ '@rollup/rollup-linux-arm64-gnu': 4.34.9
2204
+ '@rollup/rollup-linux-arm64-musl': 4.34.9
2205
+ '@rollup/rollup-linux-loongarch64-gnu': 4.34.9
2206
+ '@rollup/rollup-linux-powerpc64le-gnu': 4.34.9
2207
+ '@rollup/rollup-linux-riscv64-gnu': 4.34.9
2208
+ '@rollup/rollup-linux-s390x-gnu': 4.34.9
2209
+ '@rollup/rollup-linux-x64-gnu': 4.34.9
2210
+ '@rollup/rollup-linux-x64-musl': 4.34.9
2211
+ '@rollup/rollup-win32-arm64-msvc': 4.34.9
2212
+ '@rollup/rollup-win32-ia32-msvc': 4.34.9
2213
+ '@rollup/rollup-win32-x64-msvc': 4.34.9
2214
  fsevents: 2.3.3
2215
 
2216
+ semver@7.7.1: {}
 
 
 
 
2217
 
2218
2219
  dependencies:
 
2221
 
2222
2223
 
 
 
2224
2225
 
2226
2227
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2228
2229
 
 
 
 
 
 
 
 
 
 
 
2230
2231
  dependencies:
2232
  has-flag: 4.0.0
2233
 
2234
+ tailwindcss@4.0.9: {}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2235
 
2236
+ tapable@2.2.1: {}
 
 
 
 
 
 
2237
 
2238
2239
  dependencies:
2240
  is-number: 7.0.0
2241
 
 
 
2242
2243
  dependencies:
2244
  prelude-ls: 1.2.1
 
2247
 
2248
2249
 
 
 
 
 
 
 
2250
2251
  dependencies:
2252
  punycode: 2.3.1
2253
 
2254
2255
 
2256
+ vite@6.2.0(@types/node@22.13.8)(jiti@2.4.2)(lightningcss@1.29.1)([email protected]):
2257
  dependencies:
2258
+ esbuild: 0.25.0
2259
+ postcss: 8.5.3
2260
+ rollup: 4.34.9
2261
  optionalDependencies:
2262
+ '@types/node': 22.13.8
2263
  fsevents: 2.3.3
2264
+ jiti: 2.4.2
2265
+ lightningcss: 1.29.1
2266
  yaml: 2.7.0
2267
 
2268
+ [email protected](eslint@9.21.0(jiti@2.4.2)):
2269
  dependencies:
2270
  debug: 4.4.0
2271
+ eslint: 9.21.0(jiti@2.4.2)
2272
  eslint-scope: 7.2.2
2273
  eslint-visitor-keys: 3.4.3
2274
  espree: 9.6.1
2275
  esquery: 1.6.0
2276
  lodash: 4.17.21
2277
+ semver: 7.7.1
2278
  transitivePeerDependencies:
2279
  - supports-color
2280
 
 
2292
 
2293
2294
 
 
 
 
 
 
 
 
 
 
 
 
 
2295
2296
 
2297
2298
+ optional: true
2299
 
2300
static/postcss.config.js DELETED
@@ -1,7 +0,0 @@
1
- export default {
2
- plugins: {
3
- 'postcss-import': {},
4
- tailwindcss: {},
5
- autoprefixer: {},
6
- },
7
- }
 
 
 
 
 
 
 
 
static/samgis.html CHANGED
@@ -5,7 +5,6 @@
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
  <link href="output.css" rel="stylesheet" type="text/css">
7
  <link href="dist/output.css" rel="stylesheet" type="text/css">
8
- <link href="static/output.css" rel="stylesheet" type="text/css">
9
  <link rel="icon" href="/favicon.ico" sizes="32x32">
10
  <link rel="icon" href="/icon.svg" type="image/svg+xml">
11
  <link rel="apple-touch-icon" href="/apple-touch-icon.png"><!-- 180×180 -->
 
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
  <link href="output.css" rel="stylesheet" type="text/css">
7
  <link href="dist/output.css" rel="stylesheet" type="text/css">
 
8
  <link rel="icon" href="/favicon.ico" sizes="32x32">
9
  <link rel="icon" href="/icon.svg" type="image/svg+xml">
10
  <link rel="apple-touch-icon" href="/apple-touch-icon.png"><!-- 180×180 -->
static/src/components/PageLisaMap.vue CHANGED
@@ -105,7 +105,7 @@ import {
105
  import 'leaflet-providers'
106
  import { onMounted, onUpdated, ref, type Ref } from 'vue'
107
  // workaround because of dist/ content not included in @trincadev/driver.js tag release tarball
108
- import { driver } from "../../node_modules/@trincadev/driver.js/src/driver"
109
 
110
  import {
111
  currentBaseMapNameRef,
 
105
  import 'leaflet-providers'
106
  import { onMounted, onUpdated, ref, type Ref } from 'vue'
107
  // workaround because of dist/ content not included in @trincadev/driver.js tag release tarball
108
+ import { driver } from "../driverjs/src/driver.ts"
109
 
110
  import {
111
  currentBaseMapNameRef,
static/src/components/PagePredictionMap.vue CHANGED
@@ -111,7 +111,7 @@ import 'leaflet-providers'
111
  import '@geoman-io/leaflet-geoman-free'
112
  import { onMounted, onUpdated, ref, type Ref } from 'vue'
113
  // workaround because of dist/ content not included in @trincadev/driver.js tag release tarball
114
- import { driver } from "../../node_modules/@trincadev/driver.js/src/driver"
115
 
116
  import {
117
  currentBaseMapNameRef,
 
111
  import '@geoman-io/leaflet-geoman-free'
112
  import { onMounted, onUpdated, ref, type Ref } from 'vue'
113
  // workaround because of dist/ content not included in @trincadev/driver.js tag release tarball
114
+ import { driver } from "../driverjs/src/driver.ts"
115
 
116
  import {
117
  currentBaseMapNameRef,
static/src/components/constants.ts CHANGED
@@ -1,7 +1,7 @@
1
  import { ref, type Ref } from "vue"
2
  import {Control as LeafletControl} from 'leaflet'
3
  import type { IPointPrompt, IRectanglePrompt } from "./types"
4
- import { driver, type DriveStep } from "../../node_modules/@trincadev/driver.js/src/driver"
5
 
6
  export const prefix = " &copy; <a target=\"_blank\" href=\"https://leafletjs.com\">leaflet</a>"
7
  export const OpenStreetMap = "OpenStreetMap"
@@ -256,7 +256,7 @@ export const htmlStatusMessages = [
256
  }
257
  ]
258
  export const driverSteps = [
259
- { element: 'id-prediction-map-container', popover: { title: 'SamGIS', description: 'A quick tour about SamGIS functionality' } },
260
  { element: '#map', popover: { title: 'Webmap for ML prompt', description: 'Add here your machine learning prompt. Pay attention about markers and polygons outside the map bounds: you could get unexpected results' } },
261
  { element: '.leaflet-pm-icon-marker-include', popover: { title: '"Include" point prompt', description: 'add "include" points prompt (label 1) for machine learning request' } },
262
  { element: '.leaflet-pm-icon-marker-exclude', popover: { title: '"Exclude" point prompt', description: 'add "exclude" points prompt (label 0) for machine learning request' } },
 
1
  import { ref, type Ref } from "vue"
2
  import {Control as LeafletControl} from 'leaflet'
3
  import type { IPointPrompt, IRectanglePrompt } from "./types"
4
+ import { type DriveStep } from "../driverjs/src/driver.ts"
5
 
6
  export const prefix = " &copy; <a target=\"_blank\" href=\"https://leafletjs.com\">leaflet</a>"
7
  export const OpenStreetMap = "OpenStreetMap"
 
256
  }
257
  ]
258
  export const driverSteps = [
259
+ { element: 'id-prediction-map-container', popover: { title: 'SamGIS', description: 'A quick tour about SamGIS functionality.' } },
260
  { element: '#map', popover: { title: 'Webmap for ML prompt', description: 'Add here your machine learning prompt. Pay attention about markers and polygons outside the map bounds: you could get unexpected results' } },
261
  { element: '.leaflet-pm-icon-marker-include', popover: { title: '"Include" point prompt', description: 'add "include" points prompt (label 1) for machine learning request' } },
262
  { element: '.leaflet-pm-icon-marker-exclude', popover: { title: '"Exclude" point prompt', description: 'add "exclude" points prompt (label 0) for machine learning request' } },
static/src/driverjs ADDED
@@ -0,0 +1 @@
 
 
1
+ Subproject commit 5ac3315e055fb1f172f2f43daf4cc6ad45b643b4
static/src/input.css CHANGED
@@ -1,10 +1,9 @@
1
- @import "leaflet/dist/leaflet.css";
2
- @import "leaflet-custom.css";
 
3
  @import "@geoman-io/leaflet-geoman-free/dist/leaflet-geoman.css";
4
  /* workaround because of dist/ content not included in @trincadev/driver.js tag release tarball */
5
- @import "../node_modules/@trincadev/driver.js/src/driver.css";
6
-
7
- @tailwind base;
8
 
9
  @layer base {
10
  * {
@@ -17,7 +16,3 @@
17
  @apply underline;
18
  }
19
  }
20
-
21
- @tailwind components;
22
-
23
- @tailwind utilities;
 
1
+ @import "tailwindcss";
2
+ @import "leaflet";
3
+ @import "./leaflet-custom.css";
4
  @import "@geoman-io/leaflet-geoman-free/dist/leaflet-geoman.css";
5
  /* workaround because of dist/ content not included in @trincadev/driver.js tag release tarball */
6
+ @import "../src/driverjs/src/driver.css";
 
 
7
 
8
  @layer base {
9
  * {
 
16
  @apply underline;
17
  }
18
  }
 
 
 
 
static/tailwind.config.js DELETED
@@ -1,46 +0,0 @@
1
- /** @type {import('tailwindcss').Config} */
2
- import defaultTheme from 'tailwindcss/defaultTheme'
3
-
4
- export default {
5
- content: [
6
- "./dist/index.html",
7
- "./src/**/*.{vue,js,ts}",
8
- ],
9
- theme: {
10
- extend: {
11
- screens: {
12
- 'xxs': '300px',
13
- 'xs': '512px',
14
- 'sm': '768px',
15
- 'md': '896px',
16
- 'tall': {
17
- 'raw': `only screen and ((max-height: 960px) and (max-width: 480px)) or (max-width: 512px)`
18
- },
19
- 'verySmallTablet': {
20
- 'raw': `only screen and (max-height: 800px) and (max-width: 600px)`
21
- },
22
- 'notVerySmallTablet': {
23
- 'raw': `only screen and (min-height: 800px) and (min-width: 600px)`
24
- },
25
- 'smallTablet': {
26
- 'raw': 'only screen and (max-height: 1030px) and (max-width: 770px)'
27
- },
28
- 'notTall': {
29
- 'raw': `only screen and (min-height: 960px) and (min-width: 480px)`
30
- },
31
- 'notSmallTablet': {
32
- 'raw': 'only screen and (min-height: 1030px) and (min-width: 770px)'
33
- },
34
- '2md': '1024px',
35
- 'lg': '1200px',
36
- 'xl': '1380px',
37
- '2xl': '2000px',
38
- '3xl': '2360px'
39
- },
40
- fontFamily: {
41
- sans: ['Inter var', ...defaultTheme.fontFamily.sans]
42
- }
43
- },
44
- },
45
- plugins: [],
46
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
tests/events/lambda_handler/10/550/390.png ADDED

Git LFS Details

  • SHA256: 1c77b348765c66299f86929a49254e3e6d7893d3930322ff7879dda6d9071899
  • Pointer size: 128 Bytes
  • Size of remote file: 103 Bytes
tests/events/lambda_handler/10/550/394.png ADDED

Git LFS Details

  • SHA256: 174ed17d4a4bab4b05437f09fc0a664a0eeebef687171570285322096d094e1b
  • Pointer size: 130 Bytes
  • Size of remote file: 12.2 kB
tests/events/lambda_handler/10/551/390.png ADDED

Git LFS Details

  • SHA256: 10ff77487c3143302dbbe6566b98181c69b92f36a48b3fb4ec49837771bc4c11
  • Pointer size: 129 Bytes
  • Size of remote file: 1.23 kB
tests/events/lambda_handler/10/551/394.png ADDED

Git LFS Details

  • SHA256: 937fc123244aebdc210d6ea8a9166eba19892eb8eea8ed55612d8796ff412aee
  • Pointer size: 129 Bytes
  • Size of remote file: 4.61 kB
tests/events/lambda_handler/10/552/390.png ADDED

Git LFS Details

  • SHA256: 1c77b348765c66299f86929a49254e3e6d7893d3930322ff7879dda6d9071899
  • Pointer size: 128 Bytes
  • Size of remote file: 103 Bytes
tests/events/lambda_handler/10/552/394.png ADDED

Git LFS Details

  • SHA256: 1f290c0d24416db8d80fd5779e72f7a69f80404bbd7ac8cfc8a54a89ab589b54
  • Pointer size: 129 Bytes
  • Size of remote file: 5.58 kB
tests/events/lambda_handler/10/553/390.png ADDED

Git LFS Details

  • SHA256: 1c77b348765c66299f86929a49254e3e6d7893d3930322ff7879dda6d9071899
  • Pointer size: 128 Bytes
  • Size of remote file: 103 Bytes
tests/events/lambda_handler/10/553/394.png ADDED

Git LFS Details

  • SHA256: c584c355cdf445184fe7830dc4e826f91b8796f770e0c51cc4dae1b32ec6bc96
  • Pointer size: 130 Bytes
  • Size of remote file: 12.1 kB
tests/events/lambda_handler/10/554/390.png ADDED

Git LFS Details

  • SHA256: f4d6a8ecc8be7427abdb9794ee376f0f090c981d22464dc3a179ee83f32522d7
  • Pointer size: 129 Bytes
  • Size of remote file: 1.06 kB
tests/events/lambda_handler/10/554/394.png ADDED

Git LFS Details

  • SHA256: 994cd489b0474e4c45633748ebdfaefdcaa8bdce29105eb1776637e43b42b6fb
  • Pointer size: 130 Bytes
  • Size of remote file: 17.3 kB
tests/events/lambda_handler/10/555/390.png ADDED

Git LFS Details

  • SHA256: a21189fca3ffebeb1118b35163b3da59f1b1f7dbe9b8a77a51965f4eca8d6c06
  • Pointer size: 129 Bytes
  • Size of remote file: 1.1 kB
tests/events/lambda_handler/10/555/391.png ADDED

Git LFS Details

  • SHA256: 45c68bc07304d9d70c5f18a5a4dac671a7ccd45cb54b48b714dea96dca74c225
  • Pointer size: 129 Bytes
  • Size of remote file: 3.66 kB
tests/events/lambda_handler/10/555/392.png ADDED

Git LFS Details

  • SHA256: 9db0cde25d97c9387bd01ee6c4df18ad9b924fa4ef17f58e24ab7e1b207a9157
  • Pointer size: 129 Bytes
  • Size of remote file: 4.99 kB
tests/events/lambda_handler/10/555/393.png ADDED

Git LFS Details

  • SHA256: 6bcc005db770d8cd6a09a4eff5f328a82e601c0a106cfb01fc4775a3c9d326ef
  • Pointer size: 129 Bytes
  • Size of remote file: 2.78 kB
tests/events/lambda_handler/10/555/394.png ADDED

Git LFS Details

  • SHA256: d95ce78f35461b0a1e987b3990a6f42f15b6f810f5a284996a4f4d3f735b6510
  • Pointer size: 130 Bytes
  • Size of remote file: 19.5 kB
tests/events/lambda_handler/tile_urls.txt ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # in case of OpenStreetMap Mapnik the tile url is "https://tile.openstreetmap.org/{z}/{x}/{y}.png"
2
+ http://localhost:8000/lambda_handler/10/550/390.png
3
+ http://localhost:8000/lambda_handler/10/550/391.png
4
+ http://localhost:8000/lambda_handler/10/550/392.png
5
+ http://localhost:8000/lambda_handler/10/550/393.png
6
+ http://localhost:8000/lambda_handler/10/550/394.png
7
+ http://localhost:8000/lambda_handler/10/551/390.png
8
+ http://localhost:8000/lambda_handler/10/551/391.png
9
+ http://localhost:8000/lambda_handler/10/551/392.png
10
+ http://localhost:8000/lambda_handler/10/551/393.png
11
+ http://localhost:8000/lambda_handler/10/551/394.png
12
+ http://localhost:8000/lambda_handler/10/552/390.png
13
+ http://localhost:8000/lambda_handler/10/552/391.png
14
+ http://localhost:8000/lambda_handler/10/552/392.png
15
+ http://localhost:8000/lambda_handler/10/552/393.png
16
+ http://localhost:8000/lambda_handler/10/552/394.png
17
+ http://localhost:8000/lambda_handler/10/553/390.png
18
+ http://localhost:8000/lambda_handler/10/553/391.png
19
+ http://localhost:8000/lambda_handler/10/553/392.png
20
+ http://localhost:8000/lambda_handler/10/553/393.png
21
+ http://localhost:8000/lambda_handler/10/553/394.png
22
+ http://localhost:8000/lambda_handler/10/554/390.png
23
+ http://localhost:8000/lambda_handler/10/554/391.png
24
+ http://localhost:8000/lambda_handler/10/554/392.png
25
+ http://localhost:8000/lambda_handler/10/554/393.png
26
+ http://localhost:8000/lambda_handler/10/554/394.png
27
+ http://localhost:8000/lambda_handler/10/555/390.png
28
+ http://localhost:8000/lambda_handler/10/555/391.png
29
+ http://localhost:8000/lambda_handler/10/555/392.png
30
+ http://localhost:8000/lambda_handler/10/555/393.png
31
+ http://localhost:8000/lambda_handler/10/555/394.png
tests/test_app.py CHANGED
@@ -1,15 +1,26 @@
1
  import json
2
  import time
3
  import unittest
 
4
  from unittest.mock import patch
5
 
6
  from fastapi.testclient import TestClient
7
  from samgis_web.web import web_helpers
8
- import app
9
- from tests import TEST_EVENTS_FOLDER
10
-
11
-
12
- infer_samgis = "/infer_samgis"
 
 
 
 
 
 
 
 
 
 
13
  response_status_code = "response.status_code:{}."
14
  response_body_loaded = "response.body_loaded:{}."
15
  client = TestClient(app.app)
@@ -18,34 +29,16 @@ source = {
18
  'html_attribution': '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',
19
  'attribution': '(C) OpenStreetMap contributors', 'name': 'OpenStreetMap.Mapnik'
20
  }
 
 
21
  event = {
22
- "bbox": {
23
- "ne": {"lat": 39.036252959636606, "lng": 15.040283203125002},
24
- "sw": {"lat": 38.302869955150044, "lng": 13.634033203125002}
25
- },
26
- "prompt": [{"type": "point", "data": {"lat": 38.48542007717153, "lng": 14.921846904165468}, "label": 0}],
27
- "zoom": 10, "source_type": "OpenStreetMap"
28
- }
29
- response_bodies_post_test = {
30
- "single_point": {
31
- 'bbox': [[39.036252959636606, 15.040283203125002], [38.302869955150044, 13.634033203125002]],
32
- 'prompt': [{'type': 'point', 'label': 0, 'data': [937, 514]}], 'zoom': 10,
33
- 'source': source
34
- },
35
- "multi_prompt": {
36
- 'bbox': [[39.011714588834074, 15.093841552734377], [38.278078995562105, 13.687591552734377]],
37
- 'prompt': [
38
- {'type': 'point', 'label': 1, 'data': [839, 421]},
39
- {'type': 'point', 'label': 1, 'data': [906, 489]},
40
- {'type': 'point', 'label': 1, 'data': [936, 580]}
41
- ], 'zoom': 10,
42
- 'source': source
43
  },
44
- "single_rectangle": {
45
- 'bbox': [[39.011714588834074, 15.093841552734377], [38.278078995562105, 13.687591552734377]],
46
- 'prompt': [{'type': 'rectangle', 'data': [875, 445, 951, 538]}], 'zoom': 10,
47
- 'source': source
48
- }
49
  }
50
 
51
 
@@ -56,27 +49,6 @@ class TestFastapiApp(unittest.TestCase):
56
  body = response.json()
57
  assert body == {"msg": "still alive..."}
58
 
59
- def test_fastapi_handler_post_test_200(self):
60
- fn_name = "lambda_handler"
61
- for json_filename in [
62
- "single_point",
63
- "multi_prompt",
64
- "single_rectangle"
65
- ]:
66
- with open(TEST_EVENTS_FOLDER / f"{fn_name}_{json_filename}.json") as tst_json:
67
- inputs_outputs = json.load(tst_json)
68
- input_body = json.loads(inputs_outputs["input"]["body"])
69
- response = client.post("/post_test", json=input_body)
70
- assert response.status_code == 200
71
- response_body = response.json()
72
- assert response_body == response_bodies_post_test[json_filename]
73
-
74
- def test_fastapi_handler_post_test_422(self):
75
- response = client.post("/post_test", json={})
76
- assert response.status_code == 422
77
- body = response.json()
78
- assert body == {'msg': 'Error - Unprocessable Entity'}
79
-
80
  # def test_index(self):
81
  # import subprocess
82
  #
@@ -94,90 +66,95 @@ class TestFastapiApp(unittest.TestCase):
94
  response = client.get("/404")
95
  assert response.status_code == 404
96
 
97
- def test_infer_samgis_422(self):
98
- response = client.post(infer_samgis, json={})
99
- print(response_status_code.format(response.status_code))
100
  assert response.status_code == 422
101
  body_loaded = response.json()
102
- print(response_body_loaded.format(body_loaded))
103
  assert body_loaded == {"msg": "Error - Unprocessable Entity"}
104
 
105
- def test_infer_samgis_middleware_500(self):
106
  from copy import deepcopy
107
  local_event = deepcopy(event)
108
 
109
  local_event["source_type"] = "source_fake"
110
- response = client.post(infer_samgis, json=local_event)
111
- print(response_status_code.format(response.status_code))
 
 
 
 
 
 
 
 
 
 
 
 
112
  assert response.status_code == 500
113
  body_loaded = response.json()
114
- print(response_body_loaded.format(body_loaded))
115
- assert body_loaded == {'success': False}
116
 
117
  @patch.object(time, "time")
118
- @patch.object(app, "samexporter_predict")
119
- def test_infer_samgis_500(self, samexporter_predict_mocked, time_mocked):
 
 
120
  time_mocked.return_value = 0
121
- samexporter_predict_mocked.side_effect = ValueError("I raise a value error!")
 
 
 
 
 
 
 
 
122
 
123
- response = client.post(infer_samgis, json=event)
124
- print(response_status_code.format(response.status_code))
125
- assert response.status_code == 500
126
- body = response.json()
127
- print(response_body_loaded.format(body))
128
- assert body == {'msg': 'Error - Internal Server Error'}
 
129
 
130
  @patch.object(web_helpers, "get_url_tile")
131
- @patch.object(time, "time")
132
- def test_infer_samgis_real_200(self, time_mocked, get_url_tile_mocked):
133
  import shapely
134
  import xyzservices
135
  from samgis_web.utilities.local_tiles_http_server import LocalTilesHttpServer
136
  from tests import LOCAL_URL_TILE, TEST_EVENTS_FOLDER
137
 
138
- time_mocked.return_value = 0
139
  listen_port = 8000
140
 
141
  local_tile_provider = xyzservices.TileProvider(name="local_tile_provider", url=LOCAL_URL_TILE, attribution="")
142
  get_url_tile_mocked.return_value = local_tile_provider
143
 
144
  with LocalTilesHttpServer.http_server("localhost", listen_port, directory=TEST_EVENTS_FOLDER):
145
- response = client.post(infer_samgis, json=event)
146
- print(response_status_code.format(response.status_code))
147
  assert response.status_code == 200
148
- body_string = response.json()["body"]
 
149
  body_loaded = json.loads(body_string)
150
- print(response_body_loaded.format(body_loaded))
151
  assert "duration_run" in body_loaded
 
152
  output = body_loaded["output"]
153
- assert 'n_predictions' in output
154
  assert "n_shapes_geojson" in output
155
  geojson = output["geojson"]
156
  output_geojson = shapely.from_geojson(geojson)
157
- print("output_geojson::{}.".format(output_geojson))
158
  assert isinstance(output_geojson, shapely.GeometryCollection)
159
- assert len(output_geojson.geoms) == 3
160
-
161
- @patch.object(time, "time")
162
- @patch.object(app, "samexporter_predict")
163
- def test_infer_samgis_mocked_200(self, samexporter_predict_mocked, time_mocked):
164
- self.maxDiff = None
165
 
166
- time_mocked.return_value = 0
167
- samexporter_output = {
168
- "n_predictions": 1,
169
- "geojson": "{\"type\": \"FeatureCollection\", \"features\": [{\"id\": \"0\", \"type\": \"Feature\", " +
170
- "\"properties\": {\"raster_val\": 255.0}, \"geometry\": {\"type\": \"Polygon\", " +
171
- "\"coordinates\": [[[148.359375, -40.4469470596005], [148.447265625, -40.4469470596005], " +
172
- "[148.447265625, -40.51379915504414], [148.359375, -40.4469470596005]]]}}]}",
173
- "n_shapes_geojson": 2
174
- }
175
- samexporter_predict_mocked.return_value = samexporter_output
176
 
177
- response = client.post(infer_samgis, json=event)
178
- print(response_status_code.format(response.status_code))
179
- assert response.status_code == 200
180
- response_json = response.json()
181
- body_loaded = json.loads(response_json["body"])
182
- print(response_body_loaded.format(body_loaded))
183
- self.assertDictEqual(body_loaded, {'duration_run': 0, 'output': samexporter_output})
 
1
  import json
2
  import time
3
  import unittest
4
+ from pathlib import Path
5
  from unittest.mock import patch
6
 
7
  from fastapi.testclient import TestClient
8
  from samgis_web.web import web_helpers
9
+ try:
10
+ import app
11
+ except ImportError:
12
+ import sys
13
+ from pathlib import Path
14
+ sys.path.append(str(Path(__file__).parent.parent))
15
+ import app
16
+ PROJECT_ROOT_FOLDER = Path(globals().get("__file__", "./_")).absolute().parent.parent
17
+ TEST_ROOT_FOLDER = PROJECT_ROOT_FOLDER / "tests"
18
+ TEST_EVENTS_FOLDER = TEST_ROOT_FOLDER / "events"
19
+ # in case of OpenStreetMap Mapnik the tile url is "https://tile.openstreetmap.org/{z}/{x}/{y}.png"
20
+ LOCAL_URL_TILE = "http://localhost:8000/lambda_handler/{z}/{x}/{y}.png"
21
+
22
+
23
+ infer_lisa = "/infer_lisa"
24
  response_status_code = "response.status_code:{}."
25
  response_body_loaded = "response.body_loaded:{}."
26
  client = TestClient(app.app)
 
29
  'html_attribution': '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',
30
  'attribution': '(C) OpenStreetMap contributors', 'name': 'OpenStreetMap.Mapnik'
31
  }
32
+ string_prompt = "You are a skilled gis analyst with a lot of expertise in photogrammetry, remote sensing and geomorphology field. "
33
+ string_prompt += "You need to identify the the southernmost island in this photogrammetric image. Please output segmentation mask."
34
  event = {
35
+ "bbox":{
36
+ "ne":{"lat":39.11194810263149,"lng":15.185852050781252},
37
+ "sw":{"lat":38.226314067139185,"lng":13.488464355468752}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  },
39
+ "string_prompt": string_prompt,
40
+ "zoom":10,
41
+ "source_type": "OpenStreetMap"
 
 
42
  }
43
 
44
 
 
49
  body = response.json()
50
  assert body == {"msg": "still alive..."}
51
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  # def test_index(self):
53
  # import subprocess
54
  #
 
66
  response = client.get("/404")
67
  assert response.status_code == 404
68
 
69
+ def test_infer_samgis_lisa_422(self):
70
+ response = client.post(infer_lisa, json={})
71
+ app.app_logger.info(response_status_code.format(response.status_code))
72
  assert response.status_code == 422
73
  body_loaded = response.json()
74
+ app.app_logger.info(response_body_loaded.format(body_loaded))
75
  assert body_loaded == {"msg": "Error - Unprocessable Entity"}
76
 
77
+ def test_infer_samgis_lisa_middleware_422(self):
78
  from copy import deepcopy
79
  local_event = deepcopy(event)
80
 
81
  local_event["source_type"] = "source_fake"
82
+ response = client.post(infer_lisa, json=local_event)
83
+ app.app_logger.info(response_status_code.format(response.status_code))
84
+ assert response.status_code == 422
85
+ body_loaded = response.json()
86
+ app.app_logger.info(response_body_loaded.format(body_loaded))
87
+ assert body_loaded == {"msg": "Error - Unprocessable Entity"}
88
+
89
+ def test_infer_samgis_lisa_middleware_500(self):
90
+ from copy import deepcopy
91
+ local_event = deepcopy(event)
92
+
93
+ local_event["zoom"] = -1
94
+ response = client.post(infer_lisa, json=local_event)
95
+ app.app_logger.info(response_status_code.format(response.status_code))
96
  assert response.status_code == 500
97
  body_loaded = response.json()
98
+ app.app_logger.info(response_body_loaded.format(body_loaded))
99
+ assert body_loaded == {'msg': 'Error - Internal Server Error'}
100
 
101
  @patch.object(time, "time")
102
+ @patch.object(app.lisa_module, "lisa_predict")
103
+ def test_infer_lisa_samgis_mocked_200(self, lisa_predict_mocked, time_mocked):
104
+ self.maxDiff = None
105
+
106
  time_mocked.return_value = 0
107
+ lisa_predict_output = {
108
+ "n_predictions": 1,
109
+ "geojson": "{\"type\": \"FeatureCollection\", \"features\": [{\"id\": \"0\", \"type\": \"Feature\", " +
110
+ "\"properties\": {\"raster_val\": 255.0}, \"geometry\": {\"type\": \"Polygon\", " +
111
+ "\"coordinates\": [[[148.359375, -40.4469470596005], [148.447265625, -40.4469470596005], " +
112
+ "[148.447265625, -40.51379915504414], [148.359375, -40.4469470596005]]]}}]}",
113
+ "n_shapes_geojson": 2
114
+ }
115
+ lisa_predict_mocked.return_value = lisa_predict_output
116
 
117
+ response = client.post(infer_lisa, json=event)
118
+ app.app_logger.info(response_status_code.format(response.status_code))
119
+ assert response.status_code == 200
120
+ response_json = response.json()
121
+ body_loaded = json.loads(response_json["body"])
122
+ app.app_logger.debug(response_body_loaded.format(body_loaded))
123
+ self.assertDictEqual(body_loaded, {'duration_run': 0, 'output': lisa_predict_output})
124
 
125
  @patch.object(web_helpers, "get_url_tile")
126
+ def test_infer_lisa_samgis_real_200(self, get_url_tile_mocked):
 
127
  import shapely
128
  import xyzservices
129
  from samgis_web.utilities.local_tiles_http_server import LocalTilesHttpServer
130
  from tests import LOCAL_URL_TILE, TEST_EVENTS_FOLDER
131
 
 
132
  listen_port = 8000
133
 
134
  local_tile_provider = xyzservices.TileProvider(name="local_tile_provider", url=LOCAL_URL_TILE, attribution="")
135
  get_url_tile_mocked.return_value = local_tile_provider
136
 
137
  with LocalTilesHttpServer.http_server("localhost", listen_port, directory=TEST_EVENTS_FOLDER):
138
+ response = client.post(infer_lisa, json=event)
139
+ app.app_logger.info(response_status_code.format(response.status_code))
140
  assert response.status_code == 200
141
+ response = response.json()
142
+ body_string = response["body"]
143
  body_loaded = json.loads(body_string)
144
+ app.app_logger.debug(response_body_loaded.format(body_loaded))
145
  assert "duration_run" in body_loaded
146
+ assert float(body_loaded["duration_run"]) > 0
147
  output = body_loaded["output"]
 
148
  assert "n_shapes_geojson" in output
149
  geojson = output["geojson"]
150
  output_geojson = shapely.from_geojson(geojson)
151
+ app.app_logger.debug("output_geojson::{}.".format(output_geojson))
152
  assert isinstance(output_geojson, shapely.GeometryCollection)
153
+ assert len(output_geojson.geoms) > 0
154
+ first_polygon = output_geojson.geoms[0]
155
+ assert isinstance(first_polygon, shapely.geometry.Polygon)
156
+ assert len(output_geojson.geoms) > 1
 
 
157
 
 
 
 
 
 
 
 
 
 
 
158
 
159
+ if __name__ == "__main__":
160
+ unittest.main()