commit b7fba4e5f56c0dad90a018f9298a8fd2a0bb94ce
parent fd1013fa71dc158d5c2f76eebb89d01503022715
Author: triesap <triesap@radroots.dev>
Date: Thu, 20 Nov 2025 15:12:47 +0000
Migrate application to consume compiled Rust WASM/JS artifacts from external crates, removing local sources.
Diffstat:
106 files changed, 8364 insertions(+), 14366 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -1,52 +1,50 @@
node_modules
-
-# Output
-.output
-.vercel
-.netlify
-.wrangler
-.svelte-kit
+dist
build
.turbo
-dist
-# OS
-.DS_Store
-Thumbs.db
+.svelte-kit
+.wrangler
+vite.config.js.timestamp-*
+vite.config.ts.timestamp-*
+
+# Logs
+logs/
+*.log
# Env
.env
.env.*
!.env.example
!.env.test
+.local*
+justfile
-# Vite
-vite.config.js.timestamp-*
-vite.config.ts.timestamp-*
-
-# misc
+# OS
.DS_Store
+Thumbs.db
+
+# Secrets
*.pem
+*.crt
+*.key
-# debug
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
+# Testing
+test*.json
-# local
-.local*
-.vscode
+# Deploy
+app/svelte.config.prod.js
+app/wrangler*.jsonc
+
+# Editors
+.vscode/
+.idea/
+*.iml
+
+# Notes
notes*.txt
-git-diff.txt
-justfile
-dev*.py
-
-target
-target*/
-/crates/tangle/gen
-/crates/tangle/tauri*.conf.json
-/crates/tangle/conf
-/crates/tangle/Entitlements*.plist
-/crates/tangle/Info*.plist
-!/crates/tangle/tauri.conf.json
-app*.png
-\ No newline at end of file
+notes*.md
+notes*.json
+tree*.txt
+diff*.txt
+prompt*.txt
diff --git a/.gitmodules b/.gitmodules
@@ -1,72 +1,50 @@
-[submodule "packages/eslint"]
- path = packages/eslint
- url = git@github.com:72-61-64-72-6f-6f-74-73/packages-eslint.git
- branch = master
-[submodule "packages/tsconfig"]
- path = packages/tsconfig
- url = git@github.com:72-61-64-72-6f-6f-74-73/packages-tsconfig.git
- branch = master
-[submodule "packages/geocoder"]
- path = packages/geocoder
- url = git@github.com:72-61-64-72-6f-6f-74-73/packages-geocoder.git
- branch = master
-[submodule "packages/client"]
- path = packages/client
- url = git@github.com:72-61-64-72-6f-6f-74-73/packages-client.git
- branch = master
-[submodule "packages/models"]
- path = packages/models
- url = git@github.com:72-61-64-72-6f-6f-74-73/packages-models.git
- branch = master
-[submodule "packages/theme"]
- path = packages/theme
- url = git@github.com:72-61-64-72-6f-6f-74-73/packages-theme.git
- branch = master
-[submodule "packages/util"]
- path = packages/util
- url = git@github.com:72-61-64-72-6f-6f-74-73/packages-util.git
- branch = master
-[submodule "packages/svelte-maplibre"]
- path = packages/svelte-maplibre
- url = git@github.com:72-61-64-72-6f-6f-74-73/svelte-maplibre.git
- branch = master
-[submodule "packages/lib-app"]
- path = packages/lib-app
- url = git@github.com:72-61-64-72-6f-6f-74-73/packages-lib-app.git
- branch = master
-[submodule "app/static/geonames"]
- path = app/static/geonames
- url = git@github.com:72-61-64-72-6f-6f-74-73/geonames.git
- branch = database
+[submodule "app/static/assets"]
+ path = app/static/assets
+ url = git@github.com:radrootslabs/static-assets.git
+ branch = app
[submodule "app/static/phosphor-icons"]
path = app/static/phosphor-icons
- url = git@github.com:72-61-64-72-6f-6f-74-73/phosphor-icons.git
- branch = app
+ url = git@github.com:radrootslabs/phosphor-icons.git
+ branch = master
[submodule "app/static/stylesheets"]
path = app/static/stylesheets
- url = git@github.com:72-61-64-72-6f-6f-74-73/stylesheets.git
+ url = git@github.com:radrootslabs/stylesheets.git
branch = master
+[submodule "app/static/geonames"]
+ path = app/static/geonames
+ url = git@github.com:radrootslabs/geonames.git
+ branch = database
[submodule "app/static/webfonts"]
path = app/static/webfonts
- url = git@github.com:72-61-64-72-6f-6f-74-73/webfonts.git
- branch = app
-[submodule "app/static/assets"]
- path = app/static/assets
- url = git@github.com:72-61-64-72-6f-6f-74-73/assets.git
+ url = git@github.com:radrootslabs/webfonts.git
branch = app
-[submodule "packages/nostr-util"]
- path = packages/nostr-util
- url = git@github.com:72-61-64-72-6f-6f-74-73/nostr-util.git
- branch = master
+[submodule "packages/client"]
+ path = packages/client
+ url = git@github.com:radrootslabs/packages-client.git
+[submodule "packages/geocoder"]
+ path = packages/geocoder
+ url = git@github.com:radrootslabs/packages-geocoder.git
[submodule "packages/locales"]
path = packages/locales
- url = git@github.com:72-61-64-72-6f-6f-74-73/packages-locales.git
- branch = master
-[submodule "packages/nostr-geotags"]
- path = packages/nostr-geotags
- url = git@github.com:72-61-64-72-6f-6f-74-73/nostr-geotags.git
- branch = main
-[submodule "crates/radroots-common"]
- path = crates/radroots-common
- url = git@github.com:72-61-64-72-6f-6f-74-73/crates-radroots-common.git
- branch = master
+ url = git@github.com:radrootslabs/packages-locales.git
+[submodule "packages/utils-nostr"]
+ path = packages/utils-nostr
+ url = git@github.com:radrootslabs/packages-utils-nostr.git
+[submodule "packages/utils"]
+ path = packages/utils
+ url = git@github.com:radrootslabs/packages-utils.git
+[submodule "packages/themes"]
+ path = packages/themes
+ url = git@github.com:radrootslabs/packages-themes.git
+[submodule "packages/apps-lib-pwa"]
+ path = packages/apps-lib-pwa
+ url = git@github.com:radrootslabs/packages-apps-lib-pwa.git
+[submodule "packages/apps-lib"]
+ path = packages/apps-lib
+ url = git@github.com:radrootslabs/packages-apps-lib.git
+[submodule "packages/tsconfig"]
+ path = packages/tsconfig
+ url = git@github.com:radrootslabs/packages-tsconfig.git
+[submodule "packages/dev"]
+ path = packages/dev
+ url = git@github.com:radrootslabs/packages-dev.git
diff --git a/AGENTS.md b/AGENTS.md
@@ -0,0 +1,30 @@
+# Rad Roots - Agricultural Network Application
+
+#### Code Rules
+
+1. TypeScript
+- Use strict TypeScript at all times.
+- Never use as any, any, unknown as, or any weakening of types.
+- Prefer explicit interfaces and types.
+- Use enums or literal unions when appropriate.
+- Avoid default exports unless legacy structure requires it.
+
+2. Source Code Output
+- No inline comments, block comments, or JSDoc.
+- Do not generate explanatory comments in any code.
+- Code must stay deterministic and reproducible.
+- Write source code using snake_case conventions, while type names use PascalCase.
+
+1. DRY and Modularity
+- Do not duplicate logic within or across projects.
+- Extract shared logic into the appropriate package under packages/.
+- Prefer small, focused modules.
+- Shared utilities must live in shared packages, not in apps.
+
+1. Functional and Architectural Cleanliness
+- Prefer pure functions.
+- Prefer composition over inheritance.
+- Avoid side effects unless explicitly needed.
+- Avoid global mutable state.
+
+
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
@@ -1,17 +1,17 @@
# Contributing
-Tangle is an open-source project, and we welcome all contributions — including code improvements, bug fixes, translations, new features, and bug reports.
+Rad Roots is an open-source project, and we welcome all contributions — including code improvements, bug fixes, translations, new features, and bug reports.
## Translations
-If you would like to contribute by translating the app into another language, please visit our [localisation repository](https://github.com/72-61-64-72-6f-6f-74-73/packages-locales). To contribute translations:
+If you would like to contribute by translating the app into another language, please visit our [localisation repository](https://github.com/radrootslabs/packages-locales). To contribute translations:
1. *Fork the repository and add your language files following the existing structure.*
2. *Submit a Pull Request with your changes.*
-If the language you would like to add translations for is not yet set up in the repository let us know by [opening an issue](https://github.com/72-61-64-72-6f-6f-74-73/packages-locales/issues), or [email us](mailto:support@radroots.dev) and we will assist you in adding the required files.
+If the language you would like to add translations for is not yet set up in the repository let us know by [opening an issue](https://github.com/radrootslabs/packages-locales/issues), or [email us](mailto:support@radroots.dev) and we will assist you in adding the required files.
## Development Environment
@@ -20,7 +20,7 @@ Ensure the required system dependencies are installed:
*Rust*
```bash
$ cargo --version
-> cargo 1.81.0 (2dbb1af80 2024-08-20)
+> cargo 1.88.0 (873a06493 2025-05-10)
```
*NodeJS*
@@ -29,28 +29,26 @@ $ node --version
> v20.18.0
```
-*Pnpm*
+*Yarn*
```bash
-$ pnpm --version
-> 9.12.1
+$ yarn --version
+> 1.22.22
```
## Building
-Tangle is built as a static application with [SvelteKit](https://svelte.dev/) and bundled into native binaries for iOS and Android with [Tauri](https://v2.tauri.app/).
-
-The project is structured as a monorepository with individual packages managed as Git submodules.
+This app is implemented as a progressive web application using [SvelteKit](https://svelte.dev/), and maintained as a monorepository using [Turbo](https://turborepo.com/) with individual packages tracked as Git submodules.
To begin, first clone the repository and set up your local working copy:
```bash
-mkdir tangle && cd tangle
+mkdir pwa && cd pwa
-git clone https://github.com/72-61-64-72-6f-6f-74-73/tangle .
+git clone https://github.com/radrootslabs/pwa .
git remote rename origin upstream
-git remote add origin https://github.com/<YOUR-USERNAME>/tangle.git
+git remote add origin https://github.com/<YOUR-USERNAME>/pwa.git
git push -u origin master
```
@@ -65,14 +63,9 @@ Checkout Git submodules branches:
git submodule foreach 'git checkout $(git config -f $toplevel/.gitmodules submodule.$name.branch)'
```
-Install the application dependencies (Rust):
-```bash
-cargo check
-```
-
-Install the application dependencies (JavaScript):
+Install the application dependencies:
```bash
-pnpm install
+yarn
```
@@ -80,20 +73,20 @@ Configure local environment variables:
```bash
echo 'PUBLIC_NOSTR_RELAY_DEFAULTS=ws://localhost:8080,ws://localhost:8081
PUBLIC_RADROOTS_RELAY_URL=ws://localhost:8082
-PUBLIC_RADROOTS_URL=https://radroots.market
-VITE_PUBLIC_IDB_NAME=tangle-dev-v1
-VITE_PUBLIC_NDK_CACHE_NAME=tangle-dev-v1
-VITE_PUBLIC_NDK_CLIENT_NAME=tangle-dev-v1' > app/.env.development
+PUBLIC_RADROOTS_URL=https://radroots.org
+VITE_PUBLIC_KEYVAL_NAME=rad-roots-pwa-dev-v1
+VITE_PUBLIC_NDK_CACHE_NAME=rad-roots-pwa-dev-v1
+VITE_PUBLIC_NDK_CLIENT_NAME=rad roots' > app/.env.development
```
-Build the web application:
+Build the application:
```bash
-pnpm run build
+yarn build
```
-Run the native application in development mode:
+Run the application in development mode:
```bash
-pnpm run tauri dev
+yarn dev
```
## Contributing
@@ -107,11 +100,9 @@ pnpm run tauri dev
- [Rust Documentation](https://www.rust-lang.org/tools/install)
- [NodeJS Documentation](https://github.com/nvm-sh/nvm?tab=readme-ov-file#installing-and-updating)
-- [Pnpm Documentation](https://pnpm.io/installation)
+- [Yarn Documentation](https://classic.yarnpkg.com/en/docs)
- [SvelteKit Documentation](https://svelte.dev/docs/kit/introduction)
-- [Tauri Documentation](https://v2.tauri.app/start/prerequisites/)
-- [XCode Documentation](https://developer.apple.com/documentation/safari-developer-tools/installing-xcode-and-simulators)
-- [Android Studio Documentation](https://developer.android.com/studio/install)
+- [Turbo Documentation](https://turborepo.com/docs)
## License
diff --git a/Cargo.lock b/Cargo.lock
@@ -1,1928 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 4
-
-[[package]]
-name = "addr2line"
-version = "0.24.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
-dependencies = [
- "gimli",
-]
-
-[[package]]
-name = "adler2"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
-
-[[package]]
-name = "aead"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0"
-dependencies = [
- "crypto-common",
- "generic-array",
-]
-
-[[package]]
-name = "aho-corasick"
-version = "1.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "android_system_properties"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "arrayvec"
-version = "0.7.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
-
-[[package]]
-name = "async-utility"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a34a3b57207a7a1007832416c3e4862378c8451b4e8e093e436f48c2d3d2c151"
-dependencies = [
- "futures-util",
- "gloo-timers",
- "tokio",
- "wasm-bindgen-futures",
-]
-
-[[package]]
-name = "async-wsocket"
-version = "0.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a7d8c7d34a225ba919dd9ba44d4b9106d20142da545e086be8ae21d1897e043"
-dependencies = [
- "async-utility",
- "futures",
- "futures-util",
- "js-sys",
- "tokio",
- "tokio-rustls",
- "tokio-socks",
- "tokio-tungstenite",
- "url",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "atomic-destructor"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef49f5882e4b6afaac09ad239a4f8c70a24b8f2b0897edb1f706008efd109cf4"
-
-[[package]]
-name = "autocfg"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
-
-[[package]]
-name = "backtrace"
-version = "0.3.74"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a"
-dependencies = [
- "addr2line",
- "cfg-if",
- "libc",
- "miniz_oxide",
- "object",
- "rustc-demangle",
- "windows-targets",
-]
-
-[[package]]
-name = "base64"
-version = "0.22.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
-
-[[package]]
-name = "base64ct"
-version = "1.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3"
-
-[[package]]
-name = "bech32"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d965446196e3b7decd44aa7ee49e31d630118f90ef12f97900f262eb915c951d"
-
-[[package]]
-name = "bip39"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33415e24172c1b7d6066f6d999545375ab8e1d95421d6784bdfff9496f292387"
-dependencies = [
- "bitcoin_hashes 0.13.0",
- "serde",
- "unicode-normalization",
-]
-
-[[package]]
-name = "bitcoin-internals"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9425c3bf7089c983facbae04de54513cce73b41c7f9ff8c845b54e7bc64ebbfb"
-
-[[package]]
-name = "bitcoin-io"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b47c4ab7a93edb0c7198c5535ed9b52b63095f4e9b45279c6736cec4b856baf"
-
-[[package]]
-name = "bitcoin_hashes"
-version = "0.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1930a4dabfebb8d7d9992db18ebe3ae2876f0a305fab206fd168df931ede293b"
-dependencies = [
- "bitcoin-internals",
- "hex-conservative 0.1.2",
-]
-
-[[package]]
-name = "bitcoin_hashes"
-version = "0.14.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb18c03d0db0247e147a21a6faafd5a7eb851c743db062de72018b6b7e8e4d16"
-dependencies = [
- "bitcoin-io",
- "hex-conservative 0.2.1",
- "serde",
-]
-
-[[package]]
-name = "bitflags"
-version = "2.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd"
-
-[[package]]
-name = "block-buffer"
-version = "0.10.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "block-padding"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "bumpalo"
-version = "3.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf"
-
-[[package]]
-name = "bytes"
-version = "1.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a"
-
-[[package]]
-name = "cbc"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6"
-dependencies = [
- "cipher",
-]
-
-[[package]]
-name = "cc"
-version = "1.2.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04da6a0d40b948dfc4fa8f5bbf402b0fc1a64a28dbf7d12ffd683550f2c1b63a"
-dependencies = [
- "shlex",
-]
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "chacha20"
-version = "0.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818"
-dependencies = [
- "cfg-if",
- "cipher",
- "cpufeatures",
-]
-
-[[package]]
-name = "chacha20poly1305"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35"
-dependencies = [
- "aead",
- "chacha20",
- "cipher",
- "poly1305",
- "zeroize",
-]
-
-[[package]]
-name = "chrono"
-version = "0.4.42"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2"
-dependencies = [
- "iana-time-zone",
- "js-sys",
- "num-traits",
- "wasm-bindgen",
- "windows-link",
-]
-
-[[package]]
-name = "cipher"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
-dependencies = [
- "crypto-common",
- "inout",
- "zeroize",
-]
-
-[[package]]
-name = "console_error_panic_hook"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc"
-dependencies = [
- "cfg-if",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
-
-[[package]]
-name = "cpufeatures"
-version = "0.2.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "crypto-common"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
-dependencies = [
- "generic-array",
- "rand_core 0.6.4",
- "typenum",
-]
-
-[[package]]
-name = "data-encoding"
-version = "2.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476"
-
-[[package]]
-name = "digest"
-version = "0.10.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
-dependencies = [
- "block-buffer",
- "crypto-common",
- "subtle",
-]
-
-[[package]]
-name = "displaydoc"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "either"
-version = "1.15.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
-
-[[package]]
-name = "fnv"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
-name = "form_urlencoded"
-version = "1.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
-dependencies = [
- "percent-encoding",
-]
-
-[[package]]
-name = "futures"
-version = "0.3.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876"
-dependencies = [
- "futures-channel",
- "futures-core",
- "futures-io",
- "futures-sink",
- "futures-task",
- "futures-util",
-]
-
-[[package]]
-name = "futures-channel"
-version = "0.3.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
-dependencies = [
- "futures-core",
- "futures-sink",
-]
-
-[[package]]
-name = "futures-core"
-version = "0.3.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
-
-[[package]]
-name = "futures-io"
-version = "0.3.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
-
-[[package]]
-name = "futures-sink"
-version = "0.3.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7"
-
-[[package]]
-name = "futures-task"
-version = "0.3.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
-
-[[package]]
-name = "futures-util"
-version = "0.3.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
-dependencies = [
- "futures-channel",
- "futures-core",
- "futures-io",
- "futures-sink",
- "futures-task",
- "memchr",
- "pin-project-lite",
- "pin-utils",
- "slab",
-]
-
-[[package]]
-name = "generic-array"
-version = "0.14.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
-dependencies = [
- "typenum",
- "version_check",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592"
-dependencies = [
- "cfg-if",
- "js-sys",
- "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0"
-dependencies = [
- "cfg-if",
- "libc",
- "r-efi",
- "wasi 0.14.2+wasi-0.2.4",
-]
-
-[[package]]
-name = "gimli"
-version = "0.31.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
-
-[[package]]
-name = "gloo-timers"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994"
-dependencies = [
- "futures-channel",
- "futures-core",
- "js-sys",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "hex-conservative"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "212ab92002354b4819390025006c897e8140934349e8635c9b077f47b4dcbd20"
-
-[[package]]
-name = "hex-conservative"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5313b072ce3c597065a808dbf612c4c8e8590bdbf8b579508bf7a762c5eae6cd"
-dependencies = [
- "arrayvec",
-]
-
-[[package]]
-name = "hmac"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
-dependencies = [
- "digest",
-]
-
-[[package]]
-name = "http"
-version = "1.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565"
-dependencies = [
- "bytes",
- "fnv",
- "itoa",
-]
-
-[[package]]
-name = "httparse"
-version = "1.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87"
-
-[[package]]
-name = "iana-time-zone"
-version = "0.1.64"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb"
-dependencies = [
- "android_system_properties",
- "core-foundation-sys",
- "iana-time-zone-haiku",
- "js-sys",
- "log",
- "wasm-bindgen",
- "windows-core",
-]
-
-[[package]]
-name = "iana-time-zone-haiku"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
-dependencies = [
- "cc",
-]
-
-[[package]]
-name = "icu_collections"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526"
-dependencies = [
- "displaydoc",
- "yoke",
- "zerofrom",
- "zerovec",
-]
-
-[[package]]
-name = "icu_locid"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637"
-dependencies = [
- "displaydoc",
- "litemap",
- "tinystr",
- "writeable",
- "zerovec",
-]
-
-[[package]]
-name = "icu_locid_transform"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e"
-dependencies = [
- "displaydoc",
- "icu_locid",
- "icu_locid_transform_data",
- "icu_provider",
- "tinystr",
- "zerovec",
-]
-
-[[package]]
-name = "icu_locid_transform_data"
-version = "1.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d"
-
-[[package]]
-name = "icu_normalizer"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f"
-dependencies = [
- "displaydoc",
- "icu_collections",
- "icu_normalizer_data",
- "icu_properties",
- "icu_provider",
- "smallvec",
- "utf16_iter",
- "utf8_iter",
- "write16",
- "zerovec",
-]
-
-[[package]]
-name = "icu_normalizer_data"
-version = "1.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7"
-
-[[package]]
-name = "icu_properties"
-version = "1.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5"
-dependencies = [
- "displaydoc",
- "icu_collections",
- "icu_locid_transform",
- "icu_properties_data",
- "icu_provider",
- "tinystr",
- "zerovec",
-]
-
-[[package]]
-name = "icu_properties_data"
-version = "1.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2"
-
-[[package]]
-name = "icu_provider"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9"
-dependencies = [
- "displaydoc",
- "icu_locid",
- "icu_provider_macros",
- "stable_deref_trait",
- "tinystr",
- "writeable",
- "yoke",
- "zerofrom",
- "zerovec",
-]
-
-[[package]]
-name = "icu_provider_macros"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "idna"
-version = "1.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e"
-dependencies = [
- "idna_adapter",
- "smallvec",
- "utf8_iter",
-]
-
-[[package]]
-name = "idna_adapter"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71"
-dependencies = [
- "icu_normalizer",
- "icu_properties",
-]
-
-[[package]]
-name = "inout"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01"
-dependencies = [
- "block-padding",
- "generic-array",
-]
-
-[[package]]
-name = "instant"
-version = "0.1.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222"
-dependencies = [
- "cfg-if",
- "js-sys",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "itoa"
-version = "1.0.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
-
-[[package]]
-name = "js-sys"
-version = "0.3.77"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f"
-dependencies = [
- "once_cell",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "libc"
-version = "0.2.172"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa"
-
-[[package]]
-name = "litemap"
-version = "0.7.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856"
-
-[[package]]
-name = "log"
-version = "0.4.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
-
-[[package]]
-name = "lru"
-version = "0.16.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96051b46fc183dc9cd4a223960ef37b9af631b55191852a8274bfef064cda20f"
-
-[[package]]
-name = "memchr"
-version = "2.7.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
-
-[[package]]
-name = "miniz_oxide"
-version = "0.8.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a"
-dependencies = [
- "adler2",
-]
-
-[[package]]
-name = "mio"
-version = "1.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd"
-dependencies = [
- "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys",
-]
-
-[[package]]
-name = "negentropy"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0efe882e02d206d8d279c20eb40e03baf7cb5136a1476dc084a324fbc3ec42d"
-
-[[package]]
-name = "nostr"
-version = "0.43.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62a97d745f1bd8d5e05a978632bbb87b0614567d5142906fe7c86fb2440faac6"
-dependencies = [
- "base64",
- "bech32",
- "bip39",
- "bitcoin_hashes 0.14.0",
- "cbc",
- "chacha20",
- "chacha20poly1305",
- "getrandom 0.2.16",
- "instant",
- "scrypt",
- "secp256k1",
- "serde",
- "serde_json",
- "unicode-normalization",
- "url",
-]
-
-[[package]]
-name = "nostr-database"
-version = "0.43.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1c75a8c2175d2785ba73cfddef21d1e30da5fbbdf158569b6808ba44973a15b"
-dependencies = [
- "lru",
- "nostr",
- "tokio",
-]
-
-[[package]]
-name = "nostr-relay-pool"
-version = "0.43.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b2f43b70d13dfc50508a13cd902e11f4625312b2ce0e4b7c4c2283fd04001bd"
-dependencies = [
- "async-utility",
- "async-wsocket",
- "atomic-destructor",
- "lru",
- "negentropy",
- "nostr",
- "nostr-database",
- "tokio",
- "tracing",
-]
-
-[[package]]
-name = "nostr-sdk"
-version = "0.43.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "599f8963d6a1522a13b1a2b0ea6e168acfc367706606f1d33fa595e91fa22db0"
-dependencies = [
- "async-utility",
- "nostr",
- "nostr-database",
- "nostr-relay-pool",
- "tokio",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "object"
-version = "0.36.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.21.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
-
-[[package]]
-name = "opaque-debug"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
-
-[[package]]
-name = "password-hash"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166"
-dependencies = [
- "base64ct",
- "rand_core 0.6.4",
- "subtle",
-]
-
-[[package]]
-name = "pbkdf2"
-version = "0.12.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2"
-dependencies = [
- "digest",
- "hmac",
-]
-
-[[package]]
-name = "percent-encoding"
-version = "2.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
-
-[[package]]
-name = "pin-project-lite"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
-
-[[package]]
-name = "pin-utils"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
-
-[[package]]
-name = "poly1305"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf"
-dependencies = [
- "cpufeatures",
- "opaque-debug",
- "universal-hash",
-]
-
-[[package]]
-name = "ppv-lite86"
-version = "0.2.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
-dependencies = [
- "zerocopy",
-]
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.95"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.40"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "r-efi"
-version = "5.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
-
-[[package]]
-name = "rand"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
-dependencies = [
- "libc",
- "rand_chacha 0.3.1",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand"
-version = "0.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97"
-dependencies = [
- "rand_chacha 0.9.0",
- "rand_core 0.9.3",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.9.3",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
-dependencies = [
- "getrandom 0.2.16",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38"
-dependencies = [
- "getrandom 0.3.2",
-]
-
-[[package]]
-name = "regex"
-version = "1.12.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-automata",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-automata"
-version = "0.4.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.8.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58"
-
-[[package]]
-name = "ring"
-version = "0.17.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
-dependencies = [
- "cc",
- "cfg-if",
- "getrandom 0.2.16",
- "libc",
- "untrusted",
- "windows-sys",
-]
-
-[[package]]
-name = "rustc-demangle"
-version = "0.1.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
-
-[[package]]
-name = "rustls"
-version = "0.23.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df51b5869f3a441595eac5e8ff14d486ff285f7b8c0df8770e49c3b56351f0f0"
-dependencies = [
- "once_cell",
- "ring",
- "rustls-pki-types",
- "rustls-webpki",
- "subtle",
- "zeroize",
-]
-
-[[package]]
-name = "rustls-pki-types"
-version = "1.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c"
-
-[[package]]
-name = "rustls-webpki"
-version = "0.103.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fef8b8769aaccf73098557a87cd1816b4f9c7c16811c9c77142aa695c16f2c03"
-dependencies = [
- "ring",
- "rustls-pki-types",
- "untrusted",
-]
-
-[[package]]
-name = "rustversion"
-version = "1.0.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2"
-
-[[package]]
-name = "ryu"
-version = "1.0.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
-
-[[package]]
-name = "salsa20"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213"
-dependencies = [
- "cipher",
-]
-
-[[package]]
-name = "scrypt"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0516a385866c09368f0b5bcd1caff3366aace790fcd46e2bb032697bb172fd1f"
-dependencies = [
- "password-hash",
- "pbkdf2",
- "salsa20",
- "sha2",
-]
-
-[[package]]
-name = "secp256k1"
-version = "0.29.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9465315bc9d4566e1724f0fffcbcc446268cb522e60f9a27bcded6b19c108113"
-dependencies = [
- "rand 0.8.5",
- "secp256k1-sys",
- "serde",
-]
-
-[[package]]
-name = "secp256k1-sys"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4387882333d3aa8cb20530a17c69a3752e97837832f34f6dccc760e715001d9"
-dependencies = [
- "cc",
-]
-
-[[package]]
-name = "serde"
-version = "1.0.219"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde-wasm-bindgen"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b"
-dependencies = [
- "js-sys",
- "serde",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.219"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.140"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
-dependencies = [
- "itoa",
- "memchr",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "sha1"
-version = "0.10.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "digest",
-]
-
-[[package]]
-name = "sha2"
-version = "0.10.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "digest",
-]
-
-[[package]]
-name = "shlex"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
-
-[[package]]
-name = "slab"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "smallvec"
-version = "1.15.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9"
-
-[[package]]
-name = "socket2"
-version = "0.5.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef"
-dependencies = [
- "libc",
- "windows-sys",
-]
-
-[[package]]
-name = "stable_deref_trait"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
-
-[[package]]
-name = "subtle"
-version = "2.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
-
-[[package]]
-name = "syn"
-version = "2.0.101"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "synstructure"
-version = "0.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "tangle_core"
-version = "0.1.0"
-dependencies = [
- "base64",
- "chrono",
- "getrandom 0.2.16",
- "nostr-sdk",
- "regex",
- "serde",
- "serde_json",
- "thiserror 1.0.69",
- "uuid",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "tangle_model"
-version = "0.1.0"
-dependencies = [
- "js-sys",
- "serde",
- "serde-wasm-bindgen",
- "serde_json",
- "tangle_core",
- "thiserror 1.0.69",
- "wasm-bindgen",
- "wasm-bindgen-futures",
-]
-
-[[package]]
-name = "tangle_wasm"
-version = "0.1.0"
-dependencies = [
- "console_error_panic_hook",
- "getrandom 0.2.16",
- "serde",
- "serde-wasm-bindgen",
- "serde_json",
- "tangle_core",
- "tangle_model",
- "thiserror 1.0.69",
- "uuid",
- "wasm-bindgen",
- "wasm-bindgen-futures",
-]
-
-[[package]]
-name = "thiserror"
-version = "1.0.69"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
-dependencies = [
- "thiserror-impl 1.0.69",
-]
-
-[[package]]
-name = "thiserror"
-version = "2.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708"
-dependencies = [
- "thiserror-impl 2.0.12",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "1.0.69"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "2.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "tinystr"
-version = "0.7.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f"
-dependencies = [
- "displaydoc",
- "zerovec",
-]
-
-[[package]]
-name = "tinyvec"
-version = "1.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71"
-dependencies = [
- "tinyvec_macros",
-]
-
-[[package]]
-name = "tinyvec_macros"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
-
-[[package]]
-name = "tokio"
-version = "1.44.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48"
-dependencies = [
- "backtrace",
- "bytes",
- "libc",
- "mio",
- "pin-project-lite",
- "socket2",
- "tokio-macros",
- "windows-sys",
-]
-
-[[package]]
-name = "tokio-macros"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "tokio-rustls"
-version = "0.26.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b"
-dependencies = [
- "rustls",
- "tokio",
-]
-
-[[package]]
-name = "tokio-socks"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d4770b8024672c1101b3f6733eab95b18007dbe0847a8afe341fcf79e06043f"
-dependencies = [
- "either",
- "futures-util",
- "thiserror 1.0.69",
- "tokio",
-]
-
-[[package]]
-name = "tokio-tungstenite"
-version = "0.26.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084"
-dependencies = [
- "futures-util",
- "log",
- "rustls",
- "rustls-pki-types",
- "tokio",
- "tokio-rustls",
- "tungstenite",
- "webpki-roots",
-]
-
-[[package]]
-name = "tracing"
-version = "0.1.41"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0"
-dependencies = [
- "pin-project-lite",
- "tracing-core",
-]
-
-[[package]]
-name = "tracing-core"
-version = "0.1.33"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c"
-
-[[package]]
-name = "tungstenite"
-version = "0.26.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13"
-dependencies = [
- "bytes",
- "data-encoding",
- "http",
- "httparse",
- "log",
- "rand 0.9.1",
- "rustls",
- "rustls-pki-types",
- "sha1",
- "thiserror 2.0.12",
- "utf-8",
-]
-
-[[package]]
-name = "typenum"
-version = "1.18.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
-
-[[package]]
-name = "unicode-normalization"
-version = "0.1.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
-dependencies = [
- "tinyvec",
-]
-
-[[package]]
-name = "universal-hash"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea"
-dependencies = [
- "crypto-common",
- "subtle",
-]
-
-[[package]]
-name = "untrusted"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
-
-[[package]]
-name = "url"
-version = "2.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60"
-dependencies = [
- "form_urlencoded",
- "idna",
- "percent-encoding",
- "serde",
-]
-
-[[package]]
-name = "utf-8"
-version = "0.7.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
-
-[[package]]
-name = "utf16_iter"
-version = "1.0.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246"
-
-[[package]]
-name = "utf8_iter"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
-
-[[package]]
-name = "uuid"
-version = "1.18.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2"
-dependencies = [
- "getrandom 0.3.2",
- "js-sys",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "version_check"
-version = "0.9.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
-
-[[package]]
-name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-
-[[package]]
-name = "wasi"
-version = "0.14.2+wasi-0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3"
-dependencies = [
- "wit-bindgen-rt",
-]
-
-[[package]]
-name = "wasm-bindgen"
-version = "0.2.100"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"
-dependencies = [
- "cfg-if",
- "once_cell",
- "rustversion",
- "wasm-bindgen-macro",
-]
-
-[[package]]
-name = "wasm-bindgen-backend"
-version = "0.2.100"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6"
-dependencies = [
- "bumpalo",
- "log",
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-futures"
-version = "0.4.50"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61"
-dependencies = [
- "cfg-if",
- "js-sys",
- "once_cell",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "wasm-bindgen-macro"
-version = "0.2.100"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407"
-dependencies = [
- "quote",
- "wasm-bindgen-macro-support",
-]
-
-[[package]]
-name = "wasm-bindgen-macro-support"
-version = "0.2.100"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-backend",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-shared"
-version = "0.2.100"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "web-sys"
-version = "0.3.77"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2"
-dependencies = [
- "js-sys",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "webpki-roots"
-version = "0.26.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29aad86cec885cafd03e8305fd727c418e970a521322c91688414d5b8efba16b"
-dependencies = [
- "rustls-pki-types",
-]
-
-[[package]]
-name = "windows-core"
-version = "0.62.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb"
-dependencies = [
- "windows-implement",
- "windows-interface",
- "windows-link",
- "windows-result",
- "windows-strings",
-]
-
-[[package]]
-name = "windows-implement"
-version = "0.60.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "windows-interface"
-version = "0.59.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "windows-link"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
-
-[[package]]
-name = "windows-result"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5"
-dependencies = [
- "windows-link",
-]
-
-[[package]]
-name = "windows-strings"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091"
-dependencies = [
- "windows-link",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
-dependencies = [
- "windows-targets",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
-dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_gnullvm",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
-]
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
-
-[[package]]
-name = "windows_i686_gnullvm"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
-
-[[package]]
-name = "wit-bindgen-rt"
-version = "0.39.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "write16"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936"
-
-[[package]]
-name = "writeable"
-version = "0.5.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51"
-
-[[package]]
-name = "yoke"
-version = "0.7.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40"
-dependencies = [
- "serde",
- "stable_deref_trait",
- "yoke-derive",
- "zerofrom",
-]
-
-[[package]]
-name = "yoke-derive"
-version = "0.7.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
- "synstructure",
-]
-
-[[package]]
-name = "zerocopy"
-version = "0.8.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb"
-dependencies = [
- "zerocopy-derive",
-]
-
-[[package]]
-name = "zerocopy-derive"
-version = "0.8.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "zerofrom"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5"
-dependencies = [
- "zerofrom-derive",
-]
-
-[[package]]
-name = "zerofrom-derive"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
- "synstructure",
-]
-
-[[package]]
-name = "zeroize"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
-
-[[package]]
-name = "zerovec"
-version = "0.10.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079"
-dependencies = [
- "yoke",
- "zerofrom",
- "zerovec-derive",
-]
-
-[[package]]
-name = "zerovec-derive"
-version = "0.10.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
diff --git a/Cargo.toml b/Cargo.toml
@@ -1,17 +0,0 @@
-[workspace]
-members = [
- "crates/*",
-]
-resolver = "2"
-
-[workspace.package]
-version = "0.1.0"
-edition = "2024"
-rust-version = "1.88.0"
-license = "GPL-3.0"
-
-[workspace.dependencies]
-anyhow = { version = "1" }
-serde = { version = "1", features = ["derive"] }
-serde_json = { version = "1" }
-thiserror = { version = "1" }
diff --git a/README.md b/README.md
@@ -1,8 +1,8 @@
<div align="center">
-# rad roots | PWA
+# rad roots | app
-_collaborative agriculture on Nostr_
+_collaborative agriculture network_
<p align="center"><a href="https://opensource.org/license/gpl-3-0"><img src="https://img.shields.io/badge/license-GPLv3-blue.svg"></a></p>
@@ -10,6 +10,7 @@ _collaborative agriculture on Nostr_
</div>
+
## Overview
Rad Roots is a collaborative agriculture network built on the Nostr protocol. We are building it for farmers around the world to market their products, and share their activities and knowledge.
diff --git a/app/.env.example b/app/.env.example
@@ -2,6 +2,11 @@ PUBLIC_NOSTR_RELAY_DEFAULTS=
PUBLIC_RADROOTS_RELAY_URL=
PUBLIC_RADROOTS_UPLOAD_IMAGES_URL=
PUBLIC_RADROOTS_URL=
-VITE_PUBLIC_IDB_NAME=
+VITE_PUBLIC_KEYVAL_NAME=
VITE_PUBLIC_NDK_CACHE_NAME=
-VITE_PUBLIC_NDK_CLIENT_NAME=
-\ No newline at end of file
+VITE_PUBLIC_NDK_CLIENT_NAME=
+PORT=
+VITE_PUBLIC_RADROOTS_RELAY=
+VITE_PLATFORM_NAME=
+VITE_PLATFORM_ACCENT=
+VITE_PLATFORM_DESCRIPTION=
+\ No newline at end of file
diff --git a/app/package.json b/app/package.json
@@ -1,48 +1,56 @@
{
"name": "app",
"private": true,
- "version": "0.0.0",
+ "version": "0.0.1",
"license": "GPL-3.0",
"type": "module",
"scripts": {
"build": "vite build --mode production",
"build:dev": "vite build --mode development",
- "dev:hmr": "vite dev --mode development --debug hmr",
- "dev": "",
+ "prebuild": "npm run clean",
+ "clean": "rimraf build",
+ "dev": "vite dev",
"preview": "vite preview",
"prepare": "svelte-kit sync || echo ''",
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch"
},
"devDependencies": {
- "@sveltejs/adapter-static": "^3.0.0",
- "@sveltejs/kit": "^2.16.0",
- "@sveltejs/vite-plugin-svelte": "^5.0.0",
- "autoprefixer": "^10.4.20",
- "daisyui": "^4.10.0",
- "postcss": "^8.5.1",
- "postcss-import": "^16.1.0",
+ "@sveltejs/adapter-static": "^3.0.8",
+ "@sveltejs/kit": "^2.22.0",
+ "@sveltejs/vite-plugin-svelte": "^6.0.0",
+ "@tailwindcss/vite": "^4.1.11",
+ "@vite-pwa/sveltekit": "^1.1.0",
+ "daisyui": "^5.0.46",
+ "dotenv": "^17.2.0",
+ "rimraf": "^6.0.1",
"svelte": "^5.0.0",
"svelte-check": "^4.0.0",
- "tailwindcss": "^3.4.3",
- "typescript": "^5.0.0",
- "vite": "^6.0.0"
+ "tailwindcss": "^4.1.11",
+ "typescript": "5.8.3",
+ "vite": "7.0.6",
+ "wrangler": "^4.42.2"
},
"dependencies": {
- "@nostr-dev-kit/ndk": "^2.10.6",
- "@nostr-dev-kit/ndk-svelte": "^2.3.1",
- "@radroots/client": "workspace:*",
- "@radroots/geocoder": "workspace:*",
- "@radroots/lib-app": "workspace:*",
- "@radroots/locales": "workspace:*",
- "@radroots/models": "workspace:*",
- "@radroots/nostr-util": "workspace:*",
- "@radroots/radroots-common-bindings": "workspace:*",
- "@radroots/theme": "workspace:*",
- "@radroots/util": "workspace:*",
+ "@nostr-dev-kit/ndk": "2.14.33",
+ "@nostr-dev-kit/ndk-svelte": "2.4.38",
+ "@radroots/apps-lib": "*",
+ "@radroots/apps-lib-pwa": "*",
+ "@radroots/client": "*",
+ "@radroots/dev": "*",
+ "@radroots/events-bindings": "*",
+ "@radroots/geocoder": "*",
+ "@radroots/locales": "*",
+ "@radroots/tangle-schema-bindings": "*",
+ "@radroots/themes": "*",
+ "@radroots/types-bindings": "*",
+ "@radroots/utils": "*",
+ "@radroots/utils-nostr": "*",
"chart.js": "^4.4.5",
"css-paint-polyfill": "^3.4.0",
- "svelte-maplibre": "workspace:*",
+ "idb-keyval": "^6.2.1",
+ "sql.js": "^1.13.0",
+ "svelte-maplibre": "^1.2.0",
"zod": "^3.23.8"
}
}
\ No newline at end of file
diff --git a/app/postcss.config.js b/app/postcss.config.js
@@ -1,7 +0,0 @@
-export default {
- plugins: {
- 'postcss-import': {},
- tailwindcss: {},
- autoprefixer: {},
- },
-}
-\ No newline at end of file
diff --git a/app/src/app.css b/app/src/app.css
@@ -1,17 +1,52 @@
-@import "/static/stylesheets/tailwindcss-app-carousel.css";
-@import "/static/stylesheets/tailwindcss-app-form.css";
-@import "/static/stylesheets/tailwindcss-app-styles.css";
-@import "/static/stylesheets/tailwindcss-app.css";
-@import "/static/stylesheets/tailwindcss-spinner.css";
-@import "/static/stylesheets/tailwindcss-app-layer-1.css";
+@import "tailwindcss";
-@import "/static/webfonts/sf-pro-rounded/styles.css";
-@import "/static/webfonts/sf-pro-display/styles.css";
+@import "@radroots/themes/css/styles.css";
+@import "@radroots/themes/css/layout.css";
+@import "@radroots/themes/css/screens.css";
+@import "@radroots/themes/css/theme_os.css";
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
+@import "../static/stylesheets/tailwindcss-app-carousel.css";
+@import "../static/stylesheets/tailwindcss-app-form.css";
+@import "../static/stylesheets/tailwindcss-app-styles.css";
+@import "../static/stylesheets/tailwindcss-app.css";
+@import "../static/stylesheets/tailwindcss-spinner.css";
+@import "../static/stylesheets/tailwindcss-app-ly1.css";
-@layer base {}
+@import "../static/webfonts/sf-pro-rounded/styles.css";
+@import "../static/webfonts/sf-pro-display/styles.css";
+
+@plugin "daisyui" {
+ themes: os_light, os_dark;
+}
+
+@source "./**/*.{svelte,ts}";
+@source "../../packages/lib-app/src/**/*.{svelte,ts}";
+@source "../../packages/apps-lib-pwa/src/**/*.{svelte,ts}";
+
+@theme {
+ --font-sans: "SF Pro Rounded", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
+ --font-sansd: "SF Pro Display", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
+ --font-serif: ui-serif, Georgia, "Times New Roman", serif;
+ --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+
+ --text-guide: 1.25rem;
+ --text-form_base: 1.08rem;
+ --text-line_label: 1.3rem;
+ --text-trellis_ti: 0.8rem;
+ --text-line_d: 1.05rem;
+ --text-nav_prev: 1.09rem;
+ --text-nav_curr: 1.09rem;
+ --text-env_ti: 1.05rem;
+ --text-env_btnc: 1.1rem;
+ --text-env_btnl: 1.1rem;
+
+ --radius-input_form: 8px;
+ --radius-entry: 1.05rem;
+ --radius-touch: 1.25rem;
+
+ --border-width-line: 1px;
+ --border-width-edge: 2px;
+
+ --animate-spin-slow: spin 3s linear infinite;
+}
-@layer components {}
-\ No newline at end of file
diff --git a/app/src/app.d.ts b/app/src/app.d.ts
@@ -3,3 +3,4 @@ declare global {
}
export { };
+
diff --git a/app/src/app.html b/app/src/app.html
@@ -4,14 +4,16 @@
<head>
<meta charset="utf-8" />
+ <title>Rad Roots</title>
+
+ <link rel="manifest" href="%sveltekit.assets%/manifest.json" />
+ <link rel="icon" href="%sveltekit.assets%/favicon.ico" />
+
<link rel="stylesheet" type="text/css" href="/phosphor-icons/bold.css" />
<link rel="stylesheet" type="text/css" href="/phosphor-icons/fill.css" />
<link rel="stylesheet" type="text/css" href="/stylesheets/styles-maplibre-gl.css" />
<link rel="stylesheet" type="text/css" href="/stylesheets/styles-superellipse.css" />
- <script src="/assets/keyva.min.js"></script>
- <script src="/assets/squircle.min.js"></script>
-
<meta name="viewport"
content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no viewport-fit=cover" />
%sveltekit.head%
diff --git a/app/src/lib/config.ts b/app/src/lib/config.ts
@@ -1,3 +0,0 @@
-export const _cfg = {
- role_default: `public`
-} as const;
diff --git a/app/src/lib/locale/i18n.ts b/app/src/lib/locale/i18n.ts
@@ -1,32 +0,0 @@
-import { iso639_1, locales_default } from '@radroots/locales';
-import { i18n_conf } from '@radroots/util';
-
-export type Locale = (typeof locales_default)[number];
-
-const translations: Record<Locale, typeof iso639_1> = locales_default.reduce((acc, locale) => ({ ...acc, [locale as Locale]: iso639_1, }), {} as Record<Locale, typeof iso639_1>);
-const locale_keys = Object.keys(translations);
-
-const i18n = i18n_conf<Locale>({
- default_locale: `en`,
- translations,
- loaders: [
- ...locale_keys.map((locale) => [`common`, `countries`, `error`, `eula`, `icu`, `notification`, `products`, `units`].map(key => ({
- locale,
- key,
- loader: async () => (await import(`../../../../packages/locales/src/messages/${locale}/${key}.json`)).default
- }))),
- ].flat()
-});
-
-const {
- t: ls,
- loading: translations_loading,
- locales,
- locale,
- loadTranslations: load_translations
-} = i18n;
-
-translations_loading.subscribe(async (_loading) => {
- if (_loading) await translations_loading.toPromise();
-});
-export { load_translations, locale, locales, ls, translations, translations_loading };
diff --git a/app/src/lib/store.ts b/app/src/lib/store.ts
@@ -1,4 +0,0 @@
-import { writable } from "svelte/store";
-
-export const cfg_role = writable<string>();
-export const cfg_setup = writable<boolean | undefined>(undefined);
diff --git a/app/src/lib/util/callback.ts b/app/src/lib/util/callback.ts
@@ -1,65 +0,0 @@
-import { app_thc, type LocalCallbackColorMode, type LocalCallbackGeocode, type LocalCallbackGeocodeCurrent, type LocalCallbackGuiAlert, type LocalCallbackGuiConfirm, type LocalCallbackImgBin, type LocalCallbackPhotosAddMultiple, type LocalCallbackPhotosUpload } from "@radroots/lib-app";
-import { parse_color_mode } from "@radroots/theme";
-import { throw_err } from "@radroots/util";
-import { fs, geoc, geol, gui, http } from ".";
-
-export const lc_gui_alert: LocalCallbackGuiAlert = async (message) => {
- return await gui.alert(message);
-};
-
-export const lc_gui_confirm: LocalCallbackGuiConfirm = async (opts) => {
- return await gui.confirm({
- message: typeof opts === `string` ? opts : opts.message,
- ok: typeof opts === `string` ? undefined : opts.ok,
- cancel: typeof opts === `string` ? undefined : opts.cancel,
- });
-};
-
-export const lc_geocode: LocalCallbackGeocode = async (geoc_p) => {
- await geoc.connect();
- const geoc_res = await geoc.reverse(geoc_p);
- if (`err` in geoc_res) throw_err(geoc_res);
- return geoc_res.results[0] || undefined;
-};
-
-export const lc_geop_current: LocalCallbackGeocodeCurrent = async () => {
- const geop = await geol.current();
- if (`err` in geop) throw_err(geop);
- return geop;
-};
-
-export const lc_photos_add: LocalCallbackPhotosAddMultiple = async () => {
- const photo_paths_open = await gui.open_photos();
- if (!photo_paths_open) return;
- if (photo_paths_open.results) return photo_paths_open.results;
-};
-
-export const lc_img_bin: LocalCallbackImgBin = async (file_path) => {
- const data = await fs.read_bin(file_path);
- return data;
-};
-
-export const lc_color_mode: LocalCallbackColorMode = async ({ value }) => {
- if (value) app_thc.set(parse_color_mode(value));
-};
-
-export const lc_photos_upload: LocalCallbackPhotosUpload = async ({ url, path }) => {
- const data_bin = await lc_img_bin(path);
- if (!data_bin) return;
- const res = await http.fetch({
- url,
- method: `put`,
- headers: {
- "Content-Type": `image/jpeg`,
- },
- data_bin,
- });
- if (`err` in res) throw_err(res);
- else if (res.data && res.data.res_base && res.data.res_path && res.data.file_ext) {
- return {
- base_url: res.data.res_base,
- file_hash: res.data.res_path,
- file_ext: res.data.file_ext
- }
- }
-};
-\ No newline at end of file
diff --git a/app/src/lib/util/index.ts b/app/src/lib/util/index.ts
@@ -1,77 +0,0 @@
-import { goto } from "$app/navigation";
-import { PUBLIC_RADROOTS_URL } from "$env/static/public";
-import { ls } from "$lib/locale/i18n";
-import { TauriClientDatabase, TauriClientDatastore, TauriClientFs, TauriClientGeolocation, TauriClientGui, TauriClientHttp, TauriClientKeys, TauriClientRadroots } from "@radroots/client";
-import { Geocoder } from "@radroots/geocoder";
-import { app_notify, get_store, handle_err, type NavigationRouteParamKey, type NavigationRouteParamTuple } from "@radroots/lib-app";
-import { NostrEventService, NostrKeyService, NostrRelayService } from "@radroots/nostr-util";
-import { encode_route, type CallbackPromise } from "@radroots/util";
-import type { NavigationRoute } from "./routes";
-
-export const db = new TauriClientDatabase();
-export const datastore = new TauriClientDatastore();
-export const fs = new TauriClientFs();
-export const geol = new TauriClientGeolocation();
-export const gui = new TauriClientGui();
-export const http = new TauriClientHttp();
-export const keys = new TauriClientKeys();
-export const radroots = new TauriClientRadroots(PUBLIC_RADROOTS_URL);
-
-export const geoc = new Geocoder();
-export const nostrkey = new NostrKeyService();
-export const nostre = new NostrEventService();
-export const nostrl = new NostrRelayService();
-
-export const route = async (nav_route: NavigationRoute, params: NavigationRouteParamTuple[] = []): Promise<void> => {
- try {
- if (params.length) await goto(encode_route<NavigationRoute, NavigationRouteParamKey>(nav_route, params));
- else await goto(nav_route);
- } catch (e) {
- await handle_err(e, `route`);
- };
-};
-
-export const restart = async (opts?: {
- notify_message?: string;
- route?: NavigationRoute;
-}): Promise<void> => {
- try {
- goto(opts?.route || `/`);
- if (opts?.notify_message) app_notify.set(opts.notify_message);
- location.reload();
- } catch (e) {
- await handle_err(e, `restart`);
- }
-};
-
-export const reset = async (): Promise<void> => {
- try {
- const $ls = get_store(ls);
- const confirm = await gui.confirm({
- message: `${$ls(`notification.device.reset`)}. ${$ls(`common.this_action_is_irreversible`)}. ${$ls(`common.do_you_want_to_continue_q`)}`
- });
- if (!confirm) return;
- await keys.nostr_keystore_reset();
- await db.reset();
- goto(`/`)
- app_notify.set(`${$ls(`notification.device.reset_complete`)}`);
- } catch (e) {
- await handle_err(e, `reset`);
- }
-};
-
-export const message_callback = async (message: string, callback: CallbackPromise): Promise<void> => {
- gui.alert(message);
- await callback();
-};
-
-export const debounce = <T extends (...args: any[]) => void>(
- fn: T,
- delay: number
-): T => {
- let timeout: ReturnType<typeof setTimeout>;
- return ((...args: any[]) => {
- clearTimeout(timeout);
- timeout = setTimeout(() => fn(...args), delay);
- }) as T;
-};
diff --git a/app/src/lib/util/lib.ts b/app/src/lib/util/lib.ts
@@ -1,32 +0,0 @@
-import { PUBLIC_RADROOTS_RELAY_URL } from "$env/static/public";
-import type { NostrEventTagClient } from "@radroots/nostr-util";
-import { root_symbol } from "@radroots/util";
-
-export const radroots_nostr_pubkey = `1f5a37bd7050cffe4dd9c35e029fa1da5c84f429de0818c9e22ecf122815e184`
-
-export const err = {
- nostr: {
- no_relays: `error.nostr.no_relays_connected`
- }
-};
-
-export const cfg_delay = {
- load: 321,
- notify: 123,
- mount_el: 500,
- nostr_relay_poll_document: 3000,
- entry_focus: 2000,
- load_notify: 3000,
-};
-
-export const cfg_nostr = {
- relay_url: PUBLIC_RADROOTS_RELAY_URL,
- relay_pubkey: radroots_nostr_pubkey,
- relay_polling_count_max: 10,
-};
-
-export const cfg_nostr_client: NostrEventTagClient = {
- name: root_symbol,
- pubkey: cfg_nostr.relay_pubkey,
- relay: cfg_nostr.relay_url
-};
diff --git a/app/src/lib/util/model/location-gcs.ts b/app/src/lib/util/model/location-gcs.ts
@@ -1,68 +0,0 @@
-import { handle_err, } from "@radroots/lib-app";
-import type { ILocationGcsCreateResolve, LocationGcsFormFields } from "@radroots/models";
-import { err_msg, location_geohash, type GeocoderReverseResult, type GeolocationCoordinatesPoint, type GeolocationPoint } from "@radroots/util";
-import { db, geoc } from "..";
-
-export const model_location_gcs_create_geol_point = async (opts: {
- label?: string;
- tag_0?: string;
- geol_p: GeolocationPoint;
-}): Promise<ILocationGcsCreateResolve<string>> => {
- try {
- const { label, geol_p } = opts;
- const fields: LocationGcsFormFields = {
- lat: geol_p.lat.toString(),
- lng: geol_p.lng.toString(),
- geohash: location_geohash(geol_p),
- tag_0: opts.tag_0,
- }
- if (label) fields.label = label;
- const geoc_rev = await geoc.reverse({
- lat: geol_p.lat,
- lng: geol_p.lng
- });
- if (`results` in geoc_rev && geoc_rev.results.length > 0) {
- const geoc_res = geoc_rev.results[0];
- fields.gc_id = geoc_res.id.toString();
- fields.gc_name = geoc_res.name;
- fields.gc_admin1_id = geoc_res.admin1_id.toString();
- fields.gc_admin1_name = geoc_res.admin1_name;
- fields.gc_country_id = geoc_res.country_id;
- fields.gc_country_name = geoc_res.country_name;
- };
- const res = await db.location_gcs_create(fields);
- return res;
- } catch (e) {
- await handle_err(e, `model_location_gcs_add_position`);
- return err_msg(`*`)
- }
-};
-
-export const model_location_gcs_create = async (opts: {
- label?: string;
- tag_0?: string;
- geoc_r: GeocoderReverseResult;
- geol_p: GeolocationCoordinatesPoint;
-}): Promise<ILocationGcsCreateResolve<string>> => {
- try {
- const { label, geoc_r, geol_p } = opts;
- const fields: LocationGcsFormFields = {
- lat: geol_p.lat.toString(),
- lng: geol_p.lng.toString(),
- geohash: location_geohash(geol_p),
- tag_0: opts.tag_0 || undefined,
- gc_id: geoc_r.id.toString(),
- gc_name: geoc_r.name,
- gc_admin1_id: geoc_r.admin1_id.toString(),
- gc_admin1_name: geoc_r.admin1_name,
- gc_country_id: geoc_r.country_id,
- gc_country_name: geoc_r.country_name,
- };
- if (label) fields.label = label;
- const res = await db.location_gcs_create(fields);
- return res;
- } catch (e) {
- await handle_err(e, `model_location_gcs_add_geocode`);
- return err_msg(`*`)
- }
-};
diff --git a/app/src/lib/util/nostr/lib.ts b/app/src/lib/util/nostr/lib.ts
@@ -1,61 +0,0 @@
-import { ls } from "$lib/locale/i18n";
-import { nostr_poll_relays_handler, nostr_sync_handler } from "@radroots/lib-app";
-import { type NostrRelayFormFields, nostr_relay_parse_form_keys } from "@radroots/models";
-import { throw_err } from "@radroots/util";
-import { db, gui, http } from "..";
-
-export const nostr_poll_relays = async (): Promise<void> => {
- await nostr_poll_relays_handler({
- ls,
- callback_alert: async (msg: string) => void await gui.alert(msg),
- callback_relay_urls: async (public_key: string) => {
- const list_relays = await db.nostr_relay_read_list({
- table: [`on_profile`, { public_key }],
- });
- if (`err` in list_relays) return throw_err(list_relays.err);
- return list_relays.results.map(({ id, url }) => ({ id, url }));
- },
- callback_fetch_document: async (relay_url: string) => {
- return await http.fetch({
- url: relay_url.replace(`ws://`, `http://`).replace(`wss://`, `https://`),
- headers: {
- Accept: "application/nostr+json",
- },
- });
- },
- callback_set_relay_document: async ({ url, doc }) => {
- const fields: Partial<NostrRelayFormFields> = {};
- for (const [k, v] of Object.entries(doc)) {
- const field_k = nostr_relay_parse_form_keys(k);
- if (field_k) fields[field_k] = v;
- }
- if (Object.keys(fields).length < 1) return;
- await db.nostr_relay_update({
- filter: { url },
- fields,
- });
- },
- });
-};
-
-export const nostr_sync = async (): Promise<void> => {
- await nostr_sync_handler({
- ls,
- callback_alert: async (msg: string) => void await gui.alert(msg),
- callback_confirm: async (message: string) => {
- return await gui.confirm({ message });
- },
- callback_metadata: async (public_key: string) => {
- const tb_nostr_profile = await db.nostr_profile_read({ public_key });
- if (`err` in tb_nostr_profile) throw_err(tb_nostr_profile);
- return tb_nostr_profile.result;
- },
- callback_relay_urls: async (public_key: string) => {
- const list_relays = await db.nostr_relay_read_list({
- table: [`on_profile`, { public_key }],
- });
- if (`err` in list_relays) return throw_err(list_relays.err);
- return list_relays.results.map(({ id, url }) => ({ id, url }));
- },
- });
-};
diff --git a/app/src/lib/util/routes.ts b/app/src/lib/util/routes.ts
@@ -1,25 +0,0 @@
-export type NavigationRoute =
- | "/"
- | "/farms"
- | "/farms/add"
- | "/farms/details"
- | "/farms/products/add"
- | "/profile"
- | "/profile/edit"
- | "/init";
-
-export function parse_route(route: string): NavigationRoute {
- switch (route) {
- case "/":
- case "/farms":
- case "/farms/add":
- case "/farms/details":
- case "/farms/products/add":
- case "/profile":
- case "/profile/edit":
- case "/init":
- return route;
- default:
- return "/";
- };
-};
-\ No newline at end of file
diff --git a/app/src/lib/utils/app/app.ts b/app/src/lib/utils/app/app.ts
@@ -0,0 +1,46 @@
+import { goto } from "$app/navigation";
+import { datastore, db, nostr_keys, notif } from "$lib/utils/app";
+import { ls } from "$lib/utils/i18n";
+import { create_router, get_store, handle_err } from "@radroots/apps-lib";
+import { app_notify } from "@radroots/apps-lib-pwa/stores/app";
+import type { CallbackPromise } from "@radroots/utils";
+import { reset_sql_cipher } from "./cipher";
+import type { NavigationRoute } from "./routes";
+
+export const route = create_router<NavigationRoute>();
+
+export const restart = async (opts?: {
+ notify_message?: string;
+ route?: NavigationRoute;
+}): Promise<void> => {
+ try {
+ goto(opts?.route || `/`);
+ if (opts?.notify_message) app_notify.set(opts.notify_message);
+ location.reload();
+ } catch (e) {
+ handle_err(e, `restart`);
+ }
+};
+
+export const reset = async (): Promise<void> => {
+ try {
+ const $ls = get_store(ls);
+ const confirm = await notif.confirm({
+ message: `${$ls(`notification.device.reset`)}. ${$ls(`common.this_action_is_irreversible`)}. ${$ls(`common.do_you_want_to_continue_q`)}`
+ });
+ if (!confirm) return;
+ await nostr_keys.reset();
+ await datastore.reset();
+ await reset_sql_cipher(db.get_store_key());
+ await db.reinit();
+ goto(`/`);
+ app_notify.set(`${$ls(`notification.device.reset_complete`)}`);
+ } catch (e) {
+ handle_err(e, `reset`);
+ }
+};
+
+export const message_callback = async (message: string, callback: CallbackPromise): Promise<void> => {
+ notif.alert(message);
+ await callback();
+};
diff --git a/app/src/lib/utils/app/cipher.ts b/app/src/lib/utils/app/cipher.ts
@@ -0,0 +1,12 @@
+import { WebAesGcmCipher, type WebAesGcmCipherConfig } from "@radroots/client/keystore";
+import { cfg_data } from "../config";
+
+const sql_cipher_config = (store_key: string): WebAesGcmCipherConfig => ({
+ idb_config: cfg_data.sql_cipher,
+ key_name: `radroots.sql.${store_key}.aes-gcm.key`
+});
+
+export const reset_sql_cipher = async (store_key: string): Promise<void> => {
+ const cipher = new WebAesGcmCipher(sql_cipher_config(store_key));
+ await cipher.reset();
+};
+\ No newline at end of file
diff --git a/app/src/lib/utils/app/config.ts b/app/src/lib/utils/app/config.ts
@@ -0,0 +1,10 @@
+import app_pkg from "../../../../package.json" assert { type: "json" };
+
+export const APP_STATE_BACKUP_VERSION = "1.0.0";
+
+export const app_cfg = {
+ version: app_pkg.version ?? "0.0.0",
+ backup: {
+ version: APP_STATE_BACKUP_VERSION
+ }
+} as const;
+\ No newline at end of file
diff --git a/app/src/lib/utils/app/handlers.ts b/app/src/lib/utils/app/handlers.ts
@@ -0,0 +1,66 @@
+import { theme_mode, type LocalCallbackColorMode, type LocalCallbackGeocode, type LocalCallbackGeocodeCurrent, type LocalCallbackGuiAlert, type LocalCallbackGuiConfirm, type LocalCallbackImgBin, type LocalCallbackPhotosAddMultiple, type LocalCallbackPhotosUpload } from "@radroots/apps-lib";
+import { parse_theme_mode } from "@radroots/themes";
+import { throw_err } from "@radroots/utils";
+import { fs, geoc, geol, http, notif } from ".";
+
+export const lc_gui_alert: LocalCallbackGuiAlert = async (message) => {
+ return await notif.alert(message);
+};
+
+export const lc_gui_confirm: LocalCallbackGuiConfirm = async (opts) => {
+ return await notif.confirm({
+ message: typeof opts === `string` ? opts : opts.message,
+ ok: typeof opts === `string` ? undefined : opts.ok,
+ cancel: typeof opts === `string` ? undefined : opts.cancel,
+ });
+};
+
+export const lc_geocode: LocalCallbackGeocode = async (geoc_p) => {
+ await geoc.connect();
+ const geoc_res = await geoc.reverse(geoc_p);
+ if (`err` in geoc_res) throw_err(geoc_res);
+ return geoc_res.results[0] || undefined;
+};
+
+export const lc_geop_current: LocalCallbackGeocodeCurrent = async () => {
+ const resolve = await geol.current();
+ if (`err` in resolve) throw_err(resolve);
+ return resolve;
+};
+
+export const lc_photos_add: LocalCallbackPhotosAddMultiple = async () => {
+ const photo_paths_open = await notif.open_photos();
+ if (!photo_paths_open) return;
+ if (photo_paths_open.results) return photo_paths_open.results;
+};
+
+export const lc_img_bin: LocalCallbackImgBin = async (file_path) => {
+ const resolve = await fs.read_bin(file_path);
+ if ("err" in resolve) throw_err(resolve);
+ return resolve;
+};
+
+export const lc_color_mode: LocalCallbackColorMode = async ({ value }) => {
+ if (value) theme_mode.set(parse_theme_mode(value));
+};
+
+export const lc_photos_upload: LocalCallbackPhotosUpload = async ({ url, path }) => {
+ const data_bin = await lc_img_bin(path);
+ if (!data_bin) return;
+ const res = await http.fetch({
+ url,
+ method: `put`,
+ headers: {
+ "Content-Type": `image/jpeg`,
+ },
+ data_bin,
+ });
+ if (`err` in res) throw_err(res);
+ else if (res.data && res.data.res_base && res.data.res_path && res.data.file_ext) {
+ return {
+ base_url: res.data.res_base,
+ file_hash: res.data.res_path,
+ file_ext: res.data.file_ext
+ }
+ }
+};
+\ No newline at end of file
diff --git a/app/src/lib/utils/app/index.ts b/app/src/lib/utils/app/index.ts
@@ -0,0 +1,46 @@
+import { PUBLIC_RADROOTS_URL } from "$env/static/public";
+import { cfg_data, cfg_datastore_key_map, cfg_datastore_key_obj_map, cfg_datastore_key_param_map } from "$lib/utils/config";
+import { WebDatastore } from "@radroots/client/datastore";
+import { WebFs } from "@radroots/client/fs";
+import { WebGeolocation } from "@radroots/client/geolocation";
+import { WebHttp } from "@radroots/client/http";
+import { WebKeystoreNostr } from "@radroots/client/keystore";
+import { WebNotifications } from "@radroots/client/notifications";
+import { WebClientRadroots } from "@radroots/client/radroots";
+import { WebTangleDatabase } from "@radroots/client/tangle";
+import { Geocoder } from "@radroots/geocoder";
+
+export const datastore = new WebDatastore(
+ cfg_datastore_key_map,
+ cfg_datastore_key_param_map,
+ cfg_datastore_key_obj_map,
+ {
+ database: "radroots-pwa-v1-datastore"
+ }
+);
+export const fs = new WebFs();
+export const geol = new WebGeolocation();
+export const geoc = new Geocoder();
+export const http = new WebHttp();
+export const notif = new WebNotifications();
+export const radroots = new WebClientRadroots(PUBLIC_RADROOTS_URL);
+export const nostr_keys = new WebKeystoreNostr({
+ database: "radroots-pwa-v1-keystore-nostr"
+});
+
+export const db = new WebTangleDatabase({
+ cipher: cfg_data.sql_cipher
+});
+
+let db_i: Promise<WebTangleDatabase> | null = null;
+
+export const create_db = async (): Promise<WebTangleDatabase> => {
+ if (!db_i) {
+ const db_client = new WebTangleDatabase();
+ db_i = (async () => {
+ await db_client.init();
+ return db_client;
+ })();
+ }
+ return db_i;
+};
diff --git a/app/src/lib/utils/app/routes.ts b/app/src/lib/utils/app/routes.ts
@@ -0,0 +1,15 @@
+export type NavigationRoute =
+ | "/"
+ | "/import"
+ | "/setup"
+
+export function parse_route(route: string): NavigationRoute {
+ switch (route) {
+ case "/":
+ case "/import":
+ case "/setup":
+ return route;
+ default:
+ return "/";
+ }
+};
+\ No newline at end of file
diff --git a/app/src/lib/utils/backup/export.ts b/app/src/lib/utils/backup/export.ts
@@ -0,0 +1,89 @@
+import { datastore, db, nostr_keys, notif } from "$lib/utils/app";
+import { download_json, handle_err } from "@radroots/apps-lib";
+import type { ExportedAppState } from "@radroots/apps-lib-pwa/types/app";
+import { throw_err } from "@radroots/utils";
+import { createStore, get as idb_get, keys as idb_keys, type UseStore } from "idb-keyval";
+import { app_cfg } from "../app/config";
+
+const parse_idb_entry = async (key: IDBValidKey, store: UseStore): Promise<[string, string] | undefined> => {
+ if (typeof key !== "string") return undefined;
+ const value = await idb_get(key, store);
+ if (typeof value === "undefined") return undefined;
+ return [key, value];
+};
+
+const export_datastore_state = async (): Promise<ExportedAppState["datastore"]> => {
+ await datastore.init();
+ const ds_cfg = datastore.get_config();
+ if (!ds_cfg) throw_err("error.app.export.missing_datastore_config");
+ const ds_store = createStore(ds_cfg.database, ds_cfg.store);
+ const ds_keys = await idb_keys(ds_store);
+ const entries: Record<string, unknown> = {};
+ for (const key of ds_keys) {
+ const entry = await parse_idb_entry(key, ds_store);
+ if (entry) entries[entry[0]] = entry[1];
+ }
+ return { config: ds_cfg, entries };
+};
+
+const export_nostr_keystore_state = async (): Promise<ExportedAppState["nostr_keystore"]> => {
+ const nostr_cfg = nostr_keys.get_config();
+ if (!nostr_cfg) throw_err("error.app.export.missing_nostr_keystore_config");
+
+ const keys: ExportedAppState["nostr_keystore"]["keys"] = [];
+ try {
+ const nostr_keys_all = await nostr_keys.keys();
+ if ("err" in nostr_keys_all) throw_err(nostr_keys_all.err);
+ for (const public_key of nostr_keys_all.results) {
+ const secret_key = await nostr_keys.read(public_key);
+ if ("err" in secret_key) throw_err(secret_key.err);
+ keys.push({
+ public_key,
+ secret_key: secret_key.secret_key
+ });
+ }
+ } catch { }
+ return {
+ config: nostr_cfg,
+ keys
+ };
+};
+
+const export_tangle_db_state = async (): Promise<ExportedAppState["database"]> => {
+ await db.init();
+ const store_key = db.get_store_key();
+ const backup = await db.export_backup();
+ return { store_key, backup };
+};
+
+export const export_app_state = async (): Promise<void> => {
+ try {
+ if (typeof window === "undefined") return;
+ const [
+ datastore_state,
+ nostr_keystore_state,
+ tangle_db_state
+ ] = await Promise.all([
+ export_datastore_state(),
+ export_nostr_keystore_state(),
+ export_tangle_db_state()
+ ]);
+ const payload: ExportedAppState = {
+ backup_version: app_cfg.backup.version,
+ exported_at: new Date().toISOString(),
+ versions: {
+ app: app_cfg.version,
+ tangle_sql: tangle_db_state.backup.tangle_sql_version,
+ backup_format: tangle_db_state.backup.format_version
+ },
+ datastore: datastore_state,
+ nostr_keystore: nostr_keystore_state,
+ database: tangle_db_state
+ };
+ const ts = payload.exported_at.replace(/[:.]/g, "-");
+ download_json(payload, `radroots-app-state-${ts}.json`);
+ } catch (e) {
+ handle_err(e, `export_app_state`);
+ await notif.alert(`Unable to export app state. Please try again.`);
+ }
+};
diff --git a/app/src/lib/utils/backup/import.ts b/app/src/lib/utils/backup/import.ts
@@ -0,0 +1,126 @@
+import { datastore, db, nostr_keys } from "$lib/utils/app";
+import { handle_err, parse_file_json } from "@radroots/apps-lib";
+import type { ImportableAppState } from "@radroots/apps-lib-pwa/types/app";
+import type { IError } from "@radroots/types-bindings";
+import type { IdbClientConfig } from "@radroots/utils";
+import { err_msg, throw_err } from "@radroots/utils";
+import { createStore, set as idb_set } from "idb-keyval";
+import { reset_sql_cipher } from "../app/cipher";
+import { app_cfg } from "../app/config";
+
+export type AppImportStateResult = {
+ pass: boolean;
+ message?: string;
+}
+
+const assert_config_match = (
+ current: IdbClientConfig,
+ incoming: IdbClientConfig,
+ label: string
+): void => {
+ if (current.database !== incoming.database || current.store !== incoming.store) {
+ throw_err(
+ `Import failed: ${label} storage mismatch (app=${current.database}/${current.store}, backup=${incoming.database}/${incoming.store})`
+ );
+ }
+};
+
+export const validate_import_file = async (file: File | null): Promise<ImportableAppState> => {
+ const parsed: any = await parse_file_json(file)
+ if (!parsed) throw_err("error.app.import.invalid_file_contents")
+ return await validate_import_state(parsed);
+};
+
+export const validate_import_state = async (state: any): Promise<ImportableAppState> => {
+ if (!state || typeof state !== "object") throw_err("Import file is empty.");
+ if (state.backup_version !== app_cfg.backup.version) {
+ throw_err(
+ `Unsupported backup version (${state.backup_version}); expected ${app_cfg.backup.version}.`
+ );
+ }
+ const backup_format = state?.versions?.backup_format ?? state?.versions?.dump_format;
+ if (!state.versions || !state.versions.app || !state.versions.tangle_sql || !backup_format) {
+ throw_err("Import file is missing version metadata.");
+ }
+ const database = state.database ?? state.tangle_db;
+ const backup = database?.backup ?? database?.dump;
+ if (!state.datastore || !state.nostr_keystore || !database) {
+ throw_err("Import file is missing required sections.");
+ }
+ if (!backup || backup.format_version !== backup_format) {
+ throw_err("Import file database backup format does not match metadata.");
+ }
+ if (backup.tangle_sql_version !== state.versions.tangle_sql) {
+ throw_err("Import file tangle-sql version does not match metadata.");
+ }
+ return {
+ ...state,
+ versions: { ...state.versions, backup_format },
+ database: { ...database, backup }
+ };
+};
+
+
+const restore_datastore_state = async (state: ImportableAppState["datastore"]): Promise<void> => {
+ const ds_cfg = datastore.get_config();
+ assert_config_match(ds_cfg, state.config, "datastore");
+ const reset_res = await datastore.reset();
+ if (reset_res && "err" in reset_res) throw_err(reset_res.err);
+ const store = createStore(ds_cfg.database, ds_cfg.store);
+ const entries = Object.entries(state.entries);
+ for (const [key, value] of entries) {
+ await idb_set(key, value, store);
+ }
+};
+
+const restore_nostr_keystore_state = async (
+ state: ImportableAppState["nostr_keystore"]
+): Promise<void> => {
+ const nostr_cfg = nostr_keys.get_config();
+ assert_config_match(nostr_cfg, state.config, "nostr keystore");
+ const reset_res = await nostr_keys.reset();
+ if (reset_res && "err" in reset_res) throw_err(reset_res.err);
+ for (const key of state.keys) {
+ const add_res = await nostr_keys.add(key.secret_key);
+ if ("err" in add_res) throw_err(add_res.err);
+ }
+};
+
+const restore_tangle_db_state = async (state: ImportableAppState["database"]): Promise<void> => {
+ const current_store_key = db.get_store_key();
+ if (current_store_key !== state.store_key) {
+ throw_err(
+ `Import failed: tangle DB store key mismatch (app=${current_store_key}, backup=${state.store_key}).`
+ );
+ }
+ await reset_sql_cipher(current_store_key);
+ await db.reinit();
+ await db.import_backup(state.backup);
+};
+
+export const import_app_state = async (payload: ImportableAppState): Promise<AppImportStateResult | IError<string>> => {
+ try {
+ if (typeof window === "undefined") return err_msg("error.client.undefined_window");
+ const import_state = await validate_import_state(payload);
+ assert_config_match(datastore.get_config(), import_state.datastore.config, "datastore");
+ assert_config_match(nostr_keys.get_config(), import_state.nostr_keystore.config, "nostr keystore");
+ const current_store_key = db.get_store_key();
+ if (current_store_key !== import_state.database.store_key) {
+ console.error(`Import failed: tangle DB store key mismatch (app=${current_store_key}, backup=${import_state.database.store_key}).`);
+ return err_msg("error.database.store_key_mismatch");
+ }
+ await restore_datastore_state(import_state.datastore);
+ await restore_nostr_keystore_state(import_state.nostr_keystore);
+ await restore_tangle_db_state(import_state.database);
+
+ return { pass: true }
+ } catch (e) {
+ handle_err(e, `import_app_state`);
+ return { pass: false, message: "Unable to import app state. Please verify the file and try again." }
+ }
+};
+
+export const import_app_state_from_file = async (file: File): Promise<ReturnType<typeof import_app_state>> => {
+ const validated = await validate_import_file(file);
+ return await import_app_state(validated);
+};
diff --git a/app/src/lib/utils/config.ts b/app/src/lib/utils/config.ts
@@ -0,0 +1,80 @@
+import { PUBLIC_RADROOTS_RELAY_URL } from "$env/static/public";
+import type { AppConfigRole } from "@radroots/apps-lib-pwa/types/app";
+import { root_symbol } from "@radroots/utils";
+import type { NostrEventTagClient } from "@radroots/utils-nostr";
+
+export const cfg_data = {
+ sql_cipher: {
+ database: "radroots-pwa-v1-sql-cipher",
+ store: "default",
+ }
+} as const;
+
+export const _cfg = {
+ role_default: `public`
+} as const;
+
+export const radroots_nostr_pubkey = `1f5a37bd7050cffe4dd9c35e029fa1da5c84f429de0818c9e22ecf122815e184`
+
+export const err = {
+ nostr: {
+ no_relays: `error.nostr.no_relays_connected`
+ }
+};
+
+export const cfg_delay = {
+ load: 321,
+ notify: 123,
+ mount_el: 500,
+ nostr_relay_poll_document: 3000,
+ entry_focus: 2000,
+ load_notify: 3000,
+};
+
+export const cfg_nostr = {
+ relay_url: PUBLIC_RADROOTS_RELAY_URL,
+ relay_pubkey: radroots_nostr_pubkey,
+ relay_polling_count_max: 10,
+};
+
+export const cfg_nostr_client: NostrEventTagClient = {
+ name: root_symbol,
+ pubkey: cfg_nostr.relay_pubkey,
+ relay: cfg_nostr.relay_url
+};
+
+export const cfg_datastore_key_map = {
+ //cfg_nostr_key: "cfg:nostr:key",
+ //cfg_profile: "cfg:profile",
+ nostr_key: "nostr:key",
+ eula_date: "app:eula:date",
+} as const;
+
+export const cfg_datastore_key_param_map = {
+ nostr_profile: (public_key: string) => `nostr:${public_key}:profile`,
+ radroots_profile: (public_key: string) => `radroots:${public_key}:profile`,
+} as const;
+
+
+export type ConfigData = {
+ nostr_public_key?: string;
+ nostr_profile?: string;
+ role?: AppConfigRole;
+ nip05_request?: boolean;
+};
+
+export type AppData = {
+ active_key: string;
+ role: AppConfigRole;
+ eula_date: string;
+};
+
+export type cfg_datastore_key_obj_map_types = {
+ cfg_data: ConfigData;
+ app_data: AppData;
+}
+
+export const cfg_datastore_key_obj_map: Record<keyof cfg_datastore_key_obj_map_types, string> = {
+ cfg_data: "cfg:data",
+ app_data: "app:data",
+};
diff --git a/app/src/lib/utils/i18n.ts b/app/src/lib/utils/i18n.ts
@@ -0,0 +1,33 @@
+import { i18n_conf } from '@radroots/apps-lib';
+import { iso639_1, locales_default, type Locales } from '@radroots/locales';
+
+export type Locale = Locales;
+
+const translations: Record<Locale, typeof iso639_1> = locales_default.reduce((acc, locale) => ({ ...acc, [locale as Locale]: iso639_1, }), {} as Record<Locale, typeof iso639_1>);
+const locale_keys = Object.keys(translations);
+
+const i18n = i18n_conf<Locale>({
+ default_locale: `en`,
+ translations,
+ loaders: [
+ ...locale_keys.map((locale) => [`common`, `countries`, `error`, `eula`, `icu`, `notification`, `products`, `units`].map(key => ({
+ locale,
+ key,
+ loader: async () => (await import(`../../../../packages/locales/src/messages/${locale}/${key}.json`)).default
+ }))),
+ ].flat()
+});
+
+const {
+ t: ls,
+ loading: translations_loading,
+ locales,
+ locale,
+ loadTranslations: load_translations
+} = i18n;
+
+translations_loading.subscribe(async (_loading) => {
+ if (_loading) await translations_loading.toPromise();
+});
+
+export { load_translations, locale, locales, ls, translations, translations_loading };
diff --git a/app/src/lib/utils/nostr/lib.ts b/app/src/lib/utils/nostr/lib.ts
@@ -0,0 +1,11 @@
+import { PUBLIC_NOSTR_RELAY_DEFAULTS } from "$env/static/public";
+
+export const get_default_nostr_relays = (): string[] => {
+ return Array.from(
+ new Set(
+ PUBLIC_NOSTR_RELAY_DEFAULTS.split(",")
+ .map((url) => url.trim())
+ .filter((url) => url.length > 0),
+ ),
+ );
+};
diff --git a/app/src/routes/(app)/+error.svelte b/app/src/routes/(app)/+error.svelte
@@ -1,20 +0,0 @@
-<script lang="ts">
- import { goto } from "$app/navigation";
- import { page } from "$app/state";
-</script>
-
-<div class={`flex flex-col w-full pt-20 justify-center items-center`}>
- <p class={`font-sans font-[400] text-layer-0-glyph`}>
- {`error: ${page.error?.message || `no message`}`}
- </p>
- <button
- class={`flex flex-row justify-center items-center`}
- onclick={async () => {
- await goto(`/`);
- }}
- >
- <p class={`font-sans font-[400] text-layer-0-glyph`}>
- {`reset`}
- </p>
- </button>
-</div>
diff --git a/app/src/routes/(app)/+layout.svelte b/app/src/routes/(app)/+layout.svelte
@@ -1,120 +1,7 @@
<script lang="ts">
- import { datastore, db, gui, http, keys } from "$lib/util";
- import {
- app_notify,
- app_splash,
- handle_err,
- idb_init,
- ndk,
- ndk_user,
- nostr_ndk_configured,
- nostr_poll_relays_retry_handler,
- } from "@radroots/lib-app";
- import { ndk_init } from "@radroots/nostr-util";
- import { throw_err } from "@radroots/util";
-
- import { _cfg } from "$lib/config";
- import { cfg_role, cfg_setup } from "$lib/store";
- import { nostr_poll_relays } from "$lib/util/nostr/lib";
- import { onMount } from "svelte";
import type { LayoutProps } from "./$types";
- let { children, data }: LayoutProps = $props();
-
- onMount(async () => {
- try {
- await init();
- } catch (e) {
- handle_err(e, `on_mount`);
- } finally {
- app_splash.set(false);
- }
- });
-
- const init = async (): Promise<void> => {
- try {
- if (`paintWorklet` in CSS)
- (CSS as any).paintWorklet.addModule(`/assets/squircle.min.js`);
- await http.init();
- await datastore.init();
- await idb_init();
- await nostr_init();
- //
- // is setup
- const ds_setup = await datastore.get(`is_setup`);
- if (`err` in ds_setup) cfg_setup.set(false);
- else cfg_setup.set(true);
- //
- // role
- const ds_role = await datastore.get(`role`);
- if (`err` in ds_role) {
- await datastore.set(`role`, _cfg.role_default);
- cfg_role.set(_cfg.role_default);
- } else cfg_role.set(ds_role.result);
- } catch (e) {
- await handle_err(e, `init`);
- }
- };
-
- const nostr_init = async (): Promise<void> => {
- if (!data.public_key) throw_err(`*-key_nostr`);
- const keys_nostr_read = await keys.nostr_read(data.public_key);
- if (`err` in keys_nostr_read) throw_err(keys_nostr_read);
- const tb_nostr_relays = await db.nostr_relay_read_list({
- table: [`on_profile`, { public_key: data.public_key }],
- });
- if (`err` in tb_nostr_relays) throw_err(tb_nostr_relays);
- $ndk.explicitRelayUrls = [];
- for (const { url } of tb_nostr_relays.results)
- $ndk.addExplicitRelay(url);
- await $ndk.connect().then(() => {
- console.log(`[tangle] ndk connected`);
- });
- const ndk_user_init = await ndk_init({
- $ndk,
- secret_key: keys_nostr_read.secret_key,
- });
- if (!ndk_user_init) throw_err(`error.nostr.ndk_user_undefined`);
- $ndk_user = ndk_user_init;
- $ndk_user.ndk = $ndk;
- nostr_ndk_configured.set(true);
- };
-
- nostr_ndk_configured.subscribe(async (_sub) => {
- if (!_sub) return;
- // @todo await nostr_sync_retry_handler(nostr_sync);
- await nostr_poll_relays_retry_handler(nostr_poll_relays);
- });
-
- app_notify.subscribe(async (_sub) => {
- if (!_sub) return;
- await gui.notify_send(_sub);
- app_notify.set(``);
- });
-
- cfg_role.subscribe(async (_sub) => {
- if (!_sub) return;
- });
-
- cfg_setup.subscribe(async (_sub) => {
- if (!_sub) return;
- });
+ let { data, children }: LayoutProps = $props();
</script>
-{#if typeof $cfg_setup !== `undefined`}
- {#if !$cfg_setup}
- {@render children()}
- {:else}
- <div class={`flex flex-col w-full pt-20 justify-start items-center`}>
- <button
- class={`flex flex-row justify-center items-center`}
- onclick={async () => {
- await datastore.remove(`is_setup`);
- location.reload();
- }}
- >
- {`setup device`}
- </button>
- </div>
- {/if}
-{/if}
+{@render children()}
diff --git a/app/src/routes/(app)/+layout.ts b/app/src/routes/(app)/+layout.ts
@@ -1,6 +1,8 @@
-import { datastore, keys, route } from '$lib/util';
-import { handle_err } from '@radroots/lib-app';
+import { datastore, nostr_keys } from '$lib/utils/app';
+import { route } from '$lib/utils/app/app';
+import { type AppData } from '$lib/utils/config';
+import { handle_err } from '@radroots/apps-lib';
import type { LayoutLoad, LayoutLoadEvent } from '../$types';
export type LayoutAppLoad = {
@@ -10,14 +12,14 @@ export type LayoutAppLoad = {
export const load: LayoutLoad<LayoutAppLoad> = async (_: LayoutLoadEvent) => {
try {
await datastore.init();
- const ks_keynostr = await datastore.get(`key_nostr`);
- if (`err` in ks_keynostr) return void await route(`/init`);
- const nostrkey = await keys.nostr_read(ks_keynostr.result);
- if (`err` in nostrkey) return void await route(`/init`);
+ const ds_app_data = await datastore.get_obj<AppData>("app_data");
+ if ("err" in ds_app_data) return void await route(`/setup`);
+ const ks_active_key = await nostr_keys.read(ds_app_data.result.active_key);
+ if ("err" in ks_active_key) return void await route(`/setup`);
return {
- public_key: ks_keynostr.result
+ public_key: ds_app_data.result.active_key
};
} catch (e) {
- await handle_err(e, `(app)load`);
+ handle_err(e, `(app)load`);
};
};
diff --git a/app/src/routes/(app)/+page.svelte b/app/src/routes/(app)/+page.svelte
@@ -1,6 +1,19 @@
<script lang="ts">
- import { route } from "$lib/util";
- import { handle_err, Home, type IViewHomeData } from "@radroots/lib-app";
+ import { notif } from "$lib/utils/app";
+ import { handle_err, sleep } from "@radroots/apps-lib";
+ import { Home } from "@radroots/apps-lib-pwa";
+ import { qp_ref } from "@radroots/apps-lib-pwa/stores/app";
+ import type { IViewHomeData } from "@radroots/apps-lib-pwa/types/views";
+
+ qp_ref.subscribe(async (_qp_ref) => {
+ if (_qp_ref?.toString() === "backup_imported") {
+ await sleep(100);
+ await notif.alert(
+ "The application backup has been succesfully imported.",
+ );
+ qp_ref.set(null);
+ }
+ });
let data: IViewHomeData | undefined = $state({});
</script>
@@ -10,7 +23,7 @@
data,
on_handle_farms: async () => {
try {
- await route(`/farms`);
+ alert("route to /farms"); //await route("/farms");
} catch (e) {
await handle_err(e, `on_handle_farms`);
}
diff --git a/app/src/routes/(app)/farms/+page.svelte b/app/src/routes/(app)/farms/+page.svelte
@@ -1,73 +0,0 @@
-<script lang="ts">
- import { db, route } from "$lib/util";
- import { Farms, handle_err, type IViewFarmsData } from "@radroots/lib-app";
- import {
- location_gcs_to_location_basis,
- type FarmExtended,
- } from "@radroots/util";
- import { onMount } from "svelte";
-
- type LoadData = IViewFarmsData | undefined;
- let data: LoadData = $state(undefined);
-
- onMount(async () => {
- data = await load_data();
- });
-
- const load_data = async (): Promise<LoadData> => {
- try {
- const tb_farms = await db.farm_read_list();
- return {
- list:
- `results` in tb_farms
- ? (await Promise.all(
- tb_farms.results.map(async (i) => {
- const tb_loc_gcs =
- await db.location_gcs_read_list({
- table: [`on_farm`, { id: i.id }],
- });
- return {
- farm: {
- id: i.id,
- name: i.name,
- area: i.area,
- area_unit: i.area_unit,
- },
- location:
- `results` in tb_loc_gcs &&
- tb_loc_gcs.results[0]
- ? location_gcs_to_location_basis(
- tb_loc_gcs.results[0],
- )
- : undefined,
- } satisfies FarmExtended;
- }),
- )) || []
- : [],
- } satisfies LoadData;
- } catch (e) {
- await handle_err(e, `load`);
- }
- };
-</script>
-
-<Farms
- basis={{
- data,
- callback_route: { route: `/` },
- on_handle_farm_add: async () => {
- try {
- await route(`/farms/add`);
- } catch (e) {
- await handle_err(e, `on_handle_farm_add`);
- }
- },
- on_handle_farm_view: async (farm_id) => {
- try {
- await route(`/farms/details`, [[`id`, farm_id]]);
- } catch (e) {
- await handle_err(e, `on_handle_farm_view`);
- }
- },
- }}
-/>
diff --git a/app/src/routes/(app)/farms/add/+page.svelte b/app/src/routes/(app)/farms/add/+page.svelte
@@ -1,49 +0,0 @@
-<script>
- import { db, route } from "$lib/util";
- import { model_location_gcs_create } from "$lib/util/model/location-gcs";
- import { FarmsAdd, handle_err } from "@radroots/lib-app";
- import { throw_err } from "@radroots/util";
-</script>
-
-<FarmsAdd
- basis={{
- callback_route: { route: `/farms` },
- on_submit: async ({ data_s }) => {
- try {
- console.log(JSON.stringify(data_s, null, 4), `data_s`);
-
- const farm_create = await db.farm_create({
- name: data_s.farm_name,
- area: data_s.farm_area
- ? data_s.farm_area.toString()
- : undefined,
- area_unit: data_s.farm_area_unit,
- });
- if (`err` in farm_create) throw_err(farm_create);
- if (`err_s` in farm_create) throw_err(farm_create.err_s[0]); //@todo
-
- const location_gcs_create = await model_location_gcs_create({
- geoc_r: data_s.geocode_result,
- geol_p: data_s.geolocation_point,
- });
- if (`err` in location_gcs_create)
- throw_err(location_gcs_create);
- if (`err_s` in location_gcs_create)
- throw_err(location_gcs_create.err_s[0]); //@todo
-
- const farm_location_set = await db.farm_location_set({
- farm: {
- id: farm_create.id,
- },
- location_gcs: {
- id: location_gcs_create.id,
- },
- });
- if (`err` in farm_location_set) throw_err(farm_location_set);
- await route(`/farms`);
- } catch (e) {
- await handle_err(e, `on_submit`);
- }
- },
- }}
-/>
diff --git a/app/src/routes/(app)/farms/details/+page.svelte b/app/src/routes/(app)/farms/details/+page.svelte
@@ -1,71 +0,0 @@
-<script lang="ts">
- import { db, route } from "$lib/util";
- import {
- FarmsDetails,
- handle_err,
- qp_id,
- type IViewFarmsDetailsData,
- } from "@radroots/lib-app";
- import { location_gcs_to_location_basis } from "@radroots/util";
- import { onMount } from "svelte";
-
- type LoadData = IViewFarmsDetailsData | undefined;
- let data: LoadData = $state(undefined);
-
- onMount(async () => {
- data = await load_data();
- });
-
- const load_data = async (): Promise<LoadData> => {
- try {
- const tb_farm = await db.farm_read({ id: $qp_id || `` });
- if (`err` in tb_farm) return void route(`/farms`);
- const tb_farm_location = await db.location_gcs_read_list({
- table: [`on_farm`, { id: tb_farm.result.id }],
- });
- return {
- farm: {
- ...tb_farm.result,
- },
- location:
- `results` in tb_farm_location && tb_farm_location.results[0]
- ? location_gcs_to_location_basis(
- tb_farm_location.results[0],
- )
- : undefined,
- } satisfies LoadData;
- } catch (e) {
- await handle_err(e, `load_data`);
- }
- };
-</script>
-
-{#if data}
- <FarmsDetails
- basis={{
- data,
- callback_route: { route: `/farms` },
- on_handle_farm_lot_add: async (farm_id) => {
- try {
- // await route(`/farms/lots/add`, [[`id`, farm_id]]);
- } catch (e) {
- await handle_err(e, `on_handle_farm_lot_add`);
- }
- },
- on_handle_farm_products_view: async (farm_id) => {
- try {
- // @todo
- await route(`/farms/products/add`, [[`id`, farm_id]]);
- } catch (e) {
- await handle_err(e, `on_handle_farm_products_view`);
- }
- },
- on_handle_farm_orders_view: async (farm_id) => {
- try {
- } catch (e) {
- await handle_err(e, `on_handle_farm_orders_view`);
- }
- },
- }}
- />
-{/if}
diff --git a/app/src/routes/(app)/farms/products/add/+page.svelte b/app/src/routes/(app)/farms/products/add/+page.svelte
@@ -1,77 +0,0 @@
-<script lang="ts">
- import { db, route } from "$lib/util";
- import {
- FarmsProductsAdd,
- handle_err,
- qp_id,
- type IViewFarmsProductsAddData,
- } from "@radroots/lib-app";
- import { location_gcs_to_location_basis } from "@radroots/util";
- import { onMount } from "svelte";
-
- type LoadData = IViewFarmsProductsAddData | undefined;
- let data: LoadData = $state(undefined);
-
- onMount(async () => {
- data = await load_data();
- });
-
- const load_data = async (): Promise<LoadData> => {
- try {
- const tb_farm = await db.farm_read({ id: $qp_id || `` });
- if (`err` in tb_farm) return void route(`/farms`);
- console.log(JSON.stringify(tb_farm, null, 4), `tb_farm`);
- const tb_farm_location = await db.location_gcs_read_list({
- table: [`on_farm`, { id: tb_farm.result.id }],
- });
- return {
- farm: {
- ...tb_farm.result,
- },
- location:
- `results` in tb_farm_location && tb_farm_location.results[0]
- ? location_gcs_to_location_basis(
- tb_farm_location.results[0],
- )
- : undefined,
- } satisfies LoadData;
- } catch (e) {
- await handle_err(e, `load_data`);
- }
- };
-</script>
-
-{#if data}
- <FarmsProductsAdd
- basis={{
- data,
- on_handle_farm_lot_add: async () => {
- try {
- } catch (e) {
- await handle_err(e, `on_handle_farm_lot_add`);
- }
- },
- on_handle_photo_envelope_edit: async () => {
- try {
- } catch (e) {
- await handle_err(e, `on_handle_photo_envelope_edit`);
- }
- },
- on_handle_tradepr_key_toggle: async () => {
- try {
- return ``;
- } catch (e) {
- await handle_err(e, `on_handle_tradepr_key_toggle`);
- return ``;
- }
- },
- on_submit: async ({ payload, farm_id, geolocation_id }) => {
- try {
- console.log(JSON.stringify(payload, null, 4), `payload`);
- } catch (e) {
- await handle_err(e, `on_submit`);
- }
- },
- }}
- />
-{/if}
diff --git a/app/src/routes/(app)/profile/+page.svelte b/app/src/routes/(app)/profile/+page.svelte
@@ -1,150 +0,0 @@
-<script lang="ts">
- import { ls } from "$lib/locale/i18n";
- import { db, fs, gui, keys, radroots, route } from "$lib/util";
- import {
- handle_err,
- ndk_user,
- nostr_sync,
- Profile,
- type IViewProfileData,
- } from "@radroots/lib-app";
- import { parse_file_path, throw_err, type FilePath } from "@radroots/util";
- import { onMount } from "svelte";
-
- let data: IViewProfileData | undefined = $state(undefined);
- let loading_photo_upload = $state(false);
- let loading_photo_upload_open = $state(false);
- let photo_path = $state(``);
-
- onMount(async () => {
- try {
- const tb_nostr_profile = await db.nostr_profile_read({
- public_key: $ndk_user?.pubkey,
- });
- console.log(
- JSON.stringify(tb_nostr_profile, null, 4),
- `tb_nostr_profile`,
- );
- if (`result` in tb_nostr_profile) {
- data = { ...tb_nostr_profile.result };
- await nostr_sync.metadata({
- metadata: tb_nostr_profile.result,
- }); // no await
- return;
- }
- return void (await route(`/`));
- } catch (e) {
- handle_err(e, `on_mount`);
- }
- });
-</script>
-
-<Profile
- bind:photo_path
- basis={{
- data,
- loading_photo_upload,
- loading_photo_upload_open,
- on_destroy: async () => {
- try {
- const tb_nostrprofile = await db.nostr_profile_read({
- public_key: $ndk_user?.pubkey,
- });
- if (`err` in tb_nostrprofile) throw_err(tb_nostrprofile); //@todo
- await nostr_sync.metadata({
- metadata: tb_nostrprofile.result,
- }); // no await
- } catch (e) {
- await handle_err(e, `on_destroy`);
- }
- },
- on_handle_back: async ({ is_photo_existing }) => {
- try {
- const public_key = $ndk_user?.pubkey;
- if (!photo_path || !public_key) return void (await route(`/`));
- const keys_nostr_read = await keys.nostr_read(public_key);
- if (`err` in keys_nostr_read) throw_err(keys_nostr_read);
- if (photo_path) {
- const confirm = await gui.confirm({
- message: is_photo_existing
- ? `${$ls(`notification.profile.handle_back_with_selected_photo`)}`
- : `${$ls(`notification.profile.handle_back_with_selected_photo_no_existing`)}`,
- ok: `${$ls(`common.upload_photo`)}`,
- cancel: is_photo_existing
- ? `${$ls(`common.keep_previous`)}`
- : `${$ls(`common.continue`)}`,
- });
- if (!confirm) return void (await route(`/`));
- }
- loading_photo_upload = true;
- let upload_file_path: FilePath | undefined = undefined;
- parse_file_path(photo_path);
- const tb_media_upload_existing = await db.media_image_read({
- file_path: photo_path,
- });
- if (`result` in tb_media_upload_existing)
- upload_file_path = parse_file_path(
- tb_media_upload_existing.result.file_path,
- );
- else upload_file_path = parse_file_path(photo_path);
- if (!upload_file_path) throw_err(`error.util.parse_file_path`);
- const file_data = await fs.read_bin(upload_file_path.file_path);
- const res_fetch_media_image_upload =
- await radroots.fetch_media_image_upload({
- file_path: upload_file_path,
- file_data,
- secret_key: keys_nostr_read.secret_key,
- });
- if (`err` in res_fetch_media_image_upload)
- throw_err(res_fetch_media_image_upload);
- const { res_base: upload_res_base, res_path: upload_res_path } =
- res_fetch_media_image_upload;
- const tb_media_image_create = await db.media_image_create({
- file_path: upload_file_path.file_path,
- res_base: upload_res_base,
- res_path: upload_res_path,
- mime_type: upload_file_path.mime_type,
- });
- if (`err` in tb_media_image_create)
- throw_err(tb_media_image_create);
- const tb_nostr_profile_update = await db.nostr_profile_update({
- filter: { public_key },
- fields: {
- picture: `${upload_res_base}/${upload_res_path}.${upload_file_path.mime_type}`,
- },
- });
- if (`err` in tb_nostr_profile_update)
- throw_err(tb_nostr_profile_update);
- await route(`/`);
- } catch (e) {
- await handle_err(e, `on_handle_back`);
- } finally {
- loading_photo_upload = false;
- }
- },
- on_handle_edit_profile_field: async ({ field }) => {
- try {
- if (field === `name`) {
- const confirm = await gui.confirm({
- message: `${$ls(`notification.profile.update_name_confirmation`)}. ${$ls(`common.do_you_want_to_continue_q`)}`,
- ok: `${$ls(`common.continue`)}`,
- cancel: `${$ls(`common.cancel`)}`,
- });
- if (!confirm) return;
- }
- await route(`/profile/edit`, [
- [`key_nostr`, $ndk_user?.pubkey],
- [`field`, field],
- ]);
- } catch (e) {
- await handle_err(e, `on_handle_edit_profile_field`);
- }
- },
- on_handle_photo_options: async () => {
- try {
- } catch (e) {
- await handle_err(e, `on_handle_photo_options`);
- }
- },
- }}
-/>
diff --git a/app/src/routes/(app)/profile/edit/+page.svelte b/app/src/routes/(app)/profile/edit/+page.svelte
@@ -1,101 +0,0 @@
-<script lang="ts">
- import { ls } from "$lib/locale/i18n";
- import { db, gui, route } from "$lib/util";
- import {
- handle_err,
- type IViewProfileEditData,
- nostr_sync,
- parse_view_profile_field_key,
- ProfileEdit,
- qp_field,
- qp_keynostr,
- } from "@radroots/lib-app";
- import { throw_err } from "@radroots/util";
- import { onMount } from "svelte";
-
- type LoadData = IViewProfileEditData | undefined;
- let data: LoadData = $state(undefined);
-
- let val_field_init = $state(``);
- let val_field = $state(``);
-
- onMount(async () => {
- try {
- data = await load();
- if (!data) return void (await route(`/`)); //@todo
- } catch (e) {
- handle_err(e, `on_mount`);
- }
- });
-
- const load = async (): Promise<LoadData> => {
- try {
- const field = parse_view_profile_field_key($qp_field);
- if (!field || !$qp_keynostr) return void (await route(`/`));
- const tb_nostr_profile = await db.nostr_profile_read({
- public_key: $qp_keynostr,
- });
- console.log(
- JSON.stringify(tb_nostr_profile, null, 4),
- `tb_nostr_profile`,
- );
- if (`err` in tb_nostr_profile) return void (await route(`/`));
- if (field in tb_nostr_profile.result)
- val_field = tb_nostr_profile.result[field] || ``;
- val_field_init = val_field;
- return {
- public_key: tb_nostr_profile.result.public_key,
- field,
- } satisfies LoadData;
- } catch (e) {
- await handle_err(e, `load`);
- }
- };
-</script>
-
-<ProfileEdit
- bind:val_field
- basis={{
- data,
- on_handle_back: async ({ field, public_key }) => {
- try {
- if (val_field_init === val_field)
- return void (await route(`/profile`));
- const confirm = await gui.confirm({
- message: `${$ls(`notification.profile.update_name_confirmation`)}. ${$ls(`common.do_you_want_to_continue_q`)}`,
- });
- if (!confirm) return;
- const nostr_profile_update = await db.nostr_profile_update({
- filter: {
- public_key,
- },
- fields: {
- [field]: val_field,
- },
- });
- if (`err` in nostr_profile_update)
- throw_err(nostr_profile_update);
- const tb_nostr_profile = await db.nostr_profile_read({
- public_key,
- });
- console.log(
- JSON.stringify(tb_nostr_profile, null, 4),
- `tb_nostr_profile`,
- );
- if (`err` in tb_nostr_profile) throw_err(tb_nostr_profile);
- nostr_sync.metadata({
- metadata: tb_nostr_profile.result,
- }); // no await
- await route(`/profile`);
- } catch (e) {
- await handle_err(e, `on_handle_back`);
- }
- },
- on_handle_input: async () => {
- try {
- } catch (e) {
- await handle_err(e, `on_handle_input`);
- }
- },
- }}
-/>
diff --git a/app/src/routes/(cfg)/+layout.svelte b/app/src/routes/(cfg)/+layout.svelte
@@ -1,5 +1,5 @@
<script lang="ts">
- import { app_splash, handle_err } from "@radroots/lib-app";
+ import { handle_err } from "@radroots/apps-lib";
import { onMount } from "svelte";
import type { LayoutProps } from "./$types";
@@ -9,8 +9,6 @@
try {
} catch (e) {
handle_err(e, `on_mount`);
- } finally {
- app_splash.set(false);
}
});
</script>
diff --git a/app/src/routes/(cfg)/+layout.ts b/app/src/routes/(cfg)/+layout.ts
@@ -1,19 +1,20 @@
-import { datastore, keys, route } from '$lib/util';
-import { handle_err } from '@radroots/lib-app';
+import { datastore, nostr_keys } from '$lib/utils/app';
+import { route } from '$lib/utils/app/app';
+import { handle_err } from '@radroots/apps-lib';
import type { LayoutLoad, LayoutLoadEvent } from './$types';
export const load: LayoutLoad = async (_: LayoutLoadEvent) => {
try {
await datastore.init();
- const ks_keynostr = await datastore.get(`key_nostr`);
- if (`result` in ks_keynostr) {
- const nostrkey = await keys.nostr_read(ks_keynostr.result);
+ const ds_key_nostr = await datastore.get("nostr_key");
+ if (`result` in ds_key_nostr) {
+ const nostrkey = await nostr_keys.read(ds_key_nostr.result);
if (`result` in nostrkey) return void await route(`/`);
- await datastore.remove(`key_nostr`);
+ await datastore.del("nostr_key");
}
} catch (e) {
- await handle_err(e, `(cfg)load`)
+ handle_err(e, `(cfg)load`)
} finally {
return {};
};
diff --git a/app/src/routes/(cfg)/import/+page.svelte b/app/src/routes/(cfg)/import/+page.svelte
@@ -0,0 +1,178 @@
+<script lang="ts">
+ import { goto } from "$app/navigation";
+ import { notif } from "$lib/utils/app";
+ import { route } from "$lib/utils/app/app";
+ import {
+ import_app_state_from_file,
+ validate_import_file,
+ } from "$lib/utils/backup/import";
+ import { Fade, Glyph } from "@radroots/apps-lib";
+ import { LogoCircle, SelectMenu } from "@radroots/apps-lib-pwa";
+ import type { ExportedAppState } from "@radroots/apps-lib-pwa/types/app";
+ import { handle_err } from "@radroots/utils";
+
+ let loading = $state(false);
+ let current_file: File | null = $state(null);
+ let current_file_validated: ExportedAppState | undefined =
+ $state(undefined);
+
+ $effect(() => {
+ if (current_file) {
+ (async () => {
+ try {
+ const validated = await validate_import_file(current_file);
+ if (validated) current_file_validated = validated;
+ else current_file_validated = undefined;
+ } catch {
+ current_file_validated = undefined;
+ }
+ })();
+ }
+ });
+
+ const handle_back = async (): Promise<void> => {
+ await route("/setup");
+ };
+
+ const on_change_file = (event: Event): void => {
+ const target = event.currentTarget as HTMLInputElement | null;
+ current_file = target?.files?.[0] ?? null;
+ };
+
+ const submit = async (): Promise<void> => {
+ try {
+ if (!current_file)
+ return void notif.alert(
+ "error.configuration.import.no_file_chosen",
+ );
+ loading = true;
+ const import_result =
+ await import_app_state_from_file(current_file);
+ console.log(`import_result `, import_result);
+ if ("err" in import_result)
+ return void (await notif.alert(import_result.err));
+ else if (import_result.pass === true)
+ return void (await goto(`/?ref=backup_imported`));
+ await notif.alert(
+ import_result.message || "error.configuration.import.failure",
+ );
+ } catch (e) {
+ handle_err(e, `submit`);
+ } finally {
+ loading = false;
+ }
+ };
+</script>
+
+<button
+ class={`z-10 absolute top-8 right-6 flex flex-row justify-center items-center`}
+>
+ <SelectMenu
+ basis={{
+ layer: 0,
+ options: [
+ {
+ entries: [
+ {
+ value: "",
+ label: "Choose Options",
+ disabled: true,
+ },
+ {
+ value: "back",
+ label: "Go Back",
+ },
+ ],
+ },
+ ],
+ callback: async ({ value }) => {
+ if (value === "back") return void (await handle_back());
+ },
+ }}
+ >
+ <Glyph
+ basis={{
+ classes: `text-base text-ly0-gl group-active:text-ly0-gl-a`,
+ key: "gear",
+ }}
+ />
+ </SelectMenu>
+</button>
+
+<div class={`flex flex-col h-screen w-full px-4 justify-center items-start`}>
+ <div class={`flex flex-col w-full gap-4 justify-center items-start `}>
+ <LogoCircle />
+ <div
+ class={`flex flex-col w-full px-1 gap-1 justify-start items-start`}
+ >
+ <p class={`font-sans font-[600] text-lg text-ly0-gl`}>
+ {`Import app state`}
+ </p>
+ <p class={`font-sans font-[400] text-sm text-ly0-gl/80 max-w-xl`}>
+ {`Choose a JSON export created by this app to restore configuration, nostr keys, and database information.`}
+ </p>
+ </div>
+ <div class={`flex flex-row w-full justify-center items-center`}>
+ <input
+ type={`file`}
+ accept={`application/json,.json`}
+ class={`w-full py-2 pl-2 bg-ly0-gl/5 text-ly0-gl text-sm border border-ly0-gl/30 rounded-xl`}
+ onchange={on_change_file}
+ />
+ </div>
+ <div class={`flex flex-row h-8 w-full justify-start items-start`}>
+ {#if current_file}
+ <Fade
+ basis={{
+ classes: `flex-row w-full gap-1 justify-center items-center`,
+ }}
+ >
+ {#if current_file_validated}
+ <Glyph
+ basis={{
+ classes: `text-base text-lime-600`,
+ key: "check-circle",
+ weight: "fill",
+ }}
+ />
+ <p class={`font-sans font-[500] text-sm text-lime-600`}>
+ {`The backup file is valid (version: ${current_file_validated.backup_version})`}
+ </p>
+ {:else}
+ <Glyph
+ basis={{
+ classes: `text-base text-red-400`,
+ key: "x-circle",
+ weight: "fill",
+ }}
+ />
+ <p class={`font-sans font-[500] text-sm text-red-400`}>
+ {`Not a valid backup file`}
+ </p>
+ {/if}
+ </Fade>
+ {/if}
+ </div>
+ <div class={`flex flex-row h-8 w-full justify-center items-center`}>
+ {#if current_file && current_file_validated}
+ <Fade basis={{ in: { duration: 400 } }}>
+ <button
+ class={`relative flex flex-row h-8 px-5 justify-center items-center bg-ly1 active:bg-ly1-a rounded-lg text-ly1-gl disabled:opacity-40`}
+ disabled={loading}
+ onclick={submit}
+ >
+ {`Import`}
+ {#if loading}
+ <Glyph
+ basis={{
+ classes: `absolute -right-6 text-[1px] text-ly0-gl animate-spin-slow`,
+ key: "circle-notch",
+ }}
+ />
+ {/if}
+ </button>
+ </Fade>
+ {/if}
+ </div>
+ </div>
+</div>
diff --git a/app/src/routes/(cfg)/init/+page.svelte b/app/src/routes/(cfg)/init/+page.svelte
@@ -1,987 +0,0 @@
-<script lang="ts">
- import { goto } from "$app/navigation";
- import { PUBLIC_NOSTR_RELAY_DEFAULTS } from "$env/static/public";
- import { ls } from "$lib/locale/i18n";
- import { datastore, db, gui, keys, radroots, route } from "$lib/util";
- import { cfg_delay } from "$lib/util/lib";
- import { NDKPrivateKeySigner } from "@nostr-dev-kit/ndk";
- import {
- app_lo,
- app_loading,
- ButtonLayoutPair,
- carousel_dec,
- carousel_inc,
- carousel_index,
- carousel_index_max,
- EntryLine,
- fmt_id,
- handle_err,
- LoadSymbol,
- LogoCircle,
- view_effect,
- } from "@radroots/lib-app";
- import { el_id, form_fields, sleep, type ResultPass } from "@radroots/util";
- import { onMount } from "svelte";
-
- const page_carousel: Record<View, { max_index: number }> = {
- cfg_key: {
- max_index: 2,
- },
- cfg_profile: {
- max_index: 2,
- },
- eula: {
- max_index: 1,
- },
- };
-
- let el_eula_scrolled = $state(false);
- type View = `cfg_key` | `cfg_profile` | `eula`;
- let initial_view: View = `cfg_key`;
- let view: View = $state(initial_view);
-
- $effect(() => {
- view_effect<View>(view);
- });
-
- let loading_submit = $state(false);
-
- type CfgRole = `farmer` | `personal`;
- let cfg_role: CfgRole | undefined = $state(undefined);
-
- type CfgKeyOpt = `nostr_keygen` | `nostr_keyadd`;
- let cgf_key_opt: CfgKeyOpt | undefined = $state(undefined);
- let cfg_key_add_existing_val = $state(``);
-
- let cfg_profile_nip05_opt = $state(false);
- let cfg_profile_name_val = $state(``);
- let cfg_profile_name_valid = $state(false);
- let cfg_profile_name_loading = $state(false);
-
- const cfg_profile_name_skip = $derived(
- view.toString() === `cfg_profile` && $carousel_index === 0,
- );
-
- onMount(async () => {
- try {
- await init();
- } catch (e) {
- handle_err(e, `on_mount`);
- }
- });
-
- const init = async (): Promise<void> => {
- const nostrkey_all = await keys.nostr_read_all(); //@todo
- handle_view(view);
- };
-
- const handle_view = (new_view: View): void => {
- if (new_view === `cfg_key` && view === `cfg_profile`) {
- const offset = cgf_key_opt === `nostr_keygen` ? 1 : 0;
- carousel_index.set(page_carousel[new_view].max_index - offset);
- } else {
- carousel_index.set(0);
- carousel_index_max.set(page_carousel[new_view].max_index);
- }
- view = new_view;
- };
-
- const on_scroll_eula = async ({
- currentTarget: el,
- }: {
- currentTarget: EventTarget & HTMLDivElement;
- }): Promise<void> => {
- const client_h = el?.clientHeight;
- const scroll_h = el?.scrollHeight;
- const scroll_top = el?.scrollTop;
- if (scroll_top + client_h >= scroll_h) el_eula_scrolled = true;
- };
-
- const reset = async (
- alert_message?: string,
- prevent_loading?: boolean,
- ): Promise<void> => {
- try {
- app_loading.set(!prevent_loading);
- handle_view(`cfg_key`);
- if (alert_message) await gui.alert(alert_message);
- await sleep(cfg_delay.load);
- await keys.nostr_keystore_reset();
- await db.reset();
- } catch (e) {
- await handle_err(e, `reset`);
- } finally {
- app_loading.set(false);
- }
- };
-
- const key_add_keystore = async (public_key: string): Promise<void> => {
- const ks_key_nostr_add = await datastore.set(`key_nostr`, public_key);
- if (`err` in ks_key_nostr_add)
- return void (await reset(
- `${$ls(`error.init.configuration_failure`)}`,
- ));
- };
-
- const key_gen = async (): Promise<void> => {
- const keys_nostr_create = await keys.nostr_gen();
- if (`err` in keys_nostr_create)
- return void (await reset(
- `${$ls(`error.init.configuration_failure`)}`,
- ));
- await datastore.set(`init_nostr`, keys_nostr_create.public_key);
- };
-
- const key_add = async (secret_key: string): Promise<void> => {
- const keys_nostr_add = await keys.nostr_add(secret_key);
- console.log(`keys_nostr_add `, keys_nostr_add);
- if (`err` in keys_nostr_add)
- return void (await gui.alert(`${$ls(`common.invalid_key`)}`));
- await datastore.set(`init_nostr`, keys_nostr_add.public_key);
- };
-
- const configure_device = async (
- public_key: string,
- profile_name?: string,
- ): Promise<ResultPass | void> => {
- const nostr_profile_add = await db.nostr_profile_create({
- public_key,
- name: profile_name ? profile_name : undefined,
- display_name: profile_name ? profile_name : undefined,
- });
- if (`err` in nostr_profile_add || `err_s` in nostr_profile_add)
- return void (await gui.alert(
- `${$ls(`error.init.device_configuration_nostr_profile`)}`,
- ));
- for (const url of Array.from(
- new Set([...PUBLIC_NOSTR_RELAY_DEFAULTS.split(",")]),
- )) {
- const nostr_relay_add = await db.nostr_relay_create({ url });
- if (`err` in nostr_relay_add || `err_s` in nostr_relay_add)
- return void (await gui.alert(
- `${$ls(`error.init.device_configuration_nostr_relay`)}`,
- ));
- await db.nostr_profile_relay_set({
- nostr_profile: {
- id: nostr_profile_add.id,
- },
- nostr_relay: {
- id: nostr_relay_add.id,
- },
- });
- }
- await key_add_keystore(public_key);
- return { pass: true };
- };
-
- const confirm_profile_add_without_name = async (): Promise<boolean> => {
- const confirm = await gui.confirm({
- message: `${$ls(`notification.init.no_profile_option`)}`,
- cancel: `${$ls(`icu.add_*`, { value: `${$ls(`common.profile`)}` })}`,
- ok: `${$ls(`common.continue`)}`,
- });
- return confirm;
- };
-
- const handle_choose_key_gen_or_add = async (): Promise<void> => {
- try {
- if (cgf_key_opt === `nostr_keyadd`)
- return void (await carousel_inc(view));
- await key_gen();
- handle_view(`cfg_profile`);
- } catch (e) {
- await handle_err(e, `handle_choose_key_gen_or_add`);
- }
- };
-
- const handle_key_add_existing = async (): Promise<void> => {
- try {
- if (!cfg_key_add_existing_val)
- return void (await gui.alert(
- `${$ls(`icu.enter_a_*`, { value: `${$ls(`common.nostr_key`)}`.toLowerCase() })}`,
- ));
- const key_add_signer = new NDKPrivateKeySigner(
- cfg_key_add_existing_val,
- );
- const key_add_user = await key_add_signer.user();
- const key_add_hex_secret_key = key_add_signer.privateKey;
- const key_add_hex_public_key = key_add_user.pubkey;
- const key_nostr_read = await keys.nostr_read(
- cfg_key_add_existing_val,
- );
- if (
- (`err` in key_nostr_read &&
- key_nostr_read.err !== `error.keystore.key_not_found`) ||
- !key_add_hex_secret_key ||
- !key_add_hex_public_key
- )
- return void (await gui.alert(
- `${$ls(`icu.enter_a_valid_*`, { value: `${$ls(`common.nostr_key`)}`.toLowerCase() })}`,
- ));
- await key_add(key_add_hex_secret_key);
- cfg_key_add_existing_val = ``;
- return void handle_view(`cfg_profile`);
- } catch (e) {
- await handle_err(e, `handle_key_add_existing`);
- return void (await gui.alert(
- `${$ls(`icu.not_a_valid_*`, { value: `${$ls(`common.nostr_key`)}`.toLowerCase() })}`,
- ));
- }
- };
-
- const handle_profile_add = async (): Promise<void> => {
- try {
- if (cfg_profile_name_loading) return;
- const ds_nostr_key_init = await datastore.get(`init_nostr`);
- if (`err` in ds_nostr_key_init)
- return void (await reset(
- `${$ls(`error.init.configuration_failure`)}`,
- )); //@todo
- const key_nostr_read = await keys.nostr_read(
- ds_nostr_key_init.result,
- );
- if (`err` in key_nostr_read)
- return void (await reset(
- `${$ls(`error.init.configuration_failure`)}`,
- )); //@todo
- if (cfg_profile_nip05_opt) {
- if (!cfg_profile_name_val)
- return void (await gui.alert(
- `${$ls(`icu.enter_a_*`, { value: `${$ls(`common.profile_name`)}`.toLowerCase() })}`,
- ));
- cfg_profile_name_loading = true;
- const profile_req = await radroots.fetch_profile_request({
- profile_name: cfg_profile_name_val,
- secret_key: key_nostr_read.secret_key,
- });
- if (`err` in profile_req)
- return void (await gui.alert(
- `${$ls(profile_req.err, { default: `${$ls(`error.client.http.request_failure`)}` })}`,
- ));
- const confirm = await gui.confirm({
- message: `${`${$ls(`icu.the_*_is_available`, { value: `${$ls(`common.profile_name`).toLowerCase()} "${cfg_profile_name_val}"` })}`}. ${`${$ls(`common.would_you_like_to_use_it_q`)}`}`,
- cancel: `${$ls(`common.no`)}`,
- ok: `${$ls(`common.yes`)}`,
- });
- if (!confirm) return;
- const profile_create = await radroots.fetch_profile_create({
- tok: profile_req.result,
- secret_key: key_nostr_read.secret_key,
- });
- if (`err` in profile_create)
- return void (await gui.alert(
- `${$ls(profile_create.err, { default: `${$ls(`error.client.http.request_failure`)}` })}`,
- ));
- await datastore.setp(
- `radroots_profile`,
- ds_nostr_key_init.result,
- profile_create.result,
- );
- } else if (!cfg_profile_name_val) {
- const confirm = await confirm_profile_add_without_name();
- if (!confirm)
- return void el_id(fmt_id(`nostr:profile`))?.focus();
- }
- await carousel_inc(view);
- } catch (e) {
- await handle_err(e, `handle_profile_add`);
- } finally {
- cfg_profile_name_loading = false;
- }
- };
-
- const handle_set_role = async (): Promise<void> => {
- if (!cfg_role) cfg_role = `personal`;
- await datastore.set(`role`, cfg_role);
- await datastore.set(`is_setup`, new Date().toISOString());
- handle_view(`eula`);
- };
-
- const handle_continue = async (): Promise<void> => {
- switch (view) {
- case `cfg_key`:
- switch ($carousel_index) {
- case 0:
- return await carousel_inc(view);
- case 1:
- return await handle_choose_key_gen_or_add();
- case 2:
- return await handle_key_add_existing();
- }
- case `cfg_profile`:
- switch ($carousel_index) {
- case 0:
- return await handle_profile_add();
- case 1:
- return await handle_set_role();
- }
- }
- };
-
- const handle_back = async (): Promise<void> => {
- switch (view) {
- case `cfg_key`:
- switch ($carousel_index) {
- case 1: {
- cgf_key_opt = undefined;
- return await carousel_dec(view);
- }
- case 2: {
- cfg_key_add_existing_val = ``;
- return await carousel_dec(view);
- }
- }
- case `cfg_profile`:
- switch ($carousel_index) {
- case 0: {
- if (cfg_profile_name_skip) {
- const confirm =
- await confirm_profile_add_without_name();
- if (!confirm)
- return void el_id(
- fmt_id(`nostr:profile`),
- )?.focus();
- return void carousel_inc(view);
- }
- return handle_view(`cfg_key`);
- }
- case 1:
- return carousel_dec(view);
- }
- }
- };
-
- const submit = async (): Promise<void> => {
- try {
- loading_submit = true;
- const ds_nostr_key_init = await datastore.get(`init_nostr`);
- if (`err` in ds_nostr_key_init)
- return void (await reset(
- `${$ls(`error.init.configuration_failure`)}`,
- )); //@todo
- const key_nostr_read = await keys.nostr_read(
- ds_nostr_key_init.result,
- );
- if (`err` in key_nostr_read)
- return void (await reset(
- `${$ls(`error.init.configuration_failure`)}`,
- )); //@todo
- const radroots_profile = await datastore.getp(
- `radroots_profile`,
- ds_nostr_key_init.result,
- );
- if (`result` in radroots_profile) {
- await radroots.fetch_profile_activate({
- id: radroots_profile.result,
- secret_key: key_nostr_read.secret_key,
- }); //@todo
- }
- const configuration_result = await configure_device(
- ds_nostr_key_init.result,
- cfg_profile_name_val,
- );
- if (!configuration_result)
- return void (await reset(
- `${$ls(`error.init.configuration_failure`)}`,
- )); //@todo
- route(`/`);
- await gui.notify_init();
- } catch (e) {
- await handle_err(e, `submit`);
- } finally {
- loading_submit = false;
- }
- };
-</script>
-
-<div
- data-view={`cfg_key`}
- class={`flex flex-col h-full w-full justify-start items-center`}
->
- <div
- data-carousel-container={`cfg_key`}
- class={`carousel-container flex h-full w-full`}
- >
- <div
- data-carousel-item={`cfg_key`}
- class={`carousel-item flex flex-col h-full w-full justify-center items-center`}
- >
- <div
- class={`relative flex flex-col h-full w-full justify-center items-center`}
- >
- <div
- class={`flex flex-row w-full justify-start items-center -translate-y-16`}
- >
- <button
- class={`flex flex-row w-full justify-center items-center`}
- onclick={async () => {
- await goto(`/`);
- }}
- >
- <LogoCircle />
- </button>
- </div>
- <div
- class={`absolute bottom-0 left-0 flex flex-col h-[20rem] w-full px-10 gap-2 justify-start items-center`}
- >
- <div
- class={`flex flex-row w-full justify-start items-center`}
- >
- <p
- class={`font-sans font-[400] text-sm text-layer-0-glyph-label uppercase`}
- >
- {`${$ls(`common.configure`)}`}
- </p>
- </div>
- <div
- class={`flex flex-col w-full gap-2 justify-start items-center`}
- >
- <div
- class={`flex flex-row w-full justify-start items-center`}
- >
- <p
- class={`font-mono font-[400] text-[1.1rem] text-layer-0-glyph`}
- >
- {`${$ls(`notification.init.greeting_header`)}`}
- </p>
- </div>
- <div
- class={`flex flex-row w-full justify-start items-center`}
- >
- <p
- class={`font-mono font-[400] text-[1.1rem] text-layer-0-glyph`}
- >
- {`${$ls(`notification.init.greeting_subheader`)}.`}
- </p>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div
- data-carousel-item={`cfg_key`}
- class={`carousel-item flex flex-col h-full w-full justify-center items-center`}
- role="button"
- tabindex="0"
- onclick={async () => {
- cgf_key_opt = undefined;
- }}
- onkeydown={null}
- >
- <div
- class={`flex flex-col h-[16rem] gap-8 w-full justify-start items-center`}
- >
- <div class={`flex flex-row w-full justify-center items-center`}>
- <p
- class={`font-sans font-[600] text-layer-0-glyph text-3xl`}
- >
- {`${$ls(`icu.configure_*`, { value: `${$ls(`common.device`)}` })}`}
- </p>
- </div>
- <div
- class={`flex flex-col w-full gap-6 justify-center items-center`}
- >
- <button
- class={`flex flex-col h-bold_button w-lo_${$app_lo} justify-center items-center rounded-touch ${cgf_key_opt === `nostr_keygen` ? `layer-1-surface-apply-active layer-1-raise-apply layer-1-ring-apply` : `bg-layer-1-surface`} el-re`}
- onclick={async (ev) => {
- ev.stopPropagation();
- cgf_key_opt = `nostr_keygen`;
- }}
- >
- <p
- class={`font-sans font-[600] text-layer-0-glyph text-xl`}
- >
- {`${$ls(`icu.create_new_*`, { value: `${$ls(`common.keypair`)}`.toLowerCase() })}`}
- </p>
- </button>
- <button
- class={`flex flex-col h-bold_button w-lo_${$app_lo} justify-center items-center rounded-touch ${cgf_key_opt === `nostr_keyadd` ? `layer-1-surface-apply-active layer-1-raise-apply layer-1-ring-apply` : `bg-layer-1-surface`} el-re`}
- onclick={async (ev) => {
- ev.stopPropagation();
- cgf_key_opt = `nostr_keyadd`;
- }}
- >
- <p
- class={`font-sans font-[600] text-layer-0-glyph text-xl`}
- >
- {`${$ls(`icu.use_existing_*`, {
- value: `${$ls(`common.keypair`)}`.toLowerCase(),
- })}`}
- </p>
- </button>
- </div>
- </div>
- </div>
- <div
- data-carousel-item={`cfg_key`}
- class={`carousel-item flex flex-col h-full w-full justify-center items-center`}
- >
- <div
- class={`flex flex-col w-full gap-8 justify-start items-center`}
- >
- <div
- class={`flex flex-col w-full gap-6 justify-center items-center`}
- >
- <p
- class={`font-sans font-[600] text-layer-0-glyph text-3xl capitalize`}
- >
- {`${$ls(`icu.add_existing_*`, { value: `${$ls(`common.key`)}`.toLowerCase() })}`}
- </p>
- <EntryLine
- bind:value={cfg_key_add_existing_val}
- basis={{
- wrap: {
- layer: 1,
- classes: `w-lo_${$app_lo}`,
- style: `guide`,
- },
- el: {
- classes: `font-sans text-[1.25rem] text-center placeholder:opacity-60`,
- layer: 1,
- placeholder: `${$ls(`icu.enter_*`, { value: `nostr nsec/hex` })}`,
- callback_keydown: async ({ key_s, el }) => {
- if (key_s) {
- el.blur();
- await handle_continue();
- }
- },
- },
- }}
- />
- </div>
- </div>
- </div>
- <div
- class={`z-10 absolute max-ios0:bottom-0 bottom-10 left-0 flex flex-col w-full justify-center items-center`}
- >
- <ButtonLayoutPair
- basis={{
- continue: {
- label: `${$ls(`common.continue`)}`,
- disabled: $carousel_index === 1 && !cgf_key_opt,
- callback: async () => await handle_continue(),
- },
- back: {
- label: `${$ls(`common.back`)}`,
- visible: $carousel_index > 0,
- callback: async () => await handle_back(),
- },
- }}
- />
- </div>
- </div>
-</div>
-<div
- data-view={`cfg_profile`}
- class={`hidden flex flex-col h-full w-full justify-start items-center`}
->
- <div
- data-carousel-container={`cfg_profile`}
- class={`carousel-container flex h-full w-full`}
- >
- <div
- data-carousel-item={`cfg_profile`}
- class={`carousel-item flex flex-col h-full w-full justify-center items-center`}
- >
- <div
- class={`flex flex-col h-[16rem] w-full px-4 gap-6 justify-start items-center`}
- >
- <p class={`font-sans font-[600] text-layer-0-glyph text-3xl`}>
- {`${$ls(`icu.add_*`, { value: `${$ls(`common.profile`)}` })}`}
- </p>
- <div
- class={`flex flex-col w-full gap-4 justify-center items-center`}
- >
- <EntryLine
- bind:value={cfg_profile_name_val}
- basis={{
- loading: cfg_profile_name_loading,
- wrap: {
- layer: 1,
- classes: `w-lo_${$app_lo}`,
- style: `guide`,
- },
- el: {
- classes: `font-sans text-[1.25rem] text-center placeholder:opacity-60`,
- id: fmt_id(`nostr:profile`),
- layer: 1,
- placeholder: `${$ls(`icu.enter_*`, { value: `${$ls(`common.profile_name`)}`.toLowerCase() })}`,
- field: form_fields.profile_name,
- callback: async ({ pass }) => {
- cfg_profile_name_valid = pass;
- },
- callback_keydown: async ({ key_s, el }) => {
- if (key_s) {
- el.blur();
- await handle_continue();
- }
- },
- },
- }}
- />
- <div
- class={`flex flex-row w-full gap-2 justify-center items-center`}
- >
- <input
- type="checkbox"
- bind:checked={cfg_profile_nip05_opt}
- />
- <button
- class={`flex flex-row justify-center items-center`}
- onclick={async () => {
- cfg_profile_nip05_opt = !cfg_profile_nip05_opt;
- }}
- >
- <p
- class={`font-sans font-[400] text-layer-0-glyph text-[14px] tracking-wide`}
- >
- {`${$ls(`common.create`)}`}
- <span
- class={`font-mono font-[500] tracking-tight px-[3px]`}
- >
- {`@radroots`}
- </span>
- {`${$ls(`common.nip05_address`)}`}
- </p>
- </button>
- </div>
- </div>
- </div>
- </div>
- <div
- data-carousel-item={`cfg_profile`}
- class={`carousel-item flex flex-col h-full w-full justify-center items-center`}
- role="button"
- tabindex="0"
- onclick={async () => {
- cfg_role = undefined;
- }}
- onkeydown={null}
- >
- <div
- class={`flex flex-col h-[16rem] w-full gap-10 justify-start items-center`}
- >
- <div class={`flex flex-row w-full justify-center items-center`}>
- <p
- class={`font-sans font-[600] text-layer-0-glyph text-3xl`}
- >
- {`${$ls(`common.setup_for_farmer`)}`}
- </p>
- </div>
- <div
- class={`flex flex-col w-full gap-5 justify-center items-center`}
- >
- <button
- class={`flex flex-col h-bold_button w-lo_${$app_lo} justify-center items-center rounded-touch ${cfg_role === `farmer` ? `layer-1-surface-apply-active layer-1-raise-apply layer-1-ring-apply` : `bg-layer-1-surface`} el-re`}
- onclick={async (ev) => {
- ev.stopPropagation();
- cfg_role = `farmer`;
- }}
- >
- <p
- class={`font-sans font-[600] text-layer-0-glyph text-xl`}
- >
- {`${$ls(`common.yes`)}`}
- </p>
- </button>
- <button
- class={`flex flex-col h-bold_button w-lo_${$app_lo} justify-center items-center rounded-touch ${cfg_role === `personal` ? `layer-1-surface-apply-active layer-1-raise-apply layer-1-ring-apply` : `bg-layer-1-surface`} el-re`}
- onclick={async (ev) => {
- ev.stopPropagation();
- cfg_role = `personal`;
- }}
- >
- <p
- class={`font-sans font-[600] text-layer-0-glyph text-xl`}
- >
- {`${$ls(`common.no`)}`}
- </p>
- </button>
- </div>
- </div>
- </div>
- </div>
- <div
- class={`absolute max-ios0:bottom-0 bottom-10 left-0 flex flex-col w-full justify-center items-center`}
- >
- <ButtonLayoutPair
- basis={{
- continue: {
- label: `${$ls(`common.continue`)}`,
- disabled:
- (cfg_profile_name_skip &&
- cfg_profile_nip05_opt &&
- !cfg_profile_name_valid) ||
- ($carousel_index === 1 && !cfg_role),
- callback: async () => await handle_continue(),
- },
- back: {
- visible: true,
- label: cfg_profile_name_skip
- ? `${$ls(`common.skip`)}`
- : `${$ls(`common.back`)}`,
- callback: handle_back,
- },
- }}
- />
- </div>
-</div>
-<div
- data-view={`eula`}
- class={`hidden flex flex-col h-full w-full max-ios0:pt-12 pt-24 justify-start items-center`}
->
- <div
- data-carousel-container={`eula`}
- class={`carousel-container flex h-full w-full rounded-2xl scroll-hide`}
- >
- <div
- data-carousel-item={`eula`}
- class={`carousel-item flex flex-col h-full w-full max-ios0:pt-16 justify-start items-center`}
- >
- <div
- class={`flex flex-col h-full w-full px-4 pb-2 justify-start items-center ${view === `eula` ? `fade-in-long` : ``} overflow-hidden`}
- >
- <div
- class={`flex flex-col w-full px-4 gap-4 justify-start items-center`}
- >
- <div
- class={`flex flex-row w-full justify-center items-center`}
- >
- <p
- class={`font-mono font-[600] text-layer-0-glyph text-2xl`}
- >
- {`${$ls(`eula.title`)}`}
- </p>
- </div>
- <div
- onscroll={on_scroll_eula}
- class={`flex flex-col max-ios0:h-[34rem] ios1:h-[38rem] w-full gap-6 justify-start items-center overflow-y-scroll scroll-hide`}
- >
- <div
- class={`flex flex-col w-full gap-2 justify-start items-start`}
- >
- <p
- class={`font-mono font-[600] text-layer-0-glyph`}
- >
- {`**${$ls(`eula.introduction.title`)}**`}
- </p>
- <p
- class={`font-mono font-[500] text-layer-0-glyph text-sm text-justify break-word`}
- >
- {`${$ls(`eula.introduction.body`)}`}
- </p>
- </div>
- <div
- class={`flex flex-col w-full gap-2 justify-start items-start`}
- >
- <p
- class={`font-mono font-[600] text-layer-0-glyph`}
- >
- {`**${$ls(`eula.prohibited_content.title`)}**`}
- </p>
- <p
- class={`font-mono font-[500] text-sm text-layer-0-glyph text-justify break-word`}
- >
- {`${$ls(`eula.prohibited_content.body_0_title`)}`}
- </p>
- <div
- class={`flex flex-col w-full justify-start items-start`}
- >
- {#each [0, 1, 2, 3, 4, 5] as li}
- <div
- class={`flex flex-row w-full justify-start items-center`}
- >
- <div
- class={`flex flex-row h-full w-8 justify-start items-start`}
- >
- <p
- class={` font-mono font-[500] text-sm text-layer-0-glyph text-justify break-word`}
- >
- {`*`}
- </p>
- </div>
- <div
- class={`flex flex-row h-full w-full justify-start items-start`}
- >
- <p
- class={`col-span-10 font-mono font-[500] text-sm text-layer-0-glyph text-justify break-word`}
- >
- {`${$ls(`eula.prohibited_content.body_li_0_${li}`)}`}
- </p>
- </div>
- </div>
- {/each}
- </div>
- </div>
- <div
- class={`flex flex-col w-full gap-2 justify-start items-start`}
- >
- <p
- class={`font-mono font-[600] text-layer-0-glyph`}
- >
- {`**${$ls(`eula.prohibited_conduct.title`)}**`}
- </p>
- <div
- class={`flex flex-col w-full justify-start items-start`}
- >
- {#each [0, 1, 2, 3] as li}
- <div
- class={`flex flex-row w-full justify-start items-center`}
- >
- <div
- class={`flex flex-row h-full w-8 justify-start items-start`}
- >
- <p
- class={` font-mono font-[500] text-sm text-layer-0-glyph text-justify break-word`}
- >
- {`*`}
- </p>
- </div>
- <div
- class={`flex flex-row h-full w-full justify-start items-start`}
- >
- <p
- class={`col-span-10 font-mono font-[500] text-sm text-layer-0-glyph text-justify break-word`}
- >
- {`${$ls(`eula.prohibited_conduct.body_li_0_${li}`)}`}
- </p>
- </div>
- </div>
- {/each}
- </div>
- </div>
- <div
- class={`flex flex-col w-full gap-2 justify-start items-start`}
- >
- <p
- class={`font-mono font-[600] text-layer-0-glyph`}
- >
- {`**${$ls(`eula.consequences_of_violation.title`)}**`}
- </p>
- <p
- class={`font-mono font-[500] text-layer-0-glyph text-sm text-justify break-word`}
- >
- {`${$ls(`eula.consequences_of_violation.body`)}`}
- </p>
- </div>
- <div
- class={`flex flex-col w-full gap-2 justify-start items-start`}
- >
- <p
- class={`font-mono font-[600] text-layer-0-glyph`}
- >
- {`**${$ls(`eula.disclaimer.title`)}**`}
- </p>
- <p
- class={`font-mono font-[500] text-layer-0-glyph text-sm text-justify break-word`}
- >
- {`${$ls(`eula.disclaimer.body`)}`}
- </p>
- </div>
- <div
- class={`flex flex-col w-full gap-2 justify-start items-start`}
- >
- <p
- class={`font-mono font-[600] text-layer-0-glyph`}
- >
- {`**${$ls(`eula.changes.title`)}**`}
- </p>
- <p
- class={`font-mono font-[500] text-layer-0-glyph text-sm text-justify break-word`}
- >
- {`${$ls(`eula.changes.body`)}`}
- </p>
- </div>
- <div
- class={`flex flex-col w-full gap-2 justify-start items-start`}
- >
- <p
- class={`font-mono font-[600] text-layer-0-glyph`}
- >
- {`**${$ls(`eula.contact.title`)}**`}
- </p>
- <p
- class={`font-mono font-[500] text-layer-0-glyph text-sm text-justify break-word`}
- >
- {`${$ls(`eula.contact.body`)}`}
- </p>
- </div>
- <div
- class={`flex flex-col w-full gap-2 justify-start items-start`}
- >
- <p
- class={`font-mono font-[600] text-layer-0-glyph`}
- >
- {`**${$ls(`eula.acceptance_of_terms.title`)}**`}
- </p>
- <p
- class={`font-mono font-[500] text-layer-0-glyph text-sm text-justify break-word`}
- >
- {`${$ls(`eula.acceptance_of_terms.body`)}`}
- </p>
- </div>
- </div>
- </div>
- <div
- class={`flex flex-row w-full pt-6 justify-center items-center`}
- >
- <button
- class={`group flex flex-row basis-1/2 gap-4 justify-center items-center ${el_eula_scrolled ? `` : `opacity-80`}`}
- onclick={async () => {
- const confirm = await gui.confirm({
- message: `${$ls(`eula.error.required`)}`,
- cancel: `${$ls(`common.quit`)}`,
- });
- if (confirm === false) await reset(undefined, true);
- }}
- >
- <p
- class={`font-mono font-[400] text-sm text-layer-0-glyph group-active:text-layer-0-glyph el-re`}
- >
- {`-`}
- </p>
- <p
- class={`font-mono font-[400] text-sm text-layer-0-glyph group-active:text-layer-0-glyph el-re`}
- >
- {`${`${$ls(`common.disagree`)}`}`}
- </p>
- <p
- class={`font-mono font-[400] text-sm text-layer-0-glyph group-active:text-layer-0-glyph el-re`}
- >
- {`-`}
- </p>
- </button>
- <button
- class={`relative group flex flex-row basis-1/2 gap-4 justify-center items-center el-re ${el_eula_scrolled ? `` : `opacity-40`}`}
- onclick={async () => {
- if (el_eula_scrolled) await submit();
- }}
- >
- <p
- class={`font-mono font-[400] text-sm text-layer-0-glyph-hl group-active:text-layer-0-glyph-hl/80 el-re`}
- >
- {`-`}
- </p>
- <p
- class={`font-mono font-[400] text-sm text-layer-0-glyph-hl group-active:text-layer-0-glyph-hl/80 el-re`}
- >
- {`${`${$ls(`common.agree`)}`}`}
- </p>
- <p
- class={`font-mono font-[400] text-sm text-layer-0-glyph-hl group-active:text-layer-0-glyph-hl/80 el-re`}
- >
- {`- `}
- </p>
- {#if loading_submit}
- <div
- class={`absolute right-3 flex flex-row justify-start items-center`}
- >
- <LoadSymbol basis={{ dim: `xs` }} />
- </div>
- {/if}
- </button>
- </div>
- </div>
- </div>
- </div>
-</div>
diff --git a/app/src/routes/(cfg)/setup/+page.svelte b/app/src/routes/(cfg)/setup/+page.svelte
@@ -0,0 +1,1049 @@
+<script lang="ts">
+ import { goto } from "$app/navigation";
+ import { datastore, db, nostr_keys, notif } from "$lib/utils/app";
+ import { route } from "$lib/utils/app/app";
+ import { reset_sql_cipher } from "$lib/utils/app/cipher";
+ import {
+ cfg_delay,
+ type AppData,
+ type ConfigData,
+ } from "$lib/utils/config";
+ import { ls } from "$lib/utils/i18n";
+ import { get_default_nostr_relays } from "$lib/utils/nostr/lib";
+ import { NDKPrivateKeySigner } from "@nostr-dev-kit/ndk";
+ import {
+ carousel_dec,
+ carousel_inc,
+ casl_i,
+ casl_imax,
+ el_id,
+ Fade,
+ fmt_id,
+ Glyph,
+ sleep,
+ view_effect,
+ } from "@radroots/apps-lib";
+ import {
+ ButtonLayoutPair,
+ EntryLine,
+ LoadSymbol,
+ LogoCircle,
+ SelectMenu,
+ } from "@radroots/apps-lib-pwa";
+ import { app_lo, app_loading } from "@radroots/apps-lib-pwa/stores/app";
+ import type { AppConfigRole } from "@radroots/apps-lib-pwa/types/app";
+ import type { IError } from "@radroots/types-bindings";
+ import {
+ err_msg,
+ form_fields,
+ handle_err,
+ type ResultPass,
+ } from "@radroots/utils";
+ import { onMount } from "svelte";
+
+ const page_carousel: Record<View, { max_index: number }> = {
+ cfg_key: {
+ max_index: 2,
+ },
+ cfg_profile: {
+ max_index: 2,
+ },
+ eula: {
+ max_index: 1,
+ },
+ };
+
+ type View = "cfg_key" | "cfg_profile" | "eula";
+ let view: View = $state("cfg_key");
+ $effect(() => {
+ view_effect<View>(view);
+ });
+
+ let cfg_role: AppConfigRole | undefined = $state(undefined);
+ type CfgKeyOpt = "nostr_key_gen" | "nostr_key_add";
+ let cgf_key_opt: CfgKeyOpt | undefined = $state(undefined);
+
+ let nostr_key_add_val = $state(``);
+
+ let profile_name_val = $state(``);
+ let profile_name_valid = $state(false);
+ let profile_name_nip05 = $state(false);
+ let profile_name_loading = $state(false);
+
+ let is_eula_scrolled = $state(false);
+ let is_loading_s = $state(false);
+
+ onMount(async () => {
+ try {
+ await page_init();
+ } catch (e) {
+ handle_err(e, `on_mount`);
+ }
+ });
+
+ const page_init = async (): Promise<void> => {
+ const nostr_keys_all = await nostr_keys.keys();
+ if ("results" in nostr_keys_all) {
+ const confirm = await notif.confirm({
+ message: `Clear the prior session?`,
+ });
+ if (!confirm) {
+ alert("@todo add the prior session");
+ return;
+ }
+ await page_reset();
+ }
+ handle_view(view);
+ };
+
+ const page_reset = async (
+ alert_message?: string,
+ prevent_loading?: boolean,
+ ): Promise<void> => {
+ try {
+ console.log(`[config] page reset`);
+ app_loading.set(!prevent_loading);
+ handle_view(`cfg_key`);
+ if (alert_message) await notif.alert(alert_message);
+ await sleep(cfg_delay.load);
+ await nostr_keys.reset();
+ await datastore.reset();
+ await reset_sql_cipher(db.get_store_key());
+ await db.reinit();
+ } catch (e) {
+ handle_err(e, `reset`);
+ } finally {
+ app_loading.set(false);
+ }
+ };
+
+ const on_scroll_eula = async ({
+ currentTarget: el,
+ }: {
+ currentTarget: EventTarget & HTMLDivElement;
+ }): Promise<void> => {
+ const client_h = el?.clientHeight;
+ const scroll_h = el?.scrollHeight;
+ const scroll_top = el?.scrollTop;
+ if (scroll_top + client_h >= scroll_h) is_eula_scrolled = true;
+ };
+
+ const handle_view = (new_view: View): void => {
+ if (new_view === "cfg_key" && view === "cfg_profile") {
+ const offset = cgf_key_opt === "nostr_key_gen" ? 1 : 0;
+ casl_i.set(page_carousel[new_view].max_index - offset);
+ } else {
+ casl_i.set(0);
+ casl_imax.set(page_carousel[new_view].max_index);
+ }
+ view = new_view;
+ };
+
+ const handle_config_err = async (
+ err?: IError<string> | string,
+ ): Promise<void> => {
+ console.log(`err `, err);
+ let message = `${$ls(`error.init.configuration_failure`)}`;
+ if (typeof err === "string") message = err;
+ else if (err && "err" in err) message = err.err;
+ await page_reset(message);
+ };
+
+ const handle_continue = async (): Promise<void> => {
+ switch (view) {
+ case `cfg_key`:
+ switch ($casl_i) {
+ case 0:
+ return await carousel_inc(view);
+ case 1:
+ return handle_new_key_or_add();
+ case 2:
+ return handle_key_add_existing();
+ }
+ case `cfg_profile`:
+ switch ($casl_i) {
+ case 0:
+ return handle_setup_profile();
+ case 1:
+ return handle_setup_role();
+ }
+ }
+ };
+
+ const handle_new_key_or_add = async (): Promise<void> => {
+ try {
+ if (cgf_key_opt === `nostr_key_add`)
+ return void (await carousel_inc(view));
+ await create_nostr_key();
+ handle_view(`cfg_profile`);
+ } catch (e) {
+ handle_err(e, `handle_new_key_or_add`);
+ }
+ };
+
+ const create_nostr_key = async (): Promise<void> => {
+ const keys_nostr_gen = await nostr_keys.generate();
+ if (`err` in keys_nostr_gen) return handle_config_err();
+ await datastore.update_obj<ConfigData>("cfg_data", {
+ nostr_public_key: keys_nostr_gen.public_key,
+ });
+ };
+
+ const add_nostr_key = async (secret_key: string): Promise<void> => {
+ const keys_nostr_add = await nostr_keys.add(secret_key);
+ if ("err" in keys_nostr_add)
+ return void (await notif.alert(`${$ls(`common.invalid_key`)}`));
+ await datastore.update_obj<ConfigData>("cfg_data", {
+ nostr_public_key: keys_nostr_add.public_key,
+ });
+ };
+
+ const handle_key_add_existing = async (): Promise<void> => {
+ try {
+ if (!nostr_key_add_val)
+ return void (await notif.alert(
+ `${$ls(`icu.enter_a_*`, {
+ value: `${$ls(`common.nostr_key`)}`.toLowerCase(),
+ })}`,
+ ));
+ const key_add_signer = new NDKPrivateKeySigner(nostr_key_add_val);
+ await add_nostr_key(key_add_signer.privateKey);
+ nostr_key_add_val = ``;
+ handle_view(`cfg_profile`);
+ } catch (e) {
+ handle_err(e, `handle_key_add_existing`);
+ return void (await notif.alert(
+ `${$ls(`icu.not_a_valid_*`, {
+ value: `${$ls(`common.nostr_key`)}`.toLowerCase(),
+ })}`,
+ ));
+ }
+ };
+
+ const handle_setup_profile = async (): Promise<void> => {
+ try {
+ if (profile_name_loading) return;
+
+ const ds_cfg_data = await datastore.get_obj<ConfigData>("cfg_data");
+ if ("err" in ds_cfg_data) return handle_config_err();
+
+ const ks_nostr_key = await nostr_keys.read(
+ ds_cfg_data.result.nostr_public_key,
+ );
+ if ("err" in ks_nostr_key) return handle_config_err();
+
+ if (profile_name_nip05) {
+ if (!profile_name_val)
+ return void (await notif.alert(
+ `${$ls(`icu.enter_a_*`, {
+ value: `${$ls(
+ `common.profile_name`,
+ )}`.toLowerCase(),
+ })}`,
+ ));
+ if (!profile_name_valid)
+ return void (await notif.alert(
+ `Profile name must be at least 3 characters`, //@todo
+ ));
+ await datastore.update_obj<ConfigData>("cfg_data", {
+ nip05_request: true,
+ });
+ // @todo add nip-05 request
+ }
+
+ if (!profile_name_val) {
+ const confirm = handle_add_profile_without_name_confirmation();
+ if (!confirm)
+ return void el_id(fmt_id(`nostr:profile`))?.focus();
+ }
+
+ if (profile_name_val) {
+ await datastore.update_obj<ConfigData>("cfg_data", {
+ nostr_profile: profile_name_val,
+ });
+ }
+
+ await carousel_inc(view);
+ } catch (e) {
+ handle_err(e, `handle_setup_profile`);
+ } finally {
+ profile_name_loading = false;
+ }
+ };
+
+ const handle_add_profile_without_name_confirmation =
+ async (): Promise<boolean> => {
+ return await notif.confirm({
+ message: `${$ls(`notification.init.no_profile_option`)}`,
+ cancel: `${$ls(`icu.add_*`, {
+ value: `${$ls(`common.profile`)}`,
+ })}`,
+ ok: `${$ls(`common.continue`)}`,
+ });
+ };
+
+ const handle_setup_role = async (): Promise<void> => {
+ if (!cfg_role) cfg_role = `personal`;
+ await datastore.update_obj<ConfigData>("cfg_data", { role: cfg_role });
+ handle_view(`eula`);
+ };
+
+ const handle_back = async (): Promise<void> => {
+ switch (view) {
+ case `cfg_key`:
+ switch ($casl_i) {
+ case 1: {
+ cgf_key_opt = undefined;
+ return await carousel_dec(view);
+ }
+ case 2: {
+ nostr_key_add_val = ``;
+ return await carousel_dec(view);
+ }
+ }
+ case `cfg_profile`:
+ switch ($casl_i) {
+ case 0: {
+ if (!profile_name_val) {
+ const confirm =
+ await handle_add_profile_without_name_confirmation();
+ if (!confirm)
+ return void el_id(
+ fmt_id(`nostr:profile`),
+ )?.focus();
+ return void carousel_inc(view);
+ }
+ return handle_view(`cfg_key`);
+ }
+ case 1:
+ return carousel_dec(view);
+ }
+ }
+ };
+
+ const submit = async (): Promise<void> => {
+ try {
+ is_loading_s = true;
+ const ds_cfg_data = await datastore.get_obj<ConfigData>("cfg_data");
+ if ("err" in ds_cfg_data) return handle_config_err(ds_cfg_data);
+ const active_key = ds_cfg_data.result?.nostr_public_key;
+ if (!active_key)
+ return handle_config_err(`${$ls(`error.init.no_active_key`)}`);
+ const ks_nostr_key = await nostr_keys.read(active_key);
+ if ("err" in ks_nostr_key) return handle_config_err(ks_nostr_key);
+ const configure_result = await configure_device(
+ active_key,
+ ds_cfg_data.result.role || "personal",
+ ds_cfg_data.result.nostr_profile,
+ );
+ if ("err" in configure_result) {
+ return void (await notif.alert(configure_result.err));
+ } else if (!("pass" in configure_result)) {
+ return void (await notif.alert(
+ `${$ls(`error.init.configuration_failure`)}`,
+ ));
+ }
+ const clear_cfg = await datastore.del_obj("cfg_data");
+ if ("err" in clear_cfg) return handle_config_err(clear_cfg);
+ goto(`/`);
+ await notif.notify_init();
+ } catch (e) {
+ handle_err(e, `submit`);
+ } finally {
+ is_loading_s = false;
+ }
+ };
+
+ const configure_device = async (
+ public_key: string,
+ role: AppConfigRole,
+ profile_name?: string,
+ ): Promise<ResultPass | IError<string>> => {
+ const nostr_profile_add = await db.nostr_profile_create({
+ public_key,
+ name: profile_name ? profile_name : "default",
+ display_name: profile_name ? profile_name : undefined,
+ });
+ if ("err" in nostr_profile_add)
+ return err_msg(
+ `${$ls(`error.init.device_configuration_nostr_profile`)}`,
+ );
+ for (const url of get_default_nostr_relays()) {
+ const nostr_relay_add = await db.nostr_relay_create({ url });
+ if ("err" in nostr_relay_add)
+ return err_msg(
+ `${$ls(`error.init.device_configuration_nostr_relay`)}`,
+ );
+ const nostr_profile_relay_set = await db.nostr_profile_relay_set({
+ nostr_profile: {
+ id: nostr_profile_add.result.id,
+ },
+ nostr_relay: {
+ id: nostr_relay_add.result.id,
+ },
+ });
+ if ("err" in nostr_profile_relay_set)
+ return err_msg(
+ `${$ls(
+ `error.init.device_configuration_nostr_profile_relay`,
+ )}`,
+ );
+ }
+ await datastore.del_obj("cfg_data");
+ await datastore.set_obj<AppData>("app_data", {
+ active_key: public_key,
+ role,
+ eula_date: new Date().toISOString(),
+ });
+ return { pass: true };
+ };
+</script>
+
+{#if view === "cfg_key" && $casl_i === 1}
+ <Fade basis={{ classes: `z-10 absolute top-8 right-6` }}>
+ <SelectMenu
+ basis={{
+ layer: 0,
+ options: [
+ {
+ entries: [
+ {
+ value: "",
+ label: "Choose Options",
+ disabled: true,
+ },
+ {
+ value: "import",
+ label: "Import Backup",
+ },
+ ],
+ },
+ ],
+ callback: async ({ value }) => {
+ if (value === "import")
+ return void (await route("/import"));
+ },
+ }}
+ >
+ <Glyph
+ basis={{
+ classes: `text-base text-ly0-gl group-active:text-ly0-gl-a`,
+ key: "gear",
+ }}
+ />
+ </SelectMenu>
+ </Fade>
+{/if}
+
+<div
+ data-view={`cfg_key`}
+ class={`flex flex-col h-full w-full justify-start items-center`}
+>
+ <div
+ data-carousel-container={`cfg_key`}
+ class={`carousel-container flex h-full w-full`}
+ >
+ <div
+ data-carousel-item={`cfg_key`}
+ class={`carousel-item flex flex-col h-full w-full justify-center items-center`}
+ >
+ <div
+ class={`relative flex flex-col h-full w-full justify-center items-center`}
+ >
+ <div
+ class={`flex flex-row w-full justify-start items-center -translate-y-16`}
+ >
+ <button
+ class={`flex flex-row w-full justify-center items-center`}
+ onclick={async () => {
+ await goto(`/`);
+ }}
+ >
+ <LogoCircle />
+ </button>
+ </div>
+ <div
+ class={`absolute bottom-0 left-0 flex flex-col h-[20rem] w-full px-10 gap-2 justify-start items-center`}
+ >
+ <div
+ class={`flex flex-row w-full justify-start items-center`}
+ >
+ <p
+ class={`font-sans font-[400] text-sm text-ly0-gl-label uppercase`}
+ >
+ {`${$ls(`common.configure`)}`}
+ </p>
+ </div>
+ <div
+ class={`flex flex-col w-full gap-2 justify-start items-center`}
+ >
+ <div
+ class={`flex flex-row w-full justify-start items-center`}
+ >
+ <p
+ class={`font-mono font-[400] text-[1.1rem] text-ly0-gl`}
+ >
+ {`${$ls(`notification.init.greeting_header`)}`}
+ </p>
+ </div>
+ <div
+ class={`flex flex-row w-full justify-start items-center`}
+ >
+ <p
+ class={`font-mono font-[400] text-[1.1rem] text-ly0-gl`}
+ >
+ {`${$ls(
+ `notification.init.greeting_subheader`,
+ )}.`}
+ </p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div
+ data-carousel-item={`cfg_key`}
+ class={`carousel-item flex flex-col h-full w-full justify-center items-center`}
+ role="button"
+ tabindex="0"
+ onclick={async () => {
+ cgf_key_opt = undefined;
+ }}
+ onkeydown={null}
+ >
+ <div
+ class={`flex flex-col h-[16rem] gap-8 w-full justify-start items-center`}
+ >
+ <div class={`flex flex-row w-full justify-center items-center`}>
+ <p class={`font-sans font-[600] text-ly0-gl text-3xl`}>
+ {`${$ls(`icu.configure_*`, {
+ value: `${$ls(`common.device`)}`,
+ })}`}
+ </p>
+ </div>
+ <div
+ class={`flex flex-col w-full gap-6 justify-center items-center`}
+ >
+ <button
+ class={`flex flex-col h-bold_button w-lo_${$app_lo} justify-center items-center rounded-touch ${
+ cgf_key_opt === `nostr_key_gen`
+ ? `ly1-apply-active ly1-raise-apply ly1-ring-apply`
+ : `bg-ly1`
+ } el-re`}
+ onclick={async (ev) => {
+ ev.stopPropagation();
+ cgf_key_opt = `nostr_key_gen`;
+ }}
+ >
+ <p class={`font-sans font-[600] text-ly0-gl text-xl`}>
+ {`${$ls(`icu.create_new_*`, {
+ value: `${$ls(`common.keypair`)}`.toLowerCase(),
+ })}`}
+ </p>
+ </button>
+ <button
+ class={`flex flex-col h-bold_button w-lo_${$app_lo} justify-center items-center rounded-touch ${
+ cgf_key_opt === `nostr_key_add`
+ ? `ly1-apply-active ly1-raise-apply ly1-ring-apply`
+ : `bg-ly1`
+ } el-re`}
+ onclick={async (ev) => {
+ ev.stopPropagation();
+ cgf_key_opt = `nostr_key_add`;
+ }}
+ >
+ <p class={`font-sans font-[600] text-ly0-gl text-xl`}>
+ {`${$ls(`icu.use_existing_*`, {
+ value: `${$ls(`common.keypair`)}`.toLowerCase(),
+ })}`}
+ </p>
+ </button>
+ </div>
+ </div>
+ </div>
+ <div
+ data-carousel-item={`cfg_key`}
+ class={`carousel-item flex flex-col h-full w-full justify-center items-center`}
+ >
+ <div
+ class={`flex flex-col w-full gap-8 justify-start items-center`}
+ >
+ <div
+ class={`flex flex-col w-full gap-6 justify-center items-center`}
+ >
+ <p
+ class={`font-sans font-[600] text-ly0-gl text-3xl capitalize`}
+ >
+ {`${$ls(`icu.add_existing_*`, {
+ value: `${$ls(`common.key`)}`.toLowerCase(),
+ })}`}
+ </p>
+ <EntryLine
+ bind:value={nostr_key_add_val}
+ basis={{
+ wrap: {
+ layer: 1,
+ classes: `w-lo_${$app_lo}`,
+ style: `guide`,
+ },
+ el: {
+ classes: `font-sans text-[1.25rem] text-center placeholder:opacity-60`,
+ layer: 1,
+ placeholder: `${$ls(`icu.enter_*`, {
+ value: `nostr nsec/hex`,
+ })}`,
+ callback_keydown: async ({ key_s, el }) => {
+ if (key_s) {
+ el.blur();
+ handle_continue();
+ }
+ },
+ },
+ }}
+ />
+ </div>
+ </div>
+ </div>
+ <div
+ class={`z-10 absolute ios0:bottom-2 bottom-10 left-0 flex flex-col w-full justify-center items-center`}
+ >
+ <ButtonLayoutPair
+ basis={{
+ continue: {
+ label: `${$ls(`common.continue`)}`,
+ disabled: $casl_i === 1 && !cgf_key_opt,
+ callback: async () => handle_continue(),
+ },
+ back: {
+ label: `${$ls(`common.back`)}`,
+ visible: $casl_i > 0,
+ callback: async () => handle_back(),
+ },
+ }}
+ />
+ </div>
+ </div>
+</div>
+
+<div
+ data-view={`cfg_profile`}
+ class={`hidden flex flex-col h-full w-full justify-start items-center`}
+>
+ <div
+ data-carousel-container={`cfg_profile`}
+ class={`carousel-container flex h-full w-full`}
+ >
+ <div
+ data-carousel-item={`cfg_profile`}
+ class={`carousel-item flex flex-col h-full w-full justify-center items-center`}
+ >
+ <div
+ class={`flex flex-col h-[16rem] w-full px-4 gap-6 justify-start items-center`}
+ >
+ <p class={`font-sans font-[600] text-ly0-gl text-3xl`}>
+ {`${$ls(`icu.add_*`, {
+ value: `${$ls(`common.profile`)}`,
+ })}`}
+ </p>
+ <div
+ class={`flex flex-col w-full gap-4 justify-center items-center`}
+ >
+ <EntryLine
+ bind:value={profile_name_val}
+ basis={{
+ loading: profile_name_loading,
+ wrap: {
+ layer: 1,
+ classes: `w-lo_${$app_lo}`,
+ style: `guide`,
+ },
+ el: {
+ classes: `font-sans text-[1.25rem] text-center placeholder:opacity-60`,
+ id: fmt_id(`nostr:profile`),
+ layer: 1,
+ placeholder: `${$ls(`icu.enter_*`, {
+ value: `${$ls(
+ `common.profile_name`,
+ )}`.toLowerCase(),
+ })}`,
+ field: form_fields.profile_name,
+ callback: async ({ pass }) => {
+ profile_name_valid = pass;
+ },
+ callback_keydown: async ({ key_s, el }) => {
+ if (key_s) {
+ el.blur();
+ handle_continue();
+ }
+ },
+ },
+ }}
+ />
+ <div
+ class={`flex flex-row w-full gap-2 justify-center items-center`}
+ >
+ <input
+ type="checkbox"
+ bind:checked={profile_name_nip05}
+ />
+ <button
+ class={`flex flex-row justify-center items-center`}
+ onclick={async () => {
+ profile_name_nip05 = !profile_name_nip05;
+ }}
+ >
+ <p
+ class={`font-sans font-[400] text-ly0-gl text-[14px] tracking-wide`}
+ >
+ {`${$ls(`common.create`)}`}
+ <span
+ class={`font-mono font-[500] tracking-tight px-[3px]`}
+ >
+ {`@radroots`}
+ </span>
+ {`${$ls(`common.nip05_address`)}`}
+ </p>
+ </button>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div
+ data-carousel-item={`cfg_profile`}
+ class={`carousel-item flex flex-col h-full w-full justify-center items-center`}
+ role="button"
+ tabindex="0"
+ onclick={async () => {
+ cfg_role = undefined;
+ }}
+ onkeydown={null}
+ >
+ <div
+ class={`flex flex-col h-[16rem] w-full gap-10 justify-start items-center`}
+ >
+ <div class={`flex flex-row w-full justify-center items-center`}>
+ <p class={`font-sans font-[600] text-ly0-gl text-3xl`}>
+ {`${$ls(`common.setup_for_farmer`)}`}
+ </p>
+ </div>
+ <div
+ class={`flex flex-col w-full gap-5 justify-center items-center`}
+ >
+ <button
+ class={`flex flex-col h-bold_button w-lo_${$app_lo} justify-center items-center rounded-touch ${
+ cfg_role === `farmer`
+ ? `ly1-apply-active ly1-raise-apply ly1-ring-apply`
+ : `bg-ly1`
+ } el-re`}
+ onclick={async (ev) => {
+ ev.stopPropagation();
+ cfg_role = `farmer`;
+ }}
+ >
+ <p class={`font-sans font-[600] text-ly0-gl text-xl`}>
+ {`${$ls(`common.yes`)}`}
+ </p>
+ </button>
+ <button
+ class={`flex flex-col h-bold_button w-lo_${$app_lo} justify-center items-center rounded-touch ${
+ cfg_role === `personal`
+ ? `ly1-apply-active ly1-raise-apply ly1-ring-apply`
+ : `bg-ly1`
+ } el-re`}
+ onclick={async (ev) => {
+ ev.stopPropagation();
+ cfg_role = `personal`;
+ }}
+ >
+ <p class={`font-sans font-[600] text-ly0-gl text-xl`}>
+ {`${$ls(`common.no`)}`}
+ </p>
+ </button>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div
+ class={`absolute ios0:bottom-2 bottom-10 left-0 flex flex-col w-full justify-center items-center`}
+ >
+ <ButtonLayoutPair
+ basis={{
+ continue: {
+ label: `${$ls(`common.continue`)}`,
+ disabled: $casl_i === 1 && !cfg_role,
+ callback: async () => handle_continue(),
+ },
+ back: {
+ visible: true,
+ label:
+ view === "cfg_profile" &&
+ $casl_i === 0 &&
+ !profile_name_val
+ ? `${$ls(`common.skip`)}`
+ : `${$ls(`common.back`)}`,
+ callback: handle_back,
+ },
+ }}
+ />
+ </div>
+</div>
+
+<div
+ data-view={`eula`}
+ class={`hidden flex flex-col h-full w-full ios0:pt-12 pt-24 justify-start items-center`}
+>
+ <div
+ data-carousel-container={`eula`}
+ class={`carousel-container flex h-full w-full rounded-2xl scroll-hide`}
+ >
+ <div
+ data-carousel-item={`eula`}
+ class={`carousel-item flex flex-col h-full w-full justify-start items-center`}
+ >
+ <div
+ class={`flex flex-col h-full w-full px-4 justify-start items-center ${
+ view === `eula` ? `fade-in-long` : ``
+ }`}
+ >
+ <div
+ class={`flex flex-col w-full px-4 gap-4 justify-start items-center`}
+ >
+ <div
+ class={`flex flex-row w-full ios0:pt-8 justify-center items-center`}
+ >
+ <p class={`font-mono font-[600] text-ly0-gl text-2xl`}>
+ {`${$ls(`eula.title`)}`}
+ </p>
+ </div>
+ <div
+ class={`flex flex-col ios0:h-[26rem] ios1:h-[38rem] w-full gap-6 justify-start items-center overflow-y-scroll scroll-hide`}
+ onscroll={on_scroll_eula}
+ >
+ <div
+ class={`flex flex-col w-full gap-2 justify-start items-start`}
+ >
+ <p class={`font-mono font-[600] text-ly0-gl`}>
+ {`**${$ls(`eula.introduction.title`)}**`}
+ </p>
+ <p
+ class={`font-mono font-[500] text-ly0-gl text-sm text-justify break-word`}
+ >
+ {`${$ls(`eula.introduction.body`)}`}
+ </p>
+ </div>
+ <div
+ class={`flex flex-col w-full gap-2 justify-start items-start`}
+ >
+ <p class={`font-mono font-[600] text-ly0-gl`}>
+ {`**${$ls(`eula.prohibited_content.title`)}**`}
+ </p>
+ <p
+ class={`font-mono font-[500] text-sm text-ly0-gl text-justify break-word`}
+ >
+ {`${$ls(
+ `eula.prohibited_content.body_0_title`,
+ )}`}
+ </p>
+ <div
+ class={`flex flex-col w-full justify-start items-start`}
+ >
+ {#each [0, 1, 2, 3, 4, 5] as li}
+ <div
+ class={`flex flex-row w-full justify-start items-center`}
+ >
+ <div
+ class={`flex flex-row h-full w-8 justify-start items-start`}
+ >
+ <p
+ class={` font-mono font-[500] text-sm text-ly0-gl text-justify break-word`}
+ >
+ {`*`}
+ </p>
+ </div>
+ <div
+ class={`flex flex-row h-full w-full justify-start items-start`}
+ >
+ <p
+ class={`col-span-10 font-mono font-[500] text-sm text-ly0-gl text-justify break-word`}
+ >
+ {`${$ls(
+ `eula.prohibited_content.body_li_0_${li}`,
+ )}`}
+ </p>
+ </div>
+ </div>
+ {/each}
+ </div>
+ </div>
+ <div
+ class={`flex flex-col w-full gap-2 justify-start items-start`}
+ >
+ <p class={`font-mono font-[600] text-ly0-gl`}>
+ {`**${$ls(`eula.prohibited_conduct.title`)}**`}
+ </p>
+ <div
+ class={`flex flex-col w-full justify-start items-start`}
+ >
+ {#each [0, 1, 2, 3] as li}
+ <div
+ class={`flex flex-row w-full justify-start items-center`}
+ >
+ <div
+ class={`flex flex-row h-full w-8 justify-start items-start`}
+ >
+ <p
+ class={` font-mono font-[500] text-sm text-ly0-gl text-justify break-word`}
+ >
+ {`*`}
+ </p>
+ </div>
+ <div
+ class={`flex flex-row h-full w-full justify-start items-start`}
+ >
+ <p
+ class={`col-span-10 font-mono font-[500] text-sm text-ly0-gl text-justify break-word`}
+ >
+ {`${$ls(
+ `eula.prohibited_conduct.body_li_0_${li}`,
+ )}`}
+ </p>
+ </div>
+ </div>
+ {/each}
+ </div>
+ </div>
+ <div
+ class={`flex flex-col w-full gap-2 justify-start items-start`}
+ >
+ <p class={`font-mono font-[600] text-ly0-gl`}>
+ {`**${$ls(
+ `eula.consequences_of_violation.title`,
+ )}**`}
+ </p>
+ <p
+ class={`font-mono font-[500] text-ly0-gl text-sm text-justify break-word`}
+ >
+ {`${$ls(
+ `eula.consequences_of_violation.body`,
+ )}`}
+ </p>
+ </div>
+ <div
+ class={`flex flex-col w-full gap-2 justify-start items-start`}
+ >
+ <p class={`font-mono font-[600] text-ly0-gl`}>
+ {`**${$ls(`eula.disclaimer.title`)}**`}
+ </p>
+ <p
+ class={`font-mono font-[500] text-ly0-gl text-sm text-justify break-word`}
+ >
+ {`${$ls(`eula.disclaimer.body`)}`}
+ </p>
+ </div>
+ <div
+ class={`flex flex-col w-full gap-2 justify-start items-start`}
+ >
+ <p class={`font-mono font-[600] text-ly0-gl`}>
+ {`**${$ls(`eula.changes.title`)}**`}
+ </p>
+ <p
+ class={`font-mono font-[500] text-ly0-gl text-sm text-justify break-word`}
+ >
+ {`${$ls(`eula.changes.body`)}`}
+ </p>
+ </div>
+ <div
+ class={`flex flex-col w-full gap-2 justify-start items-start`}
+ >
+ <p class={`font-mono font-[600] text-ly0-gl`}>
+ {`**${$ls(`eula.contact.title`)}**`}
+ </p>
+ <p
+ class={`font-mono font-[500] text-ly0-gl text-sm text-justify break-word`}
+ >
+ {`${$ls(`eula.contact.body`)}`}
+ </p>
+ </div>
+ <div
+ class={`flex flex-col w-full gap-2 justify-start items-start`}
+ >
+ <p class={`font-mono font-[600] text-ly0-gl`}>
+ {`**${$ls(`eula.acceptance_of_terms.title`)}**`}
+ </p>
+ <p
+ class={`font-mono font-[500] text-ly0-gl text-sm text-justify break-word`}
+ >
+ {`${$ls(`eula.acceptance_of_terms.body`)}`}
+ </p>
+ </div>
+ </div>
+ </div>
+ <div
+ class={`flex flex-row w-full ios0:pt-8 pt-6 justify-center items-center`}
+ >
+ <button
+ class={`group flex flex-row basis-1/2 gap-4 justify-center items-center ${
+ is_eula_scrolled ? `` : `opacity-80`
+ }`}
+ onclick={async () => {
+ const confirm = await notif.confirm({
+ message: `${$ls(`eula.error.required`)}`,
+ cancel: `${$ls(`common.quit`)}`,
+ });
+
+ if (confirm === false)
+ await page_reset(undefined, true);
+ }}
+ >
+ <p
+ class={`font-mono font-[400] text-sm text-ly0-gl group-active:text-ly0-gl el-re`}
+ >
+ {`-`}
+ </p>
+ <p
+ class={`font-mono font-[400] text-sm text-ly0-gl group-active:text-ly0-gl el-re`}
+ >
+ {`${`${$ls(`common.disagree`)}`}`}
+ </p>
+ <p
+ class={`font-mono font-[400] text-sm text-ly0-gl group-active:text-ly0-gl el-re`}
+ >
+ {`-`}
+ </p>
+ </button>
+ <button
+ class={`relative group flex flex-row basis-1/2 gap-4 justify-center items-center el-re ${
+ is_eula_scrolled ? `` : `opacity-40`
+ }`}
+ onclick={async () => {
+ if (is_eula_scrolled) await submit();
+ }}
+ >
+ <p
+ class={`font-mono font-[400] text-sm text-ly0-gl-hl group-active:text-ly0-gl-hl/80 el-re`}
+ >
+ {`-`}
+ </p>
+ <p
+ class={`font-mono font-[400] text-sm text-ly0-gl-hl group-active:text-ly0-gl-hl/80 el-re`}
+ >
+ {`${`${$ls(`common.agree`)}`}`}
+ </p>
+ <p
+ class={`font-mono font-[400] text-sm text-ly0-gl-hl group-active:text-ly0-gl-hl/80 el-re`}
+ >
+ {`- `}
+ </p>
+ {#if is_loading_s}
+ <div
+ class={`absolute right-3 flex flex-row justify-start items-center`}
+ >
+ <LoadSymbol basis={{ dim: `xs` }} />
+ </div>
+ {/if}
+ </button>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
diff --git a/app/src/routes/+layout.svelte b/app/src/routes/+layout.svelte
@@ -1,5 +1,7 @@
<script lang="ts">
- import { locale, ls } from "$lib/locale/i18n";
+ import { dev, version as kit_version } from "$app/environment";
+ import { db } from "$lib/utils/app";
+ import { app_cfg } from "$lib/utils/app/config";
import {
lc_color_mode,
lc_geocode,
@@ -9,25 +11,51 @@
lc_img_bin,
lc_photos_add,
lc_photos_upload,
- } from "$lib/util/callback";
+ } from "$lib/utils/app/handlers";
+ import { locale, ls } from "$lib/utils/i18n";
import {
- app_lo,
- app_th,
- app_thc,
- LayoutWindow,
set_context,
+ theme_key,
+ theme_mode,
theme_set,
win_h,
- } from "@radroots/lib-app";
- import { parse_color_mode, parse_theme_key } from "@radroots/theme";
- import { cfg_app } from "@radroots/util";
+ } from "@radroots/apps-lib";
+ import { Css, LayoutWindow } from "@radroots/apps-lib-pwa";
+ import { app_lo } from "@radroots/apps-lib-pwa/stores/app";
+ import { cfg_app } from "@radroots/apps-lib-pwa/utils/app";
+ import { parse_theme_key, parse_theme_mode } from "@radroots/themes";
import "css-paint-polyfill";
+ import { onMount } from "svelte";
import "../app.css";
import type { LayoutProps } from "./$types";
+ type MetaTag = {
+ name: string;
+ content: string;
+ };
+
+ const head_meta_tags: MetaTag[] = [
+ {
+ name: "app_version",
+ content: app_cfg.version,
+ },
+ {
+ name: "app_backup_version",
+ content: app_cfg.backup.version,
+ },
+ {
+ name: "app_build_id",
+ content: kit_version,
+ },
+ {
+ name: "app_build_mode",
+ content: dev ? "development" : "production",
+ },
+ ];
+
let { children }: LayoutProps = $props();
- set_context(`lib`, {
+ set_context("lib", {
ls,
locale,
lc_color_mode,
@@ -40,20 +68,34 @@
lc_photos_upload,
});
- app_thc.subscribe((_app_thc) =>
- theme_set(parse_theme_key($app_th), parse_color_mode(_app_thc)),
+ theme_mode.subscribe((_theme_mode) =>
+ theme_set(parse_theme_key($theme_key), parse_theme_mode(_theme_mode)),
);
- app_th.subscribe((_app_th) =>
- theme_set(parse_theme_key(_app_th), parse_color_mode($app_thc)),
+ theme_key.subscribe((_theme_key) =>
+ theme_set(parse_theme_key(_theme_key), parse_theme_mode($theme_mode)),
);
win_h.subscribe((_win_h) => {
- if (_win_h > cfg_app.layout.ios1.h) app_lo.set(`ios1`);
- else app_lo.set(`ios0`);
+ if (_win_h > cfg_app.layout.ios1.h) {
+ app_lo.set("ios1");
+ } else {
+ app_lo.set("ios0");
+ }
+ });
+
+ onMount(async () => {
+ await db.init();
});
</script>
+<svelte:head>
+ {#each head_meta_tags as meta_tag (meta_tag.name)}
+ <meta name={meta_tag.name} content={meta_tag.content} />
+ {/each}
+</svelte:head>
+
<LayoutWindow>
{@render children()}
</LayoutWindow>
+<Css />
diff --git a/app/src/routes/+layout.ts b/app/src/routes/+layout.ts
@@ -1,5 +1,5 @@
-import { load_translations, locales, translations_loading } from '$lib/locale/i18n';
-import { handle_err } from '@radroots/lib-app';
+import { load_translations, locales, translations_loading } from '$lib/utils/i18n';
+import { get_locale, handle_err } from '@radroots/apps-lib';
import type { LayoutLoad, LayoutLoadEvent } from './$types';
export const prerender = true;
@@ -8,15 +8,11 @@ export const trailingSlash = 'always';
export const load: LayoutLoad = async ({ url }: LayoutLoadEvent) => {
try {
- const { language: nav_locale } = navigator;
- let locale = `en`;
- const locales_avail = locales.get();
- if (locales_avail.some(i => i === nav_locale.toLowerCase())) locale = navigator.language;
- else if (locales_avail.some(i => i === nav_locale.slice(0, 2).toLowerCase())) locale = nav_locale.slice(0, 2);
- await load_translations(locale.toLowerCase(), url.pathname);
+ const loc = get_locale(locales.get());
+ await load_translations(loc, url.pathname);
await translations_loading.toPromise();
} catch (e) {
- await handle_err(e, `(root)load`)
+ handle_err(e, `(root)load`)
} finally {
return {};
};
diff --git a/app/src/service-worker.js b/app/src/service-worker.js
@@ -0,0 +1,9 @@
+import { build, files, prerendered, version } from '$service-worker'
+import { precacheAndRoute } from 'workbox-precaching'
+
+const precache_list = [...build, ...files, ...prerendered].map((s) => ({
+ url: s,
+ revision: version,
+}))
+
+precacheAndRoute(precache_list)
+\ No newline at end of file
diff --git a/app/static/favicon.ico b/app/static/favicon.ico
Binary files differ.
diff --git a/app/static/logo.png b/app/static/logo.png
Binary files differ.
diff --git a/app/static/manifest.json b/app/static/manifest.json
@@ -0,0 +1,16 @@
+{
+ "name": "Rad Roots »-`-,-",
+ "short_name": "Rad Roots",
+ "start_url": "/",
+ "id": "/",
+ "display": "standalone",
+ "theme_color": "#f2f2f7",
+ "background_color": "#f2f2f7",
+ "icons": [
+ {
+ "sizes": "256x256",
+ "src": "logo.png",
+ "type": "image/png"
+ }
+ ]
+}
+\ No newline at end of file
diff --git a/app/svelte.config.js b/app/svelte.config.js
@@ -1,12 +1,17 @@
-import adapter from '@sveltejs/adapter-static';
-import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
+import adapter from "@sveltejs/adapter-static";
+import { vitePreprocess } from "@sveltejs/vite-plugin-svelte";
-/** @type {import('@sveltejs/kit').Config} */
const config = {
preprocess: vitePreprocess(),
kit: {
- adapter: adapter(),
- },
+ adapter: adapter({
+ pages: "build",
+ assets: "build",
+ fallback: "index.html",
+ precompress: false,
+ strict: true
+ }),
+ }
};
-export default config;
-\ No newline at end of file
+export default config;
diff --git a/app/tailwind.config.ts b/app/tailwind.config.ts
@@ -1,160 +0,0 @@
-import { theme_colors, themes } from "@radroots/theme";
-import { type AppHeightsResponsiveIOS, type AppWidthsResponsiveIOS, cfg_app } from "@radroots/util";
-import daisyui from "daisyui";
-import type { Config } from "tailwindcss";
-import tailwind_default from "tailwindcss/defaultTheme";
-const { fontFamily: tw_font, screens: tw_screens } = tailwind_default;
-
-const heights_responsive: Record<AppHeightsResponsiveIOS, string> = {
- nav_tabs_ios0: `80px`,
- nav_tabs_ios1: `120px`,
- nav_page_toolbar_ios0: `72px`,
- nav_page_toolbar_ios1: `120px`,
- nav_page_header_ios0: `62px`,
- nav_page_header_ios1: `62px`,
- lo_bottom_button_ios0: `90px`,
- lo_bottom_button_ios1: `112px`,
- lo_view_main_ios0: `22rem`,
- lo_view_main_ios1: `28rem`,
-};
-
-const heights: Record<string, string> = {
- ...heights_responsive,
- line: `46px`,
- line_button: `3.25rem`,
- touch_guide: `3.4rem`,
- entry_line: `48px`,
- bold_button: `4.25rem`,
-};
-
-const widths_responsive: Record<AppWidthsResponsiveIOS, string> = {
- lo_ios0: `340px`,
- lo_ios1: `345px`,
- lo_textdesc_ios0: `312px`,
- lo_textdesc_ios1: `312px`,
- lo_line_entry_ios0: `349px`,
- lo_line_entry_ios1: `378px`,
-};
-
-const widths: Record<string, string> = {
- ...widths_responsive,
- trellis_value: `180px`,
- trellis_display: `286px`,
-};
-
-const dimensions_responsive: Record<string, string> = {
- ios0: `340px`,
- ios1: `345px`
-};
-
-const spacing: Record<string, string> = {
- line: `1px`,
- edge: `2px`
-};
-
-const dimensions: Record<string, string> = {
- ...dimensions_responsive
-};
-
-const config: Config = {
- content: [
- `src/**/*.{ts,svelte}`,
- `../packages/lib-app/src/**/*.{ts,svelte}`,
- ],
- theme: {
- screens: {
- ios1: { raw: `(orientation: portrait) and (min-height: ${cfg_app.layout.ios1.h}px)` },
- ios0: { raw: `(orientation: portrait) and (max-height: ${cfg_app.layout.ios0.h}px)` },
- ...tw_screens
- },
- extend: {
- colors: {
- ...theme_colors,
- },
- fontFamily: {
- sans: [`SF Pro Rounded`, ...tw_font.sans],
- sansd: [`SF Pro Display`],
- serif: [...tw_font.serif],
- mono: [...tw_font.mono],
- },
- fontSize: {
- guide: [`1.25rem`, { lineHeight: `1.25rem` }],
- form_base: `1.08rem`,
- line_label: [`1.3rem`, { lineHeight: `1.3rem` }],
- trellis_ti: [`0.8rem`, { lineHeight: `1rem`, fontWeight: 300 }],
- line_d: [`1.05rem`, { lineHeight: `1.33rem`, fontWeight: 400 }],
- nav_prev: [`1.09rem`, { lineHeight: `1.33rem`, fontWeight: 400 }],
- nav_curr: [`1.09rem`, { lineHeight: `1.33rem`, fontWeight: 500 }],
- env_ti: [`1.05rem`, { lineHeight: `1.75rem`, fontWeight: 600 }],
- env_btnc: [`1.1rem`, { lineHeight: `1.75rem`, fontWeight: 600 }],
- env_btnl: [`1.1rem`, { lineHeight: `1.75rem`, fontWeight: 500 }],
- },
- gridTemplateColumns: {
- '16': `repeat(16, minmax(0, 1fr))`,
- '24': `repeat(24, minmax(0, 1fr))`,
- },
- height: {
- ...heights,
- ...dimensions,
- },
- width: {
- ...widths,
- ...dimensions,
- },
- minHeight: {
- ...heights
- },
- minWidth: {
- ...widths
- },
- maxHeight: {
- ...heights
- },
- maxWidth: {
- ...widths
- },
- padding: {
- ...Object.fromEntries(Object.entries(heights).map(([k, v]) => [`h_${k}`, v])),
- ...Object.fromEntries(Object.entries(widths).map(([k, v]) => [`w_${k}`, v])),
- ...Object.fromEntries(Object.entries(dimensions).map(([k, v]) => [`dim_${k}`, v])),
- },
- translate: {
- ...Object.fromEntries(Object.entries(heights).map(([k, v]) => [`h_${k}`, v])),
- ...Object.fromEntries(Object.entries(widths).map(([k, v]) => [`w_${k}`, v])),
- },
- spacing: {
- ...spacing,
- ...Object.fromEntries(Object.entries(dimensions).map(([k, v]) => [`dim_${k}`, v])),
- },
- borderWidth: {
- line: `1px`,
- edge: `2px`
- },
- borderRadius: {
- input_form: `8px`,
- entry: `1.05rem`,
- touch: `1.25rem`
- },
- animation: {
- 'spin-slow': 'spin 3s linear infinite',
- },
- keyframes: {
- spin: {
- '0%': { transform: 'rotate(0deg)' },
- '100%': { transform: 'rotate(360deg)' },
- },
- },
- },
- },
- plugins: [
- daisyui,
- ],
- daisyui: {
- themes: [
- themes.theme_os_light,
- themes.theme_os_dark,
- ],
- },
-};
-
-export default config;
diff --git a/app/vite.config.ts b/app/vite.config.ts
@@ -1,30 +1,31 @@
-import { sveltekit } from '@sveltejs/kit/vite';
-import { defineConfig } from 'vite';
+import { sveltekit } from "@sveltejs/kit/vite";
+import tailwindcss from "@tailwindcss/vite";
+import { config as dotenv_config } from "dotenv";
+import path from "node:path";
+import { defineConfig } from "vite";
-const port = process.env.RADROOTS_APP_PORT ? Number(process.env.RADROOTS_APP_PORT) : 3000;
-const host = process.env.TAURI_DEV_HOST ? process.env.TAURI_DEV_HOST : false;
+export default defineConfig(({ mode }) => {
+ dotenv_config({ path: mode === "development" ? ".env.development" : ".env.production" });
+ return {
+ build: {
+ sourcemap: true
+ },
+ plugins: [
+ tailwindcss(),
+ sveltekit(),
+ ],
+ define: {
+ 'process.env.NODE_ENV': '"production"',
+ },
+ server: {
+ port: process.env.PORT ? Number(process.env.PORT) : 3000,
+ fs: {
+ allow: [
+ path.resolve(__dirname, ".."),
+ path.resolve(__dirname, "../..")
-export default defineConfig({
- plugins: [
- sveltekit()
- ],
- clearScreen: false,
- server: {
- port,
- strictPort: true,
- host,
- hmr: host
- ? {
- protocol: "ws",
- host,
- port: port + 1,
+ ]
}
- : undefined,
- watch: {
- ignored: [
- "**/target/**",
- "**/crates/**",
- ],
- },
- },
+ }
+ };
});
diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml
@@ -1,32 +0,0 @@
-[package]
-name = "tangle_core"
-version.workspace = true
-edition.workspace = true
-authors = ["Radroots Authors"]
-rust-version.workspace = true
-license.workspace = true
-
-[lib]
-name = "tangle_core"
-path = "src/lib.rs"
-crate-type = ["rlib"]
-
-[dependencies]
-serde = { workspace = true }
-serde_json = { workspace = true }
-thiserror = { workspace = true }
-uuid = { version = "1", features = ["v4"] }
-chrono = "0.4"
-regex = "1.11.0"
-base64 = "0.22"
-nostr-sdk = { version = "0.43" }
-wasm-bindgen = { version = "0.2", optional = true }
-
-[features]
-default = []
-wasm = ["wasm-bindgen"]
-
-[target.wasm32-unknown-unknown.dependencies]
-getrandom = { version = "0.2", features = ["js"] }
-uuid = { version = "1", features = ["v4", "js"], package = "uuid" }
-web-sys = { version = "0.3", features = ["Window", "Storage"] }
diff --git a/crates/core/src/keystore.rs b/crates/core/src/keystore.rs
@@ -1,185 +0,0 @@
-use base64::{Engine as _, engine::general_purpose};
-use serde_json::json;
-use thiserror::Error;
-use uuid::Uuid;
-
-#[cfg(target_arch = "wasm32")]
-use web_sys::window;
-
-#[derive(Error, Debug)]
-pub enum KeystoreError {
- #[error("Failed to parse JSON: {0}")]
- JsonError(#[from] serde_json::Error),
- #[error("UUID error: {0}")]
- UuidError(#[from] uuid::Error),
- #[error("Base64 error: {0}")]
- Base64Error(#[from] base64::DecodeError),
- #[error("UTF-8 error: {0}")]
- Utf8Error(#[from] std::string::FromUtf8Error),
- #[error("Key error: {0}")]
- KeyError(#[from] nostr_sdk::key::Error),
- #[error("error.keystore.key_not_found")]
- KeyNotFound,
- #[error("Storage error")]
- Storage,
-}
-
-pub type KeystoreResult<T> = std::result::Result<T, KeystoreError>;
-
-pub trait Storage {
- fn read_text(&self, path: &str) -> KeystoreResult<Option<String>>;
- fn write_text(&self, path: &str, data: &str) -> KeystoreResult<()>;
- fn exists(&self, path: &str) -> KeystoreResult<bool>;
-}
-
-#[cfg(target_arch = "wasm32")]
-pub struct BrowserStorage;
-
-#[cfg(target_arch = "wasm32")]
-impl Storage for BrowserStorage {
- fn read_text(&self, path: &str) -> KeystoreResult<Option<String>> {
- let storage = window()
- .ok_or(KeystoreError::Storage)?
- .local_storage()
- .map_err(|_| KeystoreError::Storage)?
- .ok_or(KeystoreError::Storage)?;
- storage.get_item(path).map_err(|_| KeystoreError::Storage)
- }
-
- fn write_text(&self, path: &str, data: &str) -> KeystoreResult<()> {
- let storage = window()
- .ok_or(KeystoreError::Storage)?
- .local_storage()
- .map_err(|_| KeystoreError::Storage)?
- .ok_or(KeystoreError::Storage)?;
- storage
- .set_item(path, data)
- .map_err(|_| KeystoreError::Storage)?;
- Ok(())
- }
-
- fn exists(&self, path: &str) -> KeystoreResult<bool> {
- let storage = window()
- .ok_or(KeystoreError::Storage)?
- .local_storage()
- .map_err(|_| KeystoreError::Storage)?
- .ok_or(KeystoreError::Storage)?;
- storage
- .get_item(path)
- .map_err(|_| KeystoreError::Storage)
- .map(|v| v.is_some())
- }
-}
-
-#[cfg(not(target_arch = "wasm32"))]
-struct NullStorage;
-
-#[cfg(not(target_arch = "wasm32"))]
-impl Storage for NullStorage {
- fn read_text(&self, _path: &str) -> KeystoreResult<Option<String>> {
- Ok(None)
- }
- fn write_text(&self, _path: &str, _data: &str) -> KeystoreResult<()> {
- Err(KeystoreError::Storage)
- }
- fn exists(&self, _path: &str) -> KeystoreResult<bool> {
- Ok(false)
- }
-}
-
-fn get_keystore_key<S: Storage>(st: &S) -> KeystoreResult<Vec<u8>> {
- let key_path = "keystore.key";
- if st.exists(key_path)? {
- let s = st.read_text(key_path)?.ok_or(KeystoreError::Storage)?;
- let id = s.parse::<Uuid>()?;
- Ok(id.as_bytes().to_vec())
- } else {
- let id = Uuid::new_v4();
- st.write_text(key_path, &id.to_string())?;
- Ok(id.as_bytes().to_vec())
- }
-}
-
-fn obfuscate<S: Storage>(st: &S, data: &str) -> KeystoreResult<String> {
- let keystore_key = get_keystore_key(st)?;
- let xored: Vec<u8> = data
- .as_bytes()
- .iter()
- .zip(keystore_key.iter().cycle())
- .map(|(&x1, &x2)| x1 ^ x2)
- .collect();
- Ok(general_purpose::STANDARD_NO_PAD.encode(xored))
-}
-
-fn deobfuscate<S: Storage>(st: &S, data: &str) -> KeystoreResult<String> {
- let keystore_key = get_keystore_key(st)?;
- let decoded = general_purpose::STANDARD_NO_PAD.decode(data)?;
- let xored: Vec<u8> = decoded
- .iter()
- .zip(keystore_key.iter().cycle())
- .map(|(&x1, &x2)| x1 ^ x2)
- .collect();
- Ok(String::from_utf8(xored)?)
-}
-
-fn read_keystore_file<S: Storage>(st: &S) -> KeystoreResult<serde_json::Value> {
- let content = st
- .read_text("keystore.json")?
- .unwrap_or_else(|| "{}".to_string());
- Ok(serde_json::from_str(&content)?)
-}
-
-fn write_keystore_file<S: Storage>(st: &S, secrets: &serde_json::Value) -> KeystoreResult<()> {
- let content = serde_json::to_string_pretty(secrets)?;
- st.write_text("keystore.json", &content)?;
- Ok(())
-}
-
-#[cfg(target_arch = "wasm32")]
-fn storage() -> BrowserStorage {
- BrowserStorage
-}
-
-#[cfg(not(target_arch = "wasm32"))]
-fn storage() -> NullStorage {
- NullStorage
-}
-
-pub fn key_add(keys: &nostr_sdk::Keys) -> KeystoreResult<()> {
- let st = storage();
- let mut secrets = read_keystore_file(&st).unwrap_or(json!({}));
- let obfuscated_key = obfuscate(&st, keys.secret_key().to_secret_hex().as_str())?;
- secrets[keys.public_key().to_hex()] = json!(obfuscated_key);
- write_keystore_file(&st, &secrets)?;
- Ok(())
-}
-
-pub fn key_read(public_key: &str) -> KeystoreResult<nostr_sdk::Keys> {
- let st = storage();
- let secrets = read_keystore_file(&st)?;
- let obfuscated_key = secrets[public_key]
- .as_str()
- .ok_or(KeystoreError::KeyNotFound)?;
- let secret_key = deobfuscate(&st, obfuscated_key)?;
- Ok(nostr_sdk::Keys::parse(&secret_key)?)
-}
-
-pub fn key_delete(public_key: &str) -> KeystoreResult<()> {
- let st = storage();
- let mut secrets = read_keystore_file(&st)?;
- secrets.as_object_mut().map(|obj| obj.remove(public_key));
- write_keystore_file(&st, &secrets)?;
- Ok(())
-}
-
-pub fn keys_read_all() -> KeystoreResult<Vec<String>> {
- let st = storage();
- let secrets = read_keystore_file(&st)?;
- Ok(crate::util::json_keys(&secrets))
-}
-
-pub fn reset() -> KeystoreResult<()> {
- let st = storage();
- write_keystore_file(&st, &json!({}))?;
- Ok(())
-}
diff --git a/crates/core/src/lib.rs b/crates/core/src/lib.rs
@@ -1,4 +0,0 @@
-pub mod keystore;
-pub mod nostr;
-pub mod types;
-pub mod util;
diff --git a/crates/core/src/nostr/keys.rs b/crates/core/src/nostr/keys.rs
@@ -1,26 +0,0 @@
-use nostr_sdk::prelude::*;
-use thiserror::Error;
-
-#[derive(Error, Debug)]
-pub enum NostrKeyError {
- #[error("Key error: {0}")]
- KeyError(#[from] nostr_sdk::key::Error),
-}
-
-pub type NostrKeyResult<T> = std::result::Result<T, NostrKeyError>;
-
-pub fn lib_nostr_keys_gen() -> nostr_sdk::Keys {
- Keys::generate()
-}
-
-pub fn lib_nostr_keys_parse(secret_key: String) -> NostrKeyResult<nostr_sdk::Keys> {
- Keys::parse(&secret_key).map_err(NostrKeyError::KeyError)
-}
-
-pub fn lib_nostr_secret_key_hex(keys: nostr_sdk::Keys) -> String {
- keys.secret_key().to_secret_hex()
-}
-
-pub fn lib_nostr_public_key_hex(keys: nostr_sdk::Keys) -> String {
- keys.public_key().to_hex()
-}
diff --git a/crates/core/src/nostr/mod.rs b/crates/core/src/nostr/mod.rs
@@ -1 +0,0 @@
-pub mod keys;
diff --git a/crates/core/src/types.rs b/crates/core/src/types.rs
@@ -1,19 +0,0 @@
-#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
-pub struct IResult<T> {
- pub result: T,
-}
-
-#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
-pub struct IResultList<T> {
- pub results: Vec<T>,
-}
-
-#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
-pub struct IResultPass {
- pub pass: bool,
-}
-
-#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
-pub struct IError {
- pub err: String,
-}
diff --git a/crates/core/src/util.rs b/crates/core/src/util.rs
@@ -1,37 +0,0 @@
-use chrono::Utc;
-use uuid::Uuid;
-
-pub fn time_created_on() -> String {
- let now: chrono::DateTime<Utc> = Utc::now();
- now.to_rfc3339_opts(chrono::SecondsFormat::Millis, true)
-}
-
-pub fn uuidv4() -> String {
- Uuid::new_v4().to_string()
-}
-
-pub fn json_values(obj: &serde_json::Value) -> Vec<serde_json::Value> {
- if let serde_json::Value::Object(map) = obj {
- map.values().cloned().collect()
- } else {
- Vec::new()
- }
-}
-
-pub fn json_values_str(obj: &serde_json::Value) -> Vec<String> {
- if let serde_json::Value::Object(map) = obj {
- map.values()
- .filter_map(|v| v.as_str().map(String::from))
- .collect()
- } else {
- Vec::new()
- }
-}
-
-pub fn json_keys(obj: &serde_json::Value) -> Vec<String> {
- if let serde_json::Value::Object(map) = obj {
- map.keys().cloned().collect()
- } else {
- Vec::new()
- }
-}
diff --git a/crates/model/Cargo.toml b/crates/model/Cargo.toml
@@ -1,20 +0,0 @@
-[package]
-name = "tangle_model"
-version.workspace = true
-edition.workspace = true
-authors = ["Radroots Authors"]
-rust-version.workspace = true
-license.workspace = true
-
-[lib]
-crate-type = ["rlib"]
-
-[dependencies]
-wasm-bindgen = "0.2"
-wasm-bindgen-futures = "0.4"
-serde = { version = "1.0", features = ["derive"] }
-serde_json = "1.0"
-serde-wasm-bindgen = "0.6"
-js-sys = "0.3"
-thiserror = "1.0"
-tangle_core = { path = "../core" }
diff --git a/crates/model/src/error.rs b/crates/model/src/error.rs
@@ -1,15 +0,0 @@
-use thiserror::Error;
-
-#[derive(Error, Debug, Clone)]
-pub enum ModelError {
- #[error("Invalid argument: {0}")]
- InvalidArgument(String),
- #[error("{0} not found")]
- NotFound(String),
- #[error("Serialization error: {0}")]
- SerializationError(String),
- #[error("Invalid query: {0}")]
- InvalidQuery(String),
- #[error("Internal error")]
- Internal,
-}
diff --git a/crates/model/src/lib.rs b/crates/model/src/lib.rs
@@ -1,4 +0,0 @@
-pub mod error;
-pub mod types;
-pub mod util;
-pub mod wasm_executor;
diff --git a/crates/model/src/types.rs b/crates/model/src/types.rs
@@ -1,49 +0,0 @@
-use serde::{Deserialize, Serialize};
-use tangle_core::types::IResultPass;
-
-#[derive(Debug, Clone, Serialize, Deserialize)]
-pub enum BindValue {
- String(String),
- Number(f64),
- Boolean(bool),
- Null,
-}
-
-pub trait ModelExecutor {
- fn query_one(&self, sql: &str, binds: &[BindValue]) -> Result<serde_json::Value, String>;
- fn query_all(&self, sql: &str, binds: &[BindValue]) -> Result<Vec<serde_json::Value>, String>;
- fn execute(&self, sql: &str, binds: &[BindValue]) -> Result<u64, String>;
-}
-
-pub struct WasmDb(pub(crate) crate::wasm_executor::WasmExecutor);
-
-pub fn new_wasm_db() -> WasmDb {
- WasmDb(crate::wasm_executor::WasmExecutor::new())
-}
-
-impl ModelExecutor for WasmDb {
- fn query_one(&self, sql: &str, binds: &[BindValue]) -> Result<serde_json::Value, String> {
- self.0.query_one(sql, binds)
- }
- fn query_all(&self, sql: &str, binds: &[BindValue]) -> Result<Vec<serde_json::Value>, String> {
- self.0.query_all(sql, binds)
- }
- fn execute(&self, sql: &str, binds: &[BindValue]) -> Result<u64, String> {
- self.0.execute(sql, binds)
- }
-}
-
-pub fn reset_all<E: ModelExecutor>(exec: &E) -> Result<IResultPass, String> {
- let sql = "DELETE FROM location_gcs;
-DELETE FROM trade_product;
-DELETE FROM nostr_profile;
-DELETE FROM nostr_relay;
-DELETE FROM media_image;
-DELETE FROM log_error;
-DELETE FROM farm;
-DELETE FROM nostr_profile_relay;
-DELETE FROM farm_location;
-DELETE FROM trade_product_location;
-DELETE FROM trade_product_media;";
- exec.execute(sql, &[]).map(|_| IResultPass { pass: true })
-}
diff --git a/crates/model/src/util.rs b/crates/model/src/util.rs
@@ -1,18 +0,0 @@
-use crate::error::ModelError;
-use crate::types::BindValue;
-
-pub fn parse_query_value(value: &serde_json::Value) -> Result<BindValue, ModelError> {
- match value {
- serde_json::Value::String(s) => Ok(BindValue::String(s.clone())),
- serde_json::Value::Number(n) => {
- Ok(BindValue::Number(n.as_f64().ok_or_else(|| {
- ModelError::InvalidArgument("invalid number".to_string())
- })?))
- }
- serde_json::Value::Bool(b) => Ok(BindValue::Boolean(*b)),
- serde_json::Value::Null => Ok(BindValue::Null),
- _ => Err(ModelError::InvalidArgument(
- "Unsupported bind value".to_string(),
- )),
- }
-}
diff --git a/crates/model/src/wasm_executor.rs b/crates/model/src/wasm_executor.rs
@@ -1,93 +0,0 @@
-use serde::{Deserialize, Serialize};
-use serde_wasm_bindgen::{from_value, to_value};
-use wasm_bindgen::prelude::*;
-
-use crate::types::BindValue;
-
-#[wasm_bindgen(module = "/web/sdk/sqlite/opfs.js")]
-extern "C" {
- #[wasm_bindgen(js_name = dbInit)]
- fn db_init(name: Option<String>) -> js_sys::Promise;
- #[wasm_bindgen(js_name = dbQueryOne)]
- fn db_query_one(sql: &str, binds: JsValue) -> JsValue;
- #[wasm_bindgen(js_name = dbQueryAll)]
- fn db_query_all(sql: &str, binds: JsValue) -> JsValue;
- #[wasm_bindgen(js_name = dbExecute)]
- fn db_execute(sql: &str, binds: JsValue) -> JsValue;
-}
-
-#[derive(Serialize, Deserialize)]
-struct JsBind {
- t: &'static str,
- s: Option<String>,
- n: Option<f64>,
- b: Option<bool>,
-}
-
-fn to_js_binds(binds: &[BindValue]) -> JsValue {
- let v: Vec<JsBind> = binds
- .iter()
- .map(|b| match b {
- BindValue::String(s) => JsBind {
- t: "s",
- s: Some(s.clone()),
- n: None,
- b: None,
- },
- BindValue::Number(n) => JsBind {
- t: "n",
- s: None,
- n: Some(*n),
- b: None,
- },
- BindValue::Boolean(x) => JsBind {
- t: "b",
- s: None,
- n: None,
- b: Some(*x),
- },
- BindValue::Null => JsBind {
- t: "null",
- s: None,
- n: None,
- b: None,
- },
- })
- .collect();
- to_value(&v).unwrap_or(JsValue::NULL)
-}
-
-pub struct WasmExecutor {
- _priv: (),
-}
-
-impl WasmExecutor {
- pub fn new() -> Self {
- Self { _priv: () }
- }
-
- pub async fn init(name: Option<String>) {
- let _ = wasm_bindgen_futures::JsFuture::from(db_init(name)).await;
- }
-
- pub fn query_one(&self, sql: &str, binds: &[BindValue]) -> Result<serde_json::Value, String> {
- let js = db_query_one(sql, to_js_binds(binds));
- from_value::<serde_json::Value>(js).map_err(|e| e.to_string()) // ✨
- }
-
- pub fn query_all(
- &self,
- sql: &str,
- binds: &[BindValue],
- ) -> Result<Vec<serde_json::Value>, String> {
- let js = db_query_all(sql, to_js_binds(binds));
- from_value::<Vec<serde_json::Value>>(js).map_err(|e| e.to_string()) // ✨
- }
-
- pub fn execute(&self, sql: &str, binds: &[BindValue]) -> Result<u64, String> {
- let js = db_execute(sql, to_js_binds(binds));
- js.as_f64()
- .map(|n| n as u64)
- .ok_or_else(|| "execute failed".to_string())
- }
-}
diff --git a/crates/model/web/sdk/sqlite/opfs.js b/crates/model/web/sdk/sqlite/opfs.js
@@ -1,27 +0,0 @@
-// crates/model/web/sdk/sqlite/opfs.js
-// Minimal JS bridge stub for wasm_bindgen module interop.
-// Extend these functions to integrate actual SQLite OPFS logic.
-
-export async function db_init(name) {
- console.log("[opfs.js] db_init:", name);
- // Placeholder: Initialize your OPFS-based SQLite database here
- return true;
-}
-
-export function db_query_one(sql, binds) {
- console.log("[opfs.js] db_query_one:", sql, binds);
- // Placeholder: Run a SQL query returning a single row
- return null;
-}
-
-export function db_query_all(sql, binds) {
- console.log("[opfs.js] db_query_all:", sql, binds);
- // Placeholder: Run a SQL query returning all rows
- return [];
-}
-
-export function db_execute(sql, binds) {
- console.log("[opfs.js] db_execute:", sql, binds);
- // Placeholder: Execute a SQL statement (INSERT, UPDATE, DELETE)
- return true;
-}
diff --git a/crates/wasm/Cargo.toml b/crates/wasm/Cargo.toml
@@ -1,29 +0,0 @@
-[package]
-name = "tangle_wasm"
-version.workspace = true
-edition.workspace = true
-authors = ["Radroots Authors"]
-rust-version.workspace = true
-license.workspace = true
-
-[lib]
-crate-type = ["cdylib"]
-
-[dependencies]
-serde = { workspace = true }
-serde_json = { workspace = true }
-thiserror = { workspace = true }
-wasm-bindgen = "0.2"
-wasm-bindgen-futures = "0.4"
-console_error_panic_hook = "0.1"
-serde-wasm-bindgen = "0.6"
-
-tangle_core = { path = "../core", features = ["wasm"] }
-tangle_model = { path = "../model" }
-
-[package.metadata.wasm-pack.profile.release]
-wasm-opt = ["-Os"]
-
-[target.wasm32-unknown-unknown.dependencies]
-getrandom = { version = "0.2", features = ["js"] }
-uuid = { version = "1", features = ["v4", "js"], package = "uuid" }
diff --git a/crates/wasm/src/ffi.rs b/crates/wasm/src/ffi.rs
@@ -1,70 +0,0 @@
-use serde::{Deserialize, Serialize};
-use serde_wasm_bindgen::{from_value, to_value};
-use tangle_model::types::{new_wasm_db, BindValue, ModelExecutor, WasmDb};
-use wasm_bindgen::prelude::*;
-
-#[wasm_bindgen]
-pub struct Db {
- exec: WasmDb,
-}
-
-fn parse_binds(binds: &JsValue) -> Vec<BindValue> {
- if binds.is_undefined() || binds.is_null() {
- Vec::new()
- } else {
- from_value(binds.clone()).unwrap_or_default()
- }
-}
-
-#[wasm_bindgen]
-impl Db {
- #[wasm_bindgen(constructor)]
- pub fn new() -> Db {
- Db {
- exec: new_wasm_db(),
- }
- }
-
- pub fn execute(&self, sql: &str, binds: &JsValue) -> Result<u64, JsValue> {
- let binds = parse_binds(binds);
- self.exec
- .execute(sql, &binds)
- .map_err(|e| JsValue::from_str(&e))
- }
-
- pub fn query_one(&self, sql: &str, binds: &JsValue) -> Result<JsValue, JsValue> {
- let binds = parse_binds(binds);
- self.exec
- .query_one(sql, &binds)
- .and_then(|v| to_value(&v).map_err(|e| e.to_string()))
- .map_err(|e| JsValue::from_str(&e))
- }
-
- pub fn query_all(&self, sql: &str, binds: &JsValue) -> Result<JsValue, JsValue> {
- let binds = parse_binds(binds);
- self.exec
- .query_all(sql, &binds)
- .and_then(|v| to_value(&v).map_err(|e| e.to_string()))
- .map_err(|e| JsValue::from_str(&e))
- }
-}
-
-#[derive(Debug, Clone, Serialize, Deserialize)]
-pub struct IError {
- pub err: String,
-}
-
-#[derive(Debug, Clone, Serialize, Deserialize)]
-pub struct IResult<T> {
- pub result: T,
-}
-
-#[derive(Debug, Clone, Serialize, Deserialize)]
-pub struct IResultList<T> {
- pub results: Vec<T>,
-}
-
-#[derive(Debug, Clone, Serialize, Deserialize)]
-pub struct IResultPass {
- pub pass: bool,
-}
diff --git a/crates/wasm/src/lib.rs b/crates/wasm/src/lib.rs
@@ -1,107 +0,0 @@
-use serde::{Deserialize, Serialize};
-use serde_wasm_bindgen::to_value;
-use tangle_core::{
- keystore,
- nostr::keys::{
- lib_nostr_keys_gen, lib_nostr_keys_parse, lib_nostr_public_key_hex,
- lib_nostr_secret_key_hex,
- },
-};
-use tangle_model::{types::new_wasm_db, wasm_executor::WasmExecutor};
-use wasm_bindgen::prelude::*;
-
-pub mod ffi;
-pub mod migrate;
-
-#[wasm_bindgen(start)]
-pub fn wasm_start() {
- console_error_panic_hook::set_once();
-}
-
-#[wasm_bindgen]
-pub async fn init(db_name: Option<String>) -> Result<JsValue, JsValue> {
- WasmExecutor::init(db_name).await;
- let db = ffi::Db::new();
- migrate::apply_migrations(db)
- .await
- .map(|_| ffi::IResultPass { pass: true })
- .and_then(|p| to_value(&p).map_err(|e| JsValue::from_str(&e.to_string())))
-}
-
-#[derive(Debug, Clone, Serialize, Deserialize)]
-pub struct IError {
- pub err: String,
-}
-
-#[derive(Debug, Clone, Serialize, Deserialize)]
-pub struct IResult<T> {
- pub result: T,
-}
-
-#[derive(Debug, Clone, Serialize, Deserialize)]
-pub struct IResultList<T> {
- pub results: Vec<T>,
-}
-
-#[derive(Debug, Clone, Serialize, Deserialize)]
-pub struct IResultPass {
- pub pass: bool,
-}
-
-#[wasm_bindgen]
-pub fn keys_nostr_gen() -> Result<JsValue, JsValue> {
- let keys = lib_nostr_keys_gen();
- keystore::key_add(&keys).map_err(|e| JsValue::from_str(&e.to_string()))?;
- to_value(&IResult {
- result: keys.public_key().to_hex(),
- })
- .map_err(|e| JsValue::from_str(&e.to_string()))
-}
-
-#[wasm_bindgen]
-pub fn keys_nostr_add(secret_key: String) -> Result<JsValue, JsValue> {
- let keys = lib_nostr_keys_parse(secret_key).map_err(|e| JsValue::from_str(&e.to_string()))?;
- keystore::key_add(&keys).map_err(|e| JsValue::from_str(&e.to_string()))?;
- to_value(&IResult {
- result: lib_nostr_public_key_hex(keys),
- })
- .map_err(|e| JsValue::from_str(&e.to_string()))
-}
-
-#[wasm_bindgen]
-pub fn keys_nostr_read(public_key: String) -> Result<JsValue, JsValue> {
- let keys = keystore::key_read(&public_key).map_err(|e| JsValue::from_str(&e.to_string()))?;
- to_value(&IResult {
- result: lib_nostr_secret_key_hex(keys),
- })
- .map_err(|e| JsValue::from_str(&e.to_string()))
-}
-
-#[wasm_bindgen]
-pub fn keys_nostr_read_all() -> Result<JsValue, JsValue> {
- let results = keystore::keys_read_all().map_err(|e| JsValue::from_str(&e.to_string()))?;
- to_value(&IResultList { results }).map_err(|e| JsValue::from_str(&e.to_string()))
-}
-
-#[wasm_bindgen]
-pub fn keys_nostr_delete(public_key: String) -> Result<JsValue, JsValue> {
- keystore::key_delete(&public_key).map_err(|e| JsValue::from_str(&e.to_string()))?;
- to_value(&IResultPass { pass: true }).map_err(|e| JsValue::from_str(&e.to_string()))
-}
-
-#[wasm_bindgen]
-pub fn keys_nostr_keystore_reset() -> Result<JsValue, JsValue> {
- keystore::reset().map_err(|e| JsValue::from_str(&e.to_string()))?;
- to_value(&IResultPass { pass: true }).map_err(|e| JsValue::from_str(&e.to_string()))
-}
-
-#[wasm_bindgen]
-pub fn model_tables_reset() -> Result<JsValue, JsValue> {
- let exec = new_wasm_db();
- tangle_model::types::reset_all(&exec)
- .map_err(|e| JsValue::from_str(&e))
- .and_then(|p| {
- to_value(&ffi::IResultPass { pass: p.pass })
- .map_err(|e| JsValue::from_str(&e.to_string()))
- })
-}
diff --git a/crates/wasm/src/migrate.rs b/crates/wasm/src/migrate.rs
@@ -1,26 +0,0 @@
-use crate::ffi::Db;
-use wasm_bindgen::prelude::*;
-
-const MIG_0001: &str = include_str!("../tangle_migrations/0001_location_gcs.sql");
-const MIG_0002: &str = include_str!("../tangle_migrations/0002_trade_product.sql");
-const MIG_0003: &str = include_str!("../tangle_migrations/0003_nostr_profile.sql");
-const MIG_0004: &str = include_str!("../tangle_migrations/0004_nostr_relay.sql");
-const MIG_0005: &str = include_str!("../tangle_migrations/0005_media_image.sql");
-const MIG_0006: &str = include_str!("../tangle_migrations/0006_log_error.sql");
-const MIG_0007: &str = include_str!("../tangle_migrations/0007_farm.sql");
-const MIG_0008: &str = include_str!("../tangle_migrations/0008_nostr_profile_relay.sql");
-const MIG_0009: &str = include_str!("../tangle_migrations/0009_farm_location.sql");
-const MIG_0010: &str = include_str!("../tangle_migrations/0010_trade_product_location.sql");
-const MIG_0011: &str = include_str!("../tangle_migrations/0011_trade_product_media.sql");
-
-#[wasm_bindgen]
-pub async fn apply_migrations(db: Db) -> Result<bool, JsValue> {
- let steps = [
- MIG_0001, MIG_0002, MIG_0003, MIG_0004, MIG_0005, MIG_0006, MIG_0007, MIG_0008, MIG_0009,
- MIG_0010, MIG_0011,
- ];
- for sql in steps.iter() {
- db.execute(sql, &JsValue::UNDEFINED)?;
- }
- Ok(true)
-}
diff --git a/crates/wasm/tangle_migrations/0001_location_gcs.sql b/crates/wasm/tangle_migrations/0001_location_gcs.sql
@@ -1,20 +0,0 @@
-CREATE TABLE IF NOT EXISTS location_gcs (
- id CHAR(36) PRIMARY KEY NOT NULL UNIQUE CHECK(length(id) = 36),
- created_at DATETIME NOT NULL CHECK(length(created_at) = 24),
- updated_at DATETIME NOT NULL CHECK(length(updated_at) = 24),
- lat REAL NOT NULL,
- lng REAL NOT NULL,
- geohash TEXT,
- tag_0 TEXT,
- label TEXT,
- area REAL,
- elevation INTEGER,
- soil TEXT,
- climate TEXT,
- gc_id TEXT,
- gc_name TEXT,
- gc_admin1_id TEXT,
- gc_admin1_name TEXT,
- gc_country_id TEXT,
- gc_country_name TEXT
-);
-\ No newline at end of file
diff --git a/crates/wasm/tangle_migrations/0002_trade_product.sql b/crates/wasm/tangle_migrations/0002_trade_product.sql
@@ -1,22 +0,0 @@
-CREATE TABLE IF NOT EXISTS trade_product (
- id CHAR(36) PRIMARY KEY NOT NULL UNIQUE CHECK(length(id) = 36),
- created_at DATETIME NOT NULL CHECK(length(created_at) = 24),
- updated_at DATETIME NOT NULL CHECK(length(updated_at) = 24),
- key TEXT NOT NULL,
- category TEXT NOT NULL,
- title TEXT NOT NULL,
- summary TEXT NOT NULL,
- process TEXT NOT NULL,
- lot TEXT NOT NULL,
- profile TEXT NOT NULL,
- year INTEGER NOT NULL,
- qty_amt INTEGER NOT NULL,
- qty_unit CHAR(4) NOT NULL,
- qty_label TEXT,
- qty_avail INTEGER,
- price_amt REAL NOT NULL,
- price_currency CHAR(3) NOT NULL,
- price_qty_amt INTEGER NOT NULL,
- price_qty_unit CHAR(4) NOT NULL,
- notes TEXT
-);
-\ No newline at end of file
diff --git a/crates/wasm/tangle_migrations/0003_nostr_profile.sql b/crates/wasm/tangle_migrations/0003_nostr_profile.sql
@@ -1,15 +0,0 @@
-CREATE TABLE IF NOT EXISTS nostr_profile (
- id CHAR(36) PRIMARY KEY NOT NULL UNIQUE CHECK(length(id) = 36),
- created_at DATETIME NOT NULL CHECK(length(created_at) = 24),
- updated_at DATETIME NOT NULL CHECK(length(updated_at) = 24),
- public_key CHAR(64) NOT NULL CHECK(length(public_key) = 64),
- name TEXT,
- display_name TEXT,
- about TEXT,
- website TEXT,
- picture TEXT,
- banner TEXT,
- nip05 TEXT,
- lud06 TEXT,
- lud16 TEXT
-);
-\ No newline at end of file
diff --git a/crates/wasm/tangle_migrations/0004_nostr_relay.sql b/crates/wasm/tangle_migrations/0004_nostr_relay.sql
@@ -1,15 +0,0 @@
-CREATE TABLE IF NOT EXISTS nostr_relay (
- id CHAR(36) PRIMARY KEY NOT NULL UNIQUE CHECK(length(id) = 36),
- created_at DATETIME NOT NULL CHECK(length(created_at) = 24),
- updated_at DATETIME NOT NULL CHECK(length(updated_at) = 24),
- url TEXT NOT NULL UNIQUE,
- relay_id TEXT,
- name TEXT,
- description TEXT,
- pubkey TEXT,
- contact TEXT,
- supported_nips TEXT,
- software TEXT,
- version TEXT,
- data TEXT
-);
-\ No newline at end of file
diff --git a/crates/wasm/tangle_migrations/0005_media_image.sql b/crates/wasm/tangle_migrations/0005_media_image.sql
@@ -1,11 +0,0 @@
-CREATE TABLE IF NOT EXISTS media_image (
- id CHAR(36) PRIMARY KEY NOT NULL UNIQUE CHECK(length(id) = 36),
- created_at DATETIME NOT NULL CHECK(length(created_at) = 24),
- updated_at DATETIME NOT NULL CHECK(length(updated_at) = 24),
- file_path TEXT NOT NULL,
- mime_type TEXT NOT NULL,
- res_base TEXT NOT NULL,
- res_path TEXT NOT NULL,
- label TEXT,
- description TEXT
-);
-\ No newline at end of file
diff --git a/crates/wasm/tangle_migrations/0006_log_error.sql b/crates/wasm/tangle_migrations/0006_log_error.sql
@@ -1,13 +0,0 @@
-CREATE TABLE IF NOT EXISTS log_error (
- id CHAR(36) PRIMARY KEY NOT NULL UNIQUE CHECK(length(id) = 36),
- created_at DATETIME NOT NULL CHECK(length(created_at) = 24),
- updated_at DATETIME NOT NULL CHECK(length(updated_at) = 24),
- error TEXT NOT NULL,
- message TEXT NOT NULL,
- stack_trace TEXT,
- cause TEXT,
- app_system TEXT NOT NULL,
- app_version TEXT NOT NULL,
- nostr_pubkey TEXT NOT NULL,
- data TEXT
-);
-\ No newline at end of file
diff --git a/crates/wasm/tangle_migrations/0007_farm.sql b/crates/wasm/tangle_migrations/0007_farm.sql
@@ -1,10 +0,0 @@
-CREATE TABLE IF NOT EXISTS farm (
- id CHAR(36) PRIMARY KEY NOT NULL UNIQUE CHECK(length(id) = 36),
- created_at DATETIME NOT NULL CHECK(length(created_at) = 24),
- updated_at DATETIME NOT NULL CHECK(length(updated_at) = 24),
- name TEXT NOT NULL,
- area TEXT,
- area_unit TEXT,
- title TEXT,
- description TEXT
-);
-\ No newline at end of file
diff --git a/crates/wasm/tangle_migrations/0008_nostr_profile_relay.sql b/crates/wasm/tangle_migrations/0008_nostr_profile_relay.sql
@@ -1,7 +0,0 @@
-CREATE TABLE IF NOT EXISTS nostr_profile_relay (
- tb_pr CHAR(36),
- tb_rl CHAR(36),
- FOREIGN KEY (tb_pr) REFERENCES nostr_profile(id) ON DELETE CASCADE,
- FOREIGN KEY (tb_rl) REFERENCES nostr_relay(id) ON DELETE CASCADE,
- PRIMARY KEY (tb_pr, tb_rl)
-);
-\ No newline at end of file
diff --git a/crates/wasm/tangle_migrations/0009_farm_location.sql b/crates/wasm/tangle_migrations/0009_farm_location.sql
@@ -1,7 +0,0 @@
-CREATE TABLE IF NOT EXISTS farm_location (
- tb_farm CHAR(36),
- tb_lg CHAR(36),
- FOREIGN KEY (tb_farm) REFERENCES farm(id) ON DELETE CASCADE,
- FOREIGN KEY (tb_lg) REFERENCES location_gcs(id) ON DELETE CASCADE,
- PRIMARY KEY (tb_farm, tb_lg)
-);
-\ No newline at end of file
diff --git a/crates/wasm/tangle_migrations/0010_trade_product_location.sql b/crates/wasm/tangle_migrations/0010_trade_product_location.sql
@@ -1,7 +0,0 @@
-CREATE TABLE IF NOT EXISTS trade_product_location (
- tb_tp CHAR(36),
- tb_lg CHAR(36),
- FOREIGN KEY (tb_tp) REFERENCES trade_product(id) ON DELETE CASCADE,
- FOREIGN KEY (tb_lg) REFERENCES location_gcs(id) ON DELETE CASCADE,
- PRIMARY KEY (tb_tp, tb_lg)
-);
-\ No newline at end of file
diff --git a/crates/wasm/tangle_migrations/0011_trade_product_media.sql b/crates/wasm/tangle_migrations/0011_trade_product_media.sql
@@ -1,7 +0,0 @@
-CREATE TABLE IF NOT EXISTS trade_product_media (
- tb_tp CHAR(36),
- tb_mu CHAR(36),
- FOREIGN KEY (tb_tp) REFERENCES trade_product(id) ON DELETE CASCADE,
- FOREIGN KEY (tb_mu) REFERENCES media_image(id) ON DELETE CASCADE,
- PRIMARY KEY (tb_tp, tb_mu)
-);
-\ No newline at end of file
diff --git a/docs/design/ios/setup.png b/docs/design/ios/setup.png
Binary files differ.
diff --git a/package.json b/package.json
@@ -1,17 +1,29 @@
{
- "name": "tangle",
+ "name": "pwa",
"private": true,
"license": "GPL-3.0",
"scripts": {
- "build": "turbo build --filter=app",
- "dev": "turbo dev --concurrency 11 --filter=@radroots/*",
- "dev:ios": "pnpm run tauri ios dev 'iPhone 16'",
- "tauri": "tauri"
+ "build": "turbo build",
+ "build:app": "turbo build --filter=app --filter=@radroots/*",
+ "build:pkg": "turbo run build --filter=./packages/*",
+ "dev:lib": "turbo dev --filter=@radroots/* --concurrency 20",
+ "dev:app": "cd app && yarn dev"
},
"devDependencies": {
- "@tauri-apps/cli": "2.0.4",
- "turbo": "^2.3.3",
- "typescript": "^5.7.3"
+ "turbo": "2.5.3",
+ "typescript": "^5.8.3"
},
- "packageManager": "pnpm@9.12.1"
+ "engines": {
+ "node": ">=18"
+ },
+ "workspaces": {
+ "packages": [
+ "app",
+ "packages/*",
+ "../crates/*/bindings/ts",
+ "../crates/*/pkg"
+ ],
+ "nohoist": []
+ },
+ "packageManager": "yarn@1.22.22"
}
\ No newline at end of file
diff --git a/packages/apps-lib b/packages/apps-lib
@@ -0,0 +1 @@
+Subproject commit 3713303828bf48abfcdb4f1328188ff0377d13e8
diff --git a/packages/apps-lib-pwa b/packages/apps-lib-pwa
@@ -0,0 +1 @@
+Subproject commit 80bde8f006d295a10b7990945665ce071330ec3d
diff --git a/packages/dev b/packages/dev
@@ -0,0 +1 @@
+Subproject commit 4508b717c0d84063c8bc1d7a795e42dd59d689f8
diff --git a/packages/eslint b/packages/eslint
@@ -1 +0,0 @@
-Subproject commit 8b2309172ef25f6a68f4e66edd8392023aa8043d
diff --git a/packages/lib-app b/packages/lib-app
@@ -1 +0,0 @@
-Subproject commit f7eabcfa9d964a168aa43686fd2c949d8337c903
diff --git a/packages/models b/packages/models
@@ -1 +0,0 @@
-Subproject commit 8a69f793f4ee0a6626e007a0111922307ec682b3
diff --git a/packages/nostr-geotags b/packages/nostr-geotags
@@ -1 +0,0 @@
-Subproject commit b0eb958ee6d9c1ef03d98599290d77bf26a39a67
diff --git a/packages/nostr-util b/packages/nostr-util
@@ -1 +0,0 @@
-Subproject commit 3227ca22752aa7e6b0db759ac849ed72b0de52d4
diff --git a/packages/svelte-maplibre b/packages/svelte-maplibre
@@ -1 +0,0 @@
-Subproject commit 4d6dee2f6dd6c99be3bcfd49d650e2099ce7ddd7
diff --git a/packages/theme b/packages/theme
@@ -1 +0,0 @@
-Subproject commit 4e2be314ac484c2e42d455f2820d7e36b368c55d
diff --git a/packages/themes b/packages/themes
@@ -0,0 +1 @@
+Subproject commit d27c4388f5cf06dcfd6aea1cb197a765b23a1455
diff --git a/packages/util b/packages/util
@@ -1 +0,0 @@
-Subproject commit 70b9a3782d4a6ccb577d10f650cba05377ca72e6
diff --git a/packages/utils b/packages/utils
@@ -0,0 +1 @@
+Subproject commit 83782669dfa37758b2c0f1b306766594ea7ac302
diff --git a/packages/utils-nostr b/packages/utils-nostr
@@ -0,0 +1 @@
+Subproject commit b4b21f822c7a2a55df490025d44202f611feff0c
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
@@ -1,9047 +0,0 @@
-lockfileVersion: '9.0'
-
-settings:
- autoInstallPeers: true
- excludeLinksFromLockfile: false
-
-importers:
-
- .:
- devDependencies:
- '@tauri-apps/cli':
- specifier: 2.0.4
- version: 2.0.4
- turbo:
- specifier: ^2.3.3
- version: 2.4.0
- typescript:
- specifier: ^5.7.3
- version: 5.7.3
-
- ../lib/plugins-workspace/plugins/autostart:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/barcode-scanner:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/biometric:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/cli:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/clipboard-manager:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/deep-link:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/dialog:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/fs:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/geolocation:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/global-shortcut:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/haptics:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/http:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/log:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/nfc:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/notification:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/opener:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/os:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/positioner:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/process:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/shell:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/sql:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/store:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/stronghold:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/updater:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/upload:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/websocket:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- ../lib/plugins-workspace/plugins/window-state:
- dependencies:
- '@tauri-apps/api':
- specifier: ^2.0.0
- version: 2.0.3
-
- app:
- dependencies:
- '@nostr-dev-kit/ndk':
- specifier: ^2.10.6
- version: 2.11.0(typescript@5.7.3)
- '@nostr-dev-kit/ndk-svelte':
- specifier: ^2.3.1
- version: 2.4.0(svelte@5.19.9)(typescript@5.7.3)
- '@radroots/client':
- specifier: workspace:*
- version: link:../packages/client
- '@radroots/geocoder':
- specifier: workspace:*
- version: link:../packages/geocoder
- '@radroots/lib-app':
- specifier: workspace:*
- version: link:../packages/lib-app
- '@radroots/locales':
- specifier: workspace:*
- version: link:../packages/locales
- '@radroots/models':
- specifier: workspace:*
- version: link:../packages/models
- '@radroots/nostr-util':
- specifier: workspace:*
- version: link:../packages/nostr-util
- '@radroots/radroots-common-bindings':
- specifier: workspace:*
- version: link:../crates/radroots-common/bindings/ts
- '@radroots/theme':
- specifier: workspace:*
- version: link:../packages/theme
- '@radroots/util':
- specifier: workspace:*
- version: link:../packages/util
- chart.js:
- specifier: ^4.4.5
- version: 4.4.7
- css-paint-polyfill:
- specifier: ^3.4.0
- version: 3.4.0
- svelte-maplibre:
- specifier: workspace:*
- version: link:../packages/svelte-maplibre
- zod:
- specifier: ^3.23.8
- version: 3.24.1
- devDependencies:
- '@sveltejs/adapter-static':
- specifier: ^3.0.0
- version: 3.0.8(@sveltejs/kit@2.17.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.19.9)(vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0)))
- '@sveltejs/kit':
- specifier: ^2.16.0
- version: 2.17.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.19.9)(vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0))
- '@sveltejs/vite-plugin-svelte':
- specifier: ^5.0.0
- version: 5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0))
- autoprefixer:
- specifier: ^10.4.20
- version: 10.4.20(postcss@8.5.1)
- daisyui:
- specifier: ^4.10.0
- version: 4.12.23(postcss@8.5.1)
- postcss:
- specifier: ^8.5.1
- version: 8.5.1
- postcss-import:
- specifier: ^16.1.0
- version: 16.1.0(postcss@8.5.1)
- svelte:
- specifier: ^5.0.0
- version: 5.19.9
- svelte-check:
- specifier: ^4.0.0
- version: 4.1.4(picomatch@4.0.2)(svelte@5.19.9)(typescript@5.7.3)
- tailwindcss:
- specifier: ^3.4.3
- version: 3.4.17(ts-node@10.9.2(@types/node@22.14.0)(typescript@5.7.3))
- typescript:
- specifier: ^5.0.0
- version: 5.7.3
- vite:
- specifier: ^6.0.0
- version: 6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0)
-
- crates/radroots-common/bindings/ts:
- devDependencies:
- ts-to-zod:
- specifier: ^3.15.0
- version: 3.15.0
-
- packages/client:
- dependencies:
- '@radroots/models':
- specifier: workspace:*
- version: link:../models
- '@radroots/nostr-util':
- specifier: workspace:*
- version: link:../nostr-util
- '@radroots/util':
- specifier: workspace:*
- version: link:../util
- '@tauri-apps/api':
- specifier: ^2.5.0
- version: 2.5.0
- '@tauri-apps/plugin-dialog':
- specifier: workspace:*
- version: link:../../../lib/plugins-workspace/plugins/dialog
- '@tauri-apps/plugin-fs':
- specifier: workspace:*
- version: link:../../../lib/plugins-workspace/plugins/fs
- '@tauri-apps/plugin-geolocation':
- specifier: workspace:*
- version: link:../../../lib/plugins-workspace/plugins/geolocation
- '@tauri-apps/plugin-haptics':
- specifier: workspace:*
- version: link:../../../lib/plugins-workspace/plugins/haptics
- '@tauri-apps/plugin-http':
- specifier: workspace:*
- version: link:../../../lib/plugins-workspace/plugins/http
- '@tauri-apps/plugin-log':
- specifier: workspace:*
- version: link:../../../lib/plugins-workspace/plugins/log
- '@tauri-apps/plugin-notification':
- specifier: workspace:*
- version: link:../../../lib/plugins-workspace/plugins/notification
- '@tauri-apps/plugin-os':
- specifier: workspace:*
- version: link:../../../lib/plugins-workspace/plugins/os
- '@tauri-apps/plugin-store':
- specifier: workspace:*
- version: link:../../../lib/plugins-workspace/plugins/store
- devDependencies:
- '@types/debug':
- specifier: ^4.1.12
- version: 4.1.12
- typescript:
- specifier: ^5.3.3
- version: 5.7.3
-
- packages/eslint:
- devDependencies:
- '@typescript-eslint/eslint-plugin':
- specifier: ^7.1.0
- version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3))(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)
- '@typescript-eslint/parser':
- specifier: ^7.1.0
- version: 7.18.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)
- eslint:
- specifier: ^9.3.0
- version: 9.20.0(jiti@1.21.7)
- eslint-config-prettier:
- specifier: ^9.1.0
- version: 9.1.0(eslint@9.20.0(jiti@1.21.7))
- eslint-config-turbo:
- specifier: ^2.0.0
- version: 2.4.0(eslint@9.20.0(jiti@1.21.7))(turbo@2.4.0)
- prettier:
- specifier: ^3.2.5
- version: 3.5.0
- prettier-plugin-svelte:
- specifier: ^3.2.3
- version: 3.3.3(prettier@3.5.0)(svelte@5.19.9)
- typescript:
- specifier: ^5.3.3
- version: 5.7.3
-
- packages/geocoder:
- dependencies:
- '@radroots/util':
- specifier: workspace:*
- version: link:../util
- sql.js:
- specifier: 1.12.0
- version: 1.12.0
- devDependencies:
- '@types/sql.js':
- specifier: ^1.4.9
- version: 1.4.9
- tsup:
- specifier: ^6.2.3
- version: 6.7.0(postcss@8.5.1)(ts-node@10.9.2(@types/node@22.14.0)(typescript@5.7.3))(typescript@5.7.3)
- typescript:
- specifier: ^5.3.3
- version: 5.7.3
-
- packages/lib-app:
- dependencies:
- '@nostr-dev-kit/ndk':
- specifier: ^2.11.0
- version: 2.11.0(typescript@5.7.3)
- '@nostr-dev-kit/ndk-cache-dexie':
- specifier: ^2.5.9
- version: 2.5.9(typescript@5.7.3)
- '@nostr-dev-kit/ndk-svelte':
- specifier: ^2.4.0
- version: 2.4.0(svelte@5.19.9)(typescript@5.7.3)
- '@radroots/locales':
- specifier: workspace:*
- version: link:../locales
- '@radroots/nostr-util':
- specifier: workspace:*
- version: link:../nostr-util
- '@radroots/radroots-common-bindings':
- specifier: workspace:*
- version: link:../../crates/radroots-common/bindings/ts
- '@radroots/theme':
- specifier: workspace:*
- version: link:../theme
- '@radroots/util':
- specifier: workspace:*
- version: link:../util
- luxon:
- specifier: ^3.5.0
- version: 3.5.0
- svelte-maplibre:
- specifier: 1.0.0-next.12
- version: 1.0.0-next.12(@deck.gl/core@9.1.0)(@deck.gl/layers@9.1.0(@deck.gl/core@9.1.0)(@loaders.gl/core@4.3.3)(@luma.gl/core@9.1.0)(@luma.gl/engine@9.1.0(@luma.gl/core@9.1.0)(@luma.gl/shadertools@9.1.0(@luma.gl/core@9.1.0))))(@deck.gl/mapbox@9.1.0(@deck.gl/core@9.1.0)(@luma.gl/core@9.1.0))(svelte@5.19.9)
- sveltekit-search-params:
- specifier: ^3.0.0
- version: 3.0.0(@sveltejs/kit@2.17.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0))
- zod:
- specifier: ^3.23.8
- version: 3.24.1
- devDependencies:
- '@sveltejs/adapter-auto':
- specifier: ^4.0.0
- version: 4.0.0(@sveltejs/kit@2.17.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)))
- '@sveltejs/kit':
- specifier: ^2.16.0
- version: 2.17.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0))
- '@sveltejs/package':
- specifier: ^2.0.0
- version: 2.3.10(svelte@5.19.9)(typescript@5.7.3)
- '@sveltejs/vite-plugin-svelte':
- specifier: ^5.0.0
- version: 5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0))
- '@types/node':
- specifier: ^22.5.0
- version: 22.13.1
- publint:
- specifier: ^0.3.2
- version: 0.3.4
- svelte:
- specifier: ^5.0.0
- version: 5.19.9
- svelte-check:
- specifier: ^4.0.0
- version: 4.1.4(picomatch@4.0.2)(svelte@5.19.9)(typescript@5.7.3)
- typescript:
- specifier: ^5.0.0
- version: 5.7.3
- vite:
- specifier: ^6.0.0
- version: 6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)
-
- packages/locales:
- devDependencies:
- '@types/node':
- specifier: ^22.13.1
- version: 22.13.1
- tsup:
- specifier: ^6.2.3
- version: 6.7.0(postcss@8.5.1)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3))(typescript@5.7.3)
- typescript:
- specifier: ^5.3.3
- version: 5.7.3
-
- packages/models:
- dependencies:
- zod:
- specifier: ^3.23.8
- version: 3.24.1
- devDependencies:
- '@radroots/util':
- specifier: workspace:*
- version: link:../util
- typescript:
- specifier: ^5.3.3
- version: 5.7.3
-
- packages/nostr-geotags:
- dependencies:
- iso-3166:
- specifier: 4.3.0
- version: 4.3.0
- ngeohash:
- specifier: 0.6.3
- version: 0.6.3
- devDependencies:
- '@types/ngeohash':
- specifier: 0.6.8
- version: 0.6.8
- '@types/node':
- specifier: ^22.13.8
- version: 22.14.0
- '@vitest/coverage-v8':
- specifier: 1.0.4
- version: 1.0.4(vitest@1.0.4)
- '@vitest/ui':
- specifier: 1.0.4
- version: 1.0.4(vitest@1.0.4)
- tsdoc:
- specifier: ^0.0.4
- version: 0.0.4
- tsup:
- specifier: ^6.2.3
- version: 6.7.0(postcss@8.5.1)(ts-node@10.9.2(@types/node@22.14.0)(typescript@5.7.3))(typescript@5.7.3)
- typedoc:
- specifier: ^0.25.7
- version: 0.25.13(typescript@5.7.3)
- typescript:
- specifier: ^5.3.3
- version: 5.7.3
- vite-tsconfig-paths:
- specifier: 4.2.2
- version: 4.2.2(typescript@5.7.3)(vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0))
- vitest:
- specifier: 1.0.4
- version: 1.0.4(@types/node@22.14.0)(@vitest/ui@1.0.4)
-
- packages/nostr-util:
- dependencies:
- '@noble/curves':
- specifier: ^1.6.0
- version: 1.8.1
- '@noble/hashes':
- specifier: ^1.4.0
- version: 1.7.1
- '@nostr-dev-kit/ndk':
- specifier: ^2.11.0
- version: 2.11.0(typescript@5.7.3)
- '@radroots/radroots-common-bindings':
- specifier: workspace:*
- version: link:../../crates/radroots-common/bindings/ts
- '@radroots/util':
- specifier: workspace:*
- version: link:../util
- nostr-geotags:
- specifier: workspace:*
- version: link:../nostr-geotags
- nostr-tools:
- specifier: ^2.10.4
- version: 2.10.4(typescript@5.7.3)
- uuid:
- specifier: ^10.0.0
- version: 10.0.0
- devDependencies:
- '@types/uuid':
- specifier: ^10.0.0
- version: 10.0.0
- tsup:
- specifier: ^6.2.3
- version: 6.7.0(postcss@8.5.1)(ts-node@10.9.2(@types/node@22.14.0)(typescript@5.7.3))(typescript@5.7.3)
- typescript:
- specifier: ^5.3.3
- version: 5.7.3
-
- packages/svelte-maplibre:
- dependencies:
- d3-geo:
- specifier: ^3.1.0
- version: 3.1.1
- dequal:
- specifier: ^2.0.3
- version: 2.0.3
- just-compare:
- specifier: ^2.3.0
- version: 2.3.0
- maplibre-gl:
- specifier: ^4.0.0 || ^5.0.1
- version: 5.1.0
- pmtiles:
- specifier: ^3.0.3
- version: 3.2.1
- devDependencies:
- '@changesets/changelog-github':
- specifier: ^0.5.0
- version: 0.5.0
- '@changesets/cli':
- specifier: ^2.27.9
- version: 2.27.12
- '@deck.gl/core':
- specifier: ~9.1.0
- version: 9.1.0
- '@deck.gl/layers':
- specifier: ~9.1.0
- version: 9.1.0(@deck.gl/core@9.1.0)(@loaders.gl/core@4.3.3)(@luma.gl/core@9.1.0)(@luma.gl/engine@9.1.0(@luma.gl/core@9.1.0)(@luma.gl/shadertools@9.1.0(@luma.gl/core@9.1.0)))
- '@deck.gl/mapbox':
- specifier: ~9.1.0
- version: 9.1.0(@deck.gl/core@9.1.0)(@luma.gl/core@9.1.0)
- '@mapbox/mapbox-gl-draw':
- specifier: ^1.4.3
- version: 1.5.0
- '@playwright/test':
- specifier: ^1.48.2
- version: 1.50.1
- '@skeletonlabs/skeleton':
- specifier: ^2.10.3
- version: 2.11.0(svelte@5.19.9)
- '@skeletonlabs/tw-plugin':
- specifier: ^0.4.0
- version: 0.4.1(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3)))
- '@sveltejs/adapter-vercel':
- specifier: ^5.4.6
- version: 5.6.1(@sveltejs/kit@2.17.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.9)(vite@5.4.14(@types/node@22.13.1)))(svelte@5.19.9)(vite@5.4.14(@types/node@22.13.1)))(rollup@4.34.6)
- '@sveltejs/kit':
- specifier: ^2.8.1
- version: 2.17.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.9)(vite@5.4.14(@types/node@22.13.1)))(svelte@5.19.9)(vite@5.4.14(@types/node@22.13.1))
- '@sveltejs/package':
- specifier: ^2.3.7
- version: 2.3.10(svelte@5.19.9)(typescript@5.7.3)
- '@sveltejs/vite-plugin-svelte':
- specifier: ^4.0.0
- version: 4.0.4(svelte@5.19.9)(vite@5.4.14(@types/node@22.13.1))
- '@types/d3-color':
- specifier: ^3.1.3
- version: 3.1.3
- '@types/d3-geo':
- specifier: ^3.1.0
- version: 3.1.0
- '@types/geojson':
- specifier: ^7946.0.14
- version: 7946.0.16
- '@types/mapbox__mapbox-gl-draw':
- specifier: ^1.4.8
- version: 1.4.8
- '@types/node':
- specifier: ^22.9.0
- version: 22.13.1
- '@typescript-eslint/eslint-plugin':
- specifier: ^8.14.0
- version: 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3))(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)
- '@typescript-eslint/parser':
- specifier: ^8.14.0
- version: 8.23.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)
- autoprefixer:
- specifier: ^10.4.20
- version: 10.4.20(postcss@8.5.1)
- d3-color:
- specifier: ^3.1.0
- version: 3.1.0
- dedent:
- specifier: ^1.5.3
- version: 1.5.3
- eslint:
- specifier: ^9.14.0
- version: 9.20.0(jiti@1.21.7)
- eslint-config-prettier:
- specifier: ^9.1.0
- version: 9.1.0(eslint@9.20.0(jiti@1.21.7))
- eslint-plugin-svelte:
- specifier: ^2.46.0
- version: 2.46.1(eslint@9.20.0(jiti@1.21.7))(svelte@5.19.9)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3))
- globals:
- specifier: ^15.12.0
- version: 15.14.0
- highlight.js:
- specifier: ^11.10.0
- version: 11.11.1
- highlightjs-svelte:
- specifier: ^1.0.6
- version: 1.0.6
- husky:
- specifier: ^9.1.6
- version: 9.1.7
- just-clamp:
- specifier: ^4.2.0
- version: 4.2.0
- lint-staged:
- specifier: ^15.2.10
- version: 15.4.3
- postcss:
- specifier: ^8.4.49
- version: 8.5.1
- prettier:
- specifier: ^3.3.3
- version: 3.5.0
- prettier-plugin-svelte:
- specifier: ^3.2.8
- version: 3.3.3(prettier@3.5.0)(svelte@5.19.9)
- prettier-plugin-tailwindcss:
- specifier: ^0.6.8
- version: 0.6.11(prettier-plugin-svelte@3.3.3(prettier@3.5.0)(svelte@5.19.9))(prettier@3.5.0)
- publint:
- specifier: ^0.2.12
- version: 0.2.12
- svelte:
- specifier: ^5.2.0
- version: 5.19.9
- svelte-check:
- specifier: ^4.0.7
- version: 4.1.4(picomatch@4.0.2)(svelte@5.19.9)(typescript@5.7.3)
- tailwindcss:
- specifier: ^3.4.15
- version: 3.4.17(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3))
- tslib:
- specifier: ^2.8.1
- version: 2.8.1
- typescript:
- specifier: ^5.6.3
- version: 5.7.3
- typescript-eslint:
- specifier: ^8.14.0
- version: 8.23.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)
- vite:
- specifier: ^5.4.11
- version: 5.4.14(@types/node@22.13.1)
- vitest:
- specifier: ^2.1.5
- version: 2.1.9(@types/node@22.13.1)
-
- packages/theme:
- devDependencies:
- tsup:
- specifier: ^6.2.3
- version: 6.7.0(postcss@8.5.1)(ts-node@10.9.2(@types/node@22.14.0)(typescript@5.7.3))(typescript@5.7.3)
- typescript:
- specifier: ^5.3.3
- version: 5.7.3
-
- packages/tsconfig: {}
-
- packages/util:
- dependencies:
- '@noble/curves':
- specifier: ^1.6.0
- version: 1.8.1
- '@noble/hashes':
- specifier: ^1.4.0
- version: 1.7.1
- '@nostr-dev-kit/ndk':
- specifier: ^2.11.0
- version: 2.11.0(typescript@5.7.3)
- '@radroots/radroots-common-bindings':
- specifier: workspace:*
- version: link:../../crates/radroots-common/bindings/ts
- '@sveltekit-i18n/base':
- specifier: ^1.3.7
- version: 1.3.7(svelte@5.19.9)
- '@sveltekit-i18n/parser-icu':
- specifier: ^1.0.8
- version: 1.0.8
- convert:
- specifier: ^5.5.1
- version: 5.7.0
- geohashing:
- specifier: ^2.0.1
- version: 2.0.1
- nostr-geotags:
- specifier: workspace:*
- version: link:../nostr-geotags
- nostr-tools:
- specifier: ^2.10.4
- version: 2.10.4(typescript@5.7.3)
- sveltekit-i18n:
- specifier: ^2.4.2
- version: 2.4.2(svelte@5.19.9)
- uuid:
- specifier: ^10.0.0
- version: 10.0.0
- zod:
- specifier: ^3.23.8
- version: 3.24.1
- devDependencies:
- '@types/ngeohash':
- specifier: 0.6.8
- version: 0.6.8
- '@types/node':
- specifier: ^22.13.1
- version: 22.13.1
- '@types/uuid':
- specifier: ^10.0.0
- version: 10.0.0
- tsup:
- specifier: ^6.2.3
- version: 6.7.0(postcss@8.5.1)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3))(typescript@5.7.3)
- typescript:
- specifier: ^5.3.3
- version: 5.7.3
-
-packages:
-
- '@alloc/quick-lru@5.2.0':
- resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
- engines: {node: '>=10'}
-
- '@ampproject/remapping@2.3.0':
- resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
- engines: {node: '>=6.0.0'}
-
- '@babel/helper-string-parser@7.25.9':
- resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-validator-identifier@7.25.9':
- resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
- engines: {node: '>=6.9.0'}
-
- '@babel/parser@7.27.0':
- resolution: {integrity: sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==}
- engines: {node: '>=6.0.0'}
- hasBin: true
-
- '@babel/runtime@7.26.7':
- resolution: {integrity: sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==}
- engines: {node: '>=6.9.0'}
-
- '@babel/types@7.27.0':
- resolution: {integrity: sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==}
- engines: {node: '>=6.9.0'}
-
- '@bcoe/v8-coverage@0.2.3':
- resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
-
- '@changesets/apply-release-plan@7.0.8':
- resolution: {integrity: sha512-qjMUj4DYQ1Z6qHawsn7S71SujrExJ+nceyKKyI9iB+M5p9lCL55afuEd6uLBPRpLGWQwkwvWegDHtwHJb1UjpA==}
-
- '@changesets/assemble-release-plan@6.0.5':
- resolution: {integrity: sha512-IgvBWLNKZd6k4t72MBTBK3nkygi0j3t3zdC1zrfusYo0KpdsvnDjrMM9vPnTCLCMlfNs55jRL4gIMybxa64FCQ==}
-
- '@changesets/changelog-git@0.2.0':
- resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==}
-
- '@changesets/changelog-github@0.5.0':
- resolution: {integrity: sha512-zoeq2LJJVcPJcIotHRJEEA2qCqX0AQIeFE+L21L8sRLPVqDhSXY8ZWAt2sohtBpFZkBwu+LUwMSKRr2lMy3LJA==}
-
- '@changesets/cli@2.27.12':
- resolution: {integrity: sha512-9o3fOfHYOvBnyEn0mcahB7wzaA3P4bGJf8PNqGit5PKaMEFdsRixik+txkrJWd2VX+O6wRFXpxQL8j/1ANKE9g==}
- hasBin: true
-
- '@changesets/config@3.0.5':
- resolution: {integrity: sha512-QyXLSSd10GquX7hY0Mt4yQFMEeqnO5z/XLpbIr4PAkNNoQNKwDyiSrx4yd749WddusH1v3OSiA0NRAYmH/APpQ==}
-
- '@changesets/errors@0.2.0':
- resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==}
-
- '@changesets/get-dependents-graph@2.1.2':
- resolution: {integrity: sha512-sgcHRkiBY9i4zWYBwlVyAjEM9sAzs4wYVwJUdnbDLnVG3QwAaia1Mk5P8M7kraTOZN+vBET7n8KyB0YXCbFRLQ==}
-
- '@changesets/get-github-info@0.6.0':
- resolution: {integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA==}
-
- '@changesets/get-release-plan@4.0.6':
- resolution: {integrity: sha512-FHRwBkY7Eili04Y5YMOZb0ezQzKikTka4wL753vfUA5COSebt7KThqiuCN9BewE4/qFGgF/5t3AuzXx1/UAY4w==}
-
- '@changesets/get-version-range-type@0.4.0':
- resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==}
-
- '@changesets/git@3.0.2':
- resolution: {integrity: sha512-r1/Kju9Y8OxRRdvna+nxpQIsMsRQn9dhhAZt94FLDeu0Hij2hnOozW8iqnHBgvu+KdnJppCveQwK4odwfw/aWQ==}
-
- '@changesets/logger@0.1.1':
- resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==}
-
- '@changesets/parse@0.4.0':
- resolution: {integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==}
-
- '@changesets/pre@2.0.1':
- resolution: {integrity: sha512-vvBJ/If4jKM4tPz9JdY2kGOgWmCowUYOi5Ycv8dyLnEE8FgpYYUo1mgJZxcdtGGP3aG8rAQulGLyyXGSLkIMTQ==}
-
- '@changesets/read@0.6.2':
- resolution: {integrity: sha512-wjfQpJvryY3zD61p8jR87mJdyx2FIhEcdXhKUqkja87toMrP/3jtg/Yg29upN+N4Ckf525/uvV7a4tzBlpk6gg==}
-
- '@changesets/should-skip-package@0.1.1':
- resolution: {integrity: sha512-H9LjLbF6mMHLtJIc/eHR9Na+MifJ3VxtgP/Y+XLn4BF7tDTEN1HNYtH6QMcjP1uxp9sjaFYmW8xqloaCi/ckTg==}
-
- '@changesets/types@4.1.0':
- resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==}
-
- '@changesets/types@6.0.0':
- resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==}
-
- '@changesets/write@0.3.2':
- resolution: {integrity: sha512-kDxDrPNpUgsjDbWBvUo27PzKX4gqeKOlhibaOXDJA6kuBisGqNHv/HwGJrAu8U/dSf8ZEFIeHIPtvSlZI1kULw==}
-
- '@cspotcode/source-map-support@0.8.1':
- resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
- engines: {node: '>=12'}
-
- '@deck.gl/core@9.1.0':
- resolution: {integrity: sha512-leocNGky9jZ0HUk8xm+HH4f+EL86PKiG8O4REpw4l/K1UbMssekR/L2moYwt7Bx98jSIibcUbhDWOBatKAUaTA==}
-
- '@deck.gl/layers@9.1.0':
- resolution: {integrity: sha512-0GWZyHk5G48avEuGRbzHk60E0aNpo5h/3lSpzl0BSyqZnVTqsGa1jLJvjS17eaEkR51KIhUBf6NSCyGK1Tp22g==}
- peerDependencies:
- '@deck.gl/core': ^9.1.0
- '@loaders.gl/core': ^4.2.0
- '@luma.gl/core': ^9.1.0
- '@luma.gl/engine': ^9.1.0
-
- '@deck.gl/mapbox@9.1.0':
- resolution: {integrity: sha512-4ARArlKJ26QLzmDVcdzLGUL2hZnI7DP7Yh/zfwE43oadWE2zupFHU0GZprE/WA33VLZUK0G79Vhx6BBbaC6ksQ==}
- peerDependencies:
- '@deck.gl/core': ^9.1.0
- '@luma.gl/core': ^9.1.0
-
- '@esbuild/aix-ppc64@0.21.5':
- resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [aix]
-
- '@esbuild/aix-ppc64@0.24.2':
- resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [aix]
-
- '@esbuild/android-arm64@0.17.19':
- resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
-
- '@esbuild/android-arm64@0.21.5':
- resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
-
- '@esbuild/android-arm64@0.24.2':
- resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [android]
-
- '@esbuild/android-arm@0.17.19':
- resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
-
- '@esbuild/android-arm@0.21.5':
- resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
-
- '@esbuild/android-arm@0.24.2':
- resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [android]
-
- '@esbuild/android-x64@0.17.19':
- resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
-
- '@esbuild/android-x64@0.21.5':
- resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
-
- '@esbuild/android-x64@0.24.2':
- resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [android]
-
- '@esbuild/darwin-arm64@0.17.19':
- resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
-
- '@esbuild/darwin-arm64@0.21.5':
- resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
-
- '@esbuild/darwin-arm64@0.24.2':
- resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [darwin]
-
- '@esbuild/darwin-x64@0.17.19':
- resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
-
- '@esbuild/darwin-x64@0.21.5':
- resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
-
- '@esbuild/darwin-x64@0.24.2':
- resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [darwin]
-
- '@esbuild/freebsd-arm64@0.17.19':
- resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
-
- '@esbuild/freebsd-arm64@0.21.5':
- resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
-
- '@esbuild/freebsd-arm64@0.24.2':
- resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [freebsd]
-
- '@esbuild/freebsd-x64@0.17.19':
- resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
-
- '@esbuild/freebsd-x64@0.21.5':
- resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
-
- '@esbuild/freebsd-x64@0.24.2':
- resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [freebsd]
-
- '@esbuild/linux-arm64@0.17.19':
- resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
-
- '@esbuild/linux-arm64@0.21.5':
- resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
-
- '@esbuild/linux-arm64@0.24.2':
- resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [linux]
-
- '@esbuild/linux-arm@0.17.19':
- resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
-
- '@esbuild/linux-arm@0.21.5':
- resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
-
- '@esbuild/linux-arm@0.24.2':
- resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [linux]
-
- '@esbuild/linux-ia32@0.17.19':
- resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
-
- '@esbuild/linux-ia32@0.21.5':
- resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
-
- '@esbuild/linux-ia32@0.24.2':
- resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [linux]
-
- '@esbuild/linux-loong64@0.17.19':
- resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
-
- '@esbuild/linux-loong64@0.21.5':
- resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
-
- '@esbuild/linux-loong64@0.24.2':
- resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==}
- engines: {node: '>=18'}
- cpu: [loong64]
- os: [linux]
-
- '@esbuild/linux-mips64el@0.17.19':
- resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
-
- '@esbuild/linux-mips64el@0.21.5':
- resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
-
- '@esbuild/linux-mips64el@0.24.2':
- resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==}
- engines: {node: '>=18'}
- cpu: [mips64el]
- os: [linux]
-
- '@esbuild/linux-ppc64@0.17.19':
- resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
-
- '@esbuild/linux-ppc64@0.21.5':
- resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
-
- '@esbuild/linux-ppc64@0.24.2':
- resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [linux]
-
- '@esbuild/linux-riscv64@0.17.19':
- resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
-
- '@esbuild/linux-riscv64@0.21.5':
- resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
-
- '@esbuild/linux-riscv64@0.24.2':
- resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==}
- engines: {node: '>=18'}
- cpu: [riscv64]
- os: [linux]
-
- '@esbuild/linux-s390x@0.17.19':
- resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
-
- '@esbuild/linux-s390x@0.21.5':
- resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
-
- '@esbuild/linux-s390x@0.24.2':
- resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==}
- engines: {node: '>=18'}
- cpu: [s390x]
- os: [linux]
-
- '@esbuild/linux-x64@0.17.19':
- resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
-
- '@esbuild/linux-x64@0.21.5':
- resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
-
- '@esbuild/linux-x64@0.24.2':
- resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [linux]
-
- '@esbuild/netbsd-arm64@0.24.2':
- resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [netbsd]
-
- '@esbuild/netbsd-x64@0.17.19':
- resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
-
- '@esbuild/netbsd-x64@0.21.5':
- resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
-
- '@esbuild/netbsd-x64@0.24.2':
- resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [netbsd]
-
- '@esbuild/openbsd-arm64@0.24.2':
- resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openbsd]
-
- '@esbuild/openbsd-x64@0.17.19':
- resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
-
- '@esbuild/openbsd-x64@0.21.5':
- resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
-
- '@esbuild/openbsd-x64@0.24.2':
- resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [openbsd]
-
- '@esbuild/sunos-x64@0.17.19':
- resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
-
- '@esbuild/sunos-x64@0.21.5':
- resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
-
- '@esbuild/sunos-x64@0.24.2':
- resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [sunos]
-
- '@esbuild/win32-arm64@0.17.19':
- resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
-
- '@esbuild/win32-arm64@0.21.5':
- resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
-
- '@esbuild/win32-arm64@0.24.2':
- resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [win32]
-
- '@esbuild/win32-ia32@0.17.19':
- resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
-
- '@esbuild/win32-ia32@0.21.5':
- resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
-
- '@esbuild/win32-ia32@0.24.2':
- resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [win32]
-
- '@esbuild/win32-x64@0.17.19':
- resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
-
- '@esbuild/win32-x64@0.21.5':
- resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
-
- '@esbuild/win32-x64@0.24.2':
- resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [win32]
-
- '@eslint-community/eslint-utils@4.4.1':
- resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
-
- '@eslint-community/regexpp@4.12.1':
- resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
- engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
-
- '@eslint/config-array@0.19.2':
- resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/core@0.10.0':
- resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/core@0.11.0':
- resolution: {integrity: sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/eslintrc@3.2.0':
- resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/js@9.20.0':
- resolution: {integrity: sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/object-schema@2.1.6':
- resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/plugin-kit@0.2.5':
- resolution: {integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@formatjs/ecma402-abstract@2.3.3':
- resolution: {integrity: sha512-pJT1OkhplSmvvr6i3CWTPvC/FGC06MbN5TNBfRO6Ox62AEz90eMq+dVvtX9Bl3jxCEkS0tATzDarRZuOLw7oFg==}
-
- '@formatjs/fast-memoize@2.2.6':
- resolution: {integrity: sha512-luIXeE2LJbQnnzotY1f2U2m7xuQNj2DA8Vq4ce1BY9ebRZaoPB1+8eZ6nXpLzsxuW5spQxr7LdCg+CApZwkqkw==}
-
- '@formatjs/icu-messageformat-parser@2.11.1':
- resolution: {integrity: sha512-o0AhSNaOfKoic0Sn1GkFCK4MxdRsw7mPJ5/rBpIqdvcC7MIuyUSW8WChUEvrK78HhNpYOgqCQbINxCTumJLzZA==}
-
- '@formatjs/icu-skeleton-parser@1.8.13':
- resolution: {integrity: sha512-N/LIdTvVc1TpJmMt2jVg0Fr1F7Q1qJPdZSCs19unMskCmVQ/sa0H9L8PWt13vq+gLdLg1+pPsvBLydL1Apahjg==}
-
- '@formatjs/intl-localematcher@0.6.0':
- resolution: {integrity: sha512-4rB4g+3hESy1bHSBG3tDFaMY2CH67iT7yne1e+0CLTsGLDcmoEWWpJjjpWVaYgYfYuohIRuo0E+N536gd2ZHZA==}
-
- '@humanfs/core@0.19.1':
- resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
- engines: {node: '>=18.18.0'}
-
- '@humanfs/node@0.16.6':
- resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
- engines: {node: '>=18.18.0'}
-
- '@humanwhocodes/module-importer@1.0.1':
- resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
- engines: {node: '>=12.22'}
-
- '@humanwhocodes/retry@0.3.1':
- resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
- engines: {node: '>=18.18'}
-
- '@humanwhocodes/retry@0.4.1':
- resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==}
- engines: {node: '>=18.18'}
-
- '@isaacs/cliui@8.0.2':
- resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
- engines: {node: '>=12'}
-
- '@isaacs/fs-minipass@4.0.1':
- resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
- engines: {node: '>=18.0.0'}
-
- '@istanbuljs/schema@0.1.3':
- resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
- engines: {node: '>=8'}
-
- '@jest/schemas@29.6.3':
- resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- '@jridgewell/gen-mapping@0.3.8':
- resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/resolve-uri@3.1.2':
- resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/set-array@1.2.1':
- resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/sourcemap-codec@1.5.0':
- resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
-
- '@jridgewell/trace-mapping@0.3.25':
- resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
-
- '@jridgewell/trace-mapping@0.3.9':
- resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
-
- '@kurkle/color@0.3.4':
- resolution: {integrity: sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==}
-
- '@loaders.gl/core@4.3.3':
- resolution: {integrity: sha512-RaQ3uNg4ZaVqDRgvJ2CjaOjeeHdKvbKuzFFgbGnflVB9is5bu+h3EKc3Jke7NGVvLBsZ6oIXzkwHijVsMfxv8g==}
-
- '@loaders.gl/images@4.3.3':
- resolution: {integrity: sha512-s4InjIXqEu0T7anZLj4OBUuDBt2BNnAD0GLzSexSkBfQZfpXY0XJNl4mMf5nUKb5NDfXhIKIqv8y324US+I28A==}
- peerDependencies:
- '@loaders.gl/core': ^4.3.0
-
- '@loaders.gl/loader-utils@4.3.3':
- resolution: {integrity: sha512-8erUIwWLiIsZX36fFa/seZsfTsWlLk72Sibh/YZJrPAefuVucV4mGGzMBZ96LE2BUfJhadn250eio/59TUFbNw==}
- peerDependencies:
- '@loaders.gl/core': ^4.3.0
-
- '@loaders.gl/schema@4.3.3':
- resolution: {integrity: sha512-zacc9/8je+VbuC6N/QRfiTjRd+BuxsYlddLX1u5/X/cg9s36WZZBlU1oNKUgTYe8eO6+qLyYx77yi+9JbbEehw==}
- peerDependencies:
- '@loaders.gl/core': ^4.3.0
-
- '@loaders.gl/worker-utils@4.3.3':
- resolution: {integrity: sha512-eg45Ux6xqsAfqPUqJkhmbFZh9qfmYuPfA+34VcLtfeXIwAngeP6o4SrTmm9LWLGUKiSh47anCEV1p7borDgvGQ==}
- peerDependencies:
- '@loaders.gl/core': ^4.3.0
-
- '@luma.gl/constants@9.1.0':
- resolution: {integrity: sha512-BIkRHF36eE1FoghbEKzBjbs7+tX6RUH7gI7ZFKzVJEgXvT6xg12HM7uk+6L54fR/rUxEMjgL+uRzIxprCOGjOg==}
-
- '@luma.gl/core@9.1.0':
- resolution: {integrity: sha512-HkcqDlxal6gOP7Y6KTRcEjnPuxSFMy+oJYfk623TGIxrEbN3x5uLqvbNgqLMXhV60WWq5Fj0LG1gHs1NyJHrLg==}
-
- '@luma.gl/engine@9.1.0':
- resolution: {integrity: sha512-fKa4XqUqS/wmhAPlmkemjJ6YZM3QEzRWX1bZXtVCsydZOun8KCVZsSMpCj1W1+cpoAOBVIqvBqZFF8fZClj5XQ==}
- peerDependencies:
- '@luma.gl/core': ^9.1.0-beta.1
- '@luma.gl/shadertools': ^9.1.0-beta.1
-
- '@luma.gl/shadertools@9.1.0':
- resolution: {integrity: sha512-BRDKnf2g+Xq86f1OK00F2PA2QbmkcKiM8HJ/Iw8wZB3DvPu2jBKBaboHmEoo6gxq46P32vFGyvxso8umai5eJw==}
- peerDependencies:
- '@luma.gl/core': ^9.1.0-beta.1
-
- '@luma.gl/webgl@9.1.0':
- resolution: {integrity: sha512-dTftLUfOnW6F9vYOl1ZvO2I28OYFdiqHkN7BpPd+8GPzepFT8OtEZwbcb/JjF9TsVhaeLyl1oDckQg2ckre3sw==}
- peerDependencies:
- '@luma.gl/core': ^9.1.0-alpha.1
-
- '@manypkg/find-root@1.1.0':
- resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==}
-
- '@manypkg/get-packages@1.1.3':
- resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==}
-
- '@mapbox/geojson-area@0.2.2':
- resolution: {integrity: sha512-bBqqFn1kIbLBfn7Yq1PzzwVkPYQr9lVUeT8Dhd0NL5n76PBuXzOcuLV7GOSbEB1ia8qWxH4COCvFpziEu/yReA==}
-
- '@mapbox/geojson-normalize@0.0.1':
- resolution: {integrity: sha512-82V7YHcle8lhgIGqEWwtXYN5cy0QM/OHq3ypGhQTbvHR57DF0vMHMjjVSQKFfVXBe/yWCBZTyOuzvK7DFFnx5Q==}
- hasBin: true
-
- '@mapbox/geojson-rewind@0.5.2':
- resolution: {integrity: sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==}
- hasBin: true
-
- '@mapbox/jsonlint-lines-primitives@2.0.2':
- resolution: {integrity: sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==}
- engines: {node: '>= 0.6'}
-
- '@mapbox/mapbox-gl-draw@1.5.0':
- resolution: {integrity: sha512-uchQbTa8wiv6GWWTbxW1g5b8H6VySz4t91SmduNH6jjWinPze7cjcmsPUEzhySXsYpYr2/50gRJLZz3bx7O88A==}
- engines: {node: ^18.0.0 || >=20.0.0}
-
- '@mapbox/mapbox-gl-supported@3.0.0':
- resolution: {integrity: sha512-2XghOwu16ZwPJLOFVuIOaLbN0iKMn867evzXFyf0P22dqugezfJwLmdanAgU25ITvz1TvOfVP4jsDImlDJzcWg==}
-
- '@mapbox/node-pre-gyp@2.0.0':
- resolution: {integrity: sha512-llMXd39jtP0HpQLVI37Bf1m2ADlEb35GYSh1SDSLsBhR+5iCxiNGlT31yqbNtVHygHAtMy6dWFERpU2JgufhPg==}
- engines: {node: '>=18'}
- hasBin: true
-
- '@mapbox/point-geometry@0.1.0':
- resolution: {integrity: sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==}
-
- '@mapbox/point-geometry@1.1.0':
- resolution: {integrity: sha512-YGcBz1cg4ATXDCM/71L9xveh4dynfGmcLDqufR+nQQy3fKwsAZsWd/x4621/6uJaeB9mwOHE6hPeDgXz9uViUQ==}
-
- '@mapbox/tiny-sdf@2.0.6':
- resolution: {integrity: sha512-qMqa27TLw+ZQz5Jk+RcwZGH7BQf5G/TrutJhspsca/3SHwmgKQ1iq+d3Jxz5oysPVYTGP6aXxCo5Lk9Er6YBAA==}
-
- '@mapbox/unitbezier@0.0.1':
- resolution: {integrity: sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==}
-
- '@mapbox/vector-tile@1.3.1':
- resolution: {integrity: sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==}
-
- '@mapbox/whoots-js@3.1.0':
- resolution: {integrity: sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==}
- engines: {node: '>=6.0.0'}
-
- '@maplibre/maplibre-gl-style-spec@23.1.0':
- resolution: {integrity: sha512-R6/ihEuC5KRexmKIYkWqUv84Gm+/QwsOUgHyt1yy2XqCdGdLvlBWVWIIeTZWN4NGdwmY6xDzdSGU2R9oBLNg2w==}
- hasBin: true
-
- '@math.gl/core@4.1.0':
- resolution: {integrity: sha512-FrdHBCVG3QdrworwrUSzXIaK+/9OCRLscxI2OUy6sLOHyHgBMyfnEGs99/m3KNvs+95BsnQLWklVfpKfQzfwKA==}
-
- '@math.gl/polygon@4.1.0':
- resolution: {integrity: sha512-YA/9PzaCRHbIP5/0E9uTYrqe+jsYTQoqoDWhf6/b0Ixz8bPZBaGDEafLg3z7ffBomZLacUty9U3TlPjqMtzPjA==}
-
- '@math.gl/sun@4.1.0':
- resolution: {integrity: sha512-i3q6OCBLSZ5wgZVhXg+X7gsjY/TUtuFW/2KBiq/U1ypLso3S4sEykoU/MGjxUv1xiiGtr+v8TeMbO1OBIh/HmA==}
-
- '@math.gl/types@4.1.0':
- resolution: {integrity: sha512-clYZdHcmRvMzVK5fjeDkQlHUzXQSNdZ7s4xOqC3nJPgz4C/TZkUecTo9YS4PruZqtDda/ag4erndP0MIn40dGA==}
-
- '@math.gl/web-mercator@4.1.0':
- resolution: {integrity: sha512-HZo3vO5GCMkXJThxRJ5/QYUYRr3XumfT8CzNNCwoJfinxy5NtKUd7dusNTXn7yJ40UoB8FMIwkVwNlqaiRZZAw==}
-
- '@noble/ciphers@0.5.3':
- resolution: {integrity: sha512-B0+6IIHiqEs3BPMT0hcRmHvEj2QHOLu+uwt+tqDDeVd0oyVzh7BPrDcPjRnV1PV/5LaknXJJQvOuRGR0zQJz+w==}
-
- '@noble/curves@1.1.0':
- resolution: {integrity: sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA==}
-
- '@noble/curves@1.2.0':
- resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==}
-
- '@noble/curves@1.8.1':
- resolution: {integrity: sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ==}
- engines: {node: ^14.21.3 || >=16}
-
- '@noble/hashes@1.3.1':
- resolution: {integrity: sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==}
- engines: {node: '>= 16'}
-
- '@noble/hashes@1.3.2':
- resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==}
- engines: {node: '>= 16'}
-
- '@noble/hashes@1.7.1':
- resolution: {integrity: sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==}
- engines: {node: ^14.21.3 || >=16}
-
- '@noble/secp256k1@2.2.3':
- resolution: {integrity: sha512-l7r5oEQym9Us7EAigzg30/PQAvynhMt2uoYtT3t26eGDVm9Yii5mZ5jWSWmZ/oSIR2Et0xfc6DXrG0bZ787V3w==}
-
- '@nodelib/fs.scandir@2.1.5':
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
-
- '@nodelib/fs.stat@2.0.5':
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
-
- '@nodelib/fs.walk@1.2.8':
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
-
- '@nostr-dev-kit/ndk-cache-dexie@2.5.9':
- resolution: {integrity: sha512-SZ5FjON0QPekiC7oW9Hy3JQxG0Oxxtud9LBa1q/A49JV/Qppv1x37nFHxi0XLxEbDgFTNYbaN27Zjfp2NPem2g==}
-
- '@nostr-dev-kit/ndk-svelte@2.4.0':
- resolution: {integrity: sha512-4ucVF7/zCn8nUzJEbKu1dnLGEPyCpLtMepFb0MQdiap+Dzpromp4ZfSto6ukFayIofUWLqsv0x0qruCWEAYy2w==}
- peerDependencies:
- svelte: '*'
-
- '@nostr-dev-kit/ndk@2.11.0':
- resolution: {integrity: sha512-FKIMtcVsVcquzrC+yir9lOXHCIHmQ3IKEVCMohqEB7N96HjP2qrI9s5utbjI3lkavFNF5tXg1Gp9ODEo7XCfLA==}
- engines: {node: '>=16'}
-
- '@oclif/core@4.2.10':
- resolution: {integrity: sha512-fAqcXgqkUm4v5FYy7qWP4w1HaOlVSVJveah+yVTo5Nm5kTiXhmD5mQQ7+knGeBaStyrtQy6WardoC2xSic9rlQ==}
- engines: {node: '>=18.0.0'}
-
- '@pkgjs/parseargs@0.11.0':
- resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
- engines: {node: '>=14'}
-
- '@playwright/test@1.50.1':
- resolution: {integrity: sha512-Jii3aBg+CEDpgnuDxEp/h7BimHcUTDlpEtce89xEumlJ5ef2hqepZ+PWp1DDpYC/VO9fmWVI1IlEaoI5fK9FXQ==}
- engines: {node: '>=18'}
- hasBin: true
-
- '@polka/url@1.0.0-next.28':
- resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==}
-
- '@probe.gl/env@4.1.0':
- resolution: {integrity: sha512-5ac2Jm2K72VCs4eSMsM7ykVRrV47w32xOGMvcgqn8vQdEMF9PRXyBGYEV9YbqRKWNKpNKmQJVi4AHM/fkCxs9w==}
-
- '@probe.gl/log@4.1.0':
- resolution: {integrity: sha512-r4gRReNY6f+OZEMgfWEXrAE2qJEt8rX0HsDJQXUBMoc+5H47bdB7f/5HBHAmapK8UydwPKL9wCDoS22rJ0yq7Q==}
-
- '@probe.gl/stats@4.1.0':
- resolution: {integrity: sha512-EI413MkWKBDVNIfLdqbeNSJTs7ToBz/KVGkwi3D+dQrSIkRI2IYbWGAU3xX+D6+CI4ls8ehxMhNpUVMaZggDvQ==}
-
- '@publint/pack@0.1.1':
- resolution: {integrity: sha512-TvCl79Y8v18ZhFGd5mjO1kYPovSBq3+4LVCi5Nfl1JI8fS8i8kXbgQFGwBJRXczim8GlW8c2LMBKTtExYXOy/A==}
- engines: {node: '>=18'}
-
- '@rollup/pluginutils@5.1.4':
- resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
-
- '@rollup/rollup-android-arm-eabi@4.34.6':
- resolution: {integrity: sha512-+GcCXtOQoWuC7hhX1P00LqjjIiS/iOouHXhMdiDSnq/1DGTox4SpUvO52Xm+div6+106r+TcvOeo/cxvyEyTgg==}
- cpu: [arm]
- os: [android]
-
- '@rollup/rollup-android-arm64@4.34.6':
- resolution: {integrity: sha512-E8+2qCIjciYUnCa1AiVF1BkRgqIGW9KzJeesQqVfyRITGQN+dFuoivO0hnro1DjT74wXLRZ7QF8MIbz+luGaJA==}
- cpu: [arm64]
- os: [android]
-
- '@rollup/rollup-darwin-arm64@4.34.6':
- resolution: {integrity: sha512-z9Ib+OzqN3DZEjX7PDQMHEhtF+t6Mi2z/ueChQPLS/qUMKY7Ybn5A2ggFoKRNRh1q1T03YTQfBTQCJZiepESAg==}
- cpu: [arm64]
- os: [darwin]
-
- '@rollup/rollup-darwin-x64@4.34.6':
- resolution: {integrity: sha512-PShKVY4u0FDAR7jskyFIYVyHEPCPnIQY8s5OcXkdU8mz3Y7eXDJPdyM/ZWjkYdR2m0izD9HHWA8sGcXn+Qrsyg==}
- cpu: [x64]
- os: [darwin]
-
- '@rollup/rollup-freebsd-arm64@4.34.6':
- resolution: {integrity: sha512-YSwyOqlDAdKqs0iKuqvRHLN4SrD2TiswfoLfvYXseKbL47ht1grQpq46MSiQAx6rQEN8o8URtpXARCpqabqxGQ==}
- cpu: [arm64]
- os: [freebsd]
-
- '@rollup/rollup-freebsd-x64@4.34.6':
- resolution: {integrity: sha512-HEP4CgPAY1RxXwwL5sPFv6BBM3tVeLnshF03HMhJYCNc6kvSqBgTMmsEjb72RkZBAWIqiPUyF1JpEBv5XT9wKQ==}
- cpu: [x64]
- os: [freebsd]
-
- '@rollup/rollup-linux-arm-gnueabihf@4.34.6':
- resolution: {integrity: sha512-88fSzjC5xeH9S2Vg3rPgXJULkHcLYMkh8faix8DX4h4TIAL65ekwuQMA/g2CXq8W+NJC43V6fUpYZNjaX3+IIg==}
- cpu: [arm]
- os: [linux]
-
- '@rollup/rollup-linux-arm-musleabihf@4.34.6':
- resolution: {integrity: sha512-wM4ztnutBqYFyvNeR7Av+reWI/enK9tDOTKNF+6Kk2Q96k9bwhDDOlnCUNRPvromlVXo04riSliMBs/Z7RteEg==}
- cpu: [arm]
- os: [linux]
-
- '@rollup/rollup-linux-arm64-gnu@4.34.6':
- resolution: {integrity: sha512-9RyprECbRa9zEjXLtvvshhw4CMrRa3K+0wcp3KME0zmBe1ILmvcVHnypZ/aIDXpRyfhSYSuN4EPdCCj5Du8FIA==}
- cpu: [arm64]
- os: [linux]
-
- '@rollup/rollup-linux-arm64-musl@4.34.6':
- resolution: {integrity: sha512-qTmklhCTyaJSB05S+iSovfo++EwnIEZxHkzv5dep4qoszUMX5Ca4WM4zAVUMbfdviLgCSQOu5oU8YoGk1s6M9Q==}
- cpu: [arm64]
- os: [linux]
-
- '@rollup/rollup-linux-loongarch64-gnu@4.34.6':
- resolution: {integrity: sha512-4Qmkaps9yqmpjY5pvpkfOerYgKNUGzQpFxV6rnS7c/JfYbDSU0y6WpbbredB5cCpLFGJEqYX40WUmxMkwhWCjw==}
- cpu: [loong64]
- os: [linux]
-
- '@rollup/rollup-linux-powerpc64le-gnu@4.34.6':
- resolution: {integrity: sha512-Zsrtux3PuaxuBTX/zHdLaFmcofWGzaWW1scwLU3ZbW/X+hSsFbz9wDIp6XvnT7pzYRl9MezWqEqKy7ssmDEnuQ==}
- cpu: [ppc64]
- os: [linux]
-
- '@rollup/rollup-linux-riscv64-gnu@4.34.6':
- resolution: {integrity: sha512-aK+Zp+CRM55iPrlyKiU3/zyhgzWBxLVrw2mwiQSYJRobCURb781+XstzvA8Gkjg/hbdQFuDw44aUOxVQFycrAg==}
- cpu: [riscv64]
- os: [linux]
-
- '@rollup/rollup-linux-s390x-gnu@4.34.6':
- resolution: {integrity: sha512-WoKLVrY9ogmaYPXwTH326+ErlCIgMmsoRSx6bO+l68YgJnlOXhygDYSZe/qbUJCSiCiZAQ+tKm88NcWuUXqOzw==}
- cpu: [s390x]
- os: [linux]
-
- '@rollup/rollup-linux-x64-gnu@4.34.6':
- resolution: {integrity: sha512-Sht4aFvmA4ToHd2vFzwMFaQCiYm2lDFho5rPcvPBT5pCdC+GwHG6CMch4GQfmWTQ1SwRKS0dhDYb54khSrjDWw==}
- cpu: [x64]
- os: [linux]
-
- '@rollup/rollup-linux-x64-musl@4.34.6':
- resolution: {integrity: sha512-zmmpOQh8vXc2QITsnCiODCDGXFC8LMi64+/oPpPx5qz3pqv0s6x46ps4xoycfUiVZps5PFn1gksZzo4RGTKT+A==}
- cpu: [x64]
- os: [linux]
-
- '@rollup/rollup-win32-arm64-msvc@4.34.6':
- resolution: {integrity: sha512-3/q1qUsO/tLqGBaD4uXsB6coVGB3usxw3qyeVb59aArCgedSF66MPdgRStUd7vbZOsko/CgVaY5fo2vkvPLWiA==}
- cpu: [arm64]
- os: [win32]
-
- '@rollup/rollup-win32-ia32-msvc@4.34.6':
- resolution: {integrity: sha512-oLHxuyywc6efdKVTxvc0135zPrRdtYVjtVD5GUm55I3ODxhU/PwkQFD97z16Xzxa1Fz0AEe4W/2hzRtd+IfpOA==}
- cpu: [ia32]
- os: [win32]
-
- '@rollup/rollup-win32-x64-msvc@4.34.6':
- resolution: {integrity: sha512-0PVwmgzZ8+TZ9oGBmdZoQVXflbvuwzN/HRclujpl4N/q3i+y0lqLw8n1bXA8ru3sApDjlmONaNAuYr38y1Kr9w==}
- cpu: [x64]
- os: [win32]
-
- '@scure/base@1.1.1':
- resolution: {integrity: sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==}
-
- '@scure/base@1.2.4':
- resolution: {integrity: sha512-5Yy9czTO47mqz+/J8GM6GIId4umdCk1wc1q8rKERQulIoc8VP9pzDcghv10Tl2E7R96ZUx/PhND3ESYUQX8NuQ==}
-
- '@scure/bip32@1.3.1':
- resolution: {integrity: sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A==}
-
- '@scure/bip39@1.2.1':
- resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==}
-
- '@sinclair/typebox@0.27.8':
- resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
-
- '@skeletonlabs/skeleton@2.11.0':
- resolution: {integrity: sha512-ORMZYACsIlfKyBx2ZIHBy7zE877t99fxU7LzcY1dveVmn2//+OeqnbQb5RryNILsMR62Tuu1VLnCu01/ByHlbQ==}
- peerDependencies:
- svelte: ^3.56.0 || ^4.0.0 || ^5.0.0
-
- '@skeletonlabs/tw-plugin@0.4.1':
- resolution: {integrity: sha512-crrC8BGKis0GNTp7V2HF6mk1ECLUvAxgTTV26LMgt/rV3U6Xd7N7dL5qIL8fE4MTHvpKa1SBsdqsnMbEvATeEg==}
- peerDependencies:
- tailwindcss: '>=3.0.0'
-
- '@sveltejs/adapter-auto@4.0.0':
- resolution: {integrity: sha512-kmuYSQdD2AwThymQF0haQhM8rE5rhutQXG4LNbnbShwhMO4qQGnKaaTy+88DuNSuoQDi58+thpq8XpHc1+oEKQ==}
- peerDependencies:
- '@sveltejs/kit': ^2.0.0
-
- '@sveltejs/adapter-static@3.0.8':
- resolution: {integrity: sha512-YaDrquRpZwfcXbnlDsSrBQNCChVOT9MGuSg+dMAyfsAa1SmiAhrA5jUYUiIMC59G92kIbY/AaQOWcBdq+lh+zg==}
- peerDependencies:
- '@sveltejs/kit': ^2.0.0
-
- '@sveltejs/adapter-vercel@5.6.1':
- resolution: {integrity: sha512-ljeLT7p4VQtO9ux4p7MqSkNv+yMw9LcD0K8hl0TK495DhBbaBwOCx9jcp3+/RqGPzsTvTRJSiPRafIfiCjQqjQ==}
- peerDependencies:
- '@sveltejs/kit': ^2.4.0
-
- '@sveltejs/kit@2.17.1':
- resolution: {integrity: sha512-CpoGSLqE2MCmcQwA2CWJvOsZ9vW+p/1H3itrFykdgajUNAEyQPbsaSn7fZb6PLHQwe+07njxje9ss0fjZoCAyw==}
- engines: {node: '>=18.13'}
- hasBin: true
- peerDependencies:
- '@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 || ^5.0.0
- svelte: ^4.0.0 || ^5.0.0-next.0
- vite: ^5.0.3 || ^6.0.0
-
- '@sveltejs/package@2.3.10':
- resolution: {integrity: sha512-A4fQacgjJ7C/7oSmxR61/TdB14u6ecyMZ8V9JCR5Lol0bLj/PdJPU4uFodFBsKzO3iFiJMpNTgZZ+zYsYZNpUg==}
- engines: {node: ^16.14 || >=18}
- hasBin: true
- peerDependencies:
- svelte: ^3.44.0 || ^4.0.0 || ^5.0.0-next.1
-
- '@sveltejs/vite-plugin-svelte-inspector@2.1.0':
- resolution: {integrity: sha512-9QX28IymvBlSCqsCll5t0kQVxipsfhFFL+L2t3nTWfXnddYwxBuAEtTtlaVQpRz9c37BhJjltSeY4AJSC03SSg==}
- engines: {node: ^18.0.0 || >=20}
- peerDependencies:
- '@sveltejs/vite-plugin-svelte': ^3.0.0
- svelte: ^4.0.0 || ^5.0.0-next.0
- vite: ^5.0.0
-
- '@sveltejs/vite-plugin-svelte-inspector@3.0.1':
- resolution: {integrity: sha512-2CKypmj1sM4GE7HjllT7UKmo4Q6L5xFRd7VMGEWhYnZ+wc6AUVU01IBd7yUi6WnFndEwWoMNOd6e8UjoN0nbvQ==}
- engines: {node: ^18.0.0 || ^20.0.0 || >=22}
- peerDependencies:
- '@sveltejs/vite-plugin-svelte': ^4.0.0-next.0||^4.0.0
- svelte: ^5.0.0-next.96 || ^5.0.0
- vite: ^5.0.0
-
- '@sveltejs/vite-plugin-svelte-inspector@4.0.1':
- resolution: {integrity: sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==}
- engines: {node: ^18.0.0 || ^20.0.0 || >=22}
- peerDependencies:
- '@sveltejs/vite-plugin-svelte': ^5.0.0
- svelte: ^5.0.0
- vite: ^6.0.0
-
- '@sveltejs/vite-plugin-svelte@3.1.2':
- resolution: {integrity: sha512-Txsm1tJvtiYeLUVRNqxZGKR/mI+CzuIQuc2gn+YCs9rMTowpNZ2Nqt53JdL8KF9bLhAf2ruR/dr9eZCwdTriRA==}
- engines: {node: ^18.0.0 || >=20}
- peerDependencies:
- svelte: ^4.0.0 || ^5.0.0-next.0
- vite: ^5.0.0
-
- '@sveltejs/vite-plugin-svelte@4.0.4':
- resolution: {integrity: sha512-0ba1RQ/PHen5FGpdSrW7Y3fAMQjrXantECALeOiOdBdzR5+5vPP6HVZRLmZaQL+W8m++o+haIAKq5qT+MiZ7VA==}
- engines: {node: ^18.0.0 || ^20.0.0 || >=22}
- peerDependencies:
- svelte: ^5.0.0-next.96 || ^5.0.0
- vite: ^5.0.0
-
- '@sveltejs/vite-plugin-svelte@5.0.3':
- resolution: {integrity: sha512-MCFS6CrQDu1yGwspm4qtli0e63vaPCehf6V7pIMP15AsWgMKrqDGCPFF/0kn4SP0ii4aySu4Pa62+fIRGFMjgw==}
- engines: {node: ^18.0.0 || ^20.0.0 || >=22}
- peerDependencies:
- svelte: ^5.0.0
- vite: ^6.0.0
-
- '@sveltekit-i18n/base@1.3.7':
- resolution: {integrity: sha512-kg1kql1/ro/lIudwFiWrv949Q07gmweln87tflUZR51MNdXXzK4fiJQv5Mw50K/CdQ5BOk/dJ0WOH2vOtBI6yw==}
- peerDependencies:
- svelte: '>=3.49.0'
-
- '@sveltekit-i18n/parser-default@1.1.1':
- resolution: {integrity: sha512-/gtzLlqm/sox7EoPKD56BxGZktK/syGc79EbJAPWY5KVitQD9SM0TP8yJCqDxTVPk7Lk0WJhrBGUE2Nn0f5M1w==}
-
- '@sveltekit-i18n/parser-icu@1.0.8':
- resolution: {integrity: sha512-/LnvE1EJv+higIxB5cWIV+9neiOe+CfC7VKhpv9mnU35NcZO3yOhEZ8y6F8nHHkMYIABLcqr15yk4hSvmRGWDw==}
-
- '@tauri-apps/api@2.0.3':
- resolution: {integrity: sha512-840qk6n8rbXBXMA5/aAgTYsg5JAubKO0nXw5wf7IzGnUuYKGbB4oFBIZtXOIWy+E0kNTDI3qhq5iqsoMJfwp8g==}
-
- '@tauri-apps/api@2.5.0':
- resolution: {integrity: sha512-Ldux4ip+HGAcPUmuLT8EIkk6yafl5vK0P0c0byzAKzxJh7vxelVtdPONjfgTm96PbN24yjZNESY8CKo8qniluA==}
-
- '@tauri-apps/cli-darwin-arm64@2.0.4':
- resolution: {integrity: sha512-siH7rOHobb16rPbc11k64p1mxIpiRCkWmzs2qmL5IX21Gx9K5onI3Tk67Oqpf2uNupbYzItrOttaDT4NHFC7tw==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [darwin]
-
- '@tauri-apps/cli-darwin-x64@2.0.4':
- resolution: {integrity: sha512-zIccfbCoZMfmUpnk6PFCV0keFyfVj1A9XV3Oiiitj/dkTZ9CQvzjhX3XC0XcK4rsTWegfr2PjSrK06aiPAROAw==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [darwin]
-
- '@tauri-apps/cli-linux-arm-gnueabihf@2.0.4':
- resolution: {integrity: sha512-fgQqJzefOGWCBNg4yrVA82Rg4s1XQr5K0dc2rCxBhJfa696e8dQ1LDrnWq/AiO5r+uHfVaoQTIUvxxpFicYRSA==}
- engines: {node: '>= 10'}
- cpu: [arm]
- os: [linux]
-
- '@tauri-apps/cli-linux-arm64-gnu@2.0.4':
- resolution: {integrity: sha512-u8wbt5tPA9pI6j+d7jGrfOz9UVCiTp+IYzKNiIqlrDsAjqAUFaNXYHKqOUboeFWEmI4zoCWj6LgpS2OJTQ5FKg==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
-
- '@tauri-apps/cli-linux-arm64-musl@2.0.4':
- resolution: {integrity: sha512-hntF1V8e3V1hlrESm93PsghDhf3lA5pbvFrRfYxU1c+fVD/jRXGVw8BH3O1lW8MWwhEg1YdhKk01oAgsuHLuig==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
-
- '@tauri-apps/cli-linux-x64-gnu@2.0.4':
- resolution: {integrity: sha512-Iq1GGJb+oT1T0ZV8izrgf0cBtlzPCJaWcNueRbf1ZXquMf+FSTyQv+/Lo8rq5T6buOIJOH7cAOTuEWWqiCZteg==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
-
- '@tauri-apps/cli-linux-x64-musl@2.0.4':
- resolution: {integrity: sha512-9NTk6Pf0bSwXqCBdAA+PDYts9HeHebZzIo8mbRzRyUbER6QngG5HZb9Ka36Z1QWtJjdRy6uxSb4zb/9NuTeHfA==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
-
- '@tauri-apps/cli-win32-arm64-msvc@2.0.4':
- resolution: {integrity: sha512-OF2e9oxiBFR8A8wVMOhUx9QGN/I1ZkquWC7gVQBnA56nx9PabJlDT08QBy5UD8USqZFVznnfNr2ehlheQahb3g==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [win32]
-
- '@tauri-apps/cli-win32-ia32-msvc@2.0.4':
- resolution: {integrity: sha512-T+hCKB3rFP6q0saHHtR02hm6wr1ZPJ0Mkii3oRTxjPG6BBXoVzHNCYzvdgEGJPTA2sFuAQtJH764NRtNlDMifw==}
- engines: {node: '>= 10'}
- cpu: [ia32]
- os: [win32]
-
- '@tauri-apps/cli-win32-x64-msvc@2.0.4':
- resolution: {integrity: sha512-GVaiI3KWRFLomjJmApHqihhYlkJ+7FqhumhVfBO6Z2tWzZjQyVQgTdNp0kYEuW2WoAYEj0dKY6qd4YM33xYcUA==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [win32]
-
- '@tauri-apps/cli@2.0.4':
- resolution: {integrity: sha512-Hl9eFXz+O366+6su9PfaSzu2EJdFe1p8K8ghkWmi40dz8VmSE7vsMTaOStD0I71ckSOkh2ICDX7FQTBgjlpjWw==}
- engines: {node: '>= 10'}
- hasBin: true
-
- '@tsconfig/node10@1.0.11':
- resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==}
-
- '@tsconfig/node12@1.0.11':
- resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==}
-
- '@tsconfig/node14@1.0.3':
- resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==}
-
- '@tsconfig/node16@1.0.4':
- resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
-
- '@types/cookie@0.6.0':
- resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
-
- '@types/d3-color@3.1.3':
- resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==}
-
- '@types/d3-geo@3.1.0':
- resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==}
-
- '@types/debug@4.1.12':
- resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
-
- '@types/emscripten@1.40.0':
- resolution: {integrity: sha512-MD2JJ25S4tnjnhjWyalMS6K6p0h+zQV6+Ylm+aGbiS8tSn/aHLSGNzBgduj6FB4zH0ax2GRMGYi/8G1uOxhXWA==}
-
- '@types/estree@1.0.6':
- resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
-
- '@types/geojson-vt@3.2.5':
- resolution: {integrity: sha512-qDO7wqtprzlpe8FfQ//ClPV9xiuoh2nkIgiouIptON9w5jvD/fA4szvP9GBlDVdJ5dldAl0kX/sy3URbWwLx0g==}
-
- '@types/geojson@7946.0.16':
- resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==}
-
- '@types/istanbul-lib-coverage@2.0.6':
- resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
-
- '@types/json-schema@7.0.15':
- resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
-
- '@types/leaflet@1.9.16':
- resolution: {integrity: sha512-wzZoyySUxkgMZ0ihJ7IaUIblG8Rdc8AbbZKLneyn+QjYsj5q1QU7TEKYqwTr10BGSzY5LI7tJk9Ifo+mEjdFRw==}
-
- '@types/mapbox__mapbox-gl-draw@1.4.8':
- resolution: {integrity: sha512-700zPikQXfFMB2vtkJdXSROiqS5F19guf6QdYqvlgCdaMxGmdlLITRq6/zFpzfVQDrgpWex5M8vLtbwjZfup8g==}
-
- '@types/mapbox__point-geometry@0.1.4':
- resolution: {integrity: sha512-mUWlSxAmYLfwnRBmgYV86tgYmMIICX4kza8YnE/eIlywGe2XoOxlpVnXWwir92xRLjwyarqwpu2EJKD2pk0IUA==}
-
- '@types/mapbox__vector-tile@1.3.4':
- resolution: {integrity: sha512-bpd8dRn9pr6xKvuEBQup8pwQfD4VUyqO/2deGjfpe6AwC8YRlyEipvefyRJUSiCJTZuCb8Pl1ciVV5ekqJ96Bg==}
-
- '@types/ms@2.1.0':
- resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
-
- '@types/ngeohash@0.6.8':
- resolution: {integrity: sha512-A90x3HMwE1yXbWCnd0ztHzv8rAQPjwTzX2diYI/6OrWm/3oairDaehw5WPWJFgZ+8+J/OuF99IbipmMa2le6tQ==}
-
- '@types/node@12.20.55':
- resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==}
-
- '@types/node@22.13.1':
- resolution: {integrity: sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew==}
-
- '@types/node@22.14.0':
- resolution: {integrity: sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==}
-
- '@types/offscreencanvas@2019.7.3':
- resolution: {integrity: sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==}
-
- '@types/pbf@3.0.5':
- resolution: {integrity: sha512-j3pOPiEcWZ34R6a6mN07mUkM4o4Lwf6hPNt8eilOeZhTFbxFXmKhvXl9Y28jotFPaI1bpPDJsbCprUoNke6OrA==}
-
- '@types/sql.js@1.4.9':
- resolution: {integrity: sha512-ep8b36RKHlgWPqjNG9ToUrPiwkhwh0AEzy883mO5Xnd+cL6VBH1EvSjBAAuxLUFF2Vn/moE3Me6v9E1Lo+48GQ==}
-
- '@types/supercluster@7.1.3':
- resolution: {integrity: sha512-Z0pOY34GDFl3Q6hUFYf3HkTwKEE02e7QgtJppBt+beEAxnyOpJua+voGFvxINBHa06GwLFFym7gRPY2SiKIfIA==}
-
- '@types/uuid@10.0.0':
- resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==}
-
- '@typescript-eslint/eslint-plugin@7.18.0':
- resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- '@typescript-eslint/parser': ^7.0.0
- eslint: ^8.56.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
-
- '@typescript-eslint/eslint-plugin@8.23.0':
- resolution: {integrity: sha512-vBz65tJgRrA1Q5gWlRfvoH+w943dq9K1p1yDBY2pc+a1nbBLZp7fB9+Hk8DaALUbzjqlMfgaqlVPT1REJdkt/w==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
-
- '@typescript-eslint/parser@7.18.0':
- resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- eslint: ^8.56.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
-
- '@typescript-eslint/parser@8.23.0':
- resolution: {integrity: sha512-h2lUByouOXFAlMec2mILeELUbME5SZRN/7R9Cw2RD2lRQQY08MWMM+PmVVKKJNK1aIwqTo9t/0CvOxwPbRIE2Q==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
-
- '@typescript-eslint/scope-manager@7.18.0':
- resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==}
- engines: {node: ^18.18.0 || >=20.0.0}
-
- '@typescript-eslint/scope-manager@8.23.0':
- resolution: {integrity: sha512-OGqo7+dXHqI7Hfm+WqkZjKjsiRtFUQHPdGMXzk5mYXhJUedO7e/Y7i8AK3MyLMgZR93TX4bIzYrfyVjLC+0VSw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@typescript-eslint/type-utils@7.18.0':
- resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- eslint: ^8.56.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
-
- '@typescript-eslint/type-utils@8.23.0':
- resolution: {integrity: sha512-iIuLdYpQWZKbiH+RkCGc6iu+VwscP5rCtQ1lyQ7TYuKLrcZoeJVpcLiG8DliXVkUxirW/PWlmS+d6yD51L9jvA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
-
- '@typescript-eslint/types@7.18.0':
- resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==}
- engines: {node: ^18.18.0 || >=20.0.0}
-
- '@typescript-eslint/types@8.23.0':
- resolution: {integrity: sha512-1sK4ILJbCmZOTt9k4vkoulT6/y5CHJ1qUYxqpF1K/DBAd8+ZUL4LlSCxOssuH5m4rUaaN0uS0HlVPvd45zjduQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@typescript-eslint/typescript-estree@7.18.0':
- resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
-
- '@typescript-eslint/typescript-estree@8.23.0':
- resolution: {integrity: sha512-LcqzfipsB8RTvH8FX24W4UUFk1bl+0yTOf9ZA08XngFwMg4Kj8A+9hwz8Cr/ZS4KwHrmo9PJiLZkOt49vPnuvQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- typescript: '>=4.8.4 <5.8.0'
-
- '@typescript-eslint/utils@7.18.0':
- resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- eslint: ^8.56.0
-
- '@typescript-eslint/utils@8.23.0':
- resolution: {integrity: sha512-uB/+PSo6Exu02b5ZEiVtmY6RVYO7YU5xqgzTIVZwTHvvK3HsL8tZZHFaTLFtRG3CsV4A5mhOv+NZx5BlhXPyIA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
-
- '@typescript-eslint/visitor-keys@7.18.0':
- resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==}
- engines: {node: ^18.18.0 || >=20.0.0}
-
- '@typescript-eslint/visitor-keys@8.23.0':
- resolution: {integrity: sha512-oWWhcWDLwDfu++BGTZcmXWqpwtkwb5o7fxUIGksMQQDSdPW9prsSnfIOZMlsj4vBOSrcnjIUZMiIjODgGosFhQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@typescript/vfs@1.6.1':
- resolution: {integrity: sha512-JwoxboBh7Oz1v38tPbkrZ62ZXNHAk9bJ7c9x0eI5zBfBnBYGhURdbnh7Z4smN/MV48Y5OCcZb58n972UtbazsA==}
- peerDependencies:
- typescript: '*'
-
- '@vercel/nft@0.29.1':
- resolution: {integrity: sha512-6239JJM1V9b3OjvZIjbe+47/hGxMr44FEzlbTErrqzebCaoKAHK+yvahn3gdNacybDUbTxVF8Zuh0vqaeM8aKQ==}
- engines: {node: '>=18'}
- hasBin: true
-
- '@vitest/coverage-v8@1.0.4':
- resolution: {integrity: sha512-xD6Yuql6RW0Ir/JJIs6rVrmnG2/KOWJF+IRX1oJQk5wGKGxbtdrYPbl+WTUn/4ICCQ2G20zbE1e8/nPNyAG5Vg==}
- peerDependencies:
- vitest: ^1.0.0
-
- '@vitest/expect@1.0.4':
- resolution: {integrity: sha512-/NRN9N88qjg3dkhmFcCBwhn/Ie4h064pY3iv7WLRsDJW7dXnEgeoa8W9zy7gIPluhz6CkgqiB3HmpIXgmEY5dQ==}
-
- '@vitest/expect@2.1.9':
- resolution: {integrity: sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw==}
-
- '@vitest/mocker@2.1.9':
- resolution: {integrity: sha512-tVL6uJgoUdi6icpxmdrn5YNo3g3Dxv+IHJBr0GXHaEdTcw3F+cPKnsXFhli6nO+f/6SDKPHEK1UN+k+TQv0Ehg==}
- peerDependencies:
- msw: ^2.4.9
- vite: ^5.0.0
- peerDependenciesMeta:
- msw:
- optional: true
- vite:
- optional: true
-
- '@vitest/pretty-format@2.1.9':
- resolution: {integrity: sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==}
-
- '@vitest/runner@1.0.4':
- resolution: {integrity: sha512-rhOQ9FZTEkV41JWXozFM8YgOqaG9zA7QXbhg5gy6mFOVqh4PcupirIJ+wN7QjeJt8S8nJRYuZH1OjJjsbxAXTQ==}
-
- '@vitest/runner@2.1.9':
- resolution: {integrity: sha512-ZXSSqTFIrzduD63btIfEyOmNcBmQvgOVsPNPe0jYtESiXkhd8u2erDLnMxmGrDCwHCCHE7hxwRDCT3pt0esT4g==}
-
- '@vitest/snapshot@1.0.4':
- resolution: {integrity: sha512-vkfXUrNyNRA/Gzsp2lpyJxh94vU2OHT1amoD6WuvUAA12n32xeVZQ0KjjQIf8F6u7bcq2A2k969fMVxEsxeKYA==}
-
- '@vitest/snapshot@2.1.9':
- resolution: {integrity: sha512-oBO82rEjsxLNJincVhLhaxxZdEtV0EFHMK5Kmx5sJ6H9L183dHECjiefOAdnqpIgT5eZwT04PoggUnW88vOBNQ==}
-
- '@vitest/spy@1.0.4':
- resolution: {integrity: sha512-9ojTFRL1AJVh0hvfzAQpm0QS6xIS+1HFIw94kl/1ucTfGCaj1LV/iuJU4Y6cdR03EzPDygxTHwE1JOm+5RCcvA==}
-
- '@vitest/spy@2.1.9':
- resolution: {integrity: sha512-E1B35FwzXXTs9FHNK6bDszs7mtydNi5MIfUWpceJ8Xbfb1gBMscAnwLbEu+B44ed6W3XjL9/ehLPHR1fkf1KLQ==}
-
- '@vitest/ui@1.0.4':
- resolution: {integrity: sha512-gd4p6e7pjukSe4joWS5wpnm/JcEfzCZUYkYWQOORqJK1mDJ0MOaXa/9BbPOEVO5TcvdnKvFJUdJpFHnqoyYwZA==}
- peerDependencies:
- vitest: ^1.0.0
-
- '@vitest/utils@1.0.4':
- resolution: {integrity: sha512-gsswWDXxtt0QvtK/y/LWukN7sGMYmnCcv1qv05CsY6cU/Y1zpGX1QuvLs+GO1inczpE6Owixeel3ShkjhYtGfA==}
-
- '@vitest/utils@2.1.9':
- resolution: {integrity: sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==}
-
- abbrev@1.1.1:
- resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
-
- abbrev@3.0.0:
- resolution: {integrity: sha512-+/kfrslGQ7TNV2ecmQwMJj/B65g5KVq1/L3SGVZ3tCYGqlzFuFCGBZJtMP99wH3NpEUyAjn0zPdPUg0D+DwrOA==}
- engines: {node: ^18.17.0 || >=20.5.0}
-
- acorn-import-attributes@1.9.5:
- resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==}
- peerDependencies:
- acorn: ^8
-
- acorn-jsx@5.3.2:
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
- peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
-
- acorn-typescript@1.4.13:
- resolution: {integrity: sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==}
- peerDependencies:
- acorn: '>=8.9.0'
-
- acorn-walk@8.3.4:
- resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
- engines: {node: '>=0.4.0'}
-
- acorn@8.14.0:
- resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
- engines: {node: '>=0.4.0'}
- hasBin: true
-
- agent-base@7.1.3:
- resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==}
- engines: {node: '>= 14'}
-
- ajv@6.12.6:
- resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
-
- ansi-colors@4.1.3:
- resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
- engines: {node: '>=6'}
-
- ansi-escapes@4.3.2:
- resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
- engines: {node: '>=8'}
-
- ansi-escapes@7.0.0:
- resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==}
- engines: {node: '>=18'}
-
- ansi-regex@5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
-
- ansi-regex@6.1.0:
- resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
- engines: {node: '>=12'}
-
- ansi-sequence-parser@1.1.3:
- resolution: {integrity: sha512-+fksAx9eG3Ab6LDnLs3ZqZa8KVJ/jYnX+D4Qe1azX+LFGFAXqynCQLOdLpNYN/l9e7l6hMWwZbrnctqr6eSQSw==}
-
- ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
-
- ansi-styles@5.2.0:
- resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
- engines: {node: '>=10'}
-
- ansi-styles@6.2.1:
- resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
- engines: {node: '>=12'}
-
- ansis@3.17.0:
- resolution: {integrity: sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==}
- engines: {node: '>=14'}
-
- any-promise@1.3.0:
- resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
-
- anymatch@3.1.3:
- resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
- engines: {node: '>= 8'}
-
- arg@4.1.3:
- resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
-
- arg@5.0.2:
- resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
-
- argparse@1.0.10:
- resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
-
- argparse@2.0.1:
- resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
-
- aria-query@5.3.2:
- resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
- engines: {node: '>= 0.4'}
-
- array-union@2.1.0:
- resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
- engines: {node: '>=8'}
-
- assertion-error@1.1.0:
- resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
-
- assertion-error@2.0.1:
- resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
- engines: {node: '>=12'}
-
- async-sema@3.1.1:
- resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==}
-
- async@0.1.22:
- resolution: {integrity: sha512-2tEzliJmf5fHNafNwQLJXUasGzQCVctvsNkXmnlELHwypU0p08/rHohYvkqKIjyXpx+0rkrYv6QbhJ+UF4QkBg==}
-
- async@3.2.6:
- resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==}
-
- autoprefixer@10.4.20:
- resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
- engines: {node: ^10 || ^12 || >=14}
- hasBin: true
- peerDependencies:
- postcss: ^8.1.0
-
- axobject-query@4.1.0:
- resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
- engines: {node: '>= 0.4'}
-
- balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
-
- base64-js@1.5.1:
- resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
-
- better-path-resolve@1.0.0:
- resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==}
- engines: {node: '>=4'}
-
- binary-extensions@2.3.0:
- resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
- engines: {node: '>=8'}
-
- bindings@1.5.0:
- resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
-
- bl@4.1.0:
- resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
-
- brace-expansion@1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
-
- brace-expansion@2.0.1:
- resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
-
- braces@3.0.3:
- resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
- engines: {node: '>=8'}
-
- browserslist@4.24.4:
- resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
-
- buffer@5.7.1:
- resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
-
- bufferutil@4.0.9:
- resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==}
- engines: {node: '>=6.14.2'}
-
- bundle-require@4.2.1:
- resolution: {integrity: sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- peerDependencies:
- esbuild: '>=0.17'
-
- cac@6.7.14:
- resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
- engines: {node: '>=8'}
-
- callsites@3.1.0:
- resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
- engines: {node: '>=6'}
-
- camelcase-css@2.0.1:
- resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
- engines: {node: '>= 6'}
-
- caniuse-lite@1.0.30001699:
- resolution: {integrity: sha512-b+uH5BakXZ9Do9iK+CkDmctUSEqZl+SP056vc5usa0PL+ev5OHw003rZXcnjNDv3L8P5j6rwT6C0BPKSikW08w==}
-
- case@1.6.3:
- resolution: {integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==}
- engines: {node: '>= 0.8.0'}
-
- catharsis@0.5.6:
- resolution: {integrity: sha512-FIKGuortcMexWC4B1gK+iJYr2xcGiWjJDdQYeqvWM5fDxS9l7EXjNixY+fjsquWcCXFOCZk84CYfmmSSk4Cb3g==}
- engines: {node: '>= 0.6'}
-
- chai@4.5.0:
- resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==}
- engines: {node: '>=4'}
-
- chai@5.1.2:
- resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==}
- engines: {node: '>=12'}
-
- chalk@4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
-
- chalk@5.4.1:
- resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==}
- engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
-
- chardet@0.7.0:
- resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
-
- chart.js@4.4.7:
- resolution: {integrity: sha512-pwkcKfdzTMAU/+jNosKhNL2bHtJc/sSmYgVbuGTEDhzkrhmyihmP7vUc/5ZK9WopidMDHNe3Wm7jOd/WhuHWuw==}
- engines: {pnpm: '>=8'}
-
- cheap-ruler@4.0.0:
- resolution: {integrity: sha512-0BJa8f4t141BYKQyn9NSQt1PguFQXMXwZiA5shfoaBYHAb2fFk2RAX+tiWMoQU+Agtzt3mdt0JtuyshAXqZ+Vw==}
-
- check-error@1.0.3:
- resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==}
-
- check-error@2.1.1:
- resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
- engines: {node: '>= 16'}
-
- chokidar@3.6.0:
- resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
- engines: {node: '>= 8.10.0'}
-
- chokidar@4.0.3:
- resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
- engines: {node: '>= 14.16.0'}
-
- chownr@3.0.0:
- resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
- engines: {node: '>=18'}
-
- ci-info@3.9.0:
- resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
- engines: {node: '>=8'}
-
- clean-stack@3.0.1:
- resolution: {integrity: sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==}
- engines: {node: '>=10'}
-
- cli-cursor@3.1.0:
- resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
- engines: {node: '>=8'}
-
- cli-cursor@5.0.0:
- resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
- engines: {node: '>=18'}
-
- cli-spinners@2.9.2:
- resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
- engines: {node: '>=6'}
-
- cli-truncate@4.0.0:
- resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
- engines: {node: '>=18'}
-
- cli-width@3.0.0:
- resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==}
- engines: {node: '>= 10'}
-
- cli@0.4.3:
- resolution: {integrity: sha512-zPLMXUf13f5JkcgpA6FJim+U1fcsPYymGdEhdNsF5rRf1k+MEyBjmxECSI0lg+i143E6kPTpVN65bNaCvf+avA==}
- engines: {node: '>=0.2.5'}
-
- clone@1.0.4:
- resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
- engines: {node: '>=0.8'}
-
- clsx@2.1.1:
- resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
- engines: {node: '>=6'}
-
- color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
-
- color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
-
- colorette@2.0.20:
- resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
-
- commander@13.1.0:
- resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==}
- engines: {node: '>=18'}
-
- commander@4.1.1:
- resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
- engines: {node: '>= 6'}
-
- concat-map@0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
-
- confbox@0.1.8:
- resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
-
- consola@3.4.0:
- resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==}
- engines: {node: ^14.18.0 || >=16.10.0}
-
- convert-source-map@2.0.0:
- resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
-
- convert@5.7.0:
- resolution: {integrity: sha512-3j63MvYat3f42sv8vSBZhPn28YMifKlF6x7ym0PwpdYwY0Ej4iRmYzoHF7oaEclHTljFn5v+abQZlJVb8S+tdw==}
-
- cookie@0.6.0:
- resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
- engines: {node: '>= 0.6'}
-
- create-require@1.1.1:
- resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
-
- cross-spawn@7.0.6:
- resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
- engines: {node: '>= 8'}
-
- crypto-browserify@git+https://git@github.com:dominictarr/crypto-browserify.git#95c5d505:
- resolution: {commit: 95c5d505, repo: git@github.com:dominictarr/crypto-browserify.git, type: git}
- version: 0.1.1
-
- css-paint-polyfill@3.4.0:
- resolution: {integrity: sha512-B89ymLgMZie41d+QrD//5RWnwykvru5H9Yzd/MMJIgPdVsKB7t4lxuhIAyzy5FnoUbb0MztagNVRe9dI7kMbiA==}
-
- css-selector-tokenizer@0.8.0:
- resolution: {integrity: sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==}
-
- csscolorparser@1.0.3:
- resolution: {integrity: sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==}
-
- cssesc@3.0.0:
- resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
- engines: {node: '>=4'}
- hasBin: true
-
- culori@3.3.0:
- resolution: {integrity: sha512-pHJg+jbuFsCjz9iclQBqyL3B2HLCBF71BwVNujUYEvCeQMvV97R59MNK3R2+jgJ3a1fcZgI9B3vYgz8lzr/BFQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
- d3-array@3.2.4:
- resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==}
- engines: {node: '>=12'}
-
- d3-color@3.1.0:
- resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==}
- engines: {node: '>=12'}
-
- d3-geo@3.1.1:
- resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==}
- engines: {node: '>=12'}
-
- d@1.0.2:
- resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==}
- engines: {node: '>=0.12'}
-
- daisyui@4.12.23:
- resolution: {integrity: sha512-EM38duvxutJ5PD65lO/AFMpcw+9qEy6XAZrTpzp7WyaPeO/l+F/Qiq0ECHHmFNcFXh5aVoALY4MGrrxtCiaQCQ==}
- engines: {node: '>=16.9.0'}
-
- dataloader@1.4.0:
- resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==}
-
- debug@2.6.9:
- resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
-
- debug@4.4.0:
- resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
-
- decimal.js@10.5.0:
- resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==}
-
- dedent-js@1.0.1:
- resolution: {integrity: sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==}
-
- dedent@1.5.3:
- resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==}
- peerDependencies:
- babel-plugin-macros: ^3.1.0
- peerDependenciesMeta:
- babel-plugin-macros:
- optional: true
-
- deep-eql@4.1.4:
- resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==}
- engines: {node: '>=6'}
-
- deep-eql@5.0.2:
- resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
- engines: {node: '>=6'}
-
- deep-is@0.1.4:
- resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
-
- deepmerge@4.3.1:
- resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
- engines: {node: '>=0.10.0'}
-
- defaults@1.0.4:
- resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
-
- dequal@2.0.3:
- resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
- engines: {node: '>=6'}
-
- detect-indent@6.1.0:
- resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
- engines: {node: '>=8'}
-
- detect-libc@2.0.3:
- resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
- engines: {node: '>=8'}
-
- devalue@5.1.1:
- resolution: {integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==}
-
- dexie@4.0.11:
- resolution: {integrity: sha512-SOKO002EqlvBYYKQSew3iymBoN2EQ4BDw/3yprjh7kAfFzjBYkaMNa/pZvcA7HSWlcKSQb9XhPe3wKyQ0x4A8A==}
-
- didyoumean@1.2.2:
- resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
-
- diff-sequences@29.6.3:
- resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- diff@4.0.2:
- resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
- engines: {node: '>=0.3.1'}
-
- dir-glob@3.0.1:
- resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
- engines: {node: '>=8'}
-
- dlv@1.1.3:
- resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
-
- dotenv@16.0.3:
- resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==}
- engines: {node: '>=12'}
-
- dotenv@8.6.0:
- resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==}
- engines: {node: '>=10'}
-
- earcut@2.2.4:
- resolution: {integrity: sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==}
-
- earcut@3.0.1:
- resolution: {integrity: sha512-0l1/0gOjESMeQyYaK5IDiPNvFeu93Z/cO0TjZh9eZ1vyCtZnA7KMZ8rQggpsJHIbGSdrqYq9OhuveadOVHCshw==}
-
- eastasianwidth@0.2.0:
- resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
-
- ejs@3.1.10:
- resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==}
- engines: {node: '>=0.10.0'}
- hasBin: true
-
- electron-to-chromium@1.5.96:
- resolution: {integrity: sha512-8AJUW6dh75Fm/ny8+kZKJzI1pgoE8bKLZlzDU2W1ENd+DXKJrx7I7l9hb8UWR4ojlnb5OlixMt00QWiYJoVw1w==}
-
- emoji-regex@10.4.0:
- resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==}
-
- emoji-regex@8.0.0:
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
-
- emoji-regex@9.2.2:
- resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
-
- enquirer@2.4.1:
- resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==}
- engines: {node: '>=8.6'}
-
- environment@1.1.0:
- resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==}
- engines: {node: '>=18'}
-
- es-module-lexer@1.6.0:
- resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==}
-
- es5-ext@0.10.64:
- resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==}
- engines: {node: '>=0.10'}
-
- es6-iterator@2.0.3:
- resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
-
- es6-symbol@3.1.4:
- resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==}
- engines: {node: '>=0.12'}
-
- esbuild@0.17.19:
- resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==}
- engines: {node: '>=12'}
- hasBin: true
-
- esbuild@0.21.5:
- resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
- engines: {node: '>=12'}
- hasBin: true
-
- esbuild@0.24.2:
- resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==}
- engines: {node: '>=18'}
- hasBin: true
-
- escalade@3.2.0:
- resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
- engines: {node: '>=6'}
-
- escape-string-regexp@1.0.5:
- resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
- engines: {node: '>=0.8.0'}
-
- escape-string-regexp@4.0.0:
- resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
- engines: {node: '>=10'}
-
- eslint-compat-utils@0.5.1:
- resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==}
- engines: {node: '>=12'}
- peerDependencies:
- eslint: '>=6.0.0'
-
- eslint-config-prettier@9.1.0:
- resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
- hasBin: true
- peerDependencies:
- eslint: '>=7.0.0'
-
- eslint-config-turbo@2.4.0:
- resolution: {integrity: sha512-AiRdy83iwyG4+iMSxXQGUbEClxkGxSlXYH8E2a+0972ao75OWnlDBiiuLMOzDpJubR+QVGC4zonn29AIFCSbFw==}
- peerDependencies:
- eslint: '>6.6.0'
- turbo: '>2.0.0'
-
- eslint-plugin-svelte@2.46.1:
- resolution: {integrity: sha512-7xYr2o4NID/f9OEYMqxsEQsCsj4KaMy4q5sANaKkAb6/QeCjYFxRmDm2S3YC3A3pl1kyPZ/syOx/i7LcWYSbIw==}
- engines: {node: ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^7.0.0 || ^8.0.0-0 || ^9.0.0-0
- svelte: ^3.37.0 || ^4.0.0 || ^5.0.0
- peerDependenciesMeta:
- svelte:
- optional: true
-
- eslint-plugin-turbo@2.4.0:
- resolution: {integrity: sha512-qCgoRi/OTc1VMxab7+sdKiV1xlkY4qjK9sM+kS7+WogrB1DxLguJSQXvk4HA13SD5VmJsq+8FYOw5q4EUk6Ixg==}
- peerDependencies:
- eslint: '>6.6.0'
- turbo: '>2.0.0'
-
- eslint-scope@7.2.2:
- resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
- eslint-scope@8.2.0:
- resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- eslint-visitor-keys@3.4.3:
- resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
- eslint-visitor-keys@4.2.0:
- resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- eslint@9.20.0:
- resolution: {integrity: sha512-aL4F8167Hg4IvsW89ejnpTwx+B/UQRzJPGgbIOl+4XqffWsahVVsLEWoZvnrVuwpWmnRd7XeXmQI1zlKcFDteA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- hasBin: true
- peerDependencies:
- jiti: '*'
- peerDependenciesMeta:
- jiti:
- optional: true
-
- esm-env@1.0.0:
- resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==}
-
- esm-env@1.2.2:
- resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==}
-
- esm@3.2.25:
- resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==}
- engines: {node: '>=6'}
-
- esniff@2.0.1:
- resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==}
- engines: {node: '>=0.10'}
-
- espree@10.3.0:
- resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- espree@9.6.1:
- resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
- esprima@4.0.1:
- resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
- engines: {node: '>=4'}
- hasBin: true
-
- esquery@1.6.0:
- resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
- engines: {node: '>=0.10'}
-
- esrap@1.4.3:
- resolution: {integrity: sha512-Xddc1RsoFJ4z9nR7W7BFaEPIp4UXoeQ0+077UdWLxbafMQFyU79sQJMk7kxNgRwQ9/aVgaKacCHC2pUACGwmYw==}
-
- esrecurse@4.3.0:
- resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
- engines: {node: '>=4.0'}
-
- estraverse@5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
- engines: {node: '>=4.0'}
-
- estree-walker@2.0.2:
- resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
-
- estree-walker@3.0.3:
- resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
-
- esutils@2.0.3:
- resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
- engines: {node: '>=0.10.0'}
-
- event-emitter@0.3.5:
- resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
-
- eventemitter3@5.0.1:
- resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
-
- execa@5.1.1:
- resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
- engines: {node: '>=10'}
-
- execa@8.0.1:
- resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
- engines: {node: '>=16.17'}
-
- expect-type@1.1.0:
- resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==}
- engines: {node: '>=12.0.0'}
-
- ext@1.7.0:
- resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
-
- extendable-error@0.1.7:
- resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==}
-
- external-editor@3.1.0:
- resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
- engines: {node: '>=4'}
-
- fast-deep-equal@3.1.3:
- resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
-
- fast-glob@3.3.3:
- resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
- engines: {node: '>=8.6.0'}
-
- fast-json-stable-stringify@2.1.0:
- resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
-
- fast-levenshtein@2.0.6:
- resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
-
- fastparse@1.1.2:
- resolution: {integrity: sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==}
-
- fastq@1.19.0:
- resolution: {integrity: sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==}
-
- fdir@6.4.3:
- resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==}
- peerDependencies:
- picomatch: ^3 || ^4
- peerDependenciesMeta:
- picomatch:
- optional: true
-
- fflate@0.8.2:
- resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
-
- figures@3.2.0:
- resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
- engines: {node: '>=8'}
-
- file-entry-cache@8.0.0:
- resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
- engines: {node: '>=16.0.0'}
-
- file-uri-to-path@1.0.0:
- resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==}
-
- filelist@1.0.4:
- resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
-
- fill-range@7.1.1:
- resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
- engines: {node: '>=8'}
-
- find-up@4.1.0:
- resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
- engines: {node: '>=8'}
-
- find-up@5.0.0:
- resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
- engines: {node: '>=10'}
-
- flat-cache@4.0.1:
- resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
- engines: {node: '>=16'}
-
- flatted@3.3.2:
- resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==}
-
- foreground-child@3.3.0:
- resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
- engines: {node: '>=14'}
-
- fraction.js@4.3.7:
- resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
-
- fs-extra@11.3.0:
- resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==}
- engines: {node: '>=14.14'}
-
- fs-extra@7.0.1:
- resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
- engines: {node: '>=6 <7 || >=8'}
-
- fs-extra@8.1.0:
- resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==}
- engines: {node: '>=6 <7 || >=8'}
-
- fs.realpath@1.0.0:
- resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
-
- fsevents@2.3.2:
- resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
-
- fsevents@2.3.3:
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
-
- function-bind@1.1.2:
- resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
-
- geohashing@2.0.1:
- resolution: {integrity: sha512-u0H29yhqHEyBBgwv1GJrvqbD33AnQm2lbWOLNbXLZEWVrCKNoblyiWWnVGeYGaM4NNM7rBBTqvJZhZ/CDfrBVw==}
-
- geojson-vt@4.0.2:
- resolution: {integrity: sha512-AV9ROqlNqoZEIJGfm1ncNjEXfkz2hdFlZf0qkVfmkwdKa8vj7H16YUOT81rJw1rdFhyEDlN2Tds91p/glzbl5A==}
-
- get-east-asian-width@1.3.0:
- resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==}
- engines: {node: '>=18'}
-
- get-func-name@2.0.2:
- resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
-
- get-package-type@0.1.0:
- resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
- engines: {node: '>=8.0.0'}
-
- get-stream@6.0.1:
- resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
- engines: {node: '>=10'}
-
- get-stream@8.0.1:
- resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
- engines: {node: '>=16'}
-
- gl-matrix@3.4.3:
- resolution: {integrity: sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==}
-
- glob-parent@5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
-
- glob-parent@6.0.2:
- resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
- engines: {node: '>=10.13.0'}
-
- glob@10.4.5:
- resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
- hasBin: true
-
- glob@7.2.3:
- resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
- deprecated: Glob versions prior to v9 are no longer supported
-
- glob@8.1.0:
- resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
- engines: {node: '>=12'}
- deprecated: Glob versions prior to v9 are no longer supported
-
- global-prefix@4.0.0:
- resolution: {integrity: sha512-w0Uf9Y9/nyHinEk5vMJKRie+wa4kR5hmDbEhGGds/kG1PwGLLHKRoNMeJOyCQjjBkANlnScqgzcFwGHgmgLkVA==}
- engines: {node: '>=16'}
-
- globals@14.0.0:
- resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
- engines: {node: '>=18'}
-
- globals@15.14.0:
- resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==}
- engines: {node: '>=18'}
-
- globby@11.1.0:
- resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
- engines: {node: '>=10'}
-
- globrex@0.1.2:
- resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
-
- graceful-fs@4.2.11:
- resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
-
- graphemer@1.4.0:
- resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
-
- grid-index@1.1.0:
- resolution: {integrity: sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==}
-
- has-flag@4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
- engines: {node: '>=8'}
-
- hasown@2.0.2:
- resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
- engines: {node: '>= 0.4'}
-
- highlight.js@11.11.1:
- resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==}
- engines: {node: '>=12.0.0'}
-
- highlightjs-svelte@1.0.6:
- resolution: {integrity: sha512-aXuBPz8df3sOXg90q8rRcBLyxIR8ozPU39a6tJ2rpJUjjd9brRIr55aC0IccW4gsPhQxZ+B3rFugdXsg9/ckDw==}
-
- html-escaper@2.0.2:
- resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
-
- https-proxy-agent@7.0.6:
- resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
- engines: {node: '>= 14'}
-
- human-id@1.0.2:
- resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==}
-
- human-signals@2.1.0:
- resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
- engines: {node: '>=10.17.0'}
-
- human-signals@5.0.0:
- resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
- engines: {node: '>=16.17.0'}
-
- husky@9.1.7:
- resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==}
- engines: {node: '>=18'}
- hasBin: true
-
- iconv-lite@0.4.24:
- resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
- engines: {node: '>=0.10.0'}
-
- ieee754@1.2.1:
- resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
-
- ignore-walk@5.0.1:
- resolution: {integrity: sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
-
- ignore@5.3.2:
- resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
- engines: {node: '>= 4'}
-
- import-fresh@3.3.1:
- resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
- engines: {node: '>=6'}
-
- import-meta-resolve@4.1.0:
- resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==}
-
- imurmurhash@0.1.4:
- resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
- engines: {node: '>=0.8.19'}
-
- indent-string@4.0.0:
- resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
- engines: {node: '>=8'}
-
- inflight@1.0.6:
- resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
- deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
-
- inherits@2.0.4:
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
-
- ini@4.1.3:
- resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
-
- inquirer@8.2.6:
- resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==}
- engines: {node: '>=12.0.0'}
-
- internmap@2.0.3:
- resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==}
- engines: {node: '>=12'}
-
- intl-messageformat@10.7.15:
- resolution: {integrity: sha512-LRyExsEsefQSBjU2p47oAheoKz+EOJxSLDdjOaEjdriajfHsMXOmV/EhMvYSg9bAgCUHasuAC+mcUBe/95PfIg==}
-
- is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
-
- is-core-module@2.16.1:
- resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
- engines: {node: '>= 0.4'}
-
- is-docker@2.2.1:
- resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
- engines: {node: '>=8'}
- hasBin: true
-
- is-extglob@2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
-
- is-fullwidth-code-point@3.0.0:
- resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
- engines: {node: '>=8'}
-
- is-fullwidth-code-point@4.0.0:
- resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
- engines: {node: '>=12'}
-
- is-fullwidth-code-point@5.0.0:
- resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==}
- engines: {node: '>=18'}
-
- is-glob@4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
-
- is-interactive@1.0.0:
- resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
- engines: {node: '>=8'}
-
- is-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
-
- is-observable@2.1.0:
- resolution: {integrity: sha512-DailKdLb0WU+xX8K5w7VsJhapwHLZ9jjmazqCJq4X12CTgqq73TKnbRcnSLuXYPOoLQgV5IrD7ePiX/h1vnkBw==}
- engines: {node: '>=8'}
-
- is-reference@3.0.3:
- resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==}
-
- is-stream@2.0.1:
- resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
- engines: {node: '>=8'}
-
- is-stream@3.0.0:
- resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
- is-subdir@1.2.0:
- resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==}
- engines: {node: '>=4'}
-
- is-typedarray@1.0.0:
- resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
-
- is-unicode-supported@0.1.0:
- resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
- engines: {node: '>=10'}
-
- is-windows@1.0.2:
- resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
- engines: {node: '>=0.10.0'}
-
- is-wsl@2.2.0:
- resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
- engines: {node: '>=8'}
-
- isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
-
- isexe@3.1.1:
- resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==}
- engines: {node: '>=16'}
-
- iso-3166@4.3.0:
- resolution: {integrity: sha512-H4kM/sVbxTjSl9xnQCYOrNWdpN0R8Uz26j1BuXI9E6U+kw5wmd3HyPgr/v4+NCuvV/NcvwTfZxd5XZ4lPKvBNA==}
-
- istanbul-lib-coverage@3.2.2:
- resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
- engines: {node: '>=8'}
-
- istanbul-lib-report@3.0.1:
- resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
- engines: {node: '>=10'}
-
- istanbul-lib-source-maps@4.0.1:
- resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
- engines: {node: '>=10'}
-
- istanbul-reports@3.1.7:
- resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==}
- engines: {node: '>=8'}
-
- jackspeak@3.4.3:
- resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
-
- jake@10.9.2:
- resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==}
- engines: {node: '>=10'}
- hasBin: true
-
- jiti@1.21.7:
- resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
- hasBin: true
-
- joycon@3.1.1:
- resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
- engines: {node: '>=10'}
-
- js-yaml@3.14.1:
- resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
- hasBin: true
-
- js-yaml@4.1.0:
- resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
- hasBin: true
-
- js2xmlparser@0.1.0:
- resolution: {integrity: sha512-tRwSjVusPjVRSC/xm75uGlkZJmBEoZVZWq07GVTdvyW37ZzuCOxq0xGZQaJFUNzoNTk5fStSvtPaLM/47JVhgg==}
-
- jsdoc@3.2.0:
- resolution: {integrity: sha512-ASDe1bDrDYxp35fLv97lxPdIfRhrrEDguMS+QyfDe2viN9GrgqhPJpHHEJwW1C5HgHQ6VZus/ZHHF7YsOkCdlw==}
- hasBin: true
-
- jshint@0.9.1:
- resolution: {integrity: sha512-W69SwJ3/pBdkwwpNxCOmlJHlsJCzA2xJ4DyWoXezdjBEteBq/R3eX6CaU7SM7mTjdSU1iSI7UG57fl0QqNO4Nw==}
- hasBin: true
-
- json-buffer@3.0.1:
- resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
-
- json-schema-traverse@0.4.1:
- resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
-
- json-stable-stringify-without-jsonify@1.0.1:
- resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
-
- json-stringify-pretty-compact@4.0.0:
- resolution: {integrity: sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==}
-
- jsonc-parser@3.3.1:
- resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==}
-
- jsonfile@4.0.0:
- resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
-
- jsonfile@6.1.0:
- resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
-
- just-clamp@4.2.0:
- resolution: {integrity: sha512-ssHiAxuN7R+VP7jS1XyUP7ju5YC4bTQwQdzYtuZkASTrKe9KsI/X0t+5BJeD6Un6z/dNMDFVNQpQEgUphpXa0w==}
-
- just-compare@2.3.0:
- resolution: {integrity: sha512-6shoR7HDT+fzfL3gBahx1jZG3hWLrhPAf+l7nCwahDdT9XDtosB9kIF0ZrzUp5QY8dJWfQVr5rnsPqsbvflDzg==}
-
- kdbush@4.0.2:
- resolution: {integrity: sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==}
-
- keyv@4.5.4:
- resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
-
- kind-of@6.0.3:
- resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
- engines: {node: '>=0.10.0'}
-
- kleur@4.1.5:
- resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
- engines: {node: '>=6'}
-
- known-css-properties@0.35.0:
- resolution: {integrity: sha512-a/RAk2BfKk+WFGhhOCAYqSiFLc34k8Mt/6NWRI4joER0EYUzXIcFivjjnoD3+XU1DggLn/tZc3DOAgke7l8a4A==}
-
- levn@0.4.1:
- resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
- engines: {node: '>= 0.8.0'}
-
- light-bolt11-decoder@3.2.0:
- resolution: {integrity: sha512-3QEofgiBOP4Ehs9BI+RkZdXZNtSys0nsJ6fyGeSiAGCBsMwHGUDS/JQlY/sTnWs91A2Nh0S9XXfA8Sy9g6QpuQ==}
-
- lilconfig@2.1.0:
- resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
- engines: {node: '>=10'}
-
- lilconfig@3.1.3:
- resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
- engines: {node: '>=14'}
-
- lines-and-columns@1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
-
- lint-staged@15.4.3:
- resolution: {integrity: sha512-FoH1vOeouNh1pw+90S+cnuoFwRfUD9ijY2GKy5h7HS3OR7JVir2N2xrsa0+Twc1B7cW72L+88geG5cW4wIhn7g==}
- engines: {node: '>=18.12.0'}
- hasBin: true
-
- listr2@8.2.5:
- resolution: {integrity: sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==}
- engines: {node: '>=18.0.0'}
-
- load-tsconfig@0.2.5:
- resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
- local-pkg@0.5.1:
- resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==}
- engines: {node: '>=14'}
-
- locate-character@3.0.0:
- resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
-
- locate-path@5.0.0:
- resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
- engines: {node: '>=8'}
-
- locate-path@6.0.0:
- resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
- engines: {node: '>=10'}
-
- lodash.merge@4.6.2:
- resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
-
- lodash.sortby@4.7.0:
- resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
-
- lodash.startcase@4.4.0:
- resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
-
- lodash@4.17.21:
- resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
-
- log-symbols@4.1.0:
- resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
- engines: {node: '>=10'}
-
- log-update@6.1.0:
- resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==}
- engines: {node: '>=18'}
-
- loupe@2.3.7:
- resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==}
-
- loupe@3.1.3:
- resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==}
-
- lower-case@2.0.2:
- resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
-
- lru-cache@1.0.6:
- resolution: {integrity: sha512-mM3c2io8llIGu/6WuMhLl5Qu9Flt5io8Epuqk+iIbKwyUwDQI6FdcCDxjAhhxYqgi0U17G89chu/Va1gbKhJbw==}
-
- lru-cache@10.4.3:
- resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
-
- lunr@2.3.9:
- resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==}
-
- luxon@3.5.0:
- resolution: {integrity: sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==}
- engines: {node: '>=12'}
-
- magic-string@0.30.17:
- resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
-
- magicast@0.3.5:
- resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==}
-
- make-dir@4.0.0:
- resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
- engines: {node: '>=10'}
-
- make-error@1.3.6:
- resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
-
- mapbox-gl@3.9.4:
- resolution: {integrity: sha512-IxfpdyNzjCMzkqj/q5OUamlF1QcS+IFEARteygEgao2B8l8+UF2ahpNRgHT2EpMSE8ma1bq4LKvr+EuJ6gqniw==}
-
- maplibre-gl@5.1.0:
- resolution: {integrity: sha512-6lbf7qAnqAVm1T/vJBMmRtP+g8G/O/Z52IBtWX31SbFj7sEdlrk4YugxJen8IdV/pFjLFnDOw7HiHZl5nYdVjg==}
- engines: {node: '>=16.14.0', npm: '>=8.1.0'}
-
- markdown@https://codeload.github.com/jsdoc3/markdown-js/tar.gz/0050c46a97d084a3cf8e42bc158be6570b94c6e6:
- resolution: {tarball: https://codeload.github.com/jsdoc3/markdown-js/tar.gz/0050c46a97d084a3cf8e42bc158be6570b94c6e6}
- version: 0.4.0
- hasBin: true
-
- marked@0.2.8:
- resolution: {integrity: sha512-b+4W8tE5w1u5jCpGICr7AKwyTYNCEa340bxYQeiFoCt7J+g4VFvOFtLhhe/267R3l1qAl6nVp2XVxuS346gMtw==}
- hasBin: true
-
- marked@4.3.0:
- resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==}
- engines: {node: '>= 12'}
- hasBin: true
-
- merge-stream@2.0.0:
- resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
-
- merge2@1.4.1:
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
- engines: {node: '>= 8'}
-
- micromatch@4.0.8:
- resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
- engines: {node: '>=8.6'}
-
- mimic-fn@2.1.0:
- resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
- engines: {node: '>=6'}
-
- mimic-fn@4.0.0:
- resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
- engines: {node: '>=12'}
-
- mimic-function@5.0.1:
- resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
- engines: {node: '>=18'}
-
- minimatch@0.0.5:
- resolution: {integrity: sha512-+uV1GoFd1Qme/Evj0R3kXX2sZvLFPPKv3FPBE+Q33Xx+ME1G4i3V1x9q68j6nHfZWsl74fdCfX4SIxjbuKtKXA==}
- deprecated: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
-
- minimatch@3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
-
- minimatch@5.1.6:
- resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
- engines: {node: '>=10'}
-
- minimatch@9.0.5:
- resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
- engines: {node: '>=16 || 14 >=14.17'}
-
- minimist@0.0.10:
- resolution: {integrity: sha512-iotkTvxc+TwOm5Ieim8VnSNvCDjCK9S8G3scJ50ZthspSxa7jx50jkhYduuAtAjvfDUwSgOwf8+If99AlOEhyw==}
-
- minimist@1.2.8:
- resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
-
- minipass@7.1.2:
- resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
- engines: {node: '>=16 || 14 >=14.17'}
-
- minizlib@3.0.1:
- resolution: {integrity: sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==}
- engines: {node: '>= 18'}
-
- mjolnir.js@3.0.0:
- resolution: {integrity: sha512-siX3YCG7N2HnmN1xMH3cK4JkUZJhbkhRFJL+G5N1vH0mh1t5088rJknIoqDFWDIU6NPGvRRgLnYW3ZHjSMEBLA==}
-
- mkdirp@3.0.1:
- resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==}
- engines: {node: '>=10'}
- hasBin: true
-
- mlly@1.7.4:
- resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==}
-
- mri@1.2.0:
- resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
- engines: {node: '>=4'}
-
- mrmime@2.0.0:
- resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
- engines: {node: '>=10'}
-
- ms@2.0.0:
- resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
-
- ms@2.1.3:
- resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
-
- murmurhash-js@1.0.0:
- resolution: {integrity: sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==}
-
- mute-stream@0.0.8:
- resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
-
- mz@2.7.0:
- resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
-
- nanoid@3.3.8:
- resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
-
- nanoid@5.0.9:
- resolution: {integrity: sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==}
- engines: {node: ^18 || >=20}
- hasBin: true
-
- natural-compare@1.4.0:
- resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
-
- next-tick@1.1.0:
- resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
-
- ngeohash@0.6.3:
- resolution: {integrity: sha512-kltF0cOxgx1AbmVzKxYZaoB0aj7mOxZeHaerEtQV0YaqnkXNq26WWqMmJ6lTqShYxVRWZ/mwvvTrNeOwdslWiw==}
- engines: {node: '>=v0.2.0'}
-
- no-case@3.0.4:
- resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
-
- node-fetch@2.7.0:
- resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
- engines: {node: 4.x || >=6.0.0}
- peerDependencies:
- encoding: ^0.1.0
- peerDependenciesMeta:
- encoding:
- optional: true
-
- node-gyp-build@4.8.4:
- resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==}
- hasBin: true
-
- node-releases@2.0.19:
- resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
-
- nopt@1.0.10:
- resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==}
- hasBin: true
-
- nopt@8.1.0:
- resolution: {integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==}
- engines: {node: ^18.17.0 || >=20.5.0}
- hasBin: true
-
- normalize-path@3.0.0:
- resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
- engines: {node: '>=0.10.0'}
-
- normalize-range@0.1.2:
- resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
- engines: {node: '>=0.10.0'}
-
- nostr-tools@2.10.4:
- resolution: {integrity: sha512-biU7sk+jxHgVASfobg2T5ttxOGGSt69wEVBC51sHHOEaKAAdzHBLV/I2l9Rf61UzClhliZwNouYhqIso4a3HYg==}
- peerDependencies:
- typescript: '>=5.0.0'
- peerDependenciesMeta:
- typescript:
- optional: true
-
- nostr-wasm@0.1.0:
- resolution: {integrity: sha512-78BTryCLcLYv96ONU8Ws3Q1JzjlAt+43pWQhIl86xZmWeegYCNLPml7yQ+gG3vR6V5h4XGj+TxO+SS5dsThQIA==}
-
- npm-bundled@2.0.1:
- resolution: {integrity: sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
-
- npm-normalize-package-bin@2.0.0:
- resolution: {integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
-
- npm-packlist@5.1.3:
- resolution: {integrity: sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
- hasBin: true
-
- npm-run-path@4.0.1:
- resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
- engines: {node: '>=8'}
-
- npm-run-path@5.3.0:
- resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
- object-assign@4.1.1:
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
- engines: {node: '>=0.10.0'}
-
- object-hash@3.0.0:
- resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
- engines: {node: '>= 6'}
-
- observable-fns@0.6.1:
- resolution: {integrity: sha512-9gRK4+sRWzeN6AOewNBTLXir7Zl/i3GB6Yl26gK4flxz8BXVpD3kt8amREmWNb0mxYOGDotvE5a4N+PtGGKdkg==}
-
- once@1.4.0:
- resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
-
- onetime@5.1.2:
- resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
- engines: {node: '>=6'}
-
- onetime@6.0.0:
- resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
- engines: {node: '>=12'}
-
- onetime@7.0.0:
- resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
- engines: {node: '>=18'}
-
- optimist@0.6.0:
- resolution: {integrity: sha512-ubrZPyOU0AHpXkmwqfWolap+eHMwQ484AKivkf0ZGyysd6fUJZl7ow9iu5UNV1vCZv46HQ7EM83IC3NGJ820hg==}
-
- optionator@0.9.4:
- resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
- engines: {node: '>= 0.8.0'}
-
- ora@5.4.1:
- resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
- engines: {node: '>=10'}
-
- os-tmpdir@1.0.2:
- resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
- engines: {node: '>=0.10.0'}
-
- outdent@0.5.0:
- resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==}
-
- p-filter@2.1.0:
- resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==}
- engines: {node: '>=8'}
-
- p-limit@2.3.0:
- resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
- engines: {node: '>=6'}
-
- p-limit@3.1.0:
- resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
- engines: {node: '>=10'}
-
- p-limit@5.0.0:
- resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==}
- engines: {node: '>=18'}
-
- p-locate@4.1.0:
- resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
- engines: {node: '>=8'}
-
- p-locate@5.0.0:
- resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
- engines: {node: '>=10'}
-
- p-map@2.1.0:
- resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==}
- engines: {node: '>=6'}
-
- p-try@2.2.0:
- resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
- engines: {node: '>=6'}
-
- package-json-from-dist@1.0.1:
- resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
-
- package-manager-detector@0.2.9:
- resolution: {integrity: sha512-+vYvA/Y31l8Zk8dwxHhL3JfTuHPm6tlxM2A3GeQyl7ovYnSp1+mzAxClxaOr0qO1TtPxbQxetI7v5XqKLJZk7Q==}
-
- parent-module@1.0.1:
- resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
- engines: {node: '>=6'}
-
- pascal-case@3.1.2:
- resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
-
- path-exists@4.0.0:
- resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
- engines: {node: '>=8'}
-
- path-is-absolute@1.0.1:
- resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
- engines: {node: '>=0.10.0'}
-
- path-key@3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
-
- path-key@4.0.0:
- resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
- engines: {node: '>=12'}
-
- path-parse@1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
-
- path-scurry@1.11.1:
- resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
- engines: {node: '>=16 || 14 >=14.18'}
-
- path-type@4.0.0:
- resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
- engines: {node: '>=8'}
-
- pathe@1.1.2:
- resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
-
- pathe@2.0.3:
- resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
-
- pathval@1.1.1:
- resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
-
- pathval@2.0.0:
- resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==}
- engines: {node: '>= 14.16'}
-
- pbf@3.3.0:
- resolution: {integrity: sha512-XDF38WCH3z5OV/OVa8GKUNtLAyneuzbCisx7QUCF8Q6Nutx0WnJrQe5O+kOtBlLfRNUws98Y58Lblp+NJG5T4Q==}
- hasBin: true
-
- picocolors@1.1.1:
- resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
-
- picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
-
- picomatch@4.0.2:
- resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
- engines: {node: '>=12'}
-
- pidtree@0.6.0:
- resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
- engines: {node: '>=0.10'}
- hasBin: true
-
- pify@2.3.0:
- resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
- engines: {node: '>=0.10.0'}
-
- pify@4.0.1:
- resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
- engines: {node: '>=6'}
-
- pirates@4.0.6:
- resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
- engines: {node: '>= 6'}
-
- pkg-types@1.3.1:
- resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
-
- playwright-core@1.50.1:
- resolution: {integrity: sha512-ra9fsNWayuYumt+NiM069M6OkcRb1FZSK8bgi66AtpFoWkg2+y0bJSNmkFrWhMbEBbVKC/EruAHH3g0zmtwGmQ==}
- engines: {node: '>=18'}
- hasBin: true
-
- playwright@1.50.1:
- resolution: {integrity: sha512-G8rwsOQJ63XG6BbKj2w5rHeavFjy5zynBA9zsJMMtBoe/Uf757oG12NXz6e6OirF7RCrTVAKFXbLmn1RbL7Qaw==}
- engines: {node: '>=18'}
- hasBin: true
-
- pmtiles@3.2.1:
- resolution: {integrity: sha512-3R4fBwwoli5mw7a6t1IGwOtfmcSAODq6Okz0zkXhS1zi9sz1ssjjIfslwPvcWw5TNhdjNBUg9fgfPLeqZlH6ng==}
-
- postcss-import@15.1.0:
- resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- postcss: ^8.0.0
-
- postcss-import@16.1.0:
- resolution: {integrity: sha512-7hsAZ4xGXl4MW+OKEWCnF6T5jqBw80/EE9aXg1r2yyn1RsVEU8EtKXbijEODa+rg7iih4bKf7vlvTGYR4CnPNg==}
- engines: {node: '>=18.0.0'}
- peerDependencies:
- postcss: ^8.0.0
-
- postcss-js@4.0.1:
- resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
- engines: {node: ^12 || ^14 || >= 16}
- peerDependencies:
- postcss: ^8.4.21
-
- postcss-load-config@3.1.4:
- resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
- engines: {node: '>= 10'}
- peerDependencies:
- postcss: '>=8.0.9'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- postcss:
- optional: true
- ts-node:
- optional: true
-
- postcss-load-config@4.0.2:
- resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
- engines: {node: '>= 14'}
- peerDependencies:
- postcss: '>=8.0.9'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- postcss:
- optional: true
- ts-node:
- optional: true
-
- postcss-nested@6.2.0:
- resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
- engines: {node: '>=12.0'}
- peerDependencies:
- postcss: ^8.2.14
-
- postcss-safe-parser@6.0.0:
- resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==}
- engines: {node: '>=12.0'}
- peerDependencies:
- postcss: ^8.3.3
-
- postcss-scss@4.0.9:
- resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==}
- engines: {node: '>=12.0'}
- peerDependencies:
- postcss: ^8.4.29
-
- postcss-selector-parser@6.1.2:
- resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
- engines: {node: '>=4'}
-
- postcss-value-parser@4.2.0:
- resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
-
- postcss@8.5.1:
- resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==}
- engines: {node: ^10 || ^12 || >=14}
-
- potpack@2.0.0:
- resolution: {integrity: sha512-Q+/tYsFU9r7xoOJ+y/ZTtdVQwTWfzjbiXBDMM/JKUux3+QPP02iUuIoeBQ+Ot6oEDlC+/PGjB/5A3K7KKb7hcw==}
-
- prelude-ls@1.2.1:
- resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
- engines: {node: '>= 0.8.0'}
-
- prettier-plugin-svelte@3.3.3:
- resolution: {integrity: sha512-yViK9zqQ+H2qZD1w/bH7W8i+bVfKrD8GIFjkFe4Thl6kCT9SlAsXVNmt3jCvQOCsnOhcvYgsoVlRV/Eu6x5nNw==}
- peerDependencies:
- prettier: ^3.0.0
- svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0
-
- prettier-plugin-tailwindcss@0.6.11:
- resolution: {integrity: sha512-YxaYSIvZPAqhrrEpRtonnrXdghZg1irNg4qrjboCXrpybLWVs55cW2N3juhspVJiO0JBvYJT8SYsJpc8OQSnsA==}
- engines: {node: '>=14.21.3'}
- peerDependencies:
- '@ianvs/prettier-plugin-sort-imports': '*'
- '@prettier/plugin-pug': '*'
- '@shopify/prettier-plugin-liquid': '*'
- '@trivago/prettier-plugin-sort-imports': '*'
- '@zackad/prettier-plugin-twig': '*'
- prettier: ^3.0
- prettier-plugin-astro: '*'
- prettier-plugin-css-order: '*'
- prettier-plugin-import-sort: '*'
- prettier-plugin-jsdoc: '*'
- prettier-plugin-marko: '*'
- prettier-plugin-multiline-arrays: '*'
- prettier-plugin-organize-attributes: '*'
- prettier-plugin-organize-imports: '*'
- prettier-plugin-sort-imports: '*'
- prettier-plugin-style-order: '*'
- prettier-plugin-svelte: '*'
- peerDependenciesMeta:
- '@ianvs/prettier-plugin-sort-imports':
- optional: true
- '@prettier/plugin-pug':
- optional: true
- '@shopify/prettier-plugin-liquid':
- optional: true
- '@trivago/prettier-plugin-sort-imports':
- optional: true
- '@zackad/prettier-plugin-twig':
- optional: true
- prettier-plugin-astro:
- optional: true
- prettier-plugin-css-order:
- optional: true
- prettier-plugin-import-sort:
- optional: true
- prettier-plugin-jsdoc:
- optional: true
- prettier-plugin-marko:
- optional: true
- prettier-plugin-multiline-arrays:
- optional: true
- prettier-plugin-organize-attributes:
- optional: true
- prettier-plugin-organize-imports:
- optional: true
- prettier-plugin-sort-imports:
- optional: true
- prettier-plugin-style-order:
- optional: true
- prettier-plugin-svelte:
- optional: true
-
- prettier@2.8.8:
- resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
- engines: {node: '>=10.13.0'}
- hasBin: true
-
- prettier@3.0.3:
- resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==}
- engines: {node: '>=14'}
- hasBin: true
-
- prettier@3.5.0:
- resolution: {integrity: sha512-quyMrVt6svPS7CjQ9gKb3GLEX/rl3BCL2oa/QkNcXv4YNVBC9olt3s+H7ukto06q7B1Qz46PbrKLO34PR6vXcA==}
- engines: {node: '>=14'}
- hasBin: true
-
- pretty-format@29.7.0:
- resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- protocol-buffers-schema@3.6.0:
- resolution: {integrity: sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==}
-
- publint@0.2.12:
- resolution: {integrity: sha512-YNeUtCVeM4j9nDiTT2OPczmlyzOkIXNtdDZnSuajAxS/nZ6j3t7Vs9SUB4euQNddiltIwu7Tdd3s+hr08fAsMw==}
- engines: {node: '>=16'}
- hasBin: true
-
- publint@0.3.4:
- resolution: {integrity: sha512-szQCgQXxLgrI2P+3Znv/KUiglp3YA+A2MeI+9Izjs01Ol5KXKCkdbmz69bM/ivPKMYKHhtKOKkib9VJ6JL3H/w==}
- engines: {node: '>=18'}
- hasBin: true
-
- punycode@2.3.1:
- resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
- engines: {node: '>=6'}
-
- queue-microtask@1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
-
- quickselect@3.0.0:
- resolution: {integrity: sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==}
-
- react-is@18.3.1:
- resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
-
- read-cache@1.0.0:
- resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
-
- read-yaml-file@1.1.0:
- resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==}
- engines: {node: '>=6'}
-
- readable-stream@3.6.2:
- resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
- engines: {node: '>= 6'}
-
- readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
-
- readdirp@4.1.1:
- resolution: {integrity: sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==}
- engines: {node: '>= 14.18.0'}
-
- regenerator-runtime@0.14.1:
- resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
-
- resolve-from@4.0.0:
- resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
- engines: {node: '>=4'}
-
- resolve-from@5.0.0:
- resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
- engines: {node: '>=8'}
-
- resolve-protobuf-schema@2.1.0:
- resolution: {integrity: sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==}
-
- resolve@1.22.10:
- resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
- engines: {node: '>= 0.4'}
- hasBin: true
-
- restore-cursor@3.1.0:
- resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
- engines: {node: '>=8'}
-
- restore-cursor@5.1.0:
- resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
- engines: {node: '>=18'}
-
- reusify@1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
-
- rfdc@1.4.1:
- resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
-
- rimraf@5.0.10:
- resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==}
- hasBin: true
-
- rollup@3.29.5:
- resolution: {integrity: sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==}
- engines: {node: '>=14.18.0', npm: '>=8.0.0'}
- hasBin: true
-
- rollup@4.34.6:
- resolution: {integrity: sha512-wc2cBWqJgkU3Iz5oztRkQbfVkbxoz5EhnCGOrnJvnLnQ7O0WhQUYyv18qQI79O8L7DdHrrlJNeCHd4VGpnaXKQ==}
- engines: {node: '>=18.0.0', npm: '>=8.0.0'}
- hasBin: true
-
- run-async@2.4.1:
- resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
- engines: {node: '>=0.12.0'}
-
- run-parallel@1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
-
- rw@1.3.3:
- resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==}
-
- rxjs@7.8.2:
- resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==}
-
- sade@1.8.1:
- resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
- engines: {node: '>=6'}
-
- safe-buffer@5.2.1:
- resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
-
- safer-buffer@2.1.2:
- resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
-
- semver@7.7.1:
- resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==}
- engines: {node: '>=10'}
- hasBin: true
-
- serialize-to-js@3.1.2:
- resolution: {integrity: sha512-owllqNuDDEimQat7EPG0tH7JjO090xKNzUtYz6X+Sk2BXDnOCilDdNLwjWeFywG9xkJul1ULvtUQa9O4pUaY0w==}
- engines: {node: '>=4.0.0'}
-
- set-cookie-parser@2.7.1:
- resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==}
-
- shebang-command@2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
-
- shebang-regex@3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
-
- shiki@0.14.7:
- resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==}
-
- siginfo@2.0.0:
- resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
-
- signal-exit@3.0.7:
- resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
-
- signal-exit@4.1.0:
- resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
- engines: {node: '>=14'}
-
- sirv@2.0.4:
- resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
- engines: {node: '>= 10'}
-
- sirv@3.0.0:
- resolution: {integrity: sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==}
- engines: {node: '>=18'}
-
- slash@3.0.0:
- resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
- engines: {node: '>=8'}
-
- slice-ansi@5.0.0:
- resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
- engines: {node: '>=12'}
-
- slice-ansi@7.1.0:
- resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==}
- engines: {node: '>=18'}
-
- source-map-js@1.2.1:
- resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
- engines: {node: '>=0.10.0'}
-
- source-map@0.6.1:
- resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
- engines: {node: '>=0.10.0'}
-
- source-map@0.8.0-beta.0:
- resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
- engines: {node: '>= 8'}
-
- spawndamnit@3.0.1:
- resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==}
-
- sprintf-js@1.0.3:
- resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
-
- sql.js@1.12.0:
- resolution: {integrity: sha512-Bi+43yMx/tUFZVYD4AUscmdL6NHn3gYQ+CM+YheFWLftOmrEC/Mz6Yh7E96Y2WDHYz3COSqT+LP6Z79zgrwJlA==}
-
- stackback@0.0.2:
- resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
-
- std-env@3.8.0:
- resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==}
-
- string-argv@0.3.2:
- resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
- engines: {node: '>=0.6.19'}
-
- string-width@4.2.3:
- resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
- engines: {node: '>=8'}
-
- string-width@5.1.2:
- resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
- engines: {node: '>=12'}
-
- string-width@7.2.0:
- resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
- engines: {node: '>=18'}
-
- string_decoder@1.3.0:
- resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
-
- strip-ansi@6.0.1:
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
- engines: {node: '>=8'}
-
- strip-ansi@7.1.0:
- resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
- engines: {node: '>=12'}
-
- strip-bom@3.0.0:
- resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
- engines: {node: '>=4'}
-
- strip-final-newline@2.0.0:
- resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
- engines: {node: '>=6'}
-
- strip-final-newline@3.0.0:
- resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
- engines: {node: '>=12'}
-
- strip-json-comments@3.1.1:
- resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
- engines: {node: '>=8'}
-
- strip-literal@1.3.0:
- resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==}
-
- sucrase@3.35.0:
- resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
- engines: {node: '>=16 || 14 >=14.17'}
- hasBin: true
-
- supercluster@8.0.1:
- resolution: {integrity: sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ==}
-
- supports-color@7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
- engines: {node: '>=8'}
-
- supports-color@8.1.1:
- resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
- engines: {node: '>=10'}
-
- supports-preserve-symlinks-flag@1.0.0:
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
- engines: {node: '>= 0.4'}
-
- svelte-check@4.1.4:
- resolution: {integrity: sha512-v0j7yLbT29MezzaQJPEDwksybTE2Ups9rUxEXy92T06TiA0cbqcO8wAOwNUVkFW6B0hsYHA+oAX3BS8b/2oHtw==}
- engines: {node: '>= 18.0.0'}
- hasBin: true
- peerDependencies:
- svelte: ^4.0.0 || ^5.0.0-next.0
- typescript: '>=5.0.0'
-
- svelte-eslint-parser@0.43.0:
- resolution: {integrity: sha512-GpU52uPKKcVnh8tKN5P4UZpJ/fUDndmq7wfsvoVXsyP+aY0anol7Yqo01fyrlaWGMFfm4av5DyrjlaXdLRJvGA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- svelte: ^3.37.0 || ^4.0.0 || ^5.0.0
- peerDependenciesMeta:
- svelte:
- optional: true
-
- svelte-hmr@0.16.0:
- resolution: {integrity: sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA==}
- engines: {node: ^12.20 || ^14.13.1 || >= 16}
- peerDependencies:
- svelte: ^3.19.0 || ^4.0.0
-
- svelte-maplibre@1.0.0-next.12:
- resolution: {integrity: sha512-NWlQgoShN/ERVPwZQwHnf65Qpvki0AdXMD4sU4nX67BrNmk59uTVWPMgivrpncKgVpV/9Z8bpGUF2cOSUXtZfQ==}
- peerDependencies:
- '@deck.gl/core': ^9
- '@deck.gl/layers': ^9
- '@deck.gl/mapbox': ^9
- svelte: ^5.0.0
- peerDependenciesMeta:
- '@deck.gl/core':
- optional: true
- '@deck.gl/layers':
- optional: true
- '@deck.gl/mapbox':
- optional: true
-
- svelte2tsx@0.7.34:
- resolution: {integrity: sha512-WTMhpNhFf8/h3SMtR5dkdSy2qfveomkhYei/QW9gSPccb0/b82tjHvLop6vT303ZkGswU/da1s6XvrLgthQPCw==}
- peerDependencies:
- svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0
- typescript: ^4.9.4 || ^5.0.0
-
- svelte@5.19.9:
- resolution: {integrity: sha512-860s752/ZZxHIsii31ELkdKBOCeAuDsfb/AGUXJyQyzUVLRSt4oqEw/BV5+2+mNg8mbqmD3OK+vMvwWMPM6f8A==}
- engines: {node: '>=18'}
-
- sveltekit-i18n@2.4.2:
- resolution: {integrity: sha512-hjRWn4V4DBL8JQKJoJa3MRvn6d32Zo+rWkoSP5bsQ/XIAguPdQUZJ8LMe6Nc1rST8WEVdu9+vZI3aFdKYGR3+Q==}
- peerDependencies:
- svelte: '>=3.49.0'
-
- sveltekit-search-params@3.0.0:
- resolution: {integrity: sha512-wq1Yo5zITev8ty9CWGmHgvAh+Xb3mCUewyUmvCdv6MJWi+/aZ4o79Y6SjuduDL0Cfd/KYHkqt4f/wQ4FtokSdw==}
- peerDependencies:
- '@sveltejs/kit': ^1.0.0 || ^2.0.0
- svelte: ^3.55.0 || ^4.0.0 || ^5.0.0
-
- taffydb@https://codeload.github.com/hegemonic/taffydb/tar.gz/e41b5e179e197bb85c5fb887b707672b1e5ca079:
- resolution: {tarball: https://codeload.github.com/hegemonic/taffydb/tar.gz/e41b5e179e197bb85c5fb887b707672b1e5ca079}
- version: 2.6.2
-
- tailwindcss@3.4.17:
- resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==}
- engines: {node: '>=14.0.0'}
- hasBin: true
-
- tar@7.4.3:
- resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==}
- engines: {node: '>=18'}
-
- term-size@2.2.1:
- resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==}
- engines: {node: '>=8'}
-
- test-exclude@6.0.0:
- resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
- engines: {node: '>=8'}
-
- thenify-all@1.6.0:
- resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
- engines: {node: '>=0.8'}
-
- thenify@3.3.1:
- resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
-
- threads@1.7.0:
- resolution: {integrity: sha512-Mx5NBSHX3sQYR6iI9VYbgHKBLisyB+xROCBGjjWm1O9wb9vfLxdaGtmT/KCjUqMsSNW6nERzCW3T6H43LqjDZQ==}
-
- through@2.3.8:
- resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
-
- tiny-worker@2.3.0:
- resolution: {integrity: sha512-pJ70wq5EAqTAEl9IkGzA+fN0836rycEuz2Cn6yeZ6FRzlVS5IDOkFHpIoEsksPRQV34GDqXm65+OlnZqUSyK2g==}
-
- tinybench@2.9.0:
- resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
-
- tinyexec@0.3.2:
- resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
-
- tinypool@0.8.4:
- resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==}
- engines: {node: '>=14.0.0'}
-
- tinypool@1.0.2:
- resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==}
- engines: {node: ^18.0.0 || >=20.0.0}
-
- tinyqueue@3.0.0:
- resolution: {integrity: sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g==}
-
- tinyrainbow@1.2.0:
- resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==}
- engines: {node: '>=14.0.0'}
-
- tinyspy@2.2.1:
- resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==}
- engines: {node: '>=14.0.0'}
-
- tinyspy@3.0.2:
- resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==}
- engines: {node: '>=14.0.0'}
-
- tmp@0.0.33:
- resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
- engines: {node: '>=0.6.0'}
-
- to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
-
- totalist@3.0.1:
- resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
- engines: {node: '>=6'}
-
- tr46@0.0.3:
- resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
-
- tr46@1.0.1:
- resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
-
- tree-kill@1.2.2:
- resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
- hasBin: true
-
- ts-api-utils@1.4.3:
- resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==}
- engines: {node: '>=16'}
- peerDependencies:
- typescript: '>=4.2.0'
-
- ts-api-utils@2.0.1:
- resolution: {integrity: sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==}
- engines: {node: '>=18.12'}
- peerDependencies:
- typescript: '>=4.8.4'
-
- ts-interface-checker@0.1.13:
- resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
-
- ts-node@10.9.2:
- resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==}
- hasBin: true
- peerDependencies:
- '@swc/core': '>=1.2.50'
- '@swc/wasm': '>=1.2.50'
- '@types/node': '*'
- typescript: '>=2.7'
- peerDependenciesMeta:
- '@swc/core':
- optional: true
- '@swc/wasm':
- optional: true
-
- ts-to-zod@3.15.0:
- resolution: {integrity: sha512-Lu5ITqD8xCIo4JZp4Cg3iSK3J2x3TGwwuDtNHfAIlx1mXWKClRdzqV+x6CFEzhKtJlZzhyvJIqg7DzrWfsdVSg==}
- hasBin: true
-
- tsconfck@2.1.2:
- resolution: {integrity: sha512-ghqN1b0puy3MhhviwO2kGF8SeMDNhEbnKxjK7h6+fvY9JAxqvXi8y5NAHSQv687OVboS2uZIByzGd45/YxrRHg==}
- engines: {node: ^14.13.1 || ^16 || >=18}
- hasBin: true
- peerDependencies:
- typescript: ^4.3.5 || ^5.0.0
- peerDependenciesMeta:
- typescript:
- optional: true
-
- tsdoc@0.0.4:
- resolution: {integrity: sha512-O93BAQKESlKJ7AKw6ivGoAU9WdQ5NJ0pDUYx1feOoVgoToZrvUuKG3uL9hYp+MuGK2956B/IV+cI8I0ykS5hPQ==}
- engines: {node: '>=0.8'}
- hasBin: true
-
- tseep@1.3.1:
- resolution: {integrity: sha512-ZPtfk1tQnZVyr7BPtbJ93qaAh2lZuIOpTMjhrYa4XctT8xe7t4SAW9LIxrySDuYMsfNNayE51E/WNGrNVgVicQ==}
-
- tslib@1.14.1:
- resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
-
- tslib@2.8.1:
- resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
-
- tstl@2.5.16:
- resolution: {integrity: sha512-+O2ybLVLKcBwKm4HymCEwZIT0PpwS3gCYnxfSDEjJEKADvIFruaQjd3m7CAKNU1c7N3X3WjVz87re7TA2A5FUw==}
-
- tsup@6.7.0:
- resolution: {integrity: sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ==}
- engines: {node: '>=14.18'}
- hasBin: true
- peerDependencies:
- '@swc/core': ^1
- postcss: ^8.4.12
- typescript: '>=4.1.0'
- peerDependenciesMeta:
- '@swc/core':
- optional: true
- postcss:
- optional: true
- typescript:
- optional: true
-
- tsutils@3.21.0:
- resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
- engines: {node: '>= 6'}
- peerDependencies:
- typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
-
- turbo-darwin-64@2.4.0:
- resolution: {integrity: sha512-kVMScnPUa3R4n7woNmkR15kOY0aUwCLJcUyH5UC59ggKqr5HIHwweKYK8N1pwBQso0LQF4I9i93hIzfJguCcwQ==}
- cpu: [x64]
- os: [darwin]
-
- turbo-darwin-arm64@2.4.0:
- resolution: {integrity: sha512-8JObIpfun1guA7UlFR5jC/SOVm49lRscxMxfg5jZ5ABft79rhFC+ygN9AwAhGKv6W2DUhIh2xENkSgu4EDmUyg==}
- cpu: [arm64]
- os: [darwin]
-
- turbo-linux-64@2.4.0:
- resolution: {integrity: sha512-xWDGGcRlBuGV7HXWAVuTY6vsQi4aZxGMAnuiuNDg8Ij1aHGohOM0RUsWMXjxz4vuJmjk9+/D6NQqHH3AJEXezg==}
- cpu: [x64]
- os: [linux]
-
- turbo-linux-arm64@2.4.0:
- resolution: {integrity: sha512-c3En99xMguc/Pdtk/rZP53LnDdw0W6lgUc04he8r8F+UHYSNvgzHh0WGXXmCC6lGbBH72kPhhGx4bAwyvi7dug==}
- cpu: [arm64]
- os: [linux]
-
- turbo-windows-64@2.4.0:
- resolution: {integrity: sha512-/gOORuOlyA8JDPzyA16CD3wvyRcuBFePa1URAnFUof9hXQmKxK0VvSDO79cYZFsJSchCKNJpckUS0gYxGsWwoA==}
- cpu: [x64]
- os: [win32]
-
- turbo-windows-arm64@2.4.0:
- resolution: {integrity: sha512-/DJIdTFijEMM5LSiEpSfarDOMOlYqJV+EzmppqWtHqDsOLF4hbbIBH9sJR6OOp5dURAu5eURBYdmvBRz9Lo6TA==}
- cpu: [arm64]
- os: [win32]
-
- turbo@2.4.0:
- resolution: {integrity: sha512-ah/yQp2oMif1X0u7fBJ4MLMygnkbKnW5O8SG6pJvloPCpHfFoZctkSVQiJ3VnvNTq71V2JJIdwmOeu1i34OQyg==}
- hasBin: true
-
- type-check@0.4.0:
- resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
- engines: {node: '>= 0.8.0'}
-
- type-detect@4.1.0:
- resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==}
- engines: {node: '>=4'}
-
- type-fest@0.21.3:
- resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
- engines: {node: '>=10'}
-
- type@2.7.3:
- resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==}
-
- typedarray-to-buffer@3.1.5:
- resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
-
- typedoc@0.25.13:
- resolution: {integrity: sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==}
- engines: {node: '>= 16'}
- hasBin: true
- peerDependencies:
- typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x
-
- typescript-eslint@8.23.0:
- resolution: {integrity: sha512-/LBRo3HrXr5LxmrdYSOCvoAMm7p2jNizNfbIpCgvG4HMsnoprRUOce/+8VJ9BDYWW68rqIENE/haVLWPeFZBVQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
-
- typescript-lru-cache@2.0.0:
- resolution: {integrity: sha512-Jp57Qyy8wXeMkdNuZiglE6v2Cypg13eDA1chHwDG6kq51X7gk4K7P7HaDdzZKCxkegXkVHNcPD0n5aW6OZH3aA==}
-
- typescript@5.7.3:
- resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==}
- engines: {node: '>=14.17'}
- hasBin: true
-
- ufo@1.5.4:
- resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==}
-
- underscore@1.4.2:
- resolution: {integrity: sha512-rPJMAt3ULsAv/C4FMTPjvi0sS/qb/Ec/ydS4rkTUFz4m0074hlFjql66tYpv5mhMY7zoDKkY9m6DWcq1F4G1vA==}
-
- undici-types@6.20.0:
- resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
-
- undici-types@6.21.0:
- resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
-
- universalify@0.1.2:
- resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
- engines: {node: '>= 4.0.0'}
-
- universalify@2.0.1:
- resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
- engines: {node: '>= 10.0.0'}
-
- update-browserslist-db@1.1.2:
- resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
-
- uri-js@4.4.1:
- resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
-
- utf-8-validate@5.0.10:
- resolution: {integrity: sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==}
- engines: {node: '>=6.14.2'}
-
- utf8-buffer@1.0.0:
- resolution: {integrity: sha512-ueuhzvWnp5JU5CiGSY4WdKbiN/PO2AZ/lpeLiz2l38qwdLy/cW40XobgyuIWucNyum0B33bVB0owjFCeGBSLqg==}
- engines: {node: '>=8'}
-
- util-deprecate@1.0.2:
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
-
- uuid@10.0.0:
- resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==}
- hasBin: true
-
- v8-compile-cache-lib@3.0.1:
- resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
-
- v8-to-istanbul@9.3.0:
- resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==}
- engines: {node: '>=10.12.0'}
-
- vite-node@1.0.4:
- resolution: {integrity: sha512-9xQQtHdsz5Qn8hqbV7UKqkm8YkJhzT/zr41Dmt5N7AlD8hJXw/Z7y0QiD5I8lnTthV9Rvcvi0QW7PI0Fq83ZPg==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
-
- vite-node@2.1.9:
- resolution: {integrity: sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
-
- vite-tsconfig-paths@4.2.2:
- resolution: {integrity: sha512-dq0FjyxHHDnp0uS3P12WEOX2W7NeuLzX9AWP38D7Zw2CTbFErapwQVlCiT5DMJcVWKQ1MMdTe92PZl/rBQ7qcw==}
- peerDependencies:
- vite: '*'
- peerDependenciesMeta:
- vite:
- optional: true
-
- vite@5.4.14:
- resolution: {integrity: sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
- peerDependencies:
- '@types/node': ^18.0.0 || >=20.0.0
- less: '*'
- lightningcss: ^1.21.0
- sass: '*'
- sass-embedded: '*'
- stylus: '*'
- sugarss: '*'
- terser: ^5.4.0
- peerDependenciesMeta:
- '@types/node':
- optional: true
- less:
- optional: true
- lightningcss:
- optional: true
- sass:
- optional: true
- sass-embedded:
- optional: true
- stylus:
- optional: true
- sugarss:
- optional: true
- terser:
- optional: true
-
- vite@6.1.0:
- resolution: {integrity: sha512-RjjMipCKVoR4hVfPY6GQTgveinjNuyLw+qruksLDvA5ktI1150VmcMBKmQaEWJhg/j6Uaf6dNCNA0AfdzUb/hQ==}
- engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
- hasBin: true
- peerDependencies:
- '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
- jiti: '>=1.21.0'
- less: '*'
- lightningcss: ^1.21.0
- sass: '*'
- sass-embedded: '*'
- stylus: '*'
- sugarss: '*'
- terser: ^5.16.0
- tsx: ^4.8.1
- yaml: ^2.4.2
- peerDependenciesMeta:
- '@types/node':
- optional: true
- jiti:
- optional: true
- less:
- optional: true
- lightningcss:
- optional: true
- sass:
- optional: true
- sass-embedded:
- optional: true
- stylus:
- optional: true
- sugarss:
- optional: true
- terser:
- optional: true
- tsx:
- optional: true
- yaml:
- optional: true
-
- vitefu@0.2.5:
- resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==}
- peerDependencies:
- vite: ^3.0.0 || ^4.0.0 || ^5.0.0
- peerDependenciesMeta:
- vite:
- optional: true
-
- vitefu@1.0.5:
- resolution: {integrity: sha512-h4Vflt9gxODPFNGPwp4zAMZRpZR7eslzwH2c5hn5kNZ5rhnKyRJ50U+yGCdc2IRaBs8O4haIgLNGrV5CrpMsCA==}
- peerDependencies:
- vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0
- peerDependenciesMeta:
- vite:
- optional: true
-
- vitest@1.0.4:
- resolution: {integrity: sha512-s1GQHp/UOeWEo4+aXDOeFBJwFzL6mjycbQwwKWX2QcYfh/7tIerS59hWQ20mxzupTJluA2SdwiBuWwQHH67ckg==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
- peerDependencies:
- '@edge-runtime/vm': '*'
- '@types/node': ^18.0.0 || >=20.0.0
- '@vitest/browser': ^1.0.0
- '@vitest/ui': ^1.0.0
- happy-dom: '*'
- jsdom: '*'
- peerDependenciesMeta:
- '@edge-runtime/vm':
- optional: true
- '@types/node':
- optional: true
- '@vitest/browser':
- optional: true
- '@vitest/ui':
- optional: true
- happy-dom:
- optional: true
- jsdom:
- optional: true
-
- vitest@2.1.9:
- resolution: {integrity: sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
- peerDependencies:
- '@edge-runtime/vm': '*'
- '@types/node': ^18.0.0 || >=20.0.0
- '@vitest/browser': 2.1.9
- '@vitest/ui': 2.1.9
- happy-dom: '*'
- jsdom: '*'
- peerDependenciesMeta:
- '@edge-runtime/vm':
- optional: true
- '@types/node':
- optional: true
- '@vitest/browser':
- optional: true
- '@vitest/ui':
- optional: true
- happy-dom:
- optional: true
- jsdom:
- optional: true
-
- vscode-oniguruma@1.7.0:
- resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==}
-
- vscode-textmate@8.0.0:
- resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==}
-
- vt-pbf@3.1.3:
- resolution: {integrity: sha512-2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==}
-
- wcwidth@1.0.1:
- resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
-
- webidl-conversions@3.0.1:
- resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
-
- webidl-conversions@4.0.2:
- resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
-
- websocket-polyfill@0.0.3:
- resolution: {integrity: sha512-pF3kR8Uaoau78MpUmFfzbIRxXj9PeQrCuPepGE6JIsfsJ/o/iXr07Q2iQNzKSSblQJ0FiGWlS64N4pVSm+O3Dg==}
-
- websocket@1.0.35:
- resolution: {integrity: sha512-/REy6amwPZl44DDzvRCkaI1q1bIiQB0mEFQLUrhz3z2EK91cp3n72rAjUlrTP0zV22HJIUOVHQGPxhFRjxjt+Q==}
- engines: {node: '>=4.0.0'}
-
- wgs84@0.0.0:
- resolution: {integrity: sha512-ANHlY4Rb5kHw40D0NJ6moaVfOCMrp9Gpd1R/AIQYg2ko4/jzcJ+TVXYYF6kXJqQwITvEZP4yEthjM7U6rYlljQ==}
-
- wgsl_reflect@1.0.17:
- resolution: {integrity: sha512-TzeBJSkFJRb8VEAOiUxZbcHhtcs8w4rJi9zcQTLv4OZYgPOpIGvd74ukV58CNU3FB+sIKTO0CpHeOAFsTjoc1g==}
-
- whatwg-url@5.0.0:
- resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
-
- whatwg-url@7.1.0:
- resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
-
- which@2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
- hasBin: true
-
- which@4.0.0:
- resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==}
- engines: {node: ^16.13.0 || >=18.0.0}
- hasBin: true
-
- why-is-node-running@2.3.0:
- resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
- engines: {node: '>=8'}
- hasBin: true
-
- widest-line@3.1.0:
- resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==}
- engines: {node: '>=8'}
-
- word-wrap@1.2.5:
- resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
- engines: {node: '>=0.10.0'}
-
- wordwrap@0.0.3:
- resolution: {integrity: sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==}
- engines: {node: '>=0.4.0'}
-
- wordwrap@1.0.0:
- resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
-
- wrap-ansi@6.2.0:
- resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
- engines: {node: '>=8'}
-
- wrap-ansi@7.0.0:
- resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
- engines: {node: '>=10'}
-
- wrap-ansi@8.1.0:
- resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
- engines: {node: '>=12'}
-
- wrap-ansi@9.0.0:
- resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==}
- engines: {node: '>=18'}
-
- wrappy@1.0.2:
- resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
-
- wrench@1.3.9:
- resolution: {integrity: sha512-srTJQmLTP5YtW+F5zDuqjMEZqLLr/eJOZfDI5ibfPfRMeDh3oBUefAscuH0q5wBKE339ptH/S/0D18ZkfOfmKQ==}
- engines: {node: '>=0.1.97'}
- deprecated: wrench.js is deprecated! You should check out fs-extra (https://github.com/jprichardson/node-fs-extra) for any operations you were using wrench for. Thanks for all the usage over the years.
-
- yaeti@0.0.6:
- resolution: {integrity: sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==}
- engines: {node: '>=0.10.32'}
- deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
-
- yallist@5.0.0:
- resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==}
- engines: {node: '>=18'}
-
- yaml@1.10.2:
- resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
- engines: {node: '>= 6'}
-
- yaml@2.7.0:
- resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==}
- engines: {node: '>= 14'}
- hasBin: true
-
- yn@3.1.1:
- resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
- engines: {node: '>=6'}
-
- yocto-queue@0.1.0:
- resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
- engines: {node: '>=10'}
-
- yocto-queue@1.2.1:
- resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==}
- engines: {node: '>=12.20'}
-
- zimmerframe@1.1.2:
- resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==}
-
- zod@3.24.1:
- resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==}
-
-snapshots:
-
- '@alloc/quick-lru@5.2.0': {}
-
- '@ampproject/remapping@2.3.0':
- dependencies:
- '@jridgewell/gen-mapping': 0.3.8
- '@jridgewell/trace-mapping': 0.3.25
-
- '@babel/helper-string-parser@7.25.9': {}
-
- '@babel/helper-validator-identifier@7.25.9': {}
-
- '@babel/parser@7.27.0':
- dependencies:
- '@babel/types': 7.27.0
-
- '@babel/runtime@7.26.7':
- dependencies:
- regenerator-runtime: 0.14.1
-
- '@babel/types@7.27.0':
- dependencies:
- '@babel/helper-string-parser': 7.25.9
- '@babel/helper-validator-identifier': 7.25.9
-
- '@bcoe/v8-coverage@0.2.3': {}
-
- '@changesets/apply-release-plan@7.0.8':
- dependencies:
- '@changesets/config': 3.0.5
- '@changesets/get-version-range-type': 0.4.0
- '@changesets/git': 3.0.2
- '@changesets/should-skip-package': 0.1.1
- '@changesets/types': 6.0.0
- '@manypkg/get-packages': 1.1.3
- detect-indent: 6.1.0
- fs-extra: 7.0.1
- lodash.startcase: 4.4.0
- outdent: 0.5.0
- prettier: 2.8.8
- resolve-from: 5.0.0
- semver: 7.7.1
-
- '@changesets/assemble-release-plan@6.0.5':
- dependencies:
- '@changesets/errors': 0.2.0
- '@changesets/get-dependents-graph': 2.1.2
- '@changesets/should-skip-package': 0.1.1
- '@changesets/types': 6.0.0
- '@manypkg/get-packages': 1.1.3
- semver: 7.7.1
-
- '@changesets/changelog-git@0.2.0':
- dependencies:
- '@changesets/types': 6.0.0
-
- '@changesets/changelog-github@0.5.0':
- dependencies:
- '@changesets/get-github-info': 0.6.0
- '@changesets/types': 6.0.0
- dotenv: 8.6.0
- transitivePeerDependencies:
- - encoding
-
- '@changesets/cli@2.27.12':
- dependencies:
- '@changesets/apply-release-plan': 7.0.8
- '@changesets/assemble-release-plan': 6.0.5
- '@changesets/changelog-git': 0.2.0
- '@changesets/config': 3.0.5
- '@changesets/errors': 0.2.0
- '@changesets/get-dependents-graph': 2.1.2
- '@changesets/get-release-plan': 4.0.6
- '@changesets/git': 3.0.2
- '@changesets/logger': 0.1.1
- '@changesets/pre': 2.0.1
- '@changesets/read': 0.6.2
- '@changesets/should-skip-package': 0.1.1
- '@changesets/types': 6.0.0
- '@changesets/write': 0.3.2
- '@manypkg/get-packages': 1.1.3
- ansi-colors: 4.1.3
- ci-info: 3.9.0
- enquirer: 2.4.1
- external-editor: 3.1.0
- fs-extra: 7.0.1
- mri: 1.2.0
- p-limit: 2.3.0
- package-manager-detector: 0.2.9
- picocolors: 1.1.1
- resolve-from: 5.0.0
- semver: 7.7.1
- spawndamnit: 3.0.1
- term-size: 2.2.1
-
- '@changesets/config@3.0.5':
- dependencies:
- '@changesets/errors': 0.2.0
- '@changesets/get-dependents-graph': 2.1.2
- '@changesets/logger': 0.1.1
- '@changesets/types': 6.0.0
- '@manypkg/get-packages': 1.1.3
- fs-extra: 7.0.1
- micromatch: 4.0.8
-
- '@changesets/errors@0.2.0':
- dependencies:
- extendable-error: 0.1.7
-
- '@changesets/get-dependents-graph@2.1.2':
- dependencies:
- '@changesets/types': 6.0.0
- '@manypkg/get-packages': 1.1.3
- picocolors: 1.1.1
- semver: 7.7.1
-
- '@changesets/get-github-info@0.6.0':
- dependencies:
- dataloader: 1.4.0
- node-fetch: 2.7.0
- transitivePeerDependencies:
- - encoding
-
- '@changesets/get-release-plan@4.0.6':
- dependencies:
- '@changesets/assemble-release-plan': 6.0.5
- '@changesets/config': 3.0.5
- '@changesets/pre': 2.0.1
- '@changesets/read': 0.6.2
- '@changesets/types': 6.0.0
- '@manypkg/get-packages': 1.1.3
-
- '@changesets/get-version-range-type@0.4.0': {}
-
- '@changesets/git@3.0.2':
- dependencies:
- '@changesets/errors': 0.2.0
- '@manypkg/get-packages': 1.1.3
- is-subdir: 1.2.0
- micromatch: 4.0.8
- spawndamnit: 3.0.1
-
- '@changesets/logger@0.1.1':
- dependencies:
- picocolors: 1.1.1
-
- '@changesets/parse@0.4.0':
- dependencies:
- '@changesets/types': 6.0.0
- js-yaml: 3.14.1
-
- '@changesets/pre@2.0.1':
- dependencies:
- '@changesets/errors': 0.2.0
- '@changesets/types': 6.0.0
- '@manypkg/get-packages': 1.1.3
- fs-extra: 7.0.1
-
- '@changesets/read@0.6.2':
- dependencies:
- '@changesets/git': 3.0.2
- '@changesets/logger': 0.1.1
- '@changesets/parse': 0.4.0
- '@changesets/types': 6.0.0
- fs-extra: 7.0.1
- p-filter: 2.1.0
- picocolors: 1.1.1
-
- '@changesets/should-skip-package@0.1.1':
- dependencies:
- '@changesets/types': 6.0.0
- '@manypkg/get-packages': 1.1.3
-
- '@changesets/types@4.1.0': {}
-
- '@changesets/types@6.0.0': {}
-
- '@changesets/write@0.3.2':
- dependencies:
- '@changesets/types': 6.0.0
- fs-extra: 7.0.1
- human-id: 1.0.2
- prettier: 2.8.8
-
- '@cspotcode/source-map-support@0.8.1':
- dependencies:
- '@jridgewell/trace-mapping': 0.3.9
- optional: true
-
- '@deck.gl/core@9.1.0':
- dependencies:
- '@loaders.gl/core': 4.3.3
- '@loaders.gl/images': 4.3.3(@loaders.gl/core@4.3.3)
- '@luma.gl/constants': 9.1.0
- '@luma.gl/core': 9.1.0
- '@luma.gl/engine': 9.1.0(@luma.gl/core@9.1.0)(@luma.gl/shadertools@9.1.0(@luma.gl/core@9.1.0))
- '@luma.gl/shadertools': 9.1.0(@luma.gl/core@9.1.0)
- '@luma.gl/webgl': 9.1.0(@luma.gl/core@9.1.0)
- '@math.gl/core': 4.1.0
- '@math.gl/sun': 4.1.0
- '@math.gl/types': 4.1.0
- '@math.gl/web-mercator': 4.1.0
- '@probe.gl/env': 4.1.0
- '@probe.gl/log': 4.1.0
- '@probe.gl/stats': 4.1.0
- '@types/offscreencanvas': 2019.7.3
- gl-matrix: 3.4.3
- mjolnir.js: 3.0.0
-
- '@deck.gl/layers@9.1.0(@deck.gl/core@9.1.0)(@loaders.gl/core@4.3.3)(@luma.gl/core@9.1.0)(@luma.gl/engine@9.1.0(@luma.gl/core@9.1.0)(@luma.gl/shadertools@9.1.0(@luma.gl/core@9.1.0)))':
- dependencies:
- '@deck.gl/core': 9.1.0
- '@loaders.gl/core': 4.3.3
- '@loaders.gl/images': 4.3.3(@loaders.gl/core@4.3.3)
- '@loaders.gl/schema': 4.3.3(@loaders.gl/core@4.3.3)
- '@luma.gl/core': 9.1.0
- '@luma.gl/engine': 9.1.0(@luma.gl/core@9.1.0)(@luma.gl/shadertools@9.1.0(@luma.gl/core@9.1.0))
- '@mapbox/tiny-sdf': 2.0.6
- '@math.gl/core': 4.1.0
- '@math.gl/polygon': 4.1.0
- '@math.gl/web-mercator': 4.1.0
- earcut: 2.2.4
-
- '@deck.gl/mapbox@9.1.0(@deck.gl/core@9.1.0)(@luma.gl/core@9.1.0)':
- dependencies:
- '@deck.gl/core': 9.1.0
- '@luma.gl/constants': 9.1.0
- '@luma.gl/core': 9.1.0
- '@math.gl/web-mercator': 4.1.0
-
- '@esbuild/aix-ppc64@0.21.5':
- optional: true
-
- '@esbuild/aix-ppc64@0.24.2':
- optional: true
-
- '@esbuild/android-arm64@0.17.19':
- optional: true
-
- '@esbuild/android-arm64@0.21.5':
- optional: true
-
- '@esbuild/android-arm64@0.24.2':
- optional: true
-
- '@esbuild/android-arm@0.17.19':
- optional: true
-
- '@esbuild/android-arm@0.21.5':
- optional: true
-
- '@esbuild/android-arm@0.24.2':
- optional: true
-
- '@esbuild/android-x64@0.17.19':
- optional: true
-
- '@esbuild/android-x64@0.21.5':
- optional: true
-
- '@esbuild/android-x64@0.24.2':
- optional: true
-
- '@esbuild/darwin-arm64@0.17.19':
- optional: true
-
- '@esbuild/darwin-arm64@0.21.5':
- optional: true
-
- '@esbuild/darwin-arm64@0.24.2':
- optional: true
-
- '@esbuild/darwin-x64@0.17.19':
- optional: true
-
- '@esbuild/darwin-x64@0.21.5':
- optional: true
-
- '@esbuild/darwin-x64@0.24.2':
- optional: true
-
- '@esbuild/freebsd-arm64@0.17.19':
- optional: true
-
- '@esbuild/freebsd-arm64@0.21.5':
- optional: true
-
- '@esbuild/freebsd-arm64@0.24.2':
- optional: true
-
- '@esbuild/freebsd-x64@0.17.19':
- optional: true
-
- '@esbuild/freebsd-x64@0.21.5':
- optional: true
-
- '@esbuild/freebsd-x64@0.24.2':
- optional: true
-
- '@esbuild/linux-arm64@0.17.19':
- optional: true
-
- '@esbuild/linux-arm64@0.21.5':
- optional: true
-
- '@esbuild/linux-arm64@0.24.2':
- optional: true
-
- '@esbuild/linux-arm@0.17.19':
- optional: true
-
- '@esbuild/linux-arm@0.21.5':
- optional: true
-
- '@esbuild/linux-arm@0.24.2':
- optional: true
-
- '@esbuild/linux-ia32@0.17.19':
- optional: true
-
- '@esbuild/linux-ia32@0.21.5':
- optional: true
-
- '@esbuild/linux-ia32@0.24.2':
- optional: true
-
- '@esbuild/linux-loong64@0.17.19':
- optional: true
-
- '@esbuild/linux-loong64@0.21.5':
- optional: true
-
- '@esbuild/linux-loong64@0.24.2':
- optional: true
-
- '@esbuild/linux-mips64el@0.17.19':
- optional: true
-
- '@esbuild/linux-mips64el@0.21.5':
- optional: true
-
- '@esbuild/linux-mips64el@0.24.2':
- optional: true
-
- '@esbuild/linux-ppc64@0.17.19':
- optional: true
-
- '@esbuild/linux-ppc64@0.21.5':
- optional: true
-
- '@esbuild/linux-ppc64@0.24.2':
- optional: true
-
- '@esbuild/linux-riscv64@0.17.19':
- optional: true
-
- '@esbuild/linux-riscv64@0.21.5':
- optional: true
-
- '@esbuild/linux-riscv64@0.24.2':
- optional: true
-
- '@esbuild/linux-s390x@0.17.19':
- optional: true
-
- '@esbuild/linux-s390x@0.21.5':
- optional: true
-
- '@esbuild/linux-s390x@0.24.2':
- optional: true
-
- '@esbuild/linux-x64@0.17.19':
- optional: true
-
- '@esbuild/linux-x64@0.21.5':
- optional: true
-
- '@esbuild/linux-x64@0.24.2':
- optional: true
-
- '@esbuild/netbsd-arm64@0.24.2':
- optional: true
-
- '@esbuild/netbsd-x64@0.17.19':
- optional: true
-
- '@esbuild/netbsd-x64@0.21.5':
- optional: true
-
- '@esbuild/netbsd-x64@0.24.2':
- optional: true
-
- '@esbuild/openbsd-arm64@0.24.2':
- optional: true
-
- '@esbuild/openbsd-x64@0.17.19':
- optional: true
-
- '@esbuild/openbsd-x64@0.21.5':
- optional: true
-
- '@esbuild/openbsd-x64@0.24.2':
- optional: true
-
- '@esbuild/sunos-x64@0.17.19':
- optional: true
-
- '@esbuild/sunos-x64@0.21.5':
- optional: true
-
- '@esbuild/sunos-x64@0.24.2':
- optional: true
-
- '@esbuild/win32-arm64@0.17.19':
- optional: true
-
- '@esbuild/win32-arm64@0.21.5':
- optional: true
-
- '@esbuild/win32-arm64@0.24.2':
- optional: true
-
- '@esbuild/win32-ia32@0.17.19':
- optional: true
-
- '@esbuild/win32-ia32@0.21.5':
- optional: true
-
- '@esbuild/win32-ia32@0.24.2':
- optional: true
-
- '@esbuild/win32-x64@0.17.19':
- optional: true
-
- '@esbuild/win32-x64@0.21.5':
- optional: true
-
- '@esbuild/win32-x64@0.24.2':
- optional: true
-
- '@eslint-community/eslint-utils@4.4.1(eslint@9.20.0(jiti@1.21.7))':
- dependencies:
- eslint: 9.20.0(jiti@1.21.7)
- eslint-visitor-keys: 3.4.3
-
- '@eslint-community/regexpp@4.12.1': {}
-
- '@eslint/config-array@0.19.2':
- dependencies:
- '@eslint/object-schema': 2.1.6
- debug: 4.4.0(supports-color@8.1.1)
- minimatch: 3.1.2
- transitivePeerDependencies:
- - supports-color
-
- '@eslint/core@0.10.0':
- dependencies:
- '@types/json-schema': 7.0.15
-
- '@eslint/core@0.11.0':
- dependencies:
- '@types/json-schema': 7.0.15
-
- '@eslint/eslintrc@3.2.0':
- dependencies:
- ajv: 6.12.6
- debug: 4.4.0(supports-color@8.1.1)
- espree: 10.3.0
- globals: 14.0.0
- ignore: 5.3.2
- import-fresh: 3.3.1
- js-yaml: 4.1.0
- minimatch: 3.1.2
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - supports-color
-
- '@eslint/js@9.20.0': {}
-
- '@eslint/object-schema@2.1.6': {}
-
- '@eslint/plugin-kit@0.2.5':
- dependencies:
- '@eslint/core': 0.10.0
- levn: 0.4.1
-
- '@formatjs/ecma402-abstract@2.3.3':
- dependencies:
- '@formatjs/fast-memoize': 2.2.6
- '@formatjs/intl-localematcher': 0.6.0
- decimal.js: 10.5.0
- tslib: 2.8.1
-
- '@formatjs/fast-memoize@2.2.6':
- dependencies:
- tslib: 2.8.1
-
- '@formatjs/icu-messageformat-parser@2.11.1':
- dependencies:
- '@formatjs/ecma402-abstract': 2.3.3
- '@formatjs/icu-skeleton-parser': 1.8.13
- tslib: 2.8.1
-
- '@formatjs/icu-skeleton-parser@1.8.13':
- dependencies:
- '@formatjs/ecma402-abstract': 2.3.3
- tslib: 2.8.1
-
- '@formatjs/intl-localematcher@0.6.0':
- dependencies:
- tslib: 2.8.1
-
- '@humanfs/core@0.19.1': {}
-
- '@humanfs/node@0.16.6':
- dependencies:
- '@humanfs/core': 0.19.1
- '@humanwhocodes/retry': 0.3.1
-
- '@humanwhocodes/module-importer@1.0.1': {}
-
- '@humanwhocodes/retry@0.3.1': {}
-
- '@humanwhocodes/retry@0.4.1': {}
-
- '@isaacs/cliui@8.0.2':
- dependencies:
- string-width: 5.1.2
- string-width-cjs: string-width@4.2.3
- strip-ansi: 7.1.0
- strip-ansi-cjs: strip-ansi@6.0.1
- wrap-ansi: 8.1.0
- wrap-ansi-cjs: wrap-ansi@7.0.0
-
- '@isaacs/fs-minipass@4.0.1':
- dependencies:
- minipass: 7.1.2
-
- '@istanbuljs/schema@0.1.3': {}
-
- '@jest/schemas@29.6.3':
- dependencies:
- '@sinclair/typebox': 0.27.8
-
- '@jridgewell/gen-mapping@0.3.8':
- dependencies:
- '@jridgewell/set-array': 1.2.1
- '@jridgewell/sourcemap-codec': 1.5.0
- '@jridgewell/trace-mapping': 0.3.25
-
- '@jridgewell/resolve-uri@3.1.2': {}
-
- '@jridgewell/set-array@1.2.1': {}
-
- '@jridgewell/sourcemap-codec@1.5.0': {}
-
- '@jridgewell/trace-mapping@0.3.25':
- dependencies:
- '@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.5.0
-
- '@jridgewell/trace-mapping@0.3.9':
- dependencies:
- '@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.5.0
- optional: true
-
- '@kurkle/color@0.3.4': {}
-
- '@loaders.gl/core@4.3.3':
- dependencies:
- '@loaders.gl/loader-utils': 4.3.3(@loaders.gl/core@4.3.3)
- '@loaders.gl/schema': 4.3.3(@loaders.gl/core@4.3.3)
- '@loaders.gl/worker-utils': 4.3.3(@loaders.gl/core@4.3.3)
- '@probe.gl/log': 4.1.0
-
- '@loaders.gl/images@4.3.3(@loaders.gl/core@4.3.3)':
- dependencies:
- '@loaders.gl/core': 4.3.3
- '@loaders.gl/loader-utils': 4.3.3(@loaders.gl/core@4.3.3)
-
- '@loaders.gl/loader-utils@4.3.3(@loaders.gl/core@4.3.3)':
- dependencies:
- '@loaders.gl/core': 4.3.3
- '@loaders.gl/schema': 4.3.3(@loaders.gl/core@4.3.3)
- '@loaders.gl/worker-utils': 4.3.3(@loaders.gl/core@4.3.3)
- '@probe.gl/log': 4.1.0
- '@probe.gl/stats': 4.1.0
-
- '@loaders.gl/schema@4.3.3(@loaders.gl/core@4.3.3)':
- dependencies:
- '@loaders.gl/core': 4.3.3
- '@types/geojson': 7946.0.16
-
- '@loaders.gl/worker-utils@4.3.3(@loaders.gl/core@4.3.3)':
- dependencies:
- '@loaders.gl/core': 4.3.3
-
- '@luma.gl/constants@9.1.0': {}
-
- '@luma.gl/core@9.1.0':
- dependencies:
- '@math.gl/types': 4.1.0
- '@probe.gl/env': 4.1.0
- '@probe.gl/log': 4.1.0
- '@probe.gl/stats': 4.1.0
- '@types/offscreencanvas': 2019.7.3
-
- '@luma.gl/engine@9.1.0(@luma.gl/core@9.1.0)(@luma.gl/shadertools@9.1.0(@luma.gl/core@9.1.0))':
- dependencies:
- '@luma.gl/core': 9.1.0
- '@luma.gl/shadertools': 9.1.0(@luma.gl/core@9.1.0)
- '@math.gl/core': 4.1.0
- '@math.gl/types': 4.1.0
- '@probe.gl/log': 4.1.0
- '@probe.gl/stats': 4.1.0
-
- '@luma.gl/shadertools@9.1.0(@luma.gl/core@9.1.0)':
- dependencies:
- '@luma.gl/core': 9.1.0
- '@math.gl/core': 4.1.0
- '@math.gl/types': 4.1.0
- wgsl_reflect: 1.0.17
-
- '@luma.gl/webgl@9.1.0(@luma.gl/core@9.1.0)':
- dependencies:
- '@luma.gl/constants': 9.1.0
- '@luma.gl/core': 9.1.0
- '@math.gl/types': 4.1.0
- '@probe.gl/env': 4.1.0
-
- '@manypkg/find-root@1.1.0':
- dependencies:
- '@babel/runtime': 7.26.7
- '@types/node': 12.20.55
- find-up: 4.1.0
- fs-extra: 8.1.0
-
- '@manypkg/get-packages@1.1.3':
- dependencies:
- '@babel/runtime': 7.26.7
- '@changesets/types': 4.1.0
- '@manypkg/find-root': 1.1.0
- fs-extra: 8.1.0
- globby: 11.1.0
- read-yaml-file: 1.1.0
-
- '@mapbox/geojson-area@0.2.2':
- dependencies:
- wgs84: 0.0.0
-
- '@mapbox/geojson-normalize@0.0.1': {}
-
- '@mapbox/geojson-rewind@0.5.2':
- dependencies:
- get-stream: 6.0.1
- minimist: 1.2.8
-
- '@mapbox/jsonlint-lines-primitives@2.0.2': {}
-
- '@mapbox/mapbox-gl-draw@1.5.0':
- dependencies:
- '@mapbox/geojson-area': 0.2.2
- '@mapbox/geojson-normalize': 0.0.1
- '@mapbox/point-geometry': 1.1.0
- fast-deep-equal: 3.1.3
- nanoid: 5.0.9
-
- '@mapbox/mapbox-gl-supported@3.0.0': {}
-
- '@mapbox/node-pre-gyp@2.0.0':
- dependencies:
- consola: 3.4.0
- detect-libc: 2.0.3
- https-proxy-agent: 7.0.6
- node-fetch: 2.7.0
- nopt: 8.1.0
- semver: 7.7.1
- tar: 7.4.3
- transitivePeerDependencies:
- - encoding
- - supports-color
-
- '@mapbox/point-geometry@0.1.0': {}
-
- '@mapbox/point-geometry@1.1.0': {}
-
- '@mapbox/tiny-sdf@2.0.6': {}
-
- '@mapbox/unitbezier@0.0.1': {}
-
- '@mapbox/vector-tile@1.3.1':
- dependencies:
- '@mapbox/point-geometry': 0.1.0
-
- '@mapbox/whoots-js@3.1.0': {}
-
- '@maplibre/maplibre-gl-style-spec@23.1.0':
- dependencies:
- '@mapbox/jsonlint-lines-primitives': 2.0.2
- '@mapbox/unitbezier': 0.0.1
- json-stringify-pretty-compact: 4.0.0
- minimist: 1.2.8
- quickselect: 3.0.0
- rw: 1.3.3
- tinyqueue: 3.0.0
-
- '@math.gl/core@4.1.0':
- dependencies:
- '@math.gl/types': 4.1.0
-
- '@math.gl/polygon@4.1.0':
- dependencies:
- '@math.gl/core': 4.1.0
-
- '@math.gl/sun@4.1.0': {}
-
- '@math.gl/types@4.1.0': {}
-
- '@math.gl/web-mercator@4.1.0':
- dependencies:
- '@math.gl/core': 4.1.0
-
- '@noble/ciphers@0.5.3': {}
-
- '@noble/curves@1.1.0':
- dependencies:
- '@noble/hashes': 1.3.1
-
- '@noble/curves@1.2.0':
- dependencies:
- '@noble/hashes': 1.3.2
-
- '@noble/curves@1.8.1':
- dependencies:
- '@noble/hashes': 1.7.1
-
- '@noble/hashes@1.3.1': {}
-
- '@noble/hashes@1.3.2': {}
-
- '@noble/hashes@1.7.1': {}
-
- '@noble/secp256k1@2.2.3': {}
-
- '@nodelib/fs.scandir@2.1.5':
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
-
- '@nodelib/fs.stat@2.0.5': {}
-
- '@nodelib/fs.walk@1.2.8':
- dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.19.0
-
- '@nostr-dev-kit/ndk-cache-dexie@2.5.9(typescript@5.7.3)':
- dependencies:
- '@nostr-dev-kit/ndk': 2.11.0(typescript@5.7.3)
- debug: 4.4.0(supports-color@8.1.1)
- dexie: 4.0.11
- nostr-tools: 2.10.4(typescript@5.7.3)
- typescript-lru-cache: 2.0.0
- transitivePeerDependencies:
- - supports-color
- - typescript
-
- '@nostr-dev-kit/ndk-svelte@2.4.0(svelte@5.19.9)(typescript@5.7.3)':
- dependencies:
- '@nostr-dev-kit/ndk': 2.11.0(typescript@5.7.3)
- svelte: 5.19.9
- transitivePeerDependencies:
- - supports-color
- - typescript
-
- '@nostr-dev-kit/ndk@2.11.0(typescript@5.7.3)':
- dependencies:
- '@noble/curves': 1.8.1
- '@noble/hashes': 1.7.1
- '@noble/secp256k1': 2.2.3
- '@scure/base': 1.2.4
- debug: 4.4.0(supports-color@8.1.1)
- light-bolt11-decoder: 3.2.0
- nostr-tools: 2.10.4(typescript@5.7.3)
- tseep: 1.3.1
- typescript-lru-cache: 2.0.0
- utf8-buffer: 1.0.0
- websocket-polyfill: 0.0.3
- transitivePeerDependencies:
- - supports-color
- - typescript
-
- '@oclif/core@4.2.10':
- dependencies:
- ansi-escapes: 4.3.2
- ansis: 3.17.0
- clean-stack: 3.0.1
- cli-spinners: 2.9.2
- debug: 4.4.0(supports-color@8.1.1)
- ejs: 3.1.10
- get-package-type: 0.1.0
- globby: 11.1.0
- indent-string: 4.0.0
- is-wsl: 2.2.0
- lilconfig: 3.1.3
- minimatch: 9.0.5
- semver: 7.7.1
- string-width: 4.2.3
- supports-color: 8.1.1
- widest-line: 3.1.0
- wordwrap: 1.0.0
- wrap-ansi: 7.0.0
-
- '@pkgjs/parseargs@0.11.0':
- optional: true
-
- '@playwright/test@1.50.1':
- dependencies:
- playwright: 1.50.1
-
- '@polka/url@1.0.0-next.28': {}
-
- '@probe.gl/env@4.1.0': {}
-
- '@probe.gl/log@4.1.0':
- dependencies:
- '@probe.gl/env': 4.1.0
-
- '@probe.gl/stats@4.1.0': {}
-
- '@publint/pack@0.1.1': {}
-
- '@rollup/pluginutils@5.1.4(rollup@4.34.6)':
- dependencies:
- '@types/estree': 1.0.6
- estree-walker: 2.0.2
- picomatch: 4.0.2
- optionalDependencies:
- rollup: 4.34.6
-
- '@rollup/rollup-android-arm-eabi@4.34.6':
- optional: true
-
- '@rollup/rollup-android-arm64@4.34.6':
- optional: true
-
- '@rollup/rollup-darwin-arm64@4.34.6':
- optional: true
-
- '@rollup/rollup-darwin-x64@4.34.6':
- optional: true
-
- '@rollup/rollup-freebsd-arm64@4.34.6':
- optional: true
-
- '@rollup/rollup-freebsd-x64@4.34.6':
- optional: true
-
- '@rollup/rollup-linux-arm-gnueabihf@4.34.6':
- optional: true
-
- '@rollup/rollup-linux-arm-musleabihf@4.34.6':
- optional: true
-
- '@rollup/rollup-linux-arm64-gnu@4.34.6':
- optional: true
-
- '@rollup/rollup-linux-arm64-musl@4.34.6':
- optional: true
-
- '@rollup/rollup-linux-loongarch64-gnu@4.34.6':
- optional: true
-
- '@rollup/rollup-linux-powerpc64le-gnu@4.34.6':
- optional: true
-
- '@rollup/rollup-linux-riscv64-gnu@4.34.6':
- optional: true
-
- '@rollup/rollup-linux-s390x-gnu@4.34.6':
- optional: true
-
- '@rollup/rollup-linux-x64-gnu@4.34.6':
- optional: true
-
- '@rollup/rollup-linux-x64-musl@4.34.6':
- optional: true
-
- '@rollup/rollup-win32-arm64-msvc@4.34.6':
- optional: true
-
- '@rollup/rollup-win32-ia32-msvc@4.34.6':
- optional: true
-
- '@rollup/rollup-win32-x64-msvc@4.34.6':
- optional: true
-
- '@scure/base@1.1.1': {}
-
- '@scure/base@1.2.4': {}
-
- '@scure/bip32@1.3.1':
- dependencies:
- '@noble/curves': 1.1.0
- '@noble/hashes': 1.3.2
- '@scure/base': 1.1.1
-
- '@scure/bip39@1.2.1':
- dependencies:
- '@noble/hashes': 1.3.2
- '@scure/base': 1.1.1
-
- '@sinclair/typebox@0.27.8': {}
-
- '@skeletonlabs/skeleton@2.11.0(svelte@5.19.9)':
- dependencies:
- esm-env: 1.0.0
- svelte: 5.19.9
-
- '@skeletonlabs/tw-plugin@0.4.1(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3)))':
- dependencies:
- tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3))
-
- '@sveltejs/adapter-auto@4.0.0(@sveltejs/kit@2.17.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)))':
- dependencies:
- '@sveltejs/kit': 2.17.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0))
- import-meta-resolve: 4.1.0
-
- '@sveltejs/adapter-static@3.0.8(@sveltejs/kit@2.17.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.19.9)(vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0)))':
- dependencies:
- '@sveltejs/kit': 2.17.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.19.9)(vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0))
-
- '@sveltejs/adapter-vercel@5.6.1(@sveltejs/kit@2.17.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.9)(vite@5.4.14(@types/node@22.13.1)))(svelte@5.19.9)(vite@5.4.14(@types/node@22.13.1)))(rollup@4.34.6)':
- dependencies:
- '@sveltejs/kit': 2.17.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.9)(vite@5.4.14(@types/node@22.13.1)))(svelte@5.19.9)(vite@5.4.14(@types/node@22.13.1))
- '@vercel/nft': 0.29.1(rollup@4.34.6)
- esbuild: 0.24.2
- transitivePeerDependencies:
- - encoding
- - rollup
- - supports-color
-
- '@sveltejs/kit@2.17.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.9)(vite@5.4.14(@types/node@22.13.1)))(svelte@5.19.9)(vite@5.4.14(@types/node@22.13.1))':
- dependencies:
- '@sveltejs/vite-plugin-svelte': 4.0.4(svelte@5.19.9)(vite@5.4.14(@types/node@22.13.1))
- '@types/cookie': 0.6.0
- cookie: 0.6.0
- devalue: 5.1.1
- esm-env: 1.2.2
- import-meta-resolve: 4.1.0
- kleur: 4.1.5
- magic-string: 0.30.17
- mrmime: 2.0.0
- sade: 1.8.1
- set-cookie-parser: 2.7.1
- sirv: 3.0.0
- svelte: 5.19.9
- vite: 5.4.14(@types/node@22.13.1)
-
- '@sveltejs/kit@2.17.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0))':
- dependencies:
- '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0))
- '@types/cookie': 0.6.0
- cookie: 0.6.0
- devalue: 5.1.1
- esm-env: 1.2.2
- import-meta-resolve: 4.1.0
- kleur: 4.1.5
- magic-string: 0.30.17
- mrmime: 2.0.0
- sade: 1.8.1
- set-cookie-parser: 2.7.1
- sirv: 3.0.0
- svelte: 5.19.9
- vite: 6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)
-
- '@sveltejs/kit@2.17.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.19.9)(vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0))':
- dependencies:
- '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0))
- '@types/cookie': 0.6.0
- cookie: 0.6.0
- devalue: 5.1.1
- esm-env: 1.2.2
- import-meta-resolve: 4.1.0
- kleur: 4.1.5
- magic-string: 0.30.17
- mrmime: 2.0.0
- sade: 1.8.1
- set-cookie-parser: 2.7.1
- sirv: 3.0.0
- svelte: 5.19.9
- vite: 6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0)
-
- '@sveltejs/package@2.3.10(svelte@5.19.9)(typescript@5.7.3)':
- dependencies:
- chokidar: 4.0.3
- kleur: 4.1.5
- sade: 1.8.1
- semver: 7.7.1
- svelte: 5.19.9
- svelte2tsx: 0.7.34(svelte@5.19.9)(typescript@5.7.3)
- transitivePeerDependencies:
- - typescript
-
- '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0))':
- dependencies:
- '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0))
- debug: 4.4.0(supports-color@8.1.1)
- svelte: 5.19.9
- vite: 6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)
- transitivePeerDependencies:
- - supports-color
-
- '@sveltejs/vite-plugin-svelte-inspector@3.0.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.9)(vite@5.4.14(@types/node@22.13.1)))(svelte@5.19.9)(vite@5.4.14(@types/node@22.13.1))':
- dependencies:
- '@sveltejs/vite-plugin-svelte': 4.0.4(svelte@5.19.9)(vite@5.4.14(@types/node@22.13.1))
- debug: 4.4.0(supports-color@8.1.1)
- svelte: 5.19.9
- vite: 5.4.14(@types/node@22.13.1)
- transitivePeerDependencies:
- - supports-color
-
- '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0))':
- dependencies:
- '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0))
- debug: 4.4.0(supports-color@8.1.1)
- svelte: 5.19.9
- vite: 6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)
- transitivePeerDependencies:
- - supports-color
-
- '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.19.9)(vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0))':
- dependencies:
- '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0))
- debug: 4.4.0(supports-color@8.1.1)
- svelte: 5.19.9
- vite: 6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0)
- transitivePeerDependencies:
- - supports-color
-
- '@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0))':
- dependencies:
- '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0))
- debug: 4.4.0(supports-color@8.1.1)
- deepmerge: 4.3.1
- kleur: 4.1.5
- magic-string: 0.30.17
- svelte: 5.19.9
- svelte-hmr: 0.16.0(svelte@5.19.9)
- vite: 6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)
- vitefu: 0.2.5(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0))
- transitivePeerDependencies:
- - supports-color
-
- '@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.9)(vite@5.4.14(@types/node@22.13.1))':
- dependencies:
- '@sveltejs/vite-plugin-svelte-inspector': 3.0.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.9)(vite@5.4.14(@types/node@22.13.1)))(svelte@5.19.9)(vite@5.4.14(@types/node@22.13.1))
- debug: 4.4.0(supports-color@8.1.1)
- deepmerge: 4.3.1
- kleur: 4.1.5
- magic-string: 0.30.17
- svelte: 5.19.9
- vite: 5.4.14(@types/node@22.13.1)
- vitefu: 1.0.5(vite@5.4.14(@types/node@22.13.1))
- transitivePeerDependencies:
- - supports-color
-
- '@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0))':
- dependencies:
- '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0))
- debug: 4.4.0(supports-color@8.1.1)
- deepmerge: 4.3.1
- kleur: 4.1.5
- magic-string: 0.30.17
- svelte: 5.19.9
- vite: 6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)
- vitefu: 1.0.5(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0))
- transitivePeerDependencies:
- - supports-color
-
- '@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0))':
- dependencies:
- '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.19.9)(vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0))
- debug: 4.4.0(supports-color@8.1.1)
- deepmerge: 4.3.1
- kleur: 4.1.5
- magic-string: 0.30.17
- svelte: 5.19.9
- vite: 6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0)
- vitefu: 1.0.5(vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0))
- transitivePeerDependencies:
- - supports-color
-
- '@sveltekit-i18n/base@1.3.7(svelte@5.19.9)':
- dependencies:
- svelte: 5.19.9
-
- '@sveltekit-i18n/parser-default@1.1.1': {}
-
- '@sveltekit-i18n/parser-icu@1.0.8':
- dependencies:
- intl-messageformat: 10.7.15
-
- '@tauri-apps/api@2.0.3': {}
-
- '@tauri-apps/api@2.5.0': {}
-
- '@tauri-apps/cli-darwin-arm64@2.0.4':
- optional: true
-
- '@tauri-apps/cli-darwin-x64@2.0.4':
- optional: true
-
- '@tauri-apps/cli-linux-arm-gnueabihf@2.0.4':
- optional: true
-
- '@tauri-apps/cli-linux-arm64-gnu@2.0.4':
- optional: true
-
- '@tauri-apps/cli-linux-arm64-musl@2.0.4':
- optional: true
-
- '@tauri-apps/cli-linux-x64-gnu@2.0.4':
- optional: true
-
- '@tauri-apps/cli-linux-x64-musl@2.0.4':
- optional: true
-
- '@tauri-apps/cli-win32-arm64-msvc@2.0.4':
- optional: true
-
- '@tauri-apps/cli-win32-ia32-msvc@2.0.4':
- optional: true
-
- '@tauri-apps/cli-win32-x64-msvc@2.0.4':
- optional: true
-
- '@tauri-apps/cli@2.0.4':
- optionalDependencies:
- '@tauri-apps/cli-darwin-arm64': 2.0.4
- '@tauri-apps/cli-darwin-x64': 2.0.4
- '@tauri-apps/cli-linux-arm-gnueabihf': 2.0.4
- '@tauri-apps/cli-linux-arm64-gnu': 2.0.4
- '@tauri-apps/cli-linux-arm64-musl': 2.0.4
- '@tauri-apps/cli-linux-x64-gnu': 2.0.4
- '@tauri-apps/cli-linux-x64-musl': 2.0.4
- '@tauri-apps/cli-win32-arm64-msvc': 2.0.4
- '@tauri-apps/cli-win32-ia32-msvc': 2.0.4
- '@tauri-apps/cli-win32-x64-msvc': 2.0.4
-
- '@tsconfig/node10@1.0.11':
- optional: true
-
- '@tsconfig/node12@1.0.11':
- optional: true
-
- '@tsconfig/node14@1.0.3':
- optional: true
-
- '@tsconfig/node16@1.0.4':
- optional: true
-
- '@types/cookie@0.6.0': {}
-
- '@types/d3-color@3.1.3': {}
-
- '@types/d3-geo@3.1.0':
- dependencies:
- '@types/geojson': 7946.0.16
-
- '@types/debug@4.1.12':
- dependencies:
- '@types/ms': 2.1.0
-
- '@types/emscripten@1.40.0': {}
-
- '@types/estree@1.0.6': {}
-
- '@types/geojson-vt@3.2.5':
- dependencies:
- '@types/geojson': 7946.0.16
-
- '@types/geojson@7946.0.16': {}
-
- '@types/istanbul-lib-coverage@2.0.6': {}
-
- '@types/json-schema@7.0.15': {}
-
- '@types/leaflet@1.9.16':
- dependencies:
- '@types/geojson': 7946.0.16
-
- '@types/mapbox__mapbox-gl-draw@1.4.8':
- dependencies:
- '@types/geojson': 7946.0.16
- mapbox-gl: 3.9.4
-
- '@types/mapbox__point-geometry@0.1.4': {}
-
- '@types/mapbox__vector-tile@1.3.4':
- dependencies:
- '@types/geojson': 7946.0.16
- '@types/mapbox__point-geometry': 0.1.4
- '@types/pbf': 3.0.5
-
- '@types/ms@2.1.0': {}
-
- '@types/ngeohash@0.6.8': {}
-
- '@types/node@12.20.55': {}
-
- '@types/node@22.13.1':
- dependencies:
- undici-types: 6.20.0
-
- '@types/node@22.14.0':
- dependencies:
- undici-types: 6.21.0
-
- '@types/offscreencanvas@2019.7.3': {}
-
- '@types/pbf@3.0.5': {}
-
- '@types/sql.js@1.4.9':
- dependencies:
- '@types/emscripten': 1.40.0
- '@types/node': 22.13.1
-
- '@types/supercluster@7.1.3':
- dependencies:
- '@types/geojson': 7946.0.16
-
- '@types/uuid@10.0.0': {}
-
- '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3))(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)':
- dependencies:
- '@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 7.18.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)
- '@typescript-eslint/scope-manager': 7.18.0
- '@typescript-eslint/type-utils': 7.18.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)
- '@typescript-eslint/utils': 7.18.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)
- '@typescript-eslint/visitor-keys': 7.18.0
- eslint: 9.20.0(jiti@1.21.7)
- graphemer: 1.4.0
- ignore: 5.3.2
- natural-compare: 1.4.0
- ts-api-utils: 1.4.3(typescript@5.7.3)
- optionalDependencies:
- typescript: 5.7.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3))(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)':
- dependencies:
- '@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 8.23.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)
- '@typescript-eslint/scope-manager': 8.23.0
- '@typescript-eslint/type-utils': 8.23.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)
- '@typescript-eslint/utils': 8.23.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)
- '@typescript-eslint/visitor-keys': 8.23.0
- eslint: 9.20.0(jiti@1.21.7)
- graphemer: 1.4.0
- ignore: 5.3.2
- natural-compare: 1.4.0
- ts-api-utils: 2.0.1(typescript@5.7.3)
- typescript: 5.7.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/parser@7.18.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)':
- dependencies:
- '@typescript-eslint/scope-manager': 7.18.0
- '@typescript-eslint/types': 7.18.0
- '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.3)
- '@typescript-eslint/visitor-keys': 7.18.0
- debug: 4.4.0(supports-color@8.1.1)
- eslint: 9.20.0(jiti@1.21.7)
- optionalDependencies:
- typescript: 5.7.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/parser@8.23.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)':
- dependencies:
- '@typescript-eslint/scope-manager': 8.23.0
- '@typescript-eslint/types': 8.23.0
- '@typescript-eslint/typescript-estree': 8.23.0(typescript@5.7.3)
- '@typescript-eslint/visitor-keys': 8.23.0
- debug: 4.4.0(supports-color@8.1.1)
- eslint: 9.20.0(jiti@1.21.7)
- typescript: 5.7.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/scope-manager@7.18.0':
- dependencies:
- '@typescript-eslint/types': 7.18.0
- '@typescript-eslint/visitor-keys': 7.18.0
-
- '@typescript-eslint/scope-manager@8.23.0':
- dependencies:
- '@typescript-eslint/types': 8.23.0
- '@typescript-eslint/visitor-keys': 8.23.0
-
- '@typescript-eslint/type-utils@7.18.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)':
- dependencies:
- '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.3)
- '@typescript-eslint/utils': 7.18.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)
- debug: 4.4.0(supports-color@8.1.1)
- eslint: 9.20.0(jiti@1.21.7)
- ts-api-utils: 1.4.3(typescript@5.7.3)
- optionalDependencies:
- typescript: 5.7.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/type-utils@8.23.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)':
- dependencies:
- '@typescript-eslint/typescript-estree': 8.23.0(typescript@5.7.3)
- '@typescript-eslint/utils': 8.23.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)
- debug: 4.4.0(supports-color@8.1.1)
- eslint: 9.20.0(jiti@1.21.7)
- ts-api-utils: 2.0.1(typescript@5.7.3)
- typescript: 5.7.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/types@7.18.0': {}
-
- '@typescript-eslint/types@8.23.0': {}
-
- '@typescript-eslint/typescript-estree@7.18.0(typescript@5.7.3)':
- dependencies:
- '@typescript-eslint/types': 7.18.0
- '@typescript-eslint/visitor-keys': 7.18.0
- debug: 4.4.0(supports-color@8.1.1)
- globby: 11.1.0
- is-glob: 4.0.3
- minimatch: 9.0.5
- semver: 7.7.1
- ts-api-utils: 1.4.3(typescript@5.7.3)
- optionalDependencies:
- typescript: 5.7.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/typescript-estree@8.23.0(typescript@5.7.3)':
- dependencies:
- '@typescript-eslint/types': 8.23.0
- '@typescript-eslint/visitor-keys': 8.23.0
- debug: 4.4.0(supports-color@8.1.1)
- fast-glob: 3.3.3
- is-glob: 4.0.3
- minimatch: 9.0.5
- semver: 7.7.1
- ts-api-utils: 2.0.1(typescript@5.7.3)
- typescript: 5.7.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/utils@7.18.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)':
- dependencies:
- '@eslint-community/eslint-utils': 4.4.1(eslint@9.20.0(jiti@1.21.7))
- '@typescript-eslint/scope-manager': 7.18.0
- '@typescript-eslint/types': 7.18.0
- '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.3)
- eslint: 9.20.0(jiti@1.21.7)
- transitivePeerDependencies:
- - supports-color
- - typescript
-
- '@typescript-eslint/utils@8.23.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)':
- dependencies:
- '@eslint-community/eslint-utils': 4.4.1(eslint@9.20.0(jiti@1.21.7))
- '@typescript-eslint/scope-manager': 8.23.0
- '@typescript-eslint/types': 8.23.0
- '@typescript-eslint/typescript-estree': 8.23.0(typescript@5.7.3)
- eslint: 9.20.0(jiti@1.21.7)
- typescript: 5.7.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/visitor-keys@7.18.0':
- dependencies:
- '@typescript-eslint/types': 7.18.0
- eslint-visitor-keys: 3.4.3
-
- '@typescript-eslint/visitor-keys@8.23.0':
- dependencies:
- '@typescript-eslint/types': 8.23.0
- eslint-visitor-keys: 4.2.0
-
- '@typescript/vfs@1.6.1(typescript@5.7.3)':
- dependencies:
- debug: 4.4.0(supports-color@8.1.1)
- typescript: 5.7.3
- transitivePeerDependencies:
- - supports-color
-
- '@vercel/nft@0.29.1(rollup@4.34.6)':
- dependencies:
- '@mapbox/node-pre-gyp': 2.0.0
- '@rollup/pluginutils': 5.1.4(rollup@4.34.6)
- acorn: 8.14.0
- acorn-import-attributes: 1.9.5(acorn@8.14.0)
- async-sema: 3.1.1
- bindings: 1.5.0
- estree-walker: 2.0.2
- glob: 7.2.3
- graceful-fs: 4.2.11
- node-gyp-build: 4.8.4
- picomatch: 4.0.2
- resolve-from: 5.0.0
- transitivePeerDependencies:
- - encoding
- - rollup
- - supports-color
-
- '@vitest/coverage-v8@1.0.4(vitest@1.0.4)':
- dependencies:
- '@ampproject/remapping': 2.3.0
- '@bcoe/v8-coverage': 0.2.3
- debug: 4.4.0(supports-color@8.1.1)
- istanbul-lib-coverage: 3.2.2
- istanbul-lib-report: 3.0.1
- istanbul-lib-source-maps: 4.0.1
- istanbul-reports: 3.1.7
- magic-string: 0.30.17
- magicast: 0.3.5
- picocolors: 1.1.1
- std-env: 3.8.0
- test-exclude: 6.0.0
- v8-to-istanbul: 9.3.0
- vitest: 1.0.4(@types/node@22.14.0)(@vitest/ui@1.0.4)
- transitivePeerDependencies:
- - supports-color
-
- '@vitest/expect@1.0.4':
- dependencies:
- '@vitest/spy': 1.0.4
- '@vitest/utils': 1.0.4
- chai: 4.5.0
-
- '@vitest/expect@2.1.9':
- dependencies:
- '@vitest/spy': 2.1.9
- '@vitest/utils': 2.1.9
- chai: 5.1.2
- tinyrainbow: 1.2.0
-
- '@vitest/mocker@2.1.9(vite@5.4.14(@types/node@22.13.1))':
- dependencies:
- '@vitest/spy': 2.1.9
- estree-walker: 3.0.3
- magic-string: 0.30.17
- optionalDependencies:
- vite: 5.4.14(@types/node@22.13.1)
-
- '@vitest/pretty-format@2.1.9':
- dependencies:
- tinyrainbow: 1.2.0
-
- '@vitest/runner@1.0.4':
- dependencies:
- '@vitest/utils': 1.0.4
- p-limit: 5.0.0
- pathe: 1.1.2
-
- '@vitest/runner@2.1.9':
- dependencies:
- '@vitest/utils': 2.1.9
- pathe: 1.1.2
-
- '@vitest/snapshot@1.0.4':
- dependencies:
- magic-string: 0.30.17
- pathe: 1.1.2
- pretty-format: 29.7.0
-
- '@vitest/snapshot@2.1.9':
- dependencies:
- '@vitest/pretty-format': 2.1.9
- magic-string: 0.30.17
- pathe: 1.1.2
-
- '@vitest/spy@1.0.4':
- dependencies:
- tinyspy: 2.2.1
-
- '@vitest/spy@2.1.9':
- dependencies:
- tinyspy: 3.0.2
-
- '@vitest/ui@1.0.4(vitest@1.0.4)':
- dependencies:
- '@vitest/utils': 1.0.4
- fast-glob: 3.3.3
- fflate: 0.8.2
- flatted: 3.3.2
- pathe: 1.1.2
- picocolors: 1.1.1
- sirv: 2.0.4
- vitest: 1.0.4(@types/node@22.14.0)(@vitest/ui@1.0.4)
-
- '@vitest/utils@1.0.4':
- dependencies:
- diff-sequences: 29.6.3
- loupe: 2.3.7
- pretty-format: 29.7.0
-
- '@vitest/utils@2.1.9':
- dependencies:
- '@vitest/pretty-format': 2.1.9
- loupe: 3.1.3
- tinyrainbow: 1.2.0
-
- abbrev@1.1.1: {}
-
- abbrev@3.0.0: {}
-
- acorn-import-attributes@1.9.5(acorn@8.14.0):
- dependencies:
- acorn: 8.14.0
-
- acorn-jsx@5.3.2(acorn@8.14.0):
- dependencies:
- acorn: 8.14.0
-
- acorn-typescript@1.4.13(acorn@8.14.0):
- dependencies:
- acorn: 8.14.0
-
- acorn-walk@8.3.4:
- dependencies:
- acorn: 8.14.0
-
- acorn@8.14.0: {}
-
- agent-base@7.1.3: {}
-
- ajv@6.12.6:
- dependencies:
- fast-deep-equal: 3.1.3
- fast-json-stable-stringify: 2.1.0
- json-schema-traverse: 0.4.1
- uri-js: 4.4.1
-
- ansi-colors@4.1.3: {}
-
- ansi-escapes@4.3.2:
- dependencies:
- type-fest: 0.21.3
-
- ansi-escapes@7.0.0:
- dependencies:
- environment: 1.1.0
-
- ansi-regex@5.0.1: {}
-
- ansi-regex@6.1.0: {}
-
- ansi-sequence-parser@1.1.3: {}
-
- ansi-styles@4.3.0:
- dependencies:
- color-convert: 2.0.1
-
- ansi-styles@5.2.0: {}
-
- ansi-styles@6.2.1: {}
-
- ansis@3.17.0: {}
-
- any-promise@1.3.0: {}
-
- anymatch@3.1.3:
- dependencies:
- normalize-path: 3.0.0
- picomatch: 2.3.1
-
- arg@4.1.3:
- optional: true
-
- arg@5.0.2: {}
-
- argparse@1.0.10:
- dependencies:
- sprintf-js: 1.0.3
-
- argparse@2.0.1: {}
-
- aria-query@5.3.2: {}
-
- array-union@2.1.0: {}
-
- assertion-error@1.1.0: {}
-
- assertion-error@2.0.1: {}
-
- async-sema@3.1.1: {}
-
- async@0.1.22: {}
-
- async@3.2.6: {}
-
- autoprefixer@10.4.20(postcss@8.5.1):
- dependencies:
- browserslist: 4.24.4
- caniuse-lite: 1.0.30001699
- fraction.js: 4.3.7
- normalize-range: 0.1.2
- picocolors: 1.1.1
- postcss: 8.5.1
- postcss-value-parser: 4.2.0
-
- axobject-query@4.1.0: {}
-
- balanced-match@1.0.2: {}
-
- base64-js@1.5.1: {}
-
- better-path-resolve@1.0.0:
- dependencies:
- is-windows: 1.0.2
-
- binary-extensions@2.3.0: {}
-
- bindings@1.5.0:
- dependencies:
- file-uri-to-path: 1.0.0
-
- bl@4.1.0:
- dependencies:
- buffer: 5.7.1
- inherits: 2.0.4
- readable-stream: 3.6.2
-
- brace-expansion@1.1.11:
- dependencies:
- balanced-match: 1.0.2
- concat-map: 0.0.1
-
- brace-expansion@2.0.1:
- dependencies:
- balanced-match: 1.0.2
-
- braces@3.0.3:
- dependencies:
- fill-range: 7.1.1
-
- browserslist@4.24.4:
- dependencies:
- caniuse-lite: 1.0.30001699
- electron-to-chromium: 1.5.96
- node-releases: 2.0.19
- update-browserslist-db: 1.1.2(browserslist@4.24.4)
-
- buffer@5.7.1:
- dependencies:
- base64-js: 1.5.1
- ieee754: 1.2.1
-
- bufferutil@4.0.9:
- dependencies:
- node-gyp-build: 4.8.4
-
- bundle-require@4.2.1(esbuild@0.17.19):
- dependencies:
- esbuild: 0.17.19
- load-tsconfig: 0.2.5
-
- cac@6.7.14: {}
-
- callsites@3.1.0: {}
-
- camelcase-css@2.0.1: {}
-
- caniuse-lite@1.0.30001699: {}
-
- case@1.6.3: {}
-
- catharsis@0.5.6: {}
-
- chai@4.5.0:
- dependencies:
- assertion-error: 1.1.0
- check-error: 1.0.3
- deep-eql: 4.1.4
- get-func-name: 2.0.2
- loupe: 2.3.7
- pathval: 1.1.1
- type-detect: 4.1.0
-
- chai@5.1.2:
- dependencies:
- assertion-error: 2.0.1
- check-error: 2.1.1
- deep-eql: 5.0.2
- loupe: 3.1.3
- pathval: 2.0.0
-
- chalk@4.1.2:
- dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
-
- chalk@5.4.1: {}
-
- chardet@0.7.0: {}
-
- chart.js@4.4.7:
- dependencies:
- '@kurkle/color': 0.3.4
-
- cheap-ruler@4.0.0: {}
-
- check-error@1.0.3:
- dependencies:
- get-func-name: 2.0.2
-
- check-error@2.1.1: {}
-
- chokidar@3.6.0:
- dependencies:
- anymatch: 3.1.3
- braces: 3.0.3
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
- optionalDependencies:
- fsevents: 2.3.3
-
- chokidar@4.0.3:
- dependencies:
- readdirp: 4.1.1
-
- chownr@3.0.0: {}
-
- ci-info@3.9.0: {}
-
- clean-stack@3.0.1:
- dependencies:
- escape-string-regexp: 4.0.0
-
- cli-cursor@3.1.0:
- dependencies:
- restore-cursor: 3.1.0
-
- cli-cursor@5.0.0:
- dependencies:
- restore-cursor: 5.1.0
-
- cli-spinners@2.9.2: {}
-
- cli-truncate@4.0.0:
- dependencies:
- slice-ansi: 5.0.0
- string-width: 7.2.0
-
- cli-width@3.0.0: {}
-
- cli@0.4.3:
- dependencies:
- glob: 10.4.5
-
- clone@1.0.4: {}
-
- clsx@2.1.1: {}
-
- color-convert@2.0.1:
- dependencies:
- color-name: 1.1.4
-
- color-name@1.1.4: {}
-
- colorette@2.0.20: {}
-
- commander@13.1.0: {}
-
- commander@4.1.1: {}
-
- concat-map@0.0.1: {}
-
- confbox@0.1.8: {}
-
- consola@3.4.0: {}
-
- convert-source-map@2.0.0: {}
-
- convert@5.7.0: {}
-
- cookie@0.6.0: {}
-
- create-require@1.1.1:
- optional: true
-
- cross-spawn@7.0.6:
- dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
-
- crypto-browserify@git+https://git@github.com:dominictarr/crypto-browserify.git#95c5d505: {}
-
- css-paint-polyfill@3.4.0: {}
-
- css-selector-tokenizer@0.8.0:
- dependencies:
- cssesc: 3.0.0
- fastparse: 1.1.2
-
- csscolorparser@1.0.3: {}
-
- cssesc@3.0.0: {}
-
- culori@3.3.0: {}
-
- d3-array@3.2.4:
- dependencies:
- internmap: 2.0.3
-
- d3-color@3.1.0: {}
-
- d3-geo@3.1.1:
- dependencies:
- d3-array: 3.2.4
-
- d@1.0.2:
- dependencies:
- es5-ext: 0.10.64
- type: 2.7.3
-
- daisyui@4.12.23(postcss@8.5.1):
- dependencies:
- css-selector-tokenizer: 0.8.0
- culori: 3.3.0
- picocolors: 1.1.1
- postcss-js: 4.0.1(postcss@8.5.1)
- transitivePeerDependencies:
- - postcss
-
- dataloader@1.4.0: {}
-
- debug@2.6.9:
- dependencies:
- ms: 2.0.0
-
- debug@4.4.0(supports-color@8.1.1):
- dependencies:
- ms: 2.1.3
- optionalDependencies:
- supports-color: 8.1.1
-
- decimal.js@10.5.0: {}
-
- dedent-js@1.0.1: {}
-
- dedent@1.5.3: {}
-
- deep-eql@4.1.4:
- dependencies:
- type-detect: 4.1.0
-
- deep-eql@5.0.2: {}
-
- deep-is@0.1.4: {}
-
- deepmerge@4.3.1: {}
-
- defaults@1.0.4:
- dependencies:
- clone: 1.0.4
-
- dequal@2.0.3: {}
-
- detect-indent@6.1.0: {}
-
- detect-libc@2.0.3: {}
-
- devalue@5.1.1: {}
-
- dexie@4.0.11: {}
-
- didyoumean@1.2.2: {}
-
- diff-sequences@29.6.3: {}
-
- diff@4.0.2:
- optional: true
-
- dir-glob@3.0.1:
- dependencies:
- path-type: 4.0.0
-
- dlv@1.1.3: {}
-
- dotenv@16.0.3: {}
-
- dotenv@8.6.0: {}
-
- earcut@2.2.4: {}
-
- earcut@3.0.1: {}
-
- eastasianwidth@0.2.0: {}
-
- ejs@3.1.10:
- dependencies:
- jake: 10.9.2
-
- electron-to-chromium@1.5.96: {}
-
- emoji-regex@10.4.0: {}
-
- emoji-regex@8.0.0: {}
-
- emoji-regex@9.2.2: {}
-
- enquirer@2.4.1:
- dependencies:
- ansi-colors: 4.1.3
- strip-ansi: 6.0.1
-
- environment@1.1.0: {}
-
- es-module-lexer@1.6.0: {}
-
- es5-ext@0.10.64:
- dependencies:
- es6-iterator: 2.0.3
- es6-symbol: 3.1.4
- esniff: 2.0.1
- next-tick: 1.1.0
-
- es6-iterator@2.0.3:
- dependencies:
- d: 1.0.2
- es5-ext: 0.10.64
- es6-symbol: 3.1.4
-
- es6-symbol@3.1.4:
- dependencies:
- d: 1.0.2
- ext: 1.7.0
-
- esbuild@0.17.19:
- optionalDependencies:
- '@esbuild/android-arm': 0.17.19
- '@esbuild/android-arm64': 0.17.19
- '@esbuild/android-x64': 0.17.19
- '@esbuild/darwin-arm64': 0.17.19
- '@esbuild/darwin-x64': 0.17.19
- '@esbuild/freebsd-arm64': 0.17.19
- '@esbuild/freebsd-x64': 0.17.19
- '@esbuild/linux-arm': 0.17.19
- '@esbuild/linux-arm64': 0.17.19
- '@esbuild/linux-ia32': 0.17.19
- '@esbuild/linux-loong64': 0.17.19
- '@esbuild/linux-mips64el': 0.17.19
- '@esbuild/linux-ppc64': 0.17.19
- '@esbuild/linux-riscv64': 0.17.19
- '@esbuild/linux-s390x': 0.17.19
- '@esbuild/linux-x64': 0.17.19
- '@esbuild/netbsd-x64': 0.17.19
- '@esbuild/openbsd-x64': 0.17.19
- '@esbuild/sunos-x64': 0.17.19
- '@esbuild/win32-arm64': 0.17.19
- '@esbuild/win32-ia32': 0.17.19
- '@esbuild/win32-x64': 0.17.19
-
- esbuild@0.21.5:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.21.5
- '@esbuild/android-arm': 0.21.5
- '@esbuild/android-arm64': 0.21.5
- '@esbuild/android-x64': 0.21.5
- '@esbuild/darwin-arm64': 0.21.5
- '@esbuild/darwin-x64': 0.21.5
- '@esbuild/freebsd-arm64': 0.21.5
- '@esbuild/freebsd-x64': 0.21.5
- '@esbuild/linux-arm': 0.21.5
- '@esbuild/linux-arm64': 0.21.5
- '@esbuild/linux-ia32': 0.21.5
- '@esbuild/linux-loong64': 0.21.5
- '@esbuild/linux-mips64el': 0.21.5
- '@esbuild/linux-ppc64': 0.21.5
- '@esbuild/linux-riscv64': 0.21.5
- '@esbuild/linux-s390x': 0.21.5
- '@esbuild/linux-x64': 0.21.5
- '@esbuild/netbsd-x64': 0.21.5
- '@esbuild/openbsd-x64': 0.21.5
- '@esbuild/sunos-x64': 0.21.5
- '@esbuild/win32-arm64': 0.21.5
- '@esbuild/win32-ia32': 0.21.5
- '@esbuild/win32-x64': 0.21.5
-
- esbuild@0.24.2:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.24.2
- '@esbuild/android-arm': 0.24.2
- '@esbuild/android-arm64': 0.24.2
- '@esbuild/android-x64': 0.24.2
- '@esbuild/darwin-arm64': 0.24.2
- '@esbuild/darwin-x64': 0.24.2
- '@esbuild/freebsd-arm64': 0.24.2
- '@esbuild/freebsd-x64': 0.24.2
- '@esbuild/linux-arm': 0.24.2
- '@esbuild/linux-arm64': 0.24.2
- '@esbuild/linux-ia32': 0.24.2
- '@esbuild/linux-loong64': 0.24.2
- '@esbuild/linux-mips64el': 0.24.2
- '@esbuild/linux-ppc64': 0.24.2
- '@esbuild/linux-riscv64': 0.24.2
- '@esbuild/linux-s390x': 0.24.2
- '@esbuild/linux-x64': 0.24.2
- '@esbuild/netbsd-arm64': 0.24.2
- '@esbuild/netbsd-x64': 0.24.2
- '@esbuild/openbsd-arm64': 0.24.2
- '@esbuild/openbsd-x64': 0.24.2
- '@esbuild/sunos-x64': 0.24.2
- '@esbuild/win32-arm64': 0.24.2
- '@esbuild/win32-ia32': 0.24.2
- '@esbuild/win32-x64': 0.24.2
-
- escalade@3.2.0: {}
-
- escape-string-regexp@1.0.5: {}
-
- escape-string-regexp@4.0.0: {}
-
- eslint-compat-utils@0.5.1(eslint@9.20.0(jiti@1.21.7)):
- dependencies:
- eslint: 9.20.0(jiti@1.21.7)
- semver: 7.7.1
-
- eslint-config-prettier@9.1.0(eslint@9.20.0(jiti@1.21.7)):
- dependencies:
- eslint: 9.20.0(jiti@1.21.7)
-
- eslint-config-turbo@2.4.0(eslint@9.20.0(jiti@1.21.7))(turbo@2.4.0):
- dependencies:
- eslint: 9.20.0(jiti@1.21.7)
- eslint-plugin-turbo: 2.4.0(eslint@9.20.0(jiti@1.21.7))(turbo@2.4.0)
- turbo: 2.4.0
-
- eslint-plugin-svelte@2.46.1(eslint@9.20.0(jiti@1.21.7))(svelte@5.19.9)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3)):
- dependencies:
- '@eslint-community/eslint-utils': 4.4.1(eslint@9.20.0(jiti@1.21.7))
- '@jridgewell/sourcemap-codec': 1.5.0
- eslint: 9.20.0(jiti@1.21.7)
- eslint-compat-utils: 0.5.1(eslint@9.20.0(jiti@1.21.7))
- esutils: 2.0.3
- known-css-properties: 0.35.0
- postcss: 8.5.1
- postcss-load-config: 3.1.4(postcss@8.5.1)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3))
- postcss-safe-parser: 6.0.0(postcss@8.5.1)
- postcss-selector-parser: 6.1.2
- semver: 7.7.1
- svelte-eslint-parser: 0.43.0(svelte@5.19.9)
- optionalDependencies:
- svelte: 5.19.9
- transitivePeerDependencies:
- - ts-node
-
- eslint-plugin-turbo@2.4.0(eslint@9.20.0(jiti@1.21.7))(turbo@2.4.0):
- dependencies:
- dotenv: 16.0.3
- eslint: 9.20.0(jiti@1.21.7)
- turbo: 2.4.0
-
- eslint-scope@7.2.2:
- dependencies:
- esrecurse: 4.3.0
- estraverse: 5.3.0
-
- eslint-scope@8.2.0:
- dependencies:
- esrecurse: 4.3.0
- estraverse: 5.3.0
-
- eslint-visitor-keys@3.4.3: {}
-
- eslint-visitor-keys@4.2.0: {}
-
- eslint@9.20.0(jiti@1.21.7):
- dependencies:
- '@eslint-community/eslint-utils': 4.4.1(eslint@9.20.0(jiti@1.21.7))
- '@eslint-community/regexpp': 4.12.1
- '@eslint/config-array': 0.19.2
- '@eslint/core': 0.11.0
- '@eslint/eslintrc': 3.2.0
- '@eslint/js': 9.20.0
- '@eslint/plugin-kit': 0.2.5
- '@humanfs/node': 0.16.6
- '@humanwhocodes/module-importer': 1.0.1
- '@humanwhocodes/retry': 0.4.1
- '@types/estree': 1.0.6
- '@types/json-schema': 7.0.15
- ajv: 6.12.6
- chalk: 4.1.2
- cross-spawn: 7.0.6
- debug: 4.4.0(supports-color@8.1.1)
- escape-string-regexp: 4.0.0
- eslint-scope: 8.2.0
- eslint-visitor-keys: 4.2.0
- espree: 10.3.0
- esquery: 1.6.0
- esutils: 2.0.3
- fast-deep-equal: 3.1.3
- file-entry-cache: 8.0.0
- find-up: 5.0.0
- glob-parent: 6.0.2
- ignore: 5.3.2
- imurmurhash: 0.1.4
- is-glob: 4.0.3
- json-stable-stringify-without-jsonify: 1.0.1
- lodash.merge: 4.6.2
- minimatch: 3.1.2
- natural-compare: 1.4.0
- optionator: 0.9.4
- optionalDependencies:
- jiti: 1.21.7
- transitivePeerDependencies:
- - supports-color
-
- esm-env@1.0.0: {}
-
- esm-env@1.2.2: {}
-
- esm@3.2.25:
- optional: true
-
- esniff@2.0.1:
- dependencies:
- d: 1.0.2
- es5-ext: 0.10.64
- event-emitter: 0.3.5
- type: 2.7.3
-
- espree@10.3.0:
- dependencies:
- acorn: 8.14.0
- acorn-jsx: 5.3.2(acorn@8.14.0)
- eslint-visitor-keys: 4.2.0
-
- espree@9.6.1:
- dependencies:
- acorn: 8.14.0
- acorn-jsx: 5.3.2(acorn@8.14.0)
- eslint-visitor-keys: 3.4.3
-
- esprima@4.0.1: {}
-
- esquery@1.6.0:
- dependencies:
- estraverse: 5.3.0
-
- esrap@1.4.3:
- dependencies:
- '@jridgewell/sourcemap-codec': 1.5.0
-
- esrecurse@4.3.0:
- dependencies:
- estraverse: 5.3.0
-
- estraverse@5.3.0: {}
-
- estree-walker@2.0.2: {}
-
- estree-walker@3.0.3:
- dependencies:
- '@types/estree': 1.0.6
-
- esutils@2.0.3: {}
-
- event-emitter@0.3.5:
- dependencies:
- d: 1.0.2
- es5-ext: 0.10.64
-
- eventemitter3@5.0.1: {}
-
- execa@5.1.1:
- dependencies:
- cross-spawn: 7.0.6
- get-stream: 6.0.1
- human-signals: 2.1.0
- is-stream: 2.0.1
- merge-stream: 2.0.0
- npm-run-path: 4.0.1
- onetime: 5.1.2
- signal-exit: 3.0.7
- strip-final-newline: 2.0.0
-
- execa@8.0.1:
- dependencies:
- cross-spawn: 7.0.6
- get-stream: 8.0.1
- human-signals: 5.0.0
- is-stream: 3.0.0
- merge-stream: 2.0.0
- npm-run-path: 5.3.0
- onetime: 6.0.0
- signal-exit: 4.1.0
- strip-final-newline: 3.0.0
-
- expect-type@1.1.0: {}
-
- ext@1.7.0:
- dependencies:
- type: 2.7.3
-
- extendable-error@0.1.7: {}
-
- external-editor@3.1.0:
- dependencies:
- chardet: 0.7.0
- iconv-lite: 0.4.24
- tmp: 0.0.33
-
- fast-deep-equal@3.1.3: {}
-
- fast-glob@3.3.3:
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- '@nodelib/fs.walk': 1.2.8
- glob-parent: 5.1.2
- merge2: 1.4.1
- micromatch: 4.0.8
-
- fast-json-stable-stringify@2.1.0: {}
-
- fast-levenshtein@2.0.6: {}
-
- fastparse@1.1.2: {}
-
- fastq@1.19.0:
- dependencies:
- reusify: 1.0.4
-
- fdir@6.4.3(picomatch@4.0.2):
- optionalDependencies:
- picomatch: 4.0.2
-
- fflate@0.8.2: {}
-
- figures@3.2.0:
- dependencies:
- escape-string-regexp: 1.0.5
-
- file-entry-cache@8.0.0:
- dependencies:
- flat-cache: 4.0.1
-
- file-uri-to-path@1.0.0: {}
-
- filelist@1.0.4:
- dependencies:
- minimatch: 5.1.6
-
- fill-range@7.1.1:
- dependencies:
- to-regex-range: 5.0.1
-
- find-up@4.1.0:
- dependencies:
- locate-path: 5.0.0
- path-exists: 4.0.0
-
- find-up@5.0.0:
- dependencies:
- locate-path: 6.0.0
- path-exists: 4.0.0
-
- flat-cache@4.0.1:
- dependencies:
- flatted: 3.3.2
- keyv: 4.5.4
-
- flatted@3.3.2: {}
-
- foreground-child@3.3.0:
- dependencies:
- cross-spawn: 7.0.6
- signal-exit: 4.1.0
-
- fraction.js@4.3.7: {}
-
- fs-extra@11.3.0:
- dependencies:
- graceful-fs: 4.2.11
- jsonfile: 6.1.0
- universalify: 2.0.1
-
- fs-extra@7.0.1:
- dependencies:
- graceful-fs: 4.2.11
- jsonfile: 4.0.0
- universalify: 0.1.2
-
- fs-extra@8.1.0:
- dependencies:
- graceful-fs: 4.2.11
- jsonfile: 4.0.0
- universalify: 0.1.2
-
- fs.realpath@1.0.0: {}
-
- fsevents@2.3.2:
- optional: true
-
- fsevents@2.3.3:
- optional: true
-
- function-bind@1.1.2: {}
-
- geohashing@2.0.1: {}
-
- geojson-vt@4.0.2: {}
-
- get-east-asian-width@1.3.0: {}
-
- get-func-name@2.0.2: {}
-
- get-package-type@0.1.0: {}
-
- get-stream@6.0.1: {}
-
- get-stream@8.0.1: {}
-
- gl-matrix@3.4.3: {}
-
- glob-parent@5.1.2:
- dependencies:
- is-glob: 4.0.3
-
- glob-parent@6.0.2:
- dependencies:
- is-glob: 4.0.3
-
- glob@10.4.5:
- dependencies:
- foreground-child: 3.3.0
- jackspeak: 3.4.3
- minimatch: 9.0.5
- minipass: 7.1.2
- package-json-from-dist: 1.0.1
- path-scurry: 1.11.1
-
- glob@7.2.3:
- dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 3.1.2
- once: 1.4.0
- path-is-absolute: 1.0.1
-
- glob@8.1.0:
- dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 5.1.6
- once: 1.4.0
-
- global-prefix@4.0.0:
- dependencies:
- ini: 4.1.3
- kind-of: 6.0.3
- which: 4.0.0
-
- globals@14.0.0: {}
-
- globals@15.14.0: {}
-
- globby@11.1.0:
- dependencies:
- array-union: 2.1.0
- dir-glob: 3.0.1
- fast-glob: 3.3.3
- ignore: 5.3.2
- merge2: 1.4.1
- slash: 3.0.0
-
- globrex@0.1.2: {}
-
- graceful-fs@4.2.11: {}
-
- graphemer@1.4.0: {}
-
- grid-index@1.1.0: {}
-
- has-flag@4.0.0: {}
-
- hasown@2.0.2:
- dependencies:
- function-bind: 1.1.2
-
- highlight.js@11.11.1: {}
-
- highlightjs-svelte@1.0.6: {}
-
- html-escaper@2.0.2: {}
-
- https-proxy-agent@7.0.6:
- dependencies:
- agent-base: 7.1.3
- debug: 4.4.0(supports-color@8.1.1)
- transitivePeerDependencies:
- - supports-color
-
- human-id@1.0.2: {}
-
- human-signals@2.1.0: {}
-
- human-signals@5.0.0: {}
-
- husky@9.1.7: {}
-
- iconv-lite@0.4.24:
- dependencies:
- safer-buffer: 2.1.2
-
- ieee754@1.2.1: {}
-
- ignore-walk@5.0.1:
- dependencies:
- minimatch: 5.1.6
-
- ignore@5.3.2: {}
-
- import-fresh@3.3.1:
- dependencies:
- parent-module: 1.0.1
- resolve-from: 4.0.0
-
- import-meta-resolve@4.1.0: {}
-
- imurmurhash@0.1.4: {}
-
- indent-string@4.0.0: {}
-
- inflight@1.0.6:
- dependencies:
- once: 1.4.0
- wrappy: 1.0.2
-
- inherits@2.0.4: {}
-
- ini@4.1.3: {}
-
- inquirer@8.2.6:
- dependencies:
- ansi-escapes: 4.3.2
- chalk: 4.1.2
- cli-cursor: 3.1.0
- cli-width: 3.0.0
- external-editor: 3.1.0
- figures: 3.2.0
- lodash: 4.17.21
- mute-stream: 0.0.8
- ora: 5.4.1
- run-async: 2.4.1
- rxjs: 7.8.2
- string-width: 4.2.3
- strip-ansi: 6.0.1
- through: 2.3.8
- wrap-ansi: 6.2.0
-
- internmap@2.0.3: {}
-
- intl-messageformat@10.7.15:
- dependencies:
- '@formatjs/ecma402-abstract': 2.3.3
- '@formatjs/fast-memoize': 2.2.6
- '@formatjs/icu-messageformat-parser': 2.11.1
- tslib: 2.8.1
-
- is-binary-path@2.1.0:
- dependencies:
- binary-extensions: 2.3.0
-
- is-core-module@2.16.1:
- dependencies:
- hasown: 2.0.2
-
- is-docker@2.2.1: {}
-
- is-extglob@2.1.1: {}
-
- is-fullwidth-code-point@3.0.0: {}
-
- is-fullwidth-code-point@4.0.0: {}
-
- is-fullwidth-code-point@5.0.0:
- dependencies:
- get-east-asian-width: 1.3.0
-
- is-glob@4.0.3:
- dependencies:
- is-extglob: 2.1.1
-
- is-interactive@1.0.0: {}
-
- is-number@7.0.0: {}
-
- is-observable@2.1.0: {}
-
- is-reference@3.0.3:
- dependencies:
- '@types/estree': 1.0.6
-
- is-stream@2.0.1: {}
-
- is-stream@3.0.0: {}
-
- is-subdir@1.2.0:
- dependencies:
- better-path-resolve: 1.0.0
-
- is-typedarray@1.0.0: {}
-
- is-unicode-supported@0.1.0: {}
-
- is-windows@1.0.2: {}
-
- is-wsl@2.2.0:
- dependencies:
- is-docker: 2.2.1
-
- isexe@2.0.0: {}
-
- isexe@3.1.1: {}
-
- iso-3166@4.3.0: {}
-
- istanbul-lib-coverage@3.2.2: {}
-
- istanbul-lib-report@3.0.1:
- dependencies:
- istanbul-lib-coverage: 3.2.2
- make-dir: 4.0.0
- supports-color: 7.2.0
-
- istanbul-lib-source-maps@4.0.1:
- dependencies:
- debug: 4.4.0(supports-color@8.1.1)
- istanbul-lib-coverage: 3.2.2
- source-map: 0.6.1
- transitivePeerDependencies:
- - supports-color
-
- istanbul-reports@3.1.7:
- dependencies:
- html-escaper: 2.0.2
- istanbul-lib-report: 3.0.1
-
- jackspeak@3.4.3:
- dependencies:
- '@isaacs/cliui': 8.0.2
- optionalDependencies:
- '@pkgjs/parseargs': 0.11.0
-
- jake@10.9.2:
- dependencies:
- async: 3.2.6
- chalk: 4.1.2
- filelist: 1.0.4
- minimatch: 3.1.2
-
- jiti@1.21.7: {}
-
- joycon@3.1.1: {}
-
- js-yaml@3.14.1:
- dependencies:
- argparse: 1.0.10
- esprima: 4.0.1
-
- js-yaml@4.1.0:
- dependencies:
- argparse: 2.0.1
-
- js2xmlparser@0.1.0: {}
-
- jsdoc@3.2.0:
- dependencies:
- async: 0.1.22
- catharsis: 0.5.6
- crypto-browserify: git+https://git@github.com:dominictarr/crypto-browserify.git#95c5d505
- js2xmlparser: 0.1.0
- jshint: 0.9.1
- markdown: https://codeload.github.com/jsdoc3/markdown-js/tar.gz/0050c46a97d084a3cf8e42bc158be6570b94c6e6
- marked: 0.2.8
- taffydb: https://codeload.github.com/hegemonic/taffydb/tar.gz/e41b5e179e197bb85c5fb887b707672b1e5ca079
- underscore: 1.4.2
- wrench: 1.3.9
-
- jshint@0.9.1:
- dependencies:
- cli: 0.4.3
- minimatch: 0.0.5
-
- json-buffer@3.0.1: {}
-
- json-schema-traverse@0.4.1: {}
-
- json-stable-stringify-without-jsonify@1.0.1: {}
-
- json-stringify-pretty-compact@4.0.0: {}
-
- jsonc-parser@3.3.1: {}
-
- jsonfile@4.0.0:
- optionalDependencies:
- graceful-fs: 4.2.11
-
- jsonfile@6.1.0:
- dependencies:
- universalify: 2.0.1
- optionalDependencies:
- graceful-fs: 4.2.11
-
- just-clamp@4.2.0: {}
-
- just-compare@2.3.0: {}
-
- kdbush@4.0.2: {}
-
- keyv@4.5.4:
- dependencies:
- json-buffer: 3.0.1
-
- kind-of@6.0.3: {}
-
- kleur@4.1.5: {}
-
- known-css-properties@0.35.0: {}
-
- levn@0.4.1:
- dependencies:
- prelude-ls: 1.2.1
- type-check: 0.4.0
-
- light-bolt11-decoder@3.2.0:
- dependencies:
- '@scure/base': 1.1.1
-
- lilconfig@2.1.0: {}
-
- lilconfig@3.1.3: {}
-
- lines-and-columns@1.2.4: {}
-
- lint-staged@15.4.3:
- dependencies:
- chalk: 5.4.1
- commander: 13.1.0
- debug: 4.4.0(supports-color@8.1.1)
- execa: 8.0.1
- lilconfig: 3.1.3
- listr2: 8.2.5
- micromatch: 4.0.8
- pidtree: 0.6.0
- string-argv: 0.3.2
- yaml: 2.7.0
- transitivePeerDependencies:
- - supports-color
-
- listr2@8.2.5:
- dependencies:
- cli-truncate: 4.0.0
- colorette: 2.0.20
- eventemitter3: 5.0.1
- log-update: 6.1.0
- rfdc: 1.4.1
- wrap-ansi: 9.0.0
-
- load-tsconfig@0.2.5: {}
-
- local-pkg@0.5.1:
- dependencies:
- mlly: 1.7.4
- pkg-types: 1.3.1
-
- locate-character@3.0.0: {}
-
- locate-path@5.0.0:
- dependencies:
- p-locate: 4.1.0
-
- locate-path@6.0.0:
- dependencies:
- p-locate: 5.0.0
-
- lodash.merge@4.6.2: {}
-
- lodash.sortby@4.7.0: {}
-
- lodash.startcase@4.4.0: {}
-
- lodash@4.17.21: {}
-
- log-symbols@4.1.0:
- dependencies:
- chalk: 4.1.2
- is-unicode-supported: 0.1.0
-
- log-update@6.1.0:
- dependencies:
- ansi-escapes: 7.0.0
- cli-cursor: 5.0.0
- slice-ansi: 7.1.0
- strip-ansi: 7.1.0
- wrap-ansi: 9.0.0
-
- loupe@2.3.7:
- dependencies:
- get-func-name: 2.0.2
-
- loupe@3.1.3: {}
-
- lower-case@2.0.2:
- dependencies:
- tslib: 2.8.1
-
- lru-cache@1.0.6: {}
-
- lru-cache@10.4.3: {}
-
- lunr@2.3.9: {}
-
- luxon@3.5.0: {}
-
- magic-string@0.30.17:
- dependencies:
- '@jridgewell/sourcemap-codec': 1.5.0
-
- magicast@0.3.5:
- dependencies:
- '@babel/parser': 7.27.0
- '@babel/types': 7.27.0
- source-map-js: 1.2.1
-
- make-dir@4.0.0:
- dependencies:
- semver: 7.7.1
-
- make-error@1.3.6:
- optional: true
-
- mapbox-gl@3.9.4:
- dependencies:
- '@mapbox/jsonlint-lines-primitives': 2.0.2
- '@mapbox/mapbox-gl-supported': 3.0.0
- '@mapbox/point-geometry': 0.1.0
- '@mapbox/tiny-sdf': 2.0.6
- '@mapbox/unitbezier': 0.0.1
- '@mapbox/vector-tile': 1.3.1
- '@mapbox/whoots-js': 3.1.0
- '@types/geojson': 7946.0.16
- '@types/geojson-vt': 3.2.5
- '@types/mapbox__point-geometry': 0.1.4
- '@types/mapbox__vector-tile': 1.3.4
- '@types/pbf': 3.0.5
- '@types/supercluster': 7.1.3
- cheap-ruler: 4.0.0
- csscolorparser: 1.0.3
- earcut: 3.0.1
- geojson-vt: 4.0.2
- gl-matrix: 3.4.3
- grid-index: 1.1.0
- kdbush: 4.0.2
- murmurhash-js: 1.0.0
- pbf: 3.3.0
- potpack: 2.0.0
- quickselect: 3.0.0
- serialize-to-js: 3.1.2
- supercluster: 8.0.1
- tinyqueue: 3.0.0
- vt-pbf: 3.1.3
-
- maplibre-gl@5.1.0:
- dependencies:
- '@mapbox/geojson-rewind': 0.5.2
- '@mapbox/jsonlint-lines-primitives': 2.0.2
- '@mapbox/point-geometry': 0.1.0
- '@mapbox/tiny-sdf': 2.0.6
- '@mapbox/unitbezier': 0.0.1
- '@mapbox/vector-tile': 1.3.1
- '@mapbox/whoots-js': 3.1.0
- '@maplibre/maplibre-gl-style-spec': 23.1.0
- '@types/geojson': 7946.0.16
- '@types/geojson-vt': 3.2.5
- '@types/mapbox__point-geometry': 0.1.4
- '@types/mapbox__vector-tile': 1.3.4
- '@types/pbf': 3.0.5
- '@types/supercluster': 7.1.3
- earcut: 3.0.1
- geojson-vt: 4.0.2
- gl-matrix: 3.4.3
- global-prefix: 4.0.0
- kdbush: 4.0.2
- murmurhash-js: 1.0.0
- pbf: 3.3.0
- potpack: 2.0.0
- quickselect: 3.0.0
- supercluster: 8.0.1
- tinyqueue: 3.0.0
- vt-pbf: 3.1.3
-
- markdown@https://codeload.github.com/jsdoc3/markdown-js/tar.gz/0050c46a97d084a3cf8e42bc158be6570b94c6e6:
- dependencies:
- nopt: 1.0.10
-
- marked@0.2.8: {}
-
- marked@4.3.0: {}
-
- merge-stream@2.0.0: {}
-
- merge2@1.4.1: {}
-
- micromatch@4.0.8:
- dependencies:
- braces: 3.0.3
- picomatch: 2.3.1
-
- mimic-fn@2.1.0: {}
-
- mimic-fn@4.0.0: {}
-
- mimic-function@5.0.1: {}
-
- minimatch@0.0.5:
- dependencies:
- lru-cache: 1.0.6
-
- minimatch@3.1.2:
- dependencies:
- brace-expansion: 1.1.11
-
- minimatch@5.1.6:
- dependencies:
- brace-expansion: 2.0.1
-
- minimatch@9.0.5:
- dependencies:
- brace-expansion: 2.0.1
-
- minimist@0.0.10: {}
-
- minimist@1.2.8: {}
-
- minipass@7.1.2: {}
-
- minizlib@3.0.1:
- dependencies:
- minipass: 7.1.2
- rimraf: 5.0.10
-
- mjolnir.js@3.0.0: {}
-
- mkdirp@3.0.1: {}
-
- mlly@1.7.4:
- dependencies:
- acorn: 8.14.0
- pathe: 2.0.3
- pkg-types: 1.3.1
- ufo: 1.5.4
-
- mri@1.2.0: {}
-
- mrmime@2.0.0: {}
-
- ms@2.0.0: {}
-
- ms@2.1.3: {}
-
- murmurhash-js@1.0.0: {}
-
- mute-stream@0.0.8: {}
-
- mz@2.7.0:
- dependencies:
- any-promise: 1.3.0
- object-assign: 4.1.1
- thenify-all: 1.6.0
-
- nanoid@3.3.8: {}
-
- nanoid@5.0.9: {}
-
- natural-compare@1.4.0: {}
-
- next-tick@1.1.0: {}
-
- ngeohash@0.6.3: {}
-
- no-case@3.0.4:
- dependencies:
- lower-case: 2.0.2
- tslib: 2.8.1
-
- node-fetch@2.7.0:
- dependencies:
- whatwg-url: 5.0.0
-
- node-gyp-build@4.8.4: {}
-
- node-releases@2.0.19: {}
-
- nopt@1.0.10:
- dependencies:
- abbrev: 1.1.1
-
- nopt@8.1.0:
- dependencies:
- abbrev: 3.0.0
-
- normalize-path@3.0.0: {}
-
- normalize-range@0.1.2: {}
-
- nostr-tools@2.10.4(typescript@5.7.3):
- dependencies:
- '@noble/ciphers': 0.5.3
- '@noble/curves': 1.2.0
- '@noble/hashes': 1.3.1
- '@scure/base': 1.1.1
- '@scure/bip32': 1.3.1
- '@scure/bip39': 1.2.1
- optionalDependencies:
- nostr-wasm: 0.1.0
- typescript: 5.7.3
-
- nostr-wasm@0.1.0:
- optional: true
-
- npm-bundled@2.0.1:
- dependencies:
- npm-normalize-package-bin: 2.0.0
-
- npm-normalize-package-bin@2.0.0: {}
-
- npm-packlist@5.1.3:
- dependencies:
- glob: 8.1.0
- ignore-walk: 5.0.1
- npm-bundled: 2.0.1
- npm-normalize-package-bin: 2.0.0
-
- npm-run-path@4.0.1:
- dependencies:
- path-key: 3.1.1
-
- npm-run-path@5.3.0:
- dependencies:
- path-key: 4.0.0
-
- object-assign@4.1.1: {}
-
- object-hash@3.0.0: {}
-
- observable-fns@0.6.1: {}
-
- once@1.4.0:
- dependencies:
- wrappy: 1.0.2
-
- onetime@5.1.2:
- dependencies:
- mimic-fn: 2.1.0
-
- onetime@6.0.0:
- dependencies:
- mimic-fn: 4.0.0
-
- onetime@7.0.0:
- dependencies:
- mimic-function: 5.0.1
-
- optimist@0.6.0:
- dependencies:
- minimist: 0.0.10
- wordwrap: 0.0.3
-
- optionator@0.9.4:
- dependencies:
- deep-is: 0.1.4
- fast-levenshtein: 2.0.6
- levn: 0.4.1
- prelude-ls: 1.2.1
- type-check: 0.4.0
- word-wrap: 1.2.5
-
- ora@5.4.1:
- dependencies:
- bl: 4.1.0
- chalk: 4.1.2
- cli-cursor: 3.1.0
- cli-spinners: 2.9.2
- is-interactive: 1.0.0
- is-unicode-supported: 0.1.0
- log-symbols: 4.1.0
- strip-ansi: 6.0.1
- wcwidth: 1.0.1
-
- os-tmpdir@1.0.2: {}
-
- outdent@0.5.0: {}
-
- p-filter@2.1.0:
- dependencies:
- p-map: 2.1.0
-
- p-limit@2.3.0:
- dependencies:
- p-try: 2.2.0
-
- p-limit@3.1.0:
- dependencies:
- yocto-queue: 0.1.0
-
- p-limit@5.0.0:
- dependencies:
- yocto-queue: 1.2.1
-
- p-locate@4.1.0:
- dependencies:
- p-limit: 2.3.0
-
- p-locate@5.0.0:
- dependencies:
- p-limit: 3.1.0
-
- p-map@2.1.0: {}
-
- p-try@2.2.0: {}
-
- package-json-from-dist@1.0.1: {}
-
- package-manager-detector@0.2.9: {}
-
- parent-module@1.0.1:
- dependencies:
- callsites: 3.1.0
-
- pascal-case@3.1.2:
- dependencies:
- no-case: 3.0.4
- tslib: 2.8.1
-
- path-exists@4.0.0: {}
-
- path-is-absolute@1.0.1: {}
-
- path-key@3.1.1: {}
-
- path-key@4.0.0: {}
-
- path-parse@1.0.7: {}
-
- path-scurry@1.11.1:
- dependencies:
- lru-cache: 10.4.3
- minipass: 7.1.2
-
- path-type@4.0.0: {}
-
- pathe@1.1.2: {}
-
- pathe@2.0.3: {}
-
- pathval@1.1.1: {}
-
- pathval@2.0.0: {}
-
- pbf@3.3.0:
- dependencies:
- ieee754: 1.2.1
- resolve-protobuf-schema: 2.1.0
-
- picocolors@1.1.1: {}
-
- picomatch@2.3.1: {}
-
- picomatch@4.0.2: {}
-
- pidtree@0.6.0: {}
-
- pify@2.3.0: {}
-
- pify@4.0.1: {}
-
- pirates@4.0.6: {}
-
- pkg-types@1.3.1:
- dependencies:
- confbox: 0.1.8
- mlly: 1.7.4
- pathe: 2.0.3
-
- playwright-core@1.50.1: {}
-
- playwright@1.50.1:
- dependencies:
- playwright-core: 1.50.1
- optionalDependencies:
- fsevents: 2.3.2
-
- pmtiles@3.2.1:
- dependencies:
- '@types/leaflet': 1.9.16
- fflate: 0.8.2
-
- postcss-import@15.1.0(postcss@8.5.1):
- dependencies:
- postcss: 8.5.1
- postcss-value-parser: 4.2.0
- read-cache: 1.0.0
- resolve: 1.22.10
-
- postcss-import@16.1.0(postcss@8.5.1):
- dependencies:
- postcss: 8.5.1
- postcss-value-parser: 4.2.0
- read-cache: 1.0.0
- resolve: 1.22.10
-
- postcss-js@4.0.1(postcss@8.5.1):
- dependencies:
- camelcase-css: 2.0.1
- postcss: 8.5.1
-
- postcss-load-config@3.1.4(postcss@8.5.1)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3)):
- dependencies:
- lilconfig: 2.1.0
- yaml: 1.10.2
- optionalDependencies:
- postcss: 8.5.1
- ts-node: 10.9.2(@types/node@22.13.1)(typescript@5.7.3)
-
- postcss-load-config@3.1.4(postcss@8.5.1)(ts-node@10.9.2(@types/node@22.14.0)(typescript@5.7.3)):
- dependencies:
- lilconfig: 2.1.0
- yaml: 1.10.2
- optionalDependencies:
- postcss: 8.5.1
- ts-node: 10.9.2(@types/node@22.14.0)(typescript@5.7.3)
-
- postcss-load-config@4.0.2(postcss@8.5.1)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3)):
- dependencies:
- lilconfig: 3.1.3
- yaml: 2.7.0
- optionalDependencies:
- postcss: 8.5.1
- ts-node: 10.9.2(@types/node@22.13.1)(typescript@5.7.3)
-
- postcss-load-config@4.0.2(postcss@8.5.1)(ts-node@10.9.2(@types/node@22.14.0)(typescript@5.7.3)):
- dependencies:
- lilconfig: 3.1.3
- yaml: 2.7.0
- optionalDependencies:
- postcss: 8.5.1
- ts-node: 10.9.2(@types/node@22.14.0)(typescript@5.7.3)
-
- postcss-nested@6.2.0(postcss@8.5.1):
- dependencies:
- postcss: 8.5.1
- postcss-selector-parser: 6.1.2
-
- postcss-safe-parser@6.0.0(postcss@8.5.1):
- dependencies:
- postcss: 8.5.1
-
- postcss-scss@4.0.9(postcss@8.5.1):
- dependencies:
- postcss: 8.5.1
-
- postcss-selector-parser@6.1.2:
- dependencies:
- cssesc: 3.0.0
- util-deprecate: 1.0.2
-
- postcss-value-parser@4.2.0: {}
-
- postcss@8.5.1:
- dependencies:
- nanoid: 3.3.8
- picocolors: 1.1.1
- source-map-js: 1.2.1
-
- potpack@2.0.0: {}
-
- prelude-ls@1.2.1: {}
-
- prettier-plugin-svelte@3.3.3(prettier@3.5.0)(svelte@5.19.9):
- dependencies:
- prettier: 3.5.0
- svelte: 5.19.9
-
- prettier-plugin-tailwindcss@0.6.11(prettier-plugin-svelte@3.3.3(prettier@3.5.0)(svelte@5.19.9))(prettier@3.5.0):
- dependencies:
- prettier: 3.5.0
- optionalDependencies:
- prettier-plugin-svelte: 3.3.3(prettier@3.5.0)(svelte@5.19.9)
-
- prettier@2.8.8: {}
-
- prettier@3.0.3: {}
-
- prettier@3.5.0: {}
-
- pretty-format@29.7.0:
- dependencies:
- '@jest/schemas': 29.6.3
- ansi-styles: 5.2.0
- react-is: 18.3.1
-
- protocol-buffers-schema@3.6.0: {}
-
- publint@0.2.12:
- dependencies:
- npm-packlist: 5.1.3
- picocolors: 1.1.1
- sade: 1.8.1
-
- publint@0.3.4:
- dependencies:
- '@publint/pack': 0.1.1
- package-manager-detector: 0.2.9
- picocolors: 1.1.1
- sade: 1.8.1
-
- punycode@2.3.1: {}
-
- queue-microtask@1.2.3: {}
-
- quickselect@3.0.0: {}
-
- react-is@18.3.1: {}
-
- read-cache@1.0.0:
- dependencies:
- pify: 2.3.0
-
- read-yaml-file@1.1.0:
- dependencies:
- graceful-fs: 4.2.11
- js-yaml: 3.14.1
- pify: 4.0.1
- strip-bom: 3.0.0
-
- readable-stream@3.6.2:
- dependencies:
- inherits: 2.0.4
- string_decoder: 1.3.0
- util-deprecate: 1.0.2
-
- readdirp@3.6.0:
- dependencies:
- picomatch: 2.3.1
-
- readdirp@4.1.1: {}
-
- regenerator-runtime@0.14.1: {}
-
- resolve-from@4.0.0: {}
-
- resolve-from@5.0.0: {}
-
- resolve-protobuf-schema@2.1.0:
- dependencies:
- protocol-buffers-schema: 3.6.0
-
- resolve@1.22.10:
- dependencies:
- is-core-module: 2.16.1
- path-parse: 1.0.7
- supports-preserve-symlinks-flag: 1.0.0
-
- restore-cursor@3.1.0:
- dependencies:
- onetime: 5.1.2
- signal-exit: 3.0.7
-
- restore-cursor@5.1.0:
- dependencies:
- onetime: 7.0.0
- signal-exit: 4.1.0
-
- reusify@1.0.4: {}
-
- rfdc@1.4.1: {}
-
- rimraf@5.0.10:
- dependencies:
- glob: 10.4.5
-
- rollup@3.29.5:
- optionalDependencies:
- fsevents: 2.3.3
-
- rollup@4.34.6:
- dependencies:
- '@types/estree': 1.0.6
- optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.34.6
- '@rollup/rollup-android-arm64': 4.34.6
- '@rollup/rollup-darwin-arm64': 4.34.6
- '@rollup/rollup-darwin-x64': 4.34.6
- '@rollup/rollup-freebsd-arm64': 4.34.6
- '@rollup/rollup-freebsd-x64': 4.34.6
- '@rollup/rollup-linux-arm-gnueabihf': 4.34.6
- '@rollup/rollup-linux-arm-musleabihf': 4.34.6
- '@rollup/rollup-linux-arm64-gnu': 4.34.6
- '@rollup/rollup-linux-arm64-musl': 4.34.6
- '@rollup/rollup-linux-loongarch64-gnu': 4.34.6
- '@rollup/rollup-linux-powerpc64le-gnu': 4.34.6
- '@rollup/rollup-linux-riscv64-gnu': 4.34.6
- '@rollup/rollup-linux-s390x-gnu': 4.34.6
- '@rollup/rollup-linux-x64-gnu': 4.34.6
- '@rollup/rollup-linux-x64-musl': 4.34.6
- '@rollup/rollup-win32-arm64-msvc': 4.34.6
- '@rollup/rollup-win32-ia32-msvc': 4.34.6
- '@rollup/rollup-win32-x64-msvc': 4.34.6
- fsevents: 2.3.3
-
- run-async@2.4.1: {}
-
- run-parallel@1.2.0:
- dependencies:
- queue-microtask: 1.2.3
-
- rw@1.3.3: {}
-
- rxjs@7.8.2:
- dependencies:
- tslib: 2.8.1
-
- sade@1.8.1:
- dependencies:
- mri: 1.2.0
-
- safe-buffer@5.2.1: {}
-
- safer-buffer@2.1.2: {}
-
- semver@7.7.1: {}
-
- serialize-to-js@3.1.2: {}
-
- set-cookie-parser@2.7.1: {}
-
- shebang-command@2.0.0:
- dependencies:
- shebang-regex: 3.0.0
-
- shebang-regex@3.0.0: {}
-
- shiki@0.14.7:
- dependencies:
- ansi-sequence-parser: 1.1.3
- jsonc-parser: 3.3.1
- vscode-oniguruma: 1.7.0
- vscode-textmate: 8.0.0
-
- siginfo@2.0.0: {}
-
- signal-exit@3.0.7: {}
-
- signal-exit@4.1.0: {}
-
- sirv@2.0.4:
- dependencies:
- '@polka/url': 1.0.0-next.28
- mrmime: 2.0.0
- totalist: 3.0.1
-
- sirv@3.0.0:
- dependencies:
- '@polka/url': 1.0.0-next.28
- mrmime: 2.0.0
- totalist: 3.0.1
-
- slash@3.0.0: {}
-
- slice-ansi@5.0.0:
- dependencies:
- ansi-styles: 6.2.1
- is-fullwidth-code-point: 4.0.0
-
- slice-ansi@7.1.0:
- dependencies:
- ansi-styles: 6.2.1
- is-fullwidth-code-point: 5.0.0
-
- source-map-js@1.2.1: {}
-
- source-map@0.6.1: {}
-
- source-map@0.8.0-beta.0:
- dependencies:
- whatwg-url: 7.1.0
-
- spawndamnit@3.0.1:
- dependencies:
- cross-spawn: 7.0.6
- signal-exit: 4.1.0
-
- sprintf-js@1.0.3: {}
-
- sql.js@1.12.0: {}
-
- stackback@0.0.2: {}
-
- std-env@3.8.0: {}
-
- string-argv@0.3.2: {}
-
- string-width@4.2.3:
- dependencies:
- emoji-regex: 8.0.0
- is-fullwidth-code-point: 3.0.0
- strip-ansi: 6.0.1
-
- string-width@5.1.2:
- dependencies:
- eastasianwidth: 0.2.0
- emoji-regex: 9.2.2
- strip-ansi: 7.1.0
-
- string-width@7.2.0:
- dependencies:
- emoji-regex: 10.4.0
- get-east-asian-width: 1.3.0
- strip-ansi: 7.1.0
-
- string_decoder@1.3.0:
- dependencies:
- safe-buffer: 5.2.1
-
- strip-ansi@6.0.1:
- dependencies:
- ansi-regex: 5.0.1
-
- strip-ansi@7.1.0:
- dependencies:
- ansi-regex: 6.1.0
-
- strip-bom@3.0.0: {}
-
- strip-final-newline@2.0.0: {}
-
- strip-final-newline@3.0.0: {}
-
- strip-json-comments@3.1.1: {}
-
- strip-literal@1.3.0:
- dependencies:
- acorn: 8.14.0
-
- sucrase@3.35.0:
- dependencies:
- '@jridgewell/gen-mapping': 0.3.8
- commander: 4.1.1
- glob: 10.4.5
- lines-and-columns: 1.2.4
- mz: 2.7.0
- pirates: 4.0.6
- ts-interface-checker: 0.1.13
-
- supercluster@8.0.1:
- dependencies:
- kdbush: 4.0.2
-
- supports-color@7.2.0:
- dependencies:
- has-flag: 4.0.0
-
- supports-color@8.1.1:
- dependencies:
- has-flag: 4.0.0
-
- supports-preserve-symlinks-flag@1.0.0: {}
-
- svelte-check@4.1.4(picomatch@4.0.2)(svelte@5.19.9)(typescript@5.7.3):
- dependencies:
- '@jridgewell/trace-mapping': 0.3.25
- chokidar: 4.0.3
- fdir: 6.4.3(picomatch@4.0.2)
- picocolors: 1.1.1
- sade: 1.8.1
- svelte: 5.19.9
- typescript: 5.7.3
- transitivePeerDependencies:
- - picomatch
-
- svelte-eslint-parser@0.43.0(svelte@5.19.9):
- dependencies:
- eslint-scope: 7.2.2
- eslint-visitor-keys: 3.4.3
- espree: 9.6.1
- postcss: 8.5.1
- postcss-scss: 4.0.9(postcss@8.5.1)
- optionalDependencies:
- svelte: 5.19.9
-
- svelte-hmr@0.16.0(svelte@5.19.9):
- dependencies:
- svelte: 5.19.9
-
- svelte-maplibre@1.0.0-next.12(@deck.gl/core@9.1.0)(@deck.gl/layers@9.1.0(@deck.gl/core@9.1.0)(@loaders.gl/core@4.3.3)(@luma.gl/core@9.1.0)(@luma.gl/engine@9.1.0(@luma.gl/core@9.1.0)(@luma.gl/shadertools@9.1.0(@luma.gl/core@9.1.0))))(@deck.gl/mapbox@9.1.0(@deck.gl/core@9.1.0)(@luma.gl/core@9.1.0))(svelte@5.19.9):
- dependencies:
- d3-geo: 3.1.1
- dequal: 2.0.3
- just-compare: 2.3.0
- maplibre-gl: 5.1.0
- pmtiles: 3.2.1
- svelte: 5.19.9
- optionalDependencies:
- '@deck.gl/core': 9.1.0
- '@deck.gl/layers': 9.1.0(@deck.gl/core@9.1.0)(@loaders.gl/core@4.3.3)(@luma.gl/core@9.1.0)(@luma.gl/engine@9.1.0(@luma.gl/core@9.1.0)(@luma.gl/shadertools@9.1.0(@luma.gl/core@9.1.0)))
- '@deck.gl/mapbox': 9.1.0(@deck.gl/core@9.1.0)(@luma.gl/core@9.1.0)
-
- svelte2tsx@0.7.34(svelte@5.19.9)(typescript@5.7.3):
- dependencies:
- dedent-js: 1.0.1
- pascal-case: 3.1.2
- svelte: 5.19.9
- typescript: 5.7.3
-
- svelte@5.19.9:
- dependencies:
- '@ampproject/remapping': 2.3.0
- '@jridgewell/sourcemap-codec': 1.5.0
- '@types/estree': 1.0.6
- acorn: 8.14.0
- acorn-typescript: 1.4.13(acorn@8.14.0)
- aria-query: 5.3.2
- axobject-query: 4.1.0
- clsx: 2.1.1
- esm-env: 1.2.2
- esrap: 1.4.3
- is-reference: 3.0.3
- locate-character: 3.0.0
- magic-string: 0.30.17
- zimmerframe: 1.1.2
-
- sveltekit-i18n@2.4.2(svelte@5.19.9):
- dependencies:
- '@sveltekit-i18n/base': 1.3.7(svelte@5.19.9)
- '@sveltekit-i18n/parser-default': 1.1.1
- svelte: 5.19.9
-
- sveltekit-search-params@3.0.0(@sveltejs/kit@2.17.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)):
- dependencies:
- '@sveltejs/kit': 2.17.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)))(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0))
- '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@5.19.9)(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0))
- svelte: 5.19.9
- transitivePeerDependencies:
- - supports-color
- - vite
-
- taffydb@https://codeload.github.com/hegemonic/taffydb/tar.gz/e41b5e179e197bb85c5fb887b707672b1e5ca079: {}
-
- tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3)):
- dependencies:
- '@alloc/quick-lru': 5.2.0
- arg: 5.0.2
- chokidar: 3.6.0
- didyoumean: 1.2.2
- dlv: 1.1.3
- fast-glob: 3.3.3
- glob-parent: 6.0.2
- is-glob: 4.0.3
- jiti: 1.21.7
- lilconfig: 3.1.3
- micromatch: 4.0.8
- normalize-path: 3.0.0
- object-hash: 3.0.0
- picocolors: 1.1.1
- postcss: 8.5.1
- postcss-import: 15.1.0(postcss@8.5.1)
- postcss-js: 4.0.1(postcss@8.5.1)
- postcss-load-config: 4.0.2(postcss@8.5.1)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3))
- postcss-nested: 6.2.0(postcss@8.5.1)
- postcss-selector-parser: 6.1.2
- resolve: 1.22.10
- sucrase: 3.35.0
- transitivePeerDependencies:
- - ts-node
-
- tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.14.0)(typescript@5.7.3)):
- dependencies:
- '@alloc/quick-lru': 5.2.0
- arg: 5.0.2
- chokidar: 3.6.0
- didyoumean: 1.2.2
- dlv: 1.1.3
- fast-glob: 3.3.3
- glob-parent: 6.0.2
- is-glob: 4.0.3
- jiti: 1.21.7
- lilconfig: 3.1.3
- micromatch: 4.0.8
- normalize-path: 3.0.0
- object-hash: 3.0.0
- picocolors: 1.1.1
- postcss: 8.5.1
- postcss-import: 15.1.0(postcss@8.5.1)
- postcss-js: 4.0.1(postcss@8.5.1)
- postcss-load-config: 4.0.2(postcss@8.5.1)(ts-node@10.9.2(@types/node@22.14.0)(typescript@5.7.3))
- postcss-nested: 6.2.0(postcss@8.5.1)
- postcss-selector-parser: 6.1.2
- resolve: 1.22.10
- sucrase: 3.35.0
- transitivePeerDependencies:
- - ts-node
-
- tar@7.4.3:
- dependencies:
- '@isaacs/fs-minipass': 4.0.1
- chownr: 3.0.0
- minipass: 7.1.2
- minizlib: 3.0.1
- mkdirp: 3.0.1
- yallist: 5.0.0
-
- term-size@2.2.1: {}
-
- test-exclude@6.0.0:
- dependencies:
- '@istanbuljs/schema': 0.1.3
- glob: 7.2.3
- minimatch: 3.1.2
-
- thenify-all@1.6.0:
- dependencies:
- thenify: 3.3.1
-
- thenify@3.3.1:
- dependencies:
- any-promise: 1.3.0
-
- threads@1.7.0:
- dependencies:
- callsites: 3.1.0
- debug: 4.4.0(supports-color@8.1.1)
- is-observable: 2.1.0
- observable-fns: 0.6.1
- optionalDependencies:
- tiny-worker: 2.3.0
- transitivePeerDependencies:
- - supports-color
-
- through@2.3.8: {}
-
- tiny-worker@2.3.0:
- dependencies:
- esm: 3.2.25
- optional: true
-
- tinybench@2.9.0: {}
-
- tinyexec@0.3.2: {}
-
- tinypool@0.8.4: {}
-
- tinypool@1.0.2: {}
-
- tinyqueue@3.0.0: {}
-
- tinyrainbow@1.2.0: {}
-
- tinyspy@2.2.1: {}
-
- tinyspy@3.0.2: {}
-
- tmp@0.0.33:
- dependencies:
- os-tmpdir: 1.0.2
-
- to-regex-range@5.0.1:
- dependencies:
- is-number: 7.0.0
-
- totalist@3.0.1: {}
-
- tr46@0.0.3: {}
-
- tr46@1.0.1:
- dependencies:
- punycode: 2.3.1
-
- tree-kill@1.2.2: {}
-
- ts-api-utils@1.4.3(typescript@5.7.3):
- dependencies:
- typescript: 5.7.3
-
- ts-api-utils@2.0.1(typescript@5.7.3):
- dependencies:
- typescript: 5.7.3
-
- ts-interface-checker@0.1.13: {}
-
- ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3):
- dependencies:
- '@cspotcode/source-map-support': 0.8.1
- '@tsconfig/node10': 1.0.11
- '@tsconfig/node12': 1.0.11
- '@tsconfig/node14': 1.0.3
- '@tsconfig/node16': 1.0.4
- '@types/node': 22.13.1
- acorn: 8.14.0
- acorn-walk: 8.3.4
- arg: 4.1.3
- create-require: 1.1.1
- diff: 4.0.2
- make-error: 1.3.6
- typescript: 5.7.3
- v8-compile-cache-lib: 3.0.1
- yn: 3.1.1
- optional: true
-
- ts-node@10.9.2(@types/node@22.14.0)(typescript@5.7.3):
- dependencies:
- '@cspotcode/source-map-support': 0.8.1
- '@tsconfig/node10': 1.0.11
- '@tsconfig/node12': 1.0.11
- '@tsconfig/node14': 1.0.3
- '@tsconfig/node16': 1.0.4
- '@types/node': 22.14.0
- acorn: 8.14.0
- acorn-walk: 8.3.4
- arg: 4.1.3
- create-require: 1.1.1
- diff: 4.0.2
- make-error: 1.3.6
- typescript: 5.7.3
- v8-compile-cache-lib: 3.0.1
- yn: 3.1.1
- optional: true
-
- ts-to-zod@3.15.0:
- dependencies:
- '@oclif/core': 4.2.10
- '@typescript/vfs': 1.6.1(typescript@5.7.3)
- case: 1.6.3
- chokidar: 3.6.0
- fs-extra: 11.3.0
- inquirer: 8.2.6
- lodash: 4.17.21
- ora: 5.4.1
- prettier: 3.0.3
- rxjs: 7.8.2
- slash: 3.0.0
- threads: 1.7.0
- tslib: 2.8.1
- tsutils: 3.21.0(typescript@5.7.3)
- typescript: 5.7.3
- zod: 3.24.1
- transitivePeerDependencies:
- - supports-color
-
- tsconfck@2.1.2(typescript@5.7.3):
- optionalDependencies:
- typescript: 5.7.3
-
- tsdoc@0.0.4:
- dependencies:
- jsdoc: 3.2.0
- optimist: 0.6.0
-
- tseep@1.3.1: {}
-
- tslib@1.14.1: {}
-
- tslib@2.8.1: {}
-
- tstl@2.5.16: {}
-
- tsup@6.7.0(postcss@8.5.1)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3))(typescript@5.7.3):
- dependencies:
- bundle-require: 4.2.1(esbuild@0.17.19)
- cac: 6.7.14
- chokidar: 3.6.0
- debug: 4.4.0(supports-color@8.1.1)
- esbuild: 0.17.19
- execa: 5.1.1
- globby: 11.1.0
- joycon: 3.1.1
- postcss-load-config: 3.1.4(postcss@8.5.1)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3))
- resolve-from: 5.0.0
- rollup: 3.29.5
- source-map: 0.8.0-beta.0
- sucrase: 3.35.0
- tree-kill: 1.2.2
- optionalDependencies:
- postcss: 8.5.1
- typescript: 5.7.3
- transitivePeerDependencies:
- - supports-color
- - ts-node
-
- tsup@6.7.0(postcss@8.5.1)(ts-node@10.9.2(@types/node@22.14.0)(typescript@5.7.3))(typescript@5.7.3):
- dependencies:
- bundle-require: 4.2.1(esbuild@0.17.19)
- cac: 6.7.14
- chokidar: 3.6.0
- debug: 4.4.0(supports-color@8.1.1)
- esbuild: 0.17.19
- execa: 5.1.1
- globby: 11.1.0
- joycon: 3.1.1
- postcss-load-config: 3.1.4(postcss@8.5.1)(ts-node@10.9.2(@types/node@22.14.0)(typescript@5.7.3))
- resolve-from: 5.0.0
- rollup: 3.29.5
- source-map: 0.8.0-beta.0
- sucrase: 3.35.0
- tree-kill: 1.2.2
- optionalDependencies:
- postcss: 8.5.1
- typescript: 5.7.3
- transitivePeerDependencies:
- - supports-color
- - ts-node
-
- tsutils@3.21.0(typescript@5.7.3):
- dependencies:
- tslib: 1.14.1
- typescript: 5.7.3
-
- turbo-darwin-64@2.4.0:
- optional: true
-
- turbo-darwin-arm64@2.4.0:
- optional: true
-
- turbo-linux-64@2.4.0:
- optional: true
-
- turbo-linux-arm64@2.4.0:
- optional: true
-
- turbo-windows-64@2.4.0:
- optional: true
-
- turbo-windows-arm64@2.4.0:
- optional: true
-
- turbo@2.4.0:
- optionalDependencies:
- turbo-darwin-64: 2.4.0
- turbo-darwin-arm64: 2.4.0
- turbo-linux-64: 2.4.0
- turbo-linux-arm64: 2.4.0
- turbo-windows-64: 2.4.0
- turbo-windows-arm64: 2.4.0
-
- type-check@0.4.0:
- dependencies:
- prelude-ls: 1.2.1
-
- type-detect@4.1.0: {}
-
- type-fest@0.21.3: {}
-
- type@2.7.3: {}
-
- typedarray-to-buffer@3.1.5:
- dependencies:
- is-typedarray: 1.0.0
-
- typedoc@0.25.13(typescript@5.7.3):
- dependencies:
- lunr: 2.3.9
- marked: 4.3.0
- minimatch: 9.0.5
- shiki: 0.14.7
- typescript: 5.7.3
-
- typescript-eslint@8.23.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3):
- dependencies:
- '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3))(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)
- '@typescript-eslint/parser': 8.23.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)
- '@typescript-eslint/utils': 8.23.0(eslint@9.20.0(jiti@1.21.7))(typescript@5.7.3)
- eslint: 9.20.0(jiti@1.21.7)
- typescript: 5.7.3
- transitivePeerDependencies:
- - supports-color
-
- typescript-lru-cache@2.0.0: {}
-
- typescript@5.7.3: {}
-
- ufo@1.5.4: {}
-
- underscore@1.4.2: {}
-
- undici-types@6.20.0: {}
-
- undici-types@6.21.0: {}
-
- universalify@0.1.2: {}
-
- universalify@2.0.1: {}
-
- update-browserslist-db@1.1.2(browserslist@4.24.4):
- dependencies:
- browserslist: 4.24.4
- escalade: 3.2.0
- picocolors: 1.1.1
-
- uri-js@4.4.1:
- dependencies:
- punycode: 2.3.1
-
- utf-8-validate@5.0.10:
- dependencies:
- node-gyp-build: 4.8.4
-
- utf8-buffer@1.0.0: {}
-
- util-deprecate@1.0.2: {}
-
- uuid@10.0.0: {}
-
- v8-compile-cache-lib@3.0.1:
- optional: true
-
- v8-to-istanbul@9.3.0:
- dependencies:
- '@jridgewell/trace-mapping': 0.3.25
- '@types/istanbul-lib-coverage': 2.0.6
- convert-source-map: 2.0.0
-
- vite-node@1.0.4(@types/node@22.14.0):
- dependencies:
- cac: 6.7.14
- debug: 4.4.0(supports-color@8.1.1)
- pathe: 1.1.2
- picocolors: 1.1.1
- vite: 5.4.14(@types/node@22.14.0)
- transitivePeerDependencies:
- - '@types/node'
- - less
- - lightningcss
- - sass
- - sass-embedded
- - stylus
- - sugarss
- - supports-color
- - terser
-
- vite-node@2.1.9(@types/node@22.13.1):
- dependencies:
- cac: 6.7.14
- debug: 4.4.0(supports-color@8.1.1)
- es-module-lexer: 1.6.0
- pathe: 1.1.2
- vite: 5.4.14(@types/node@22.13.1)
- transitivePeerDependencies:
- - '@types/node'
- - less
- - lightningcss
- - sass
- - sass-embedded
- - stylus
- - sugarss
- - supports-color
- - terser
-
- vite-tsconfig-paths@4.2.2(typescript@5.7.3)(vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0)):
- dependencies:
- debug: 4.4.0(supports-color@8.1.1)
- globrex: 0.1.2
- tsconfck: 2.1.2(typescript@5.7.3)
- optionalDependencies:
- vite: 6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0)
- transitivePeerDependencies:
- - supports-color
- - typescript
-
- vite@5.4.14(@types/node@22.13.1):
- dependencies:
- esbuild: 0.21.5
- postcss: 8.5.1
- rollup: 4.34.6
- optionalDependencies:
- '@types/node': 22.13.1
- fsevents: 2.3.3
-
- vite@5.4.14(@types/node@22.14.0):
- dependencies:
- esbuild: 0.21.5
- postcss: 8.5.1
- rollup: 4.34.6
- optionalDependencies:
- '@types/node': 22.14.0
- fsevents: 2.3.3
-
- vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0):
- dependencies:
- esbuild: 0.24.2
- postcss: 8.5.1
- rollup: 4.34.6
- optionalDependencies:
- '@types/node': 22.13.1
- fsevents: 2.3.3
- jiti: 1.21.7
- yaml: 2.7.0
-
- vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0):
- dependencies:
- esbuild: 0.24.2
- postcss: 8.5.1
- rollup: 4.34.6
- optionalDependencies:
- '@types/node': 22.14.0
- fsevents: 2.3.3
- jiti: 1.21.7
- yaml: 2.7.0
-
- vitefu@0.2.5(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)):
- optionalDependencies:
- vite: 6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)
-
- vitefu@1.0.5(vite@5.4.14(@types/node@22.13.1)):
- optionalDependencies:
- vite: 5.4.14(@types/node@22.13.1)
-
- vitefu@1.0.5(vite@6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)):
- optionalDependencies:
- vite: 6.1.0(@types/node@22.13.1)(jiti@1.21.7)(yaml@2.7.0)
-
- vitefu@1.0.5(vite@6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0)):
- optionalDependencies:
- vite: 6.1.0(@types/node@22.14.0)(jiti@1.21.7)(yaml@2.7.0)
-
- vitest@1.0.4(@types/node@22.14.0)(@vitest/ui@1.0.4):
- dependencies:
- '@vitest/expect': 1.0.4
- '@vitest/runner': 1.0.4
- '@vitest/snapshot': 1.0.4
- '@vitest/spy': 1.0.4
- '@vitest/utils': 1.0.4
- acorn-walk: 8.3.4
- cac: 6.7.14
- chai: 4.5.0
- debug: 4.4.0(supports-color@8.1.1)
- execa: 8.0.1
- local-pkg: 0.5.1
- magic-string: 0.30.17
- pathe: 1.1.2
- picocolors: 1.1.1
- std-env: 3.8.0
- strip-literal: 1.3.0
- tinybench: 2.9.0
- tinypool: 0.8.4
- vite: 5.4.14(@types/node@22.14.0)
- vite-node: 1.0.4(@types/node@22.14.0)
- why-is-node-running: 2.3.0
- optionalDependencies:
- '@types/node': 22.14.0
- '@vitest/ui': 1.0.4(vitest@1.0.4)
- transitivePeerDependencies:
- - less
- - lightningcss
- - sass
- - sass-embedded
- - stylus
- - sugarss
- - supports-color
- - terser
-
- vitest@2.1.9(@types/node@22.13.1):
- dependencies:
- '@vitest/expect': 2.1.9
- '@vitest/mocker': 2.1.9(vite@5.4.14(@types/node@22.13.1))
- '@vitest/pretty-format': 2.1.9
- '@vitest/runner': 2.1.9
- '@vitest/snapshot': 2.1.9
- '@vitest/spy': 2.1.9
- '@vitest/utils': 2.1.9
- chai: 5.1.2
- debug: 4.4.0(supports-color@8.1.1)
- expect-type: 1.1.0
- magic-string: 0.30.17
- pathe: 1.1.2
- std-env: 3.8.0
- tinybench: 2.9.0
- tinyexec: 0.3.2
- tinypool: 1.0.2
- tinyrainbow: 1.2.0
- vite: 5.4.14(@types/node@22.13.1)
- vite-node: 2.1.9(@types/node@22.13.1)
- why-is-node-running: 2.3.0
- optionalDependencies:
- '@types/node': 22.13.1
- transitivePeerDependencies:
- - less
- - lightningcss
- - msw
- - sass
- - sass-embedded
- - stylus
- - sugarss
- - supports-color
- - terser
-
- vscode-oniguruma@1.7.0: {}
-
- vscode-textmate@8.0.0: {}
-
- vt-pbf@3.1.3:
- dependencies:
- '@mapbox/point-geometry': 0.1.0
- '@mapbox/vector-tile': 1.3.1
- pbf: 3.3.0
-
- wcwidth@1.0.1:
- dependencies:
- defaults: 1.0.4
-
- webidl-conversions@3.0.1: {}
-
- webidl-conversions@4.0.2: {}
-
- websocket-polyfill@0.0.3:
- dependencies:
- tstl: 2.5.16
- websocket: 1.0.35
- transitivePeerDependencies:
- - supports-color
-
- websocket@1.0.35:
- dependencies:
- bufferutil: 4.0.9
- debug: 2.6.9
- es5-ext: 0.10.64
- typedarray-to-buffer: 3.1.5
- utf-8-validate: 5.0.10
- yaeti: 0.0.6
- transitivePeerDependencies:
- - supports-color
-
- wgs84@0.0.0: {}
-
- wgsl_reflect@1.0.17: {}
-
- whatwg-url@5.0.0:
- dependencies:
- tr46: 0.0.3
- webidl-conversions: 3.0.1
-
- whatwg-url@7.1.0:
- dependencies:
- lodash.sortby: 4.7.0
- tr46: 1.0.1
- webidl-conversions: 4.0.2
-
- which@2.0.2:
- dependencies:
- isexe: 2.0.0
-
- which@4.0.0:
- dependencies:
- isexe: 3.1.1
-
- why-is-node-running@2.3.0:
- dependencies:
- siginfo: 2.0.0
- stackback: 0.0.2
-
- widest-line@3.1.0:
- dependencies:
- string-width: 4.2.3
-
- word-wrap@1.2.5: {}
-
- wordwrap@0.0.3: {}
-
- wordwrap@1.0.0: {}
-
- wrap-ansi@6.2.0:
- dependencies:
- ansi-styles: 4.3.0
- string-width: 4.2.3
- strip-ansi: 6.0.1
-
- wrap-ansi@7.0.0:
- dependencies:
- ansi-styles: 4.3.0
- string-width: 4.2.3
- strip-ansi: 6.0.1
-
- wrap-ansi@8.1.0:
- dependencies:
- ansi-styles: 6.2.1
- string-width: 5.1.2
- strip-ansi: 7.1.0
-
- wrap-ansi@9.0.0:
- dependencies:
- ansi-styles: 6.2.1
- string-width: 7.2.0
- strip-ansi: 7.1.0
-
- wrappy@1.0.2: {}
-
- wrench@1.3.9: {}
-
- yaeti@0.0.6: {}
-
- yallist@5.0.0: {}
-
- yaml@1.10.2: {}
-
- yaml@2.7.0: {}
-
- yn@3.1.1:
- optional: true
-
- yocto-queue@0.1.0: {}
-
- yocto-queue@1.2.1: {}
-
- zimmerframe@1.1.2: {}
-
- zod@3.24.1: {}
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
@@ -1,5 +0,0 @@
-packages:
- - 'app'
- - 'packages/*'
- - 'crates/radroots-common/bindings/ts'
- - '../lib/plugins-workspace/plugins/*'
diff --git a/turbo.json b/turbo.json
@@ -1,12 +1,8 @@
{
- "$schema": "./node_modules/turbo/schema.json",
+ "$schema": "https://turborepo.com/schema.json",
"ui": "tui",
- "globalEnv": [],
"tasks": {
"build": {
- "env": [
- "RADROOTS_APP_PORT"
- ],
"dependsOn": [
"^build"
],
@@ -15,9 +11,8 @@
".env*"
],
"outputs": [
- ".svelte-kit/**",
- "dist",
- "dist-js"
+ "dist/**",
+ ".svelte-kit/**"
]
},
"lint": {
@@ -33,6 +28,18 @@
"dev": {
"cache": false,
"persistent": true
+ },
+ "app#build": {
+ "dependsOn": [
+ "@radroots/apps-lib#build",
+ "@radroots/apps-lib-pwa#build",
+ "@radroots/client#build",
+ "@radroots/geocoder#build",
+ "@radroots/locales#build",
+ "@radroots/themes#build",
+ "@radroots/utils#build",
+ "@radroots/utils-nostr#build"
+ ]
}
}
}
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
@@ -0,0 +1,6167 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@apideck/better-ajv-errors@^0.3.1":
+ version "0.3.6"
+ resolved "https://registry.yarnpkg.com/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz#957d4c28e886a64a8141f7522783be65733ff097"
+ integrity sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==
+ dependencies:
+ json-schema "^0.4.0"
+ jsonpointer "^5.0.0"
+ leven "^3.1.0"
+
+"@babel/code-frame@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be"
+ integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.27.1"
+ js-tokens "^4.0.0"
+ picocolors "^1.1.1"
+
+"@babel/compat-data@^7.27.2", "@babel/compat-data@^7.27.7", "@babel/compat-data@^7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.5.tgz#a8a4962e1567121ac0b3b487f52107443b455c7f"
+ integrity sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==
+
+"@babel/core@^7.24.4":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.5.tgz#4c81b35e51e1b734f510c99b07dfbc7bbbb48f7e"
+ integrity sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==
+ dependencies:
+ "@babel/code-frame" "^7.27.1"
+ "@babel/generator" "^7.28.5"
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-module-transforms" "^7.28.3"
+ "@babel/helpers" "^7.28.4"
+ "@babel/parser" "^7.28.5"
+ "@babel/template" "^7.27.2"
+ "@babel/traverse" "^7.28.5"
+ "@babel/types" "^7.28.5"
+ "@jridgewell/remapping" "^2.3.5"
+ convert-source-map "^2.0.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.2"
+ json5 "^2.2.3"
+ semver "^6.3.1"
+
+"@babel/generator@^7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.5.tgz#712722d5e50f44d07bc7ac9fe84438742dd61298"
+ integrity sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==
+ dependencies:
+ "@babel/parser" "^7.28.5"
+ "@babel/types" "^7.28.5"
+ "@jridgewell/gen-mapping" "^0.3.12"
+ "@jridgewell/trace-mapping" "^0.3.28"
+ jsesc "^3.0.2"
+
+"@babel/helper-annotate-as-pure@^7.27.1", "@babel/helper-annotate-as-pure@^7.27.3":
+ version "7.27.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz#f31fd86b915fc4daf1f3ac6976c59be7084ed9c5"
+ integrity sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==
+ dependencies:
+ "@babel/types" "^7.27.3"
+
+"@babel/helper-compilation-targets@^7.27.1", "@babel/helper-compilation-targets@^7.27.2":
+ version "7.27.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d"
+ integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==
+ dependencies:
+ "@babel/compat-data" "^7.27.2"
+ "@babel/helper-validator-option" "^7.27.1"
+ browserslist "^4.24.0"
+ lru-cache "^5.1.1"
+ semver "^6.3.1"
+
+"@babel/helper-create-class-features-plugin@^7.27.1", "@babel/helper-create-class-features-plugin@^7.28.3":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.5.tgz#472d0c28028850968979ad89f173594a6995da46"
+ integrity sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.3"
+ "@babel/helper-member-expression-to-functions" "^7.28.5"
+ "@babel/helper-optimise-call-expression" "^7.27.1"
+ "@babel/helper-replace-supers" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+ "@babel/traverse" "^7.28.5"
+ semver "^6.3.1"
+
+"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.27.1":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz#7c1ddd64b2065c7f78034b25b43346a7e19ed997"
+ integrity sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.3"
+ regexpu-core "^6.3.1"
+ semver "^6.3.1"
+
+"@babel/helper-define-polyfill-provider@^0.6.5":
+ version "0.6.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz#742ccf1cb003c07b48859fc9fa2c1bbe40e5f753"
+ integrity sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ debug "^4.4.1"
+ lodash.debounce "^4.0.8"
+ resolve "^1.22.10"
+
+"@babel/helper-globals@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674"
+ integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==
+
+"@babel/helper-member-expression-to-functions@^7.27.1", "@babel/helper-member-expression-to-functions@^7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz#f3e07a10be37ed7a63461c63e6929575945a6150"
+ integrity sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==
+ dependencies:
+ "@babel/traverse" "^7.28.5"
+ "@babel/types" "^7.28.5"
+
+"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204"
+ integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==
+ dependencies:
+ "@babel/traverse" "^7.27.1"
+ "@babel/types" "^7.27.1"
+
+"@babel/helper-module-transforms@^7.27.1", "@babel/helper-module-transforms@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz#a2b37d3da3b2344fe085dab234426f2b9a2fa5f6"
+ integrity sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==
+ dependencies:
+ "@babel/helper-module-imports" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.27.1"
+ "@babel/traverse" "^7.28.3"
+
+"@babel/helper-optimise-call-expression@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz#c65221b61a643f3e62705e5dd2b5f115e35f9200"
+ integrity sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==
+ dependencies:
+ "@babel/types" "^7.27.1"
+
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c"
+ integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==
+
+"@babel/helper-remap-async-to-generator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz#4601d5c7ce2eb2aea58328d43725523fcd362ce6"
+ integrity sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ "@babel/helper-wrap-function" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+
+"@babel/helper-replace-supers@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz#b1ed2d634ce3bdb730e4b52de30f8cccfd692bc0"
+ integrity sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==
+ dependencies:
+ "@babel/helper-member-expression-to-functions" "^7.27.1"
+ "@babel/helper-optimise-call-expression" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+
+"@babel/helper-skip-transparent-expression-wrappers@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz#62bb91b3abba8c7f1fec0252d9dbea11b3ee7a56"
+ integrity sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==
+ dependencies:
+ "@babel/traverse" "^7.27.1"
+ "@babel/types" "^7.27.1"
+
+"@babel/helper-string-parser@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687"
+ integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==
+
+"@babel/helper-validator-identifier@^7.27.1", "@babel/helper-validator-identifier@^7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4"
+ integrity sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==
+
+"@babel/helper-validator-option@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f"
+ integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==
+
+"@babel/helper-wrap-function@^7.27.1":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz#fe4872092bc1438ffd0ce579e6f699609f9d0a7a"
+ integrity sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==
+ dependencies:
+ "@babel/template" "^7.27.2"
+ "@babel/traverse" "^7.28.3"
+ "@babel/types" "^7.28.2"
+
+"@babel/helpers@^7.28.4":
+ version "7.28.4"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.4.tgz#fe07274742e95bdf7cf1443593eeb8926ab63827"
+ integrity sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==
+ dependencies:
+ "@babel/template" "^7.27.2"
+ "@babel/types" "^7.28.4"
+
+"@babel/parser@^7.27.2", "@babel/parser@^7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.5.tgz#0b0225ee90362f030efd644e8034c99468893b08"
+ integrity sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==
+ dependencies:
+ "@babel/types" "^7.28.5"
+
+"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz#fbde57974707bbfa0376d34d425ff4fa6c732421"
+ integrity sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/traverse" "^7.28.5"
+
+"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz#43f70a6d7efd52370eefbdf55ae03d91b293856d"
+ integrity sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz#beb623bd573b8b6f3047bd04c32506adc3e58a72"
+ integrity sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz#e134a5479eb2ba9c02714e8c1ebf1ec9076124fd"
+ integrity sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+ "@babel/plugin-transform-optional-chaining" "^7.27.1"
+
+"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz#373f6e2de0016f73caf8f27004f61d167743742a"
+ integrity sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/traverse" "^7.28.3"
+
+"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2":
+ version "7.21.0-placeholder-for-preset-env.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703"
+ integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==
+
+"@babel/plugin-syntax-import-assertions@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz#88894aefd2b03b5ee6ad1562a7c8e1587496aecd"
+ integrity sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-syntax-import-attributes@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz#34c017d54496f9b11b61474e7ea3dfd5563ffe07"
+ integrity sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-syntax-unicode-sets-regex@^7.18.6":
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357"
+ integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-transform-arrow-functions@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz#6e2061067ba3ab0266d834a9f94811196f2aba9a"
+ integrity sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-async-generator-functions@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz#1276e6c7285ab2cd1eccb0bc7356b7a69ff842c2"
+ integrity sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-remap-async-to-generator" "^7.27.1"
+ "@babel/traverse" "^7.28.0"
+
+"@babel/plugin-transform-async-to-generator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz#9a93893b9379b39466c74474f55af03de78c66e7"
+ integrity sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==
+ dependencies:
+ "@babel/helper-module-imports" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-remap-async-to-generator" "^7.27.1"
+
+"@babel/plugin-transform-block-scoped-functions@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz#558a9d6e24cf72802dd3b62a4b51e0d62c0f57f9"
+ integrity sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-block-scoping@^7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.5.tgz#e0d3af63bd8c80de2e567e690a54e84d85eb16f6"
+ integrity sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-class-properties@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz#dd40a6a370dfd49d32362ae206ddaf2bb082a925"
+ integrity sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-class-static-block@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz#d1b8e69b54c9993bc558203e1f49bfc979bfd852"
+ integrity sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.28.3"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-classes@^7.28.4":
+ version "7.28.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.4.tgz#75d66175486788c56728a73424d67cbc7473495c"
+ integrity sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.3"
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-globals" "^7.28.0"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-replace-supers" "^7.27.1"
+ "@babel/traverse" "^7.28.4"
+
+"@babel/plugin-transform-computed-properties@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz#81662e78bf5e734a97982c2b7f0a793288ef3caa"
+ integrity sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/template" "^7.27.1"
+
+"@babel/plugin-transform-destructuring@^7.28.0", "@babel/plugin-transform-destructuring@^7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz#b8402764df96179a2070bb7b501a1586cf8ad7a7"
+ integrity sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/traverse" "^7.28.5"
+
+"@babel/plugin-transform-dotall-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz#aa6821de864c528b1fecf286f0a174e38e826f4d"
+ integrity sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-duplicate-keys@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz#f1fbf628ece18e12e7b32b175940e68358f546d1"
+ integrity sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz#5043854ca620a94149372e69030ff8cb6a9eb0ec"
+ integrity sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-dynamic-import@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz#4c78f35552ac0e06aa1f6e3c573d67695e8af5a4"
+ integrity sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-explicit-resource-management@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz#45be6211b778dbf4b9d54c4e8a2b42fa72e09a1a"
+ integrity sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/plugin-transform-destructuring" "^7.28.0"
+
+"@babel/plugin-transform-exponentiation-operator@^7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.5.tgz#7cc90a8170e83532676cfa505278e147056e94fe"
+ integrity sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-export-namespace-from@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz#71ca69d3471edd6daa711cf4dfc3400415df9c23"
+ integrity sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-for-of@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz#bc24f7080e9ff721b63a70ac7b2564ca15b6c40a"
+ integrity sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+
+"@babel/plugin-transform-function-name@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz#4d0bf307720e4dce6d7c30fcb1fd6ca77bdeb3a7"
+ integrity sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+
+"@babel/plugin-transform-json-strings@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz#a2e0ce6ef256376bd527f290da023983527a4f4c"
+ integrity sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-literals@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz#baaefa4d10a1d4206f9dcdda50d7d5827bb70b24"
+ integrity sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-logical-assignment-operators@^7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.5.tgz#d028fd6db8c081dee4abebc812c2325e24a85b0e"
+ integrity sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-member-expression-literals@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz#37b88ba594d852418e99536f5612f795f23aeaf9"
+ integrity sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-modules-amd@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz#a4145f9d87c2291fe2d05f994b65dba4e3e7196f"
+ integrity sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-modules-commonjs@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz#8e44ed37c2787ecc23bdc367f49977476614e832"
+ integrity sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-modules-systemjs@^7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.28.5.tgz#7439e592a92d7670dfcb95d0cbc04bd3e64801d2"
+ integrity sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.28.3"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.28.5"
+ "@babel/traverse" "^7.28.5"
+
+"@babel/plugin-transform-modules-umd@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz#63f2cf4f6dc15debc12f694e44714863d34cd334"
+ integrity sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-named-capturing-groups-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz#f32b8f7818d8fc0cc46ee20a8ef75f071af976e1"
+ integrity sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-new-target@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz#259c43939728cad1706ac17351b7e6a7bea1abeb"
+ integrity sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-nullish-coalescing-operator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz#4f9d3153bf6782d73dd42785a9d22d03197bc91d"
+ integrity sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-numeric-separator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz#614e0b15cc800e5997dadd9bd6ea524ed6c819c6"
+ integrity sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-object-rest-spread@^7.28.4":
+ version "7.28.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz#9ee1ceca80b3e6c4bac9247b2149e36958f7f98d"
+ integrity sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/plugin-transform-destructuring" "^7.28.0"
+ "@babel/plugin-transform-parameters" "^7.27.7"
+ "@babel/traverse" "^7.28.4"
+
+"@babel/plugin-transform-object-super@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz#1c932cd27bf3874c43a5cac4f43ebf970c9871b5"
+ integrity sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-replace-supers" "^7.27.1"
+
+"@babel/plugin-transform-optional-catch-binding@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz#84c7341ebde35ccd36b137e9e45866825072a30c"
+ integrity sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-optional-chaining@^7.27.1", "@babel/plugin-transform-optional-chaining@^7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.5.tgz#8238c785f9d5c1c515a90bf196efb50d075a4b26"
+ integrity sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+
+"@babel/plugin-transform-parameters@^7.27.7":
+ version "7.27.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz#1fd2febb7c74e7d21cf3b05f7aebc907940af53a"
+ integrity sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-private-methods@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz#fdacbab1c5ed81ec70dfdbb8b213d65da148b6af"
+ integrity sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-private-property-in-object@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz#4dbbef283b5b2f01a21e81e299f76e35f900fb11"
+ integrity sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ "@babel/helper-create-class-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-property-literals@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz#07eafd618800591e88073a0af1b940d9a42c6424"
+ integrity sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-regenerator@^7.28.4":
+ version "7.28.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz#9d3fa3bebb48ddd0091ce5729139cd99c67cea51"
+ integrity sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-regexp-modifiers@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz#df9ba5577c974e3f1449888b70b76169998a6d09"
+ integrity sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-reserved-words@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz#40fba4878ccbd1c56605a4479a3a891ac0274bb4"
+ integrity sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-shorthand-properties@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz#532abdacdec87bfee1e0ef8e2fcdee543fe32b90"
+ integrity sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-spread@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz#1a264d5fc12750918f50e3fe3e24e437178abb08"
+ integrity sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+
+"@babel/plugin-transform-sticky-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz#18984935d9d2296843a491d78a014939f7dcd280"
+ integrity sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-template-literals@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz#1a0eb35d8bb3e6efc06c9fd40eb0bcef548328b8"
+ integrity sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-typeof-symbol@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz#70e966bb492e03509cf37eafa6dcc3051f844369"
+ integrity sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-unicode-escapes@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz#3e3143f8438aef842de28816ece58780190cf806"
+ integrity sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-unicode-property-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz#bdfe2d3170c78c5691a3c3be934c8c0087525956"
+ integrity sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-unicode-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz#25948f5c395db15f609028e370667ed8bae9af97"
+ integrity sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-unicode-sets-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz#6ab706d10f801b5c72da8bb2548561fa04193cd1"
+ integrity sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/preset-env@^7.11.0":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.28.5.tgz#82dd159d1563f219a1ce94324b3071eb89e280b0"
+ integrity sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==
+ dependencies:
+ "@babel/compat-data" "^7.28.5"
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-validator-option" "^7.27.1"
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.28.5"
+ "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.27.1"
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.27.1"
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.27.1"
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.28.3"
+ "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2"
+ "@babel/plugin-syntax-import-assertions" "^7.27.1"
+ "@babel/plugin-syntax-import-attributes" "^7.27.1"
+ "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6"
+ "@babel/plugin-transform-arrow-functions" "^7.27.1"
+ "@babel/plugin-transform-async-generator-functions" "^7.28.0"
+ "@babel/plugin-transform-async-to-generator" "^7.27.1"
+ "@babel/plugin-transform-block-scoped-functions" "^7.27.1"
+ "@babel/plugin-transform-block-scoping" "^7.28.5"
+ "@babel/plugin-transform-class-properties" "^7.27.1"
+ "@babel/plugin-transform-class-static-block" "^7.28.3"
+ "@babel/plugin-transform-classes" "^7.28.4"
+ "@babel/plugin-transform-computed-properties" "^7.27.1"
+ "@babel/plugin-transform-destructuring" "^7.28.5"
+ "@babel/plugin-transform-dotall-regex" "^7.27.1"
+ "@babel/plugin-transform-duplicate-keys" "^7.27.1"
+ "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.27.1"
+ "@babel/plugin-transform-dynamic-import" "^7.27.1"
+ "@babel/plugin-transform-explicit-resource-management" "^7.28.0"
+ "@babel/plugin-transform-exponentiation-operator" "^7.28.5"
+ "@babel/plugin-transform-export-namespace-from" "^7.27.1"
+ "@babel/plugin-transform-for-of" "^7.27.1"
+ "@babel/plugin-transform-function-name" "^7.27.1"
+ "@babel/plugin-transform-json-strings" "^7.27.1"
+ "@babel/plugin-transform-literals" "^7.27.1"
+ "@babel/plugin-transform-logical-assignment-operators" "^7.28.5"
+ "@babel/plugin-transform-member-expression-literals" "^7.27.1"
+ "@babel/plugin-transform-modules-amd" "^7.27.1"
+ "@babel/plugin-transform-modules-commonjs" "^7.27.1"
+ "@babel/plugin-transform-modules-systemjs" "^7.28.5"
+ "@babel/plugin-transform-modules-umd" "^7.27.1"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.27.1"
+ "@babel/plugin-transform-new-target" "^7.27.1"
+ "@babel/plugin-transform-nullish-coalescing-operator" "^7.27.1"
+ "@babel/plugin-transform-numeric-separator" "^7.27.1"
+ "@babel/plugin-transform-object-rest-spread" "^7.28.4"
+ "@babel/plugin-transform-object-super" "^7.27.1"
+ "@babel/plugin-transform-optional-catch-binding" "^7.27.1"
+ "@babel/plugin-transform-optional-chaining" "^7.28.5"
+ "@babel/plugin-transform-parameters" "^7.27.7"
+ "@babel/plugin-transform-private-methods" "^7.27.1"
+ "@babel/plugin-transform-private-property-in-object" "^7.27.1"
+ "@babel/plugin-transform-property-literals" "^7.27.1"
+ "@babel/plugin-transform-regenerator" "^7.28.4"
+ "@babel/plugin-transform-regexp-modifiers" "^7.27.1"
+ "@babel/plugin-transform-reserved-words" "^7.27.1"
+ "@babel/plugin-transform-shorthand-properties" "^7.27.1"
+ "@babel/plugin-transform-spread" "^7.27.1"
+ "@babel/plugin-transform-sticky-regex" "^7.27.1"
+ "@babel/plugin-transform-template-literals" "^7.27.1"
+ "@babel/plugin-transform-typeof-symbol" "^7.27.1"
+ "@babel/plugin-transform-unicode-escapes" "^7.27.1"
+ "@babel/plugin-transform-unicode-property-regex" "^7.27.1"
+ "@babel/plugin-transform-unicode-regex" "^7.27.1"
+ "@babel/plugin-transform-unicode-sets-regex" "^7.27.1"
+ "@babel/preset-modules" "0.1.6-no-external-plugins"
+ babel-plugin-polyfill-corejs2 "^0.4.14"
+ babel-plugin-polyfill-corejs3 "^0.13.0"
+ babel-plugin-polyfill-regenerator "^0.6.5"
+ core-js-compat "^3.43.0"
+ semver "^6.3.1"
+
+"@babel/preset-modules@0.1.6-no-external-plugins":
+ version "0.1.6-no-external-plugins"
+ resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a"
+ integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/types" "^7.4.4"
+ esutils "^2.0.2"
+
+"@babel/runtime@^7.11.2":
+ version "7.28.4"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.28.4.tgz#a70226016fabe25c5783b2f22d3e1c9bc5ca3326"
+ integrity sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==
+
+"@babel/template@^7.27.1", "@babel/template@^7.27.2":
+ version "7.27.2"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d"
+ integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==
+ dependencies:
+ "@babel/code-frame" "^7.27.1"
+ "@babel/parser" "^7.27.2"
+ "@babel/types" "^7.27.1"
+
+"@babel/traverse@^7.27.1", "@babel/traverse@^7.28.0", "@babel/traverse@^7.28.3", "@babel/traverse@^7.28.4", "@babel/traverse@^7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.5.tgz#450cab9135d21a7a2ca9d2d35aa05c20e68c360b"
+ integrity sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==
+ dependencies:
+ "@babel/code-frame" "^7.27.1"
+ "@babel/generator" "^7.28.5"
+ "@babel/helper-globals" "^7.28.0"
+ "@babel/parser" "^7.28.5"
+ "@babel/template" "^7.27.2"
+ "@babel/types" "^7.28.5"
+ debug "^4.3.1"
+
+"@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.28.2", "@babel/types@^7.28.4", "@babel/types@^7.28.5", "@babel/types@^7.4.4":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.5.tgz#10fc405f60897c35f07e85493c932c7b5ca0592b"
+ integrity sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==
+ dependencies:
+ "@babel/helper-string-parser" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.28.5"
+
+"@cloudflare/kv-asset-handler@0.4.1":
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.4.1.tgz#717319743437e36c2eaafbb317fdb76b5cff0d88"
+ integrity sha512-Nu8ahitGFFJztxUml9oD/DLb7Z28C8cd8F46IVQ7y5Btz575pvMY8AqZsXkX7Gds29eCKdMgIHjIvzskHgPSFg==
+ dependencies:
+ mime "^3.0.0"
+
+"@cloudflare/unenv-preset@2.7.11":
+ version "2.7.11"
+ resolved "https://registry.yarnpkg.com/@cloudflare/unenv-preset/-/unenv-preset-2.7.11.tgz#61f2448b367e2b6ed9e0e930bd97a6da24d9e5e5"
+ integrity sha512-se23f1D4PxKrMKOq+Stz+Yn7AJ9ITHcEecXo2Yjb+UgbUDCEBch1FXQC6hx6uT5fNA3kmX3mfzeZiUmpK1W9IQ==
+
+"@cloudflare/workerd-darwin-64@1.20251125.0":
+ version "1.20251125.0"
+ resolved "https://registry.yarnpkg.com/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20251125.0.tgz#3ba3a6b1de5668f6a62a0ca8853c706e5518dfde"
+ integrity sha512-xDIVJi8fPxBseRoEIzLiUJb0N+DXnah/ynS+Unzn58HEoKLetUWiV/T1Fhned//lo5krnToG9KRgVRs0SOOTpw==
+
+"@cloudflare/workerd-darwin-arm64@1.20251125.0":
+ version "1.20251125.0"
+ resolved "https://registry.yarnpkg.com/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20251125.0.tgz#8c0ca06d67660a4ae08639a435133cd643643790"
+ integrity sha512-k5FQET5PXnWjeDqZUpl4Ah/Rn0bH6mjfUtTyeAy6ky7QB3AZpwIhgWQD0vOFB3OvJaK4J/K4cUtNChYXB9mY/A==
+
+"@cloudflare/workerd-linux-64@1.20251125.0":
+ version "1.20251125.0"
+ resolved "https://registry.yarnpkg.com/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20251125.0.tgz#59fb8217c04a0b231ccaa5f5217d907b802e4f4b"
+ integrity sha512-at6n/FomkftykWx0EqVLUZ0juUFz3ORtEPeBbW9ZZ3BQEyfVUtYfdcz/f1cN8Yyb7TE9ovF071P0mBRkx83ODw==
+
+"@cloudflare/workerd-linux-arm64@1.20251125.0":
+ version "1.20251125.0"
+ resolved "https://registry.yarnpkg.com/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20251125.0.tgz#451d7258640f37ca3991b9319bcc367fbb5ea514"
+ integrity sha512-EiRn+jrNaIs1QveabXGHFoyn3s/l02ui6Yp3nssyNhtmtgviddtt8KObBfM1jQKjXTpZlunhwdN4Bxf4jhlOMw==
+
+"@cloudflare/workerd-windows-64@1.20251125.0":
+ version "1.20251125.0"
+ resolved "https://registry.yarnpkg.com/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20251125.0.tgz#58eb937a7ae01db18fa46412394912bcac3ee99d"
+ integrity sha512-6fdIsSeu65g++k8Y2DKzNKs0BkoU+KKI6GAAVBOLh2vvVWWnCP1OgMdVb5JAdjDrjDT5i0GSQu0bgQ8fPsW6zw==
+
+"@cspotcode/source-map-support@0.8.1", "@cspotcode/source-map-support@^0.8.0":
+ version "0.8.1"
+ resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz"
+ integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==
+ dependencies:
+ "@jridgewell/trace-mapping" "0.3.9"
+
+"@emnapi/core@^1.5.0", "@emnapi/core@^1.6.0":
+ version "1.7.1"
+ resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.7.1.tgz#3a79a02dbc84f45884a1806ebb98e5746bdfaac4"
+ integrity sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==
+ dependencies:
+ "@emnapi/wasi-threads" "1.1.0"
+ tslib "^2.4.0"
+
+"@emnapi/runtime@^1.2.0", "@emnapi/runtime@^1.5.0", "@emnapi/runtime@^1.6.0":
+ version "1.7.1"
+ resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.7.1.tgz#a73784e23f5d57287369c808197288b52276b791"
+ integrity sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==
+ dependencies:
+ tslib "^2.4.0"
+
+"@emnapi/wasi-threads@1.1.0", "@emnapi/wasi-threads@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz#60b2102fddc9ccb78607e4a3cf8403ea69be41bf"
+ integrity sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==
+ dependencies:
+ tslib "^2.4.0"
+
+"@esbuild/aix-ppc64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz#80fcbe36130e58b7670511e888b8e88a259ed76c"
+ integrity sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==
+
+"@esbuild/aix-ppc64@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz#830d6476cbbca0c005136af07303646b419f1162"
+ integrity sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==
+
+"@esbuild/android-arm64@0.17.19":
+ version "0.17.19"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz#bafb75234a5d3d1b690e7c2956a599345e84a2fd"
+ integrity sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==
+
+"@esbuild/android-arm64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz#8aa4965f8d0a7982dc21734bf6601323a66da752"
+ integrity sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==
+
+"@esbuild/android-arm64@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz#d11d4fc299224e729e2190cacadbcc00e7a9fd67"
+ integrity sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==
+
+"@esbuild/android-arm@0.17.19":
+ version "0.17.19"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz#5898f7832c2298bc7d0ab53701c57beb74d78b4d"
+ integrity sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==
+
+"@esbuild/android-arm@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.12.tgz#300712101f7f50f1d2627a162e6e09b109b6767a"
+ integrity sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==
+
+"@esbuild/android-arm@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.4.tgz#5660bd25080553dd2a28438f2a401a29959bd9b1"
+ integrity sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==
+
+"@esbuild/android-x64@0.17.19":
+ version "0.17.19"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz#658368ef92067866d95fb268719f98f363d13ae1"
+ integrity sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==
+
+"@esbuild/android-x64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.12.tgz#87dfb27161202bdc958ef48bb61b09c758faee16"
+ integrity sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==
+
+"@esbuild/android-x64@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.4.tgz#18ddde705bf984e8cd9efec54e199ac18bc7bee1"
+ integrity sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==
+
+"@esbuild/darwin-arm64@0.17.19":
+ version "0.17.19"
+ resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz"
+ integrity sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==
+
+"@esbuild/darwin-arm64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz"
+ integrity sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==
+
+"@esbuild/darwin-arm64@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz#b0b7fb55db8fc6f5de5a0207ae986eb9c4766e67"
+ integrity sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==
+
+"@esbuild/darwin-x64@0.17.19":
+ version "0.17.19"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz#7751d236dfe6ce136cce343dce69f52d76b7f6cb"
+ integrity sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==
+
+"@esbuild/darwin-x64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz#146400a8562133f45c4d2eadcf37ddd09718079e"
+ integrity sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==
+
+"@esbuild/darwin-x64@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz#e6813fdeba0bba356cb350a4b80543fbe66bf26f"
+ integrity sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==
+
+"@esbuild/freebsd-arm64@0.17.19":
+ version "0.17.19"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz#cacd171665dd1d500f45c167d50c6b7e539d5fd2"
+ integrity sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==
+
+"@esbuild/freebsd-arm64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz#1c5f9ba7206e158fd2b24c59fa2d2c8bb47ca0fe"
+ integrity sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==
+
+"@esbuild/freebsd-arm64@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz#dc11a73d3ccdc308567b908b43c6698e850759be"
+ integrity sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==
+
+"@esbuild/freebsd-x64@0.17.19":
+ version "0.17.19"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz#0769456eee2a08b8d925d7c00b79e861cb3162e4"
+ integrity sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==
+
+"@esbuild/freebsd-x64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz#ea631f4a36beaac4b9279fa0fcc6ca29eaeeb2b3"
+ integrity sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==
+
+"@esbuild/freebsd-x64@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz#91da08db8bd1bff5f31924c57a81dab26e93a143"
+ integrity sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==
+
+"@esbuild/linux-arm64@0.17.19":
+ version "0.17.19"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz#38e162ecb723862c6be1c27d6389f48960b68edb"
+ integrity sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==
+
+"@esbuild/linux-arm64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz#e1066bce58394f1b1141deec8557a5f0a22f5977"
+ integrity sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==
+
+"@esbuild/linux-arm64@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz#efc15e45c945a082708f9a9f73bfa8d4db49728a"
+ integrity sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==
+
+"@esbuild/linux-arm@0.17.19":
+ version "0.17.19"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz#1a2cd399c50040184a805174a6d89097d9d1559a"
+ integrity sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==
+
+"@esbuild/linux-arm@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz#452cd66b20932d08bdc53a8b61c0e30baf4348b9"
+ integrity sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==
+
+"@esbuild/linux-arm@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz#9b93c3e54ac49a2ede6f906e705d5d906f6db9e8"
+ integrity sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==
+
+"@esbuild/linux-ia32@0.17.19":
+ version "0.17.19"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz#e28c25266b036ce1cabca3c30155222841dc035a"
+ integrity sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==
+
+"@esbuild/linux-ia32@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz#b24f8acc45bcf54192c7f2f3be1b53e6551eafe0"
+ integrity sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==
+
+"@esbuild/linux-ia32@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz#be8ef2c3e1d99fca2d25c416b297d00360623596"
+ integrity sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==
+
+"@esbuild/linux-loong64@0.17.19":
+ version "0.17.19"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz#0f887b8bb3f90658d1a0117283e55dbd4c9dcf72"
+ integrity sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==
+
+"@esbuild/linux-loong64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz#f9cfffa7fc8322571fbc4c8b3268caf15bd81ad0"
+ integrity sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==
+
+"@esbuild/linux-loong64@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz#b0840a2707c3fc02eec288d3f9defa3827cd7a87"
+ integrity sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==
+
+"@esbuild/linux-mips64el@0.17.19":
+ version "0.17.19"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz#f5d2a0b8047ea9a5d9f592a178ea054053a70289"
+ integrity sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==
+
+"@esbuild/linux-mips64el@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz#575a14bd74644ffab891adc7d7e60d275296f2cd"
+ integrity sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==
+
+"@esbuild/linux-mips64el@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz#2a198e5a458c9f0e75881a4e63d26ba0cf9df39f"
+ integrity sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==
+
+"@esbuild/linux-ppc64@0.17.19":
+ version "0.17.19"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz#876590e3acbd9fa7f57a2c7d86f83717dbbac8c7"
+ integrity sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==
+
+"@esbuild/linux-ppc64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz#75b99c70a95fbd5f7739d7692befe60601591869"
+ integrity sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==
+
+"@esbuild/linux-ppc64@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz#64f4ae0b923d7dd72fb860b9b22edb42007cf8f5"
+ integrity sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==
+
+"@esbuild/linux-riscv64@0.17.19":
+ version "0.17.19"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz#7f49373df463cd9f41dc34f9b2262d771688bf09"
+ integrity sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==
+
+"@esbuild/linux-riscv64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz#2e3259440321a44e79ddf7535c325057da875cd6"
+ integrity sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==
+
+"@esbuild/linux-riscv64@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz#fb2844b11fdddd39e29d291c7cf80f99b0d5158d"
+ integrity sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==
+
+"@esbuild/linux-s390x@0.17.19":
+ version "0.17.19"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz#e2afd1afcaf63afe2c7d9ceacd28ec57c77f8829"
+ integrity sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==
+
+"@esbuild/linux-s390x@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz#17676cabbfe5928da5b2a0d6df5d58cd08db2663"
+ integrity sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==
+
+"@esbuild/linux-s390x@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz#1466876e0aa3560c7673e63fdebc8278707bc750"
+ integrity sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==
+
+"@esbuild/linux-x64@0.17.19":
+ version "0.17.19"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz#8a0e9738b1635f0c53389e515ae83826dec22aa4"
+ integrity sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==
+
+"@esbuild/linux-x64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz#0583775685ca82066d04c3507f09524d3cd7a306"
+ integrity sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==
+
+"@esbuild/linux-x64@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz#c10fde899455db7cba5f11b3bccfa0e41bf4d0cd"
+ integrity sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==
+
+"@esbuild/netbsd-arm64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz#f04c4049cb2e252fe96b16fed90f70746b13f4a4"
+ integrity sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==
+
+"@esbuild/netbsd-arm64@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz#02e483fbcbe3f18f0b02612a941b77be76c111a4"
+ integrity sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==
+
+"@esbuild/netbsd-x64@0.17.19":
+ version "0.17.19"
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz#c29fb2453c6b7ddef9a35e2c18b37bda1ae5c462"
+ integrity sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==
+
+"@esbuild/netbsd-x64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz#77da0d0a0d826d7c921eea3d40292548b258a076"
+ integrity sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==
+
+"@esbuild/netbsd-x64@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz#ec401fb0b1ed0ac01d978564c5fc8634ed1dc2ed"
+ integrity sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==
+
+"@esbuild/openbsd-arm64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz#6296f5867aedef28a81b22ab2009c786a952dccd"
+ integrity sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==
+
+"@esbuild/openbsd-arm64@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz#f272c2f41cfea1d91b93d487a51b5c5ca7a8c8c4"
+ integrity sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==
+
+"@esbuild/openbsd-x64@0.17.19":
+ version "0.17.19"
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz#95e75a391403cb10297280d524d66ce04c920691"
+ integrity sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==
+
+"@esbuild/openbsd-x64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz#f8d23303360e27b16cf065b23bbff43c14142679"
+ integrity sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==
+
+"@esbuild/openbsd-x64@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz#2e25950bc10fa9db1e5c868e3d50c44f7c150fd7"
+ integrity sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==
+
+"@esbuild/openharmony-arm64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz#49e0b768744a3924be0d7fd97dd6ce9b2923d88d"
+ integrity sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==
+
+"@esbuild/sunos-x64@0.17.19":
+ version "0.17.19"
+ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz#722eaf057b83c2575937d3ffe5aeb16540da7273"
+ integrity sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==
+
+"@esbuild/sunos-x64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz#a6ed7d6778d67e528c81fb165b23f4911b9b13d6"
+ integrity sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==
+
+"@esbuild/sunos-x64@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz#cd596fa65a67b3b7adc5ecd52d9f5733832e1abd"
+ integrity sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==
+
+"@esbuild/win32-arm64@0.17.19":
+ version "0.17.19"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz#9aa9dc074399288bdcdd283443e9aeb6b9552b6f"
+ integrity sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==
+
+"@esbuild/win32-arm64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz#9ac14c378e1b653af17d08e7d3ce34caef587323"
+ integrity sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==
+
+"@esbuild/win32-arm64@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz#b4dbcb57b21eeaf8331e424c3999b89d8951dc88"
+ integrity sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==
+
+"@esbuild/win32-ia32@0.17.19":
+ version "0.17.19"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz#95ad43c62ad62485e210f6299c7b2571e48d2b03"
+ integrity sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==
+
+"@esbuild/win32-ia32@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz#918942dcbbb35cc14fca39afb91b5e6a3d127267"
+ integrity sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==
+
+"@esbuild/win32-ia32@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz#410842e5d66d4ece1757634e297a87635eb82f7a"
+ integrity sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==
+
+"@esbuild/win32-x64@0.17.19":
+ version "0.17.19"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz#8cfaf2ff603e9aabb910e9c0558c26cf32744061"
+ integrity sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==
+
+"@esbuild/win32-x64@0.25.12":
+ version "0.25.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz#9bdad8176be7811ad148d1f8772359041f46c6c5"
+ integrity sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==
+
+"@esbuild/win32-x64@0.25.4":
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz#0b17ec8a70b2385827d52314c1253160a0b9bacc"
+ integrity sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==
+
+"@formatjs/ecma402-abstract@2.3.6":
+ version "2.3.6"
+ resolved "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.6.tgz"
+ integrity sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw==
+ dependencies:
+ "@formatjs/fast-memoize" "2.2.7"
+ "@formatjs/intl-localematcher" "0.6.2"
+ decimal.js "^10.4.3"
+ tslib "^2.8.0"
+
+"@formatjs/fast-memoize@2.2.7":
+ version "2.2.7"
+ resolved "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.7.tgz"
+ integrity sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ==
+ dependencies:
+ tslib "^2.8.0"
+
+"@formatjs/icu-messageformat-parser@2.11.4":
+ version "2.11.4"
+ resolved "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.11.4.tgz"
+ integrity sha512-7kR78cRrPNB4fjGFZg3Rmj5aah8rQj9KPzuLsmcSn4ipLXQvC04keycTI1F7kJYDwIXtT2+7IDEto842CfZBtw==
+ dependencies:
+ "@formatjs/ecma402-abstract" "2.3.6"
+ "@formatjs/icu-skeleton-parser" "1.8.16"
+ tslib "^2.8.0"
+
+"@formatjs/icu-skeleton-parser@1.8.16":
+ version "1.8.16"
+ resolved "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.16.tgz"
+ integrity sha512-H13E9Xl+PxBd8D5/6TVUluSpxGNvFSlN/b3coUp0e0JpuWXXnQDiavIpY3NnvSp4xhEMoXyyBvVfdFX8jglOHQ==
+ dependencies:
+ "@formatjs/ecma402-abstract" "2.3.6"
+ tslib "^2.8.0"
+
+"@formatjs/intl-localematcher@0.6.2":
+ version "0.6.2"
+ resolved "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.6.2.tgz"
+ integrity sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA==
+ dependencies:
+ tslib "^2.8.0"
+
+"@img/sharp-darwin-arm64@0.33.5":
+ version "0.33.5"
+ resolved "https://registry.yarnpkg.com/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz#ef5b5a07862805f1e8145a377c8ba6e98813ca08"
+ integrity sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==
+ optionalDependencies:
+ "@img/sharp-libvips-darwin-arm64" "1.0.4"
+
+"@img/sharp-darwin-x64@0.33.5":
+ version "0.33.5"
+ resolved "https://registry.yarnpkg.com/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz#e03d3451cd9e664faa72948cc70a403ea4063d61"
+ integrity sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==
+ optionalDependencies:
+ "@img/sharp-libvips-darwin-x64" "1.0.4"
+
+"@img/sharp-libvips-darwin-arm64@1.0.4":
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz#447c5026700c01a993c7804eb8af5f6e9868c07f"
+ integrity sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==
+
+"@img/sharp-libvips-darwin-x64@1.0.4":
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz#e0456f8f7c623f9dbfbdc77383caa72281d86062"
+ integrity sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==
+
+"@img/sharp-libvips-linux-arm64@1.0.4":
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz#979b1c66c9a91f7ff2893556ef267f90ebe51704"
+ integrity sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==
+
+"@img/sharp-libvips-linux-arm@1.0.5":
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz#99f922d4e15216ec205dcb6891b721bfd2884197"
+ integrity sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==
+
+"@img/sharp-libvips-linux-s390x@1.0.4":
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz#f8a5eb1f374a082f72b3f45e2fb25b8118a8a5ce"
+ integrity sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==
+
+"@img/sharp-libvips-linux-x64@1.0.4":
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz#d4c4619cdd157774906e15770ee119931c7ef5e0"
+ integrity sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==
+
+"@img/sharp-libvips-linuxmusl-arm64@1.0.4":
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz#166778da0f48dd2bded1fa3033cee6b588f0d5d5"
+ integrity sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==
+
+"@img/sharp-libvips-linuxmusl-x64@1.0.4":
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz#93794e4d7720b077fcad3e02982f2f1c246751ff"
+ integrity sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==
+
+"@img/sharp-linux-arm64@0.33.5":
+ version "0.33.5"
+ resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz#edb0697e7a8279c9fc829a60fc35644c4839bb22"
+ integrity sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==
+ optionalDependencies:
+ "@img/sharp-libvips-linux-arm64" "1.0.4"
+
+"@img/sharp-linux-arm@0.33.5":
+ version "0.33.5"
+ resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz#422c1a352e7b5832842577dc51602bcd5b6f5eff"
+ integrity sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==
+ optionalDependencies:
+ "@img/sharp-libvips-linux-arm" "1.0.5"
+
+"@img/sharp-linux-s390x@0.33.5":
+ version "0.33.5"
+ resolved "https://registry.yarnpkg.com/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz#f5c077926b48e97e4a04d004dfaf175972059667"
+ integrity sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==
+ optionalDependencies:
+ "@img/sharp-libvips-linux-s390x" "1.0.4"
+
+"@img/sharp-linux-x64@0.33.5":
+ version "0.33.5"
+ resolved "https://registry.yarnpkg.com/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz#d806e0afd71ae6775cc87f0da8f2d03a7c2209cb"
+ integrity sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==
+ optionalDependencies:
+ "@img/sharp-libvips-linux-x64" "1.0.4"
+
+"@img/sharp-linuxmusl-arm64@0.33.5":
+ version "0.33.5"
+ resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz#252975b915894fb315af5deea174651e208d3d6b"
+ integrity sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==
+ optionalDependencies:
+ "@img/sharp-libvips-linuxmusl-arm64" "1.0.4"
+
+"@img/sharp-linuxmusl-x64@0.33.5":
+ version "0.33.5"
+ resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz#3f4609ac5d8ef8ec7dadee80b560961a60fd4f48"
+ integrity sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==
+ optionalDependencies:
+ "@img/sharp-libvips-linuxmusl-x64" "1.0.4"
+
+"@img/sharp-wasm32@0.33.5":
+ version "0.33.5"
+ resolved "https://registry.yarnpkg.com/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz#6f44f3283069d935bb5ca5813153572f3e6f61a1"
+ integrity sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==
+ dependencies:
+ "@emnapi/runtime" "^1.2.0"
+
+"@img/sharp-win32-ia32@0.33.5":
+ version "0.33.5"
+ resolved "https://registry.yarnpkg.com/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz#1a0c839a40c5351e9885628c85f2e5dfd02b52a9"
+ integrity sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==
+
+"@img/sharp-win32-x64@0.33.5":
+ version "0.33.5"
+ resolved "https://registry.yarnpkg.com/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz#56f00962ff0c4e0eb93d34a047d29fa995e3e342"
+ integrity sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==
+
+"@inquirer/external-editor@^1.0.0":
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.2.tgz"
+ integrity sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==
+ dependencies:
+ chardet "^2.1.0"
+ iconv-lite "^0.7.0"
+
+"@isaacs/balanced-match@^4.0.1":
+ version "4.0.1"
+ resolved "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz"
+ integrity sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==
+
+"@isaacs/brace-expansion@^5.0.0":
+ version "5.0.0"
+ resolved "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz"
+ integrity sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==
+ dependencies:
+ "@isaacs/balanced-match" "^4.0.1"
+
+"@isaacs/cliui@^8.0.2":
+ version "8.0.2"
+ resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz"
+ integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==
+ dependencies:
+ string-width "^5.1.2"
+ string-width-cjs "npm:string-width@^4.2.0"
+ strip-ansi "^7.0.1"
+ strip-ansi-cjs "npm:strip-ansi@^6.0.1"
+ wrap-ansi "^8.1.0"
+ wrap-ansi-cjs "npm:wrap-ansi@^7.0.0"
+
+"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5":
+ version "0.3.13"
+ resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz"
+ integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==
+ dependencies:
+ "@jridgewell/sourcemap-codec" "^1.5.0"
+ "@jridgewell/trace-mapping" "^0.3.24"
+
+"@jridgewell/remapping@^2.3.4", "@jridgewell/remapping@^2.3.5":
+ version "2.3.5"
+ resolved "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz"
+ integrity sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==
+ dependencies:
+ "@jridgewell/gen-mapping" "^0.3.5"
+ "@jridgewell/trace-mapping" "^0.3.24"
+
+"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0":
+ version "3.1.2"
+ resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz"
+ integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
+
+"@jridgewell/source-map@^0.3.3":
+ version "0.3.11"
+ resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.11.tgz#b21835cbd36db656b857c2ad02ebd413cc13a9ba"
+ integrity sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==
+ dependencies:
+ "@jridgewell/gen-mapping" "^0.3.5"
+ "@jridgewell/trace-mapping" "^0.3.25"
+
+"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15", "@jridgewell/sourcemap-codec@^1.5.0", "@jridgewell/sourcemap-codec@^1.5.5":
+ version "1.5.5"
+ resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz"
+ integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==
+
+"@jridgewell/trace-mapping@0.3.9":
+ version "0.3.9"
+ resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz"
+ integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==
+ dependencies:
+ "@jridgewell/resolve-uri" "^3.0.3"
+ "@jridgewell/sourcemap-codec" "^1.4.10"
+
+"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.28":
+ version "0.3.31"
+ resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz"
+ integrity sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==
+ dependencies:
+ "@jridgewell/resolve-uri" "^3.1.0"
+ "@jridgewell/sourcemap-codec" "^1.4.14"
+
+"@kurkle/color@^0.3.0":
+ version "0.3.4"
+ resolved "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz"
+ integrity sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==
+
+"@mapbox/geojson-rewind@^0.5.2":
+ version "0.5.2"
+ resolved "https://registry.npmjs.org/@mapbox/geojson-rewind/-/geojson-rewind-0.5.2.tgz"
+ integrity sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==
+ dependencies:
+ get-stream "^6.0.1"
+ minimist "^1.2.6"
+
+"@mapbox/jsonlint-lines-primitives@^2.0.2", "@mapbox/jsonlint-lines-primitives@~2.0.2":
+ version "2.0.2"
+ resolved "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz"
+ integrity sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==
+
+"@mapbox/point-geometry@^1.1.0", "@mapbox/point-geometry@~1.1.0":
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-1.1.0.tgz"
+ integrity sha512-YGcBz1cg4ATXDCM/71L9xveh4dynfGmcLDqufR+nQQy3fKwsAZsWd/x4621/6uJaeB9mwOHE6hPeDgXz9uViUQ==
+
+"@mapbox/tiny-sdf@^2.0.7":
+ version "2.0.7"
+ resolved "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-2.0.7.tgz"
+ integrity sha512-25gQLQMcpivjOSA40g3gO6qgiFPDpWRoMfd+G/GoppPIeP6JDaMMkMrEJnMZhKyyS6iKwVt5YKu02vCUyJM3Ug==
+
+"@mapbox/unitbezier@^0.0.1":
+ version "0.0.1"
+ resolved "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.1.tgz"
+ integrity sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==
+
+"@mapbox/vector-tile@^2.0.4":
+ version "2.0.4"
+ resolved "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-2.0.4.tgz"
+ integrity sha512-AkOLcbgGTdXScosBWwmmD7cDlvOjkg/DetGva26pIRiZPdeJYjYKarIlb4uxVzi6bwHO6EWH82eZ5Nuv4T5DUg==
+ dependencies:
+ "@mapbox/point-geometry" "~1.1.0"
+ "@types/geojson" "^7946.0.16"
+ pbf "^4.0.1"
+
+"@mapbox/whoots-js@^3.1.0":
+ version "3.1.0"
+ resolved "https://registry.npmjs.org/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz"
+ integrity sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==
+
+"@maplibre/maplibre-gl-style-spec@^24.3.1":
+ version "24.3.1"
+ resolved "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-24.3.1.tgz"
+ integrity sha512-TUM5JD40H2mgtVXl5IwWz03BuQabw8oZQLJTmPpJA0YTYF+B+oZppy5lNMO6bMvHzB+/5mxqW9VLG3wFdeqtOw==
+ dependencies:
+ "@mapbox/jsonlint-lines-primitives" "~2.0.2"
+ "@mapbox/unitbezier" "^0.0.1"
+ json-stringify-pretty-compact "^4.0.0"
+ minimist "^1.2.8"
+ quickselect "^3.0.0"
+ rw "^1.3.3"
+ tinyqueue "^3.0.0"
+
+"@maplibre/vt-pbf@^4.0.3":
+ version "4.0.3"
+ resolved "https://registry.npmjs.org/@maplibre/vt-pbf/-/vt-pbf-4.0.3.tgz"
+ integrity sha512-YsW99BwnT+ukJRkseBcLuZHfITB4puJoxnqPVjo72rhW/TaawVYsgQHcqWLzTxqknttYoDpgyERzWSa/XrETdA==
+ dependencies:
+ "@mapbox/point-geometry" "^1.1.0"
+ "@mapbox/vector-tile" "^2.0.4"
+ "@types/geojson-vt" "3.2.5"
+ "@types/supercluster" "^7.1.3"
+ geojson-vt "^4.0.2"
+ pbf "^4.0.1"
+ supercluster "^8.0.1"
+
+"@napi-rs/wasm-runtime@^1.0.7":
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.7.tgz#dcfea99a75f06209a235f3d941e3460a51e9b14c"
+ integrity sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==
+ dependencies:
+ "@emnapi/core" "^1.5.0"
+ "@emnapi/runtime" "^1.5.0"
+ "@tybys/wasm-util" "^0.10.1"
+
+"@noble/ciphers@^0.5.1":
+ version "0.5.3"
+ resolved "https://registry.npmjs.org/@noble/ciphers/-/ciphers-0.5.3.tgz"
+ integrity sha512-B0+6IIHiqEs3BPMT0hcRmHvEj2QHOLu+uwt+tqDDeVd0oyVzh7BPrDcPjRnV1PV/5LaknXJJQvOuRGR0zQJz+w==
+
+"@noble/curves@1.2.0":
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz"
+ integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==
+ dependencies:
+ "@noble/hashes" "1.3.2"
+
+"@noble/curves@^1.6.0":
+ version "1.9.7"
+ resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.9.7.tgz"
+ integrity sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==
+ dependencies:
+ "@noble/hashes" "1.8.0"
+
+"@noble/curves@~1.1.0":
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.1.0.tgz"
+ integrity sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA==
+ dependencies:
+ "@noble/hashes" "1.3.1"
+
+"@noble/hashes@1.3.1":
+ version "1.3.1"
+ resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.1.tgz"
+ integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==
+
+"@noble/hashes@1.3.2":
+ version "1.3.2"
+ resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz"
+ integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==
+
+"@noble/hashes@1.8.0", "@noble/hashes@^1.4.0", "@noble/hashes@^1.5.0":
+ version "1.8.0"
+ resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz"
+ integrity sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==
+
+"@noble/hashes@~1.3.0", "@noble/hashes@~1.3.1":
+ version "1.3.3"
+ resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz"
+ integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==
+
+"@noble/secp256k1@^2.1.0":
+ version "2.3.0"
+ resolved "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-2.3.0.tgz"
+ integrity sha512-0TQed2gcBbIrh7Ccyw+y/uZQvbJwm7Ao4scBUxqpBCcsOlZG0O4KGfjtNAy/li4W8n1xt3dxrwJ0beZ2h2G6Kw==
+
+"@nodelib/fs.scandir@2.1.5":
+ version "2.1.5"
+ resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"
+ integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
+ dependencies:
+ "@nodelib/fs.stat" "2.0.5"
+ run-parallel "^1.1.9"
+
+"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
+ version "2.0.5"
+ resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
+ integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
+
+"@nodelib/fs.walk@^1.2.3":
+ version "1.2.8"
+ resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz"
+ integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
+ dependencies:
+ "@nodelib/fs.scandir" "2.1.5"
+ fastq "^1.6.0"
+
+"@nostr-dev-kit/ndk-cache-dexie@2.6.34":
+ version "2.6.34"
+ resolved "https://registry.npmjs.org/@nostr-dev-kit/ndk-cache-dexie/-/ndk-cache-dexie-2.6.34.tgz"
+ integrity sha512-NFk9I7E/eXIevLDnjyZHHwxdL4E891KVGlkr0k07CItoIf8A2cxtZJ7Pe4Ei5fe49nipL9iA+sEmOq9xveLR7g==
+ dependencies:
+ "@nostr-dev-kit/ndk" "2.14.33"
+ debug "^4.3.7"
+ dexie "^4.0.8"
+ nostr-tools "^2.4.0"
+ typescript-lru-cache "^2.0.0"
+
+"@nostr-dev-kit/ndk-svelte@2.4.38":
+ version "2.4.38"
+ resolved "https://registry.npmjs.org/@nostr-dev-kit/ndk-svelte/-/ndk-svelte-2.4.38.tgz"
+ integrity sha512-bxCXGaYqpQGg1iQDsYgzIpwxLwJ+IBz2SnGyJiDo794qeG2LmKdrVJ6ia7MVtjwaGJ86bWSD5ohy48/wRHHgnQ==
+ dependencies:
+ "@nostr-dev-kit/ndk" "2.14.33"
+
+"@nostr-dev-kit/ndk@2.14.33":
+ version "2.14.33"
+ resolved "https://registry.npmjs.org/@nostr-dev-kit/ndk/-/ndk-2.14.33.tgz"
+ integrity sha512-akiafJZj4ZAAYse+qNSjrx6Yg4Y2gB4UyMlo6I30ITVikRAtgPejXgtLGmjWCcgtf56b9g79AikAr3IZtr1pLA==
+ dependencies:
+ "@noble/curves" "^1.6.0"
+ "@noble/hashes" "^1.5.0"
+ "@noble/secp256k1" "^2.1.0"
+ "@scure/base" "^1.1.9"
+ debug "^4.3.6"
+ light-bolt11-decoder "^3.2.0"
+ tseep "^1.3.1"
+ typescript-lru-cache "^2"
+
+"@oclif/core@>=3.26.0":
+ version "4.8.0"
+ resolved "https://registry.npmjs.org/@oclif/core/-/core-4.8.0.tgz"
+ integrity sha512-jteNUQKgJHLHFbbz806aGZqf+RJJ7t4gwF4MYa8fCwCxQ8/klJNWc0MvaJiBebk7Mc+J39mdlsB4XraaCKznFw==
+ dependencies:
+ ansi-escapes "^4.3.2"
+ ansis "^3.17.0"
+ clean-stack "^3.0.1"
+ cli-spinners "^2.9.2"
+ debug "^4.4.3"
+ ejs "^3.1.10"
+ get-package-type "^0.1.0"
+ indent-string "^4.0.0"
+ is-wsl "^2.2.0"
+ lilconfig "^3.1.3"
+ minimatch "^9.0.5"
+ semver "^7.7.3"
+ string-width "^4.2.3"
+ supports-color "^8"
+ tinyglobby "^0.2.14"
+ widest-line "^3.1.0"
+ wordwrap "^1.0.0"
+ wrap-ansi "^7.0.0"
+
+"@pkgjs/parseargs@^0.11.0":
+ version "0.11.0"
+ resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz"
+ integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
+
+"@polka/url@^1.0.0-next.24":
+ version "1.0.0-next.29"
+ resolved "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz"
+ integrity sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==
+
+"@poppinss/colors@^4.1.5":
+ version "4.1.5"
+ resolved "https://registry.yarnpkg.com/@poppinss/colors/-/colors-4.1.5.tgz#09273b845a4816f5fd9c53c78a3bc656650fe18f"
+ integrity sha512-FvdDqtcRCtz6hThExcFOgW0cWX+xwSMWcRuQe5ZEb2m7cVQOAVZOIMt+/v9RxGiD9/OY16qJBXK4CVKWAPalBw==
+ dependencies:
+ kleur "^4.1.5"
+
+"@poppinss/dumper@^0.6.4":
+ version "0.6.5"
+ resolved "https://registry.yarnpkg.com/@poppinss/dumper/-/dumper-0.6.5.tgz#8992703338d80d2218fdc37245c8cfc67f0f6ac9"
+ integrity sha512-NBdYIb90J7LfOI32dOewKI1r7wnkiH6m920puQ3qHUeZkxNkQiFnXVWoE6YtFSv6QOiPPf7ys6i+HWWecDz7sw==
+ dependencies:
+ "@poppinss/colors" "^4.1.5"
+ "@sindresorhus/is" "^7.0.2"
+ supports-color "^10.0.0"
+
+"@poppinss/exception@^1.2.2":
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/@poppinss/exception/-/exception-1.2.2.tgz#8d30d42e126c54fe84e997433e4dcac610090743"
+ integrity sha512-m7bpKCD4QMlFCjA/nKTs23fuvoVFoA83brRKmObCUNmi/9tVu8Ve3w4YQAnJu4q3Tjf5fr685HYIC/IA2zHRSg==
+
+"@publint/pack@^0.1.2":
+ version "0.1.2"
+ resolved "https://registry.npmjs.org/@publint/pack/-/pack-0.1.2.tgz"
+ integrity sha512-S+9ANAvUmjutrshV4jZjaiG8XQyuJIZ8a4utWmN/vW1sgQ9IfBnPndwkmQYw53QmouOIytT874u65HEmu6H5jw==
+
+"@rollup/plugin-babel@^5.2.0":
+ version "5.3.1"
+ resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283"
+ integrity sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==
+ dependencies:
+ "@babel/helper-module-imports" "^7.10.4"
+ "@rollup/pluginutils" "^3.1.0"
+
+"@rollup/plugin-node-resolve@^15.2.3":
+ version "15.3.1"
+ resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.3.1.tgz#66008953c2524be786aa319d49e32f2128296a78"
+ integrity sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==
+ dependencies:
+ "@rollup/pluginutils" "^5.0.1"
+ "@types/resolve" "1.20.2"
+ deepmerge "^4.2.2"
+ is-module "^1.0.0"
+ resolve "^1.22.1"
+
+"@rollup/plugin-replace@^2.4.1":
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a"
+ integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==
+ dependencies:
+ "@rollup/pluginutils" "^3.1.0"
+ magic-string "^0.25.7"
+
+"@rollup/plugin-terser@^0.4.3":
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz#15dffdb3f73f121aa4fbb37e7ca6be9aeea91962"
+ integrity sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==
+ dependencies:
+ serialize-javascript "^6.0.1"
+ smob "^1.0.0"
+ terser "^5.17.4"
+
+"@rollup/pluginutils@^3.1.0":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b"
+ integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==
+ dependencies:
+ "@types/estree" "0.0.39"
+ estree-walker "^1.0.1"
+ picomatch "^2.2.2"
+
+"@rollup/pluginutils@^5.0.1":
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.3.0.tgz#57ba1b0cbda8e7a3c597a4853c807b156e21a7b4"
+ integrity sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ estree-walker "^2.0.2"
+ picomatch "^4.0.2"
+
+"@rollup/rollup-android-arm-eabi@4.52.5":
+ version "4.52.5"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.5.tgz#0f44a2f8668ed87b040b6fe659358ac9239da4db"
+ integrity sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==
+
+"@rollup/rollup-android-arm64@4.52.5":
+ version "4.52.5"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.5.tgz#25b9a01deef6518a948431564c987bcb205274f5"
+ integrity sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==
+
+"@rollup/rollup-darwin-arm64@4.52.5":
+ version "4.52.5"
+ resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.5.tgz"
+ integrity sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==
+
+"@rollup/rollup-darwin-x64@4.52.5":
+ version "4.52.5"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.5.tgz#8e526417cd6f54daf1d0c04cf361160216581956"
+ integrity sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==
+
+"@rollup/rollup-freebsd-arm64@4.52.5":
+ version "4.52.5"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.5.tgz#0e7027054493f3409b1f219a3eac5efd128ef899"
+ integrity sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==
+
+"@rollup/rollup-freebsd-x64@4.52.5":
+ version "4.52.5"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.5.tgz#72b204a920139e9ec3d331bd9cfd9a0c248ccb10"
+ integrity sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==
+
+"@rollup/rollup-linux-arm-gnueabihf@4.52.5":
+ version "4.52.5"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.5.tgz#ab1b522ebe5b7e06c99504cc38f6cd8b808ba41c"
+ integrity sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==
+
+"@rollup/rollup-linux-arm-musleabihf@4.52.5":
+ version "4.52.5"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.5.tgz#f8cc30b638f1ee7e3d18eac24af47ea29d9beb00"
+ integrity sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==
+
+"@rollup/rollup-linux-arm64-gnu@4.52.5":
+ version "4.52.5"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.5.tgz#7af37a9e85f25db59dc8214172907b7e146c12cc"
+ integrity sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==
+
+"@rollup/rollup-linux-arm64-musl@4.52.5":
+ version "4.52.5"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.5.tgz#a623eb0d3617c03b7a73716eb85c6e37b776f7e0"
+ integrity sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==
+
+"@rollup/rollup-linux-loong64-gnu@4.52.5":
+ version "4.52.5"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.5.tgz#76ea038b549c5c6c5f0d062942627c4066642ee2"
+ integrity sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==
+
+"@rollup/rollup-linux-ppc64-gnu@4.52.5":
+ version "4.52.5"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.5.tgz#d9a4c3f0a3492bc78f6fdfe8131ac61c7359ccd5"
+ integrity sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==
+
+"@rollup/rollup-linux-riscv64-gnu@4.52.5":
+ version "4.52.5"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.5.tgz#87ab033eebd1a9a1dd7b60509f6333ec1f82d994"
+ integrity sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==
+
+"@rollup/rollup-linux-riscv64-musl@4.52.5":
+ version "4.52.5"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.5.tgz#bda3eb67e1c993c1ba12bc9c2f694e7703958d9f"
+ integrity sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==
+
+"@rollup/rollup-linux-s390x-gnu@4.52.5":
+ version "4.52.5"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.5.tgz#f7bc10fbe096ab44694233dc42a2291ed5453d4b"
+ integrity sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==
+
+"@rollup/rollup-linux-x64-gnu@4.52.5":
+ version "4.52.5"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.5.tgz#a151cb1234cc9b2cf5e8cfc02aa91436b8f9e278"
+ integrity sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==
+
+"@rollup/rollup-linux-x64-musl@4.52.5":
+ version "4.52.5"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.5.tgz#7859e196501cc3b3062d45d2776cfb4d2f3a9350"
+ integrity sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==
+
+"@rollup/rollup-openharmony-arm64@4.52.5":
+ version "4.52.5"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.5.tgz#85d0df7233734df31e547c1e647d2a5300b3bf30"
+ integrity sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==
+
+"@rollup/rollup-win32-arm64-msvc@4.52.5":
+ version "4.52.5"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.5.tgz#e62357d00458db17277b88adbf690bb855cac937"
+ integrity sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==
+
+"@rollup/rollup-win32-ia32-msvc@4.52.5":
+ version "4.52.5"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.5.tgz#fc7cd40f44834a703c1f1c3fe8bcc27ce476cd50"
+ integrity sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==
+
+"@rollup/rollup-win32-x64-gnu@4.52.5":
+ version "4.52.5"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.5.tgz#1a22acfc93c64a64a48c42672e857ee51774d0d3"
+ integrity sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==
+
+"@rollup/rollup-win32-x64-msvc@4.52.5":
+ version "4.52.5"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.5.tgz#1657f56326bbe0ac80eedc9f9c18fc1ddd24e107"
+ integrity sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==
+
+"@scure/base@1.1.1":
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz"
+ integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==
+
+"@scure/base@^1.1.9":
+ version "1.2.6"
+ resolved "https://registry.npmjs.org/@scure/base/-/base-1.2.6.tgz"
+ integrity sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==
+
+"@scure/base@~1.1.0":
+ version "1.1.9"
+ resolved "https://registry.npmjs.org/@scure/base/-/base-1.1.9.tgz"
+ integrity sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==
+
+"@scure/bip32@1.3.1":
+ version "1.3.1"
+ resolved "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.1.tgz"
+ integrity sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A==
+ dependencies:
+ "@noble/curves" "~1.1.0"
+ "@noble/hashes" "~1.3.1"
+ "@scure/base" "~1.1.0"
+
+"@scure/bip39@1.2.1":
+ version "1.2.1"
+ resolved "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.1.tgz"
+ integrity sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==
+ dependencies:
+ "@noble/hashes" "~1.3.0"
+ "@scure/base" "~1.1.0"
+
+"@sindresorhus/is@^7.0.2":
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-7.1.1.tgz#e32f9b1e0d7e14ee9504cdc7aae4a18dea8c3ef7"
+ integrity sha512-rO92VvpgMc3kfiTjGT52LEtJ8Yc5kCWhZjLQ3LwlA4pSgPpQO7bVpYXParOD8Jwf+cVQECJo3yP/4I8aZtUQTQ==
+
+"@speed-highlight/core@^1.2.7":
+ version "1.2.12"
+ resolved "https://registry.yarnpkg.com/@speed-highlight/core/-/core-1.2.12.tgz#5578ad2b92b0f7edc9ad46d9a7f921ff799d8a42"
+ integrity sha512-uilwrK0Ygyri5dToHYdZSjcvpS2ZwX0w5aSt3GCEN9hrjxWCoeV4Z2DTXuxjwbntaLQIEEAlCeNQss5SoHvAEA==
+
+"@standard-schema/spec@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz"
+ integrity sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==
+
+"@surma/rollup-plugin-off-main-thread@^2.2.3":
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz#ee34985952ca21558ab0d952f00298ad2190c053"
+ integrity sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==
+ dependencies:
+ ejs "^3.1.6"
+ json5 "^2.2.0"
+ magic-string "^0.25.0"
+ string.prototype.matchall "^4.0.6"
+
+"@sveltejs/acorn-typescript@^1.0.5":
+ version "1.0.6"
+ resolved "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.6.tgz"
+ integrity sha512-4awhxtMh4cx9blePWl10HRHj8Iivtqj+2QdDCSMDzxG+XKa9+VCNupQuCuvzEhYPzZSrX+0gC+0lHA/0fFKKQQ==
+
+"@sveltejs/adapter-auto@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-4.0.0.tgz"
+ integrity sha512-kmuYSQdD2AwThymQF0haQhM8rE5rhutQXG4LNbnbShwhMO4qQGnKaaTy+88DuNSuoQDi58+thpq8XpHc1+oEKQ==
+ dependencies:
+ import-meta-resolve "^4.1.0"
+
+"@sveltejs/adapter-static@^3.0.8":
+ version "3.0.10"
+ resolved "https://registry.yarnpkg.com/@sveltejs/adapter-static/-/adapter-static-3.0.10.tgz#526ab78cd1d3a861dd0233e8ff34a204af40d595"
+ integrity sha512-7D9lYFWJmB7zxZyTE/qxjksvMqzMuYrrsyh1f4AlZqeZeACPRySjbC3aFiY55wb1tWUaKOQG9PVbm74JcN2Iew==
+
+"@sveltejs/kit@^2.22.0":
+ version "2.48.4"
+ resolved "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.48.4.tgz"
+ integrity sha512-TGFX1pZUt9qqY20Cv5NyYvy0iLWHf2jXi8s+eCGsig7jQMdwZWKUFMR6TbvFNhfDSUpc1sH/Y5EHv20g3HHA3g==
+ dependencies:
+ "@standard-schema/spec" "^1.0.0"
+ "@sveltejs/acorn-typescript" "^1.0.5"
+ "@types/cookie" "^0.6.0"
+ acorn "^8.14.1"
+ cookie "^0.6.0"
+ devalue "^5.3.2"
+ esm-env "^1.2.2"
+ kleur "^4.1.5"
+ magic-string "^0.30.5"
+ mrmime "^2.0.0"
+ sade "^1.8.1"
+ set-cookie-parser "^2.6.0"
+ sirv "^3.0.0"
+
+"@sveltejs/package@^2.0.0":
+ version "2.5.4"
+ resolved "https://registry.npmjs.org/@sveltejs/package/-/package-2.5.4.tgz"
+ integrity sha512-8+1hccAt0M3PPkHVPKH54Wc+cc1PNxRqCrICZiv/hEEto8KwbQVRghxNgTB4htIPyle+4CIB8RayTQH5zRQh9A==
+ dependencies:
+ chokidar "^4.0.3"
+ kleur "^4.1.5"
+ sade "^1.8.1"
+ semver "^7.5.4"
+ svelte2tsx "~0.7.33"
+
+"@sveltejs/vite-plugin-svelte-inspector@^2.1.0":
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-2.1.0.tgz"
+ integrity sha512-9QX28IymvBlSCqsCll5t0kQVxipsfhFFL+L2t3nTWfXnddYwxBuAEtTtlaVQpRz9c37BhJjltSeY4AJSC03SSg==
+ dependencies:
+ debug "^4.3.4"
+
+"@sveltejs/vite-plugin-svelte-inspector@^5.0.0":
+ version "5.0.1"
+ resolved "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-5.0.1.tgz"
+ integrity sha512-ubWshlMk4bc8mkwWbg6vNvCeT7lGQojE3ijDh3QTR6Zr/R+GXxsGbyH4PExEPpiFmqPhYiVSVmHBjUcVc1JIrA==
+ dependencies:
+ debug "^4.4.1"
+
+"@sveltejs/vite-plugin-svelte@^3.0.2":
+ version "3.1.2"
+ resolved "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.1.2.tgz"
+ integrity sha512-Txsm1tJvtiYeLUVRNqxZGKR/mI+CzuIQuc2gn+YCs9rMTowpNZ2Nqt53JdL8KF9bLhAf2ruR/dr9eZCwdTriRA==
+ dependencies:
+ "@sveltejs/vite-plugin-svelte-inspector" "^2.1.0"
+ debug "^4.3.4"
+ deepmerge "^4.3.1"
+ kleur "^4.1.5"
+ magic-string "^0.30.10"
+ svelte-hmr "^0.16.0"
+ vitefu "^0.2.5"
+
+"@sveltejs/vite-plugin-svelte@^6.0.0":
+ version "6.2.1"
+ resolved "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-6.2.1.tgz"
+ integrity sha512-YZs/OSKOQAQCnJvM/P+F1URotNnYNeU3P2s4oIpzm1uFaqUEqRxUB0g5ejMjEb5Gjb9/PiBI5Ktrq4rUUF8UVQ==
+ dependencies:
+ "@sveltejs/vite-plugin-svelte-inspector" "^5.0.0"
+ debug "^4.4.1"
+ deepmerge "^4.3.1"
+ magic-string "^0.30.17"
+ vitefu "^1.1.1"
+
+"@sveltekit-i18n/base@^1.3.7", "@sveltekit-i18n/base@~1.3.0":
+ version "1.3.7"
+ resolved "https://registry.npmjs.org/@sveltekit-i18n/base/-/base-1.3.7.tgz"
+ integrity sha512-kg1kql1/ro/lIudwFiWrv949Q07gmweln87tflUZR51MNdXXzK4fiJQv5Mw50K/CdQ5BOk/dJ0WOH2vOtBI6yw==
+
+"@sveltekit-i18n/parser-default@~1.1.0":
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/@sveltekit-i18n/parser-default/-/parser-default-1.1.1.tgz"
+ integrity sha512-/gtzLlqm/sox7EoPKD56BxGZktK/syGc79EbJAPWY5KVitQD9SM0TP8yJCqDxTVPk7Lk0WJhrBGUE2Nn0f5M1w==
+
+"@sveltekit-i18n/parser-icu@^1.0.8":
+ version "1.0.8"
+ resolved "https://registry.npmjs.org/@sveltekit-i18n/parser-icu/-/parser-icu-1.0.8.tgz"
+ integrity sha512-/LnvE1EJv+higIxB5cWIV+9neiOe+CfC7VKhpv9mnU35NcZO3yOhEZ8y6F8nHHkMYIABLcqr15yk4hSvmRGWDw==
+ dependencies:
+ intl-messageformat "^10.1.1"
+
+"@tailwindcss/node@4.1.17":
+ version "4.1.17"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/node/-/node-4.1.17.tgz#ec40a37293246f4eeab2dac00e4425af9272f600"
+ integrity sha512-csIkHIgLb3JisEFQ0vxr2Y57GUNYh447C8xzwj89U/8fdW8LhProdxvnVH6U8M2Y73QKiTIH+LWbK3V2BBZsAg==
+ dependencies:
+ "@jridgewell/remapping" "^2.3.4"
+ enhanced-resolve "^5.18.3"
+ jiti "^2.6.1"
+ lightningcss "1.30.2"
+ magic-string "^0.30.21"
+ source-map-js "^1.2.1"
+ tailwindcss "4.1.17"
+
+"@tailwindcss/oxide-android-arm64@4.1.17":
+ version "4.1.17"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.17.tgz#17f0dc901f88a979c5bff618181bce596dff596d"
+ integrity sha512-BMqpkJHgOZ5z78qqiGE6ZIRExyaHyuxjgrJ6eBO5+hfrfGkuya0lYfw8fRHG77gdTjWkNWEEm+qeG2cDMxArLQ==
+
+"@tailwindcss/oxide-darwin-arm64@4.1.17":
+ version "4.1.17"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.17.tgz#63e12e62b83f6949dbb10b5a7f6e441606835efc"
+ integrity sha512-EquyumkQweUBNk1zGEU/wfZo2qkp/nQKRZM8bUYO0J+Lums5+wl2CcG1f9BgAjn/u9pJzdYddHWBiFXJTcxmOg==
+
+"@tailwindcss/oxide-darwin-x64@4.1.17":
+ version "4.1.17"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.17.tgz#6dad270d2777508f55e2b73eca0eaef625bc45a7"
+ integrity sha512-gdhEPLzke2Pog8s12oADwYu0IAw04Y2tlmgVzIN0+046ytcgx8uZmCzEg4VcQh+AHKiS7xaL8kGo/QTiNEGRog==
+
+"@tailwindcss/oxide-freebsd-x64@4.1.17":
+ version "4.1.17"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.17.tgz#e7628b4602ac7d73c11a9922ecb83c24337eff55"
+ integrity sha512-hxGS81KskMxML9DXsaXT1H0DyA+ZBIbyG/sSAjWNe2EDl7TkPOBI42GBV3u38itzGUOmFfCzk1iAjDXds8Oh0g==
+
+"@tailwindcss/oxide-linux-arm-gnueabihf@4.1.17":
+ version "4.1.17"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.17.tgz#4d96a6fe4c7ed20e7a013101ee46f46caca2233e"
+ integrity sha512-k7jWk5E3ldAdw0cNglhjSgv501u7yrMf8oeZ0cElhxU6Y2o7f8yqelOp3fhf7evjIS6ujTI3U8pKUXV2I4iXHQ==
+
+"@tailwindcss/oxide-linux-arm64-gnu@4.1.17":
+ version "4.1.17"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.17.tgz#adc3c01cd73610870bfc21db5713571e08fb2210"
+ integrity sha512-HVDOm/mxK6+TbARwdW17WrgDYEGzmoYayrCgmLEw7FxTPLcp/glBisuyWkFz/jb7ZfiAXAXUACfyItn+nTgsdQ==
+
+"@tailwindcss/oxide-linux-arm64-musl@4.1.17":
+ version "4.1.17"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.17.tgz#39ceda30407af56a1ee125b2c5ce856c6d29250f"
+ integrity sha512-HvZLfGr42i5anKtIeQzxdkw/wPqIbpeZqe7vd3V9vI3RQxe3xU1fLjss0TjyhxWcBaipk7NYwSrwTwK1hJARMg==
+
+"@tailwindcss/oxide-linux-x64-gnu@4.1.17":
+ version "4.1.17"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.17.tgz#a3d4bd876c04d09856af0c394f5095fbc8a2b14c"
+ integrity sha512-M3XZuORCGB7VPOEDH+nzpJ21XPvK5PyjlkSFkFziNHGLc5d6g3di2McAAblmaSUNl8IOmzYwLx9NsE7bplNkwQ==
+
+"@tailwindcss/oxide-linux-x64-musl@4.1.17":
+ version "4.1.17"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.17.tgz#bdc20aa4fb2d28cc928f2cfffff7a9cd03a51d5b"
+ integrity sha512-k7f+pf9eXLEey4pBlw+8dgfJHY4PZ5qOUFDyNf7SI6lHjQ9Zt7+NcscjpwdCEbYi6FI5c2KDTDWyf2iHcCSyyQ==
+
+"@tailwindcss/oxide-wasm32-wasi@4.1.17":
+ version "4.1.17"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.17.tgz#7c0804748935928751838f86ff4f879c38f8a6d7"
+ integrity sha512-cEytGqSSoy7zK4JRWiTCx43FsKP/zGr0CsuMawhH67ONlH+T79VteQeJQRO/X7L0juEUA8ZyuYikcRBf0vsxhg==
+ dependencies:
+ "@emnapi/core" "^1.6.0"
+ "@emnapi/runtime" "^1.6.0"
+ "@emnapi/wasi-threads" "^1.1.0"
+ "@napi-rs/wasm-runtime" "^1.0.7"
+ "@tybys/wasm-util" "^0.10.1"
+ tslib "^2.4.0"
+
+"@tailwindcss/oxide-win32-arm64-msvc@4.1.17":
+ version "4.1.17"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.17.tgz#7222fc2ceee9d45ebe5aebf38707ee9833a20475"
+ integrity sha512-JU5AHr7gKbZlOGvMdb4722/0aYbU+tN6lv1kONx0JK2cGsh7g148zVWLM0IKR3NeKLv+L90chBVYcJ8uJWbC9A==
+
+"@tailwindcss/oxide-win32-x64-msvc@4.1.17":
+ version "4.1.17"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.17.tgz#ac79087f451dfcd5c3099589027a5732b045a3bf"
+ integrity sha512-SKWM4waLuqx0IH+FMDUw6R66Hu4OuTALFgnleKbqhgGU30DY20NORZMZUKgLRjQXNN2TLzKvh48QXTig4h4bGw==
+
+"@tailwindcss/oxide@4.1.17":
+ version "4.1.17"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide/-/oxide-4.1.17.tgz#6c063b40a022f4fbdac557c0586cfb9ae08a3dfe"
+ integrity sha512-F0F7d01fmkQhsTjXezGBLdrl1KresJTcI3DB8EkScCldyKp3Msz4hub4uyYaVnk88BAS1g5DQjjF6F5qczheLA==
+ optionalDependencies:
+ "@tailwindcss/oxide-android-arm64" "4.1.17"
+ "@tailwindcss/oxide-darwin-arm64" "4.1.17"
+ "@tailwindcss/oxide-darwin-x64" "4.1.17"
+ "@tailwindcss/oxide-freebsd-x64" "4.1.17"
+ "@tailwindcss/oxide-linux-arm-gnueabihf" "4.1.17"
+ "@tailwindcss/oxide-linux-arm64-gnu" "4.1.17"
+ "@tailwindcss/oxide-linux-arm64-musl" "4.1.17"
+ "@tailwindcss/oxide-linux-x64-gnu" "4.1.17"
+ "@tailwindcss/oxide-linux-x64-musl" "4.1.17"
+ "@tailwindcss/oxide-wasm32-wasi" "4.1.17"
+ "@tailwindcss/oxide-win32-arm64-msvc" "4.1.17"
+ "@tailwindcss/oxide-win32-x64-msvc" "4.1.17"
+
+"@tailwindcss/vite@^4.1.11":
+ version "4.1.17"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/vite/-/vite-4.1.17.tgz#c316b3817b21e175c37261249550790b1b909f93"
+ integrity sha512-4+9w8ZHOiGnpcGI6z1TVVfWaX/koK7fKeSYF3qlYg2xpBtbteP2ddBxiarL+HVgfSJGeK5RIxRQmKm4rTJJAwA==
+ dependencies:
+ "@tailwindcss/node" "4.1.17"
+ "@tailwindcss/oxide" "4.1.17"
+ tailwindcss "4.1.17"
+
+"@tsconfig/node10@^1.0.7":
+ version "1.0.11"
+ resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz"
+ integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==
+
+"@tsconfig/node12@^1.0.7":
+ version "1.0.11"
+ resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz"
+ integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==
+
+"@tsconfig/node14@^1.0.0":
+ version "1.0.3"
+ resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz"
+ integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==
+
+"@tsconfig/node16@^1.0.2":
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz"
+ integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==
+
+"@tybys/wasm-util@^0.10.1":
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.10.1.tgz#ecddd3205cf1e2d5274649ff0eedd2991ed7f414"
+ integrity sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==
+ dependencies:
+ tslib "^2.4.0"
+
+"@types/cookie@^0.6.0":
+ version "0.6.0"
+ resolved "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz"
+ integrity sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==
+
+"@types/debug@^4.1.12":
+ version "4.1.12"
+ resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917"
+ integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==
+ dependencies:
+ "@types/ms" "*"
+
+"@types/emscripten@*":
+ version "1.41.5"
+ resolved "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.41.5.tgz"
+ integrity sha512-cMQm7pxu6BxtHyqJ7mQZ2kXWV5SLmugybFdHCBbJ5eHzOo6VhBckEgAT3//rP5FwPHNPeEiq4SmQ5ucBwsOo4Q==
+
+"@types/estree@0.0.39":
+ version "0.0.39"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
+ integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
+
+"@types/estree@1.0.8", "@types/estree@^1.0.0", "@types/estree@^1.0.5", "@types/estree@^1.0.6":
+ version "1.0.8"
+ resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz"
+ integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==
+
+"@types/geojson-vt@3.2.5":
+ version "3.2.5"
+ resolved "https://registry.npmjs.org/@types/geojson-vt/-/geojson-vt-3.2.5.tgz"
+ integrity sha512-qDO7wqtprzlpe8FfQ//ClPV9xiuoh2nkIgiouIptON9w5jvD/fA4szvP9GBlDVdJ5dldAl0kX/sy3URbWwLx0g==
+ dependencies:
+ "@types/geojson" "*"
+
+"@types/geojson@*", "@types/geojson@^7946.0.16":
+ version "7946.0.16"
+ resolved "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz"
+ integrity sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==
+
+"@types/leaflet@^1.9.8":
+ version "1.9.21"
+ resolved "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.21.tgz"
+ integrity sha512-TbAd9DaPGSnzp6QvtYngntMZgcRk+igFELwR2N99XZn7RXUdKgsXMR+28bUO0rPsWp8MIu/f47luLIQuSLYv/w==
+ dependencies:
+ "@types/geojson" "*"
+
+"@types/ms@*":
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-2.1.0.tgz#052aa67a48eccc4309d7f0191b7e41434b90bb78"
+ integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==
+
+"@types/ngeohash@0.6.8":
+ version "0.6.8"
+ resolved "https://registry.npmjs.org/@types/ngeohash/-/ngeohash-0.6.8.tgz"
+ integrity sha512-A90x3HMwE1yXbWCnd0ztHzv8rAQPjwTzX2diYI/6OrWm/3oairDaehw5WPWJFgZ+8+J/OuF99IbipmMa2le6tQ==
+
+"@types/node@*", "@types/node@^22.13.1", "@types/node@^22.15.3", "@types/node@^22.5.0":
+ version "22.19.0"
+ resolved "https://registry.npmjs.org/@types/node/-/node-22.19.0.tgz"
+ integrity sha512-xpr/lmLPQEj+TUnHmR+Ab91/glhJvsqcjB+yY0Ix9GO70H6Lb4FHH5GeqdOE5btAx7eIMwuHkp4H2MSkLcqWbA==
+ dependencies:
+ undici-types "~6.21.0"
+
+"@types/resolve@1.20.2":
+ version "1.20.2"
+ resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.20.2.tgz#97d26e00cd4a0423b4af620abecf3e6f442b7975"
+ integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==
+
+"@types/sql.js@^1.4.9":
+ version "1.4.9"
+ resolved "https://registry.npmjs.org/@types/sql.js/-/sql.js-1.4.9.tgz"
+ integrity sha512-ep8b36RKHlgWPqjNG9ToUrPiwkhwh0AEzy883mO5Xnd+cL6VBH1EvSjBAAuxLUFF2Vn/moE3Me6v9E1Lo+48GQ==
+ dependencies:
+ "@types/emscripten" "*"
+ "@types/node" "*"
+
+"@types/supercluster@^7.1.3":
+ version "7.1.3"
+ resolved "https://registry.npmjs.org/@types/supercluster/-/supercluster-7.1.3.tgz"
+ integrity sha512-Z0pOY34GDFl3Q6hUFYf3HkTwKEE02e7QgtJppBt+beEAxnyOpJua+voGFvxINBHa06GwLFFym7gRPY2SiKIfIA==
+ dependencies:
+ "@types/geojson" "*"
+
+"@types/trusted-types@^2.0.2":
+ version "2.0.7"
+ resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11"
+ integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==
+
+"@types/uuid@^10.0.0":
+ version "10.0.0"
+ resolved "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz"
+ integrity sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==
+
+"@types/yargs-parser@*":
+ version "21.0.3"
+ resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz"
+ integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==
+
+"@types/yargs@^17.0.33":
+ version "17.0.34"
+ resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.34.tgz"
+ integrity sha512-KExbHVa92aJpw9WDQvzBaGVE2/Pz+pLZQloT2hjL8IqsZnV62rlPOYvNnLmf/L2dyllfVUOVBj64M0z/46eR2A==
+ dependencies:
+ "@types/yargs-parser" "*"
+
+"@typescript/vfs@^1.5.0":
+ version "1.6.2"
+ resolved "https://registry.npmjs.org/@typescript/vfs/-/vfs-1.6.2.tgz"
+ integrity sha512-hoBwJwcbKHmvd2QVebiytN1aELvpk9B74B4L1mFm/XT1Q/VOYAWl2vQ9AWRFtQq8zmz6enTpfTV8WRc4ATjW/g==
+ dependencies:
+ debug "^4.1.1"
+
+"@vite-pwa/sveltekit@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@vite-pwa/sveltekit/-/sveltekit-1.1.0.tgz#717c357f1796ce4c54fb8331b5e0898b042304a6"
+ integrity sha512-mMIf2tY+7Hg8jecpu/WY+Ki2ikoXy3hVmt3tOxi0K+lYYnKQrDYthuHireI0S+26Mg9BXzL7qQF1xeB5VYlYlg==
+ dependencies:
+ kolorist "^1.8.0"
+ tinyglobby "^0.2.9"
+ vite-plugin-pwa "^1.2.0"
+
+acorn-walk@8.3.2:
+ version "8.3.2"
+ resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa"
+ integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==
+
+acorn-walk@^8.1.1:
+ version "8.3.4"
+ resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz"
+ integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==
+ dependencies:
+ acorn "^8.11.0"
+
+acorn@8.14.0:
+ version "8.14.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0"
+ integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==
+
+acorn@^8.11.0, acorn@^8.12.1, acorn@^8.14.1, acorn@^8.15.0, acorn@^8.4.1:
+ version "8.15.0"
+ resolved "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz"
+ integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
+
+ajv@^8.6.0:
+ version "8.17.1"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6"
+ integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==
+ dependencies:
+ fast-deep-equal "^3.1.3"
+ fast-uri "^3.0.1"
+ json-schema-traverse "^1.0.0"
+ require-from-string "^2.0.2"
+
+ansi-escapes@^4.2.1, ansi-escapes@^4.3.2:
+ version "4.3.2"
+ resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz"
+ integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==
+ dependencies:
+ type-fest "^0.21.3"
+
+ansi-regex@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz"
+ integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
+
+ansi-regex@^6.0.1:
+ version "6.2.2"
+ resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz"
+ integrity sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==
+
+ansi-styles@^4.0.0, ansi-styles@^4.1.0:
+ version "4.3.0"
+ resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+ dependencies:
+ color-convert "^2.0.1"
+
+ansi-styles@^6.1.0:
+ version "6.2.3"
+ resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz"
+ integrity sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==
+
+ansis@^3.17.0:
+ version "3.17.0"
+ resolved "https://registry.npmjs.org/ansis/-/ansis-3.17.0.tgz"
+ integrity sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==
+
+any-promise@^1.0.0:
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz"
+ integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==
+
+anymatch@~3.1.2:
+ version "3.1.3"
+ resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz"
+ integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
+ dependencies:
+ normalize-path "^3.0.0"
+ picomatch "^2.0.4"
+
+arg@^4.1.0:
+ version "4.1.3"
+ resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz"
+ integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
+
+aria-query@^5.3.1:
+ version "5.3.2"
+ resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz"
+ integrity sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==
+
+array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz#384d12a37295aec3769ab022ad323a18a51ccf8b"
+ integrity sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==
+ dependencies:
+ call-bound "^1.0.3"
+ is-array-buffer "^3.0.5"
+
+array-union@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz"
+ integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
+
+arraybuffer.prototype.slice@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz#9d760d84dbdd06d0cbf92c8849615a1a7ab3183c"
+ integrity sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==
+ dependencies:
+ array-buffer-byte-length "^1.0.1"
+ call-bind "^1.0.8"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.5"
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.6"
+ is-array-buffer "^3.0.4"
+
+async-function@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/async-function/-/async-function-1.0.0.tgz#509c9fca60eaf85034c6829838188e4e4c8ffb2b"
+ integrity sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==
+
+async@^3.2.6:
+ version "3.2.6"
+ resolved "https://registry.npmjs.org/async/-/async-3.2.6.tgz"
+ integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==
+
+at-least-node@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
+ integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
+
+available-typed-arrays@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846"
+ integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==
+ dependencies:
+ possible-typed-array-names "^1.0.0"
+
+axobject-query@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz"
+ integrity sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==
+
+babel-plugin-polyfill-corejs2@^0.4.14:
+ version "0.4.14"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz#8101b82b769c568835611542488d463395c2ef8f"
+ integrity sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==
+ dependencies:
+ "@babel/compat-data" "^7.27.7"
+ "@babel/helper-define-polyfill-provider" "^0.6.5"
+ semver "^6.3.1"
+
+babel-plugin-polyfill-corejs3@^0.13.0:
+ version "0.13.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz#bb7f6aeef7addff17f7602a08a6d19a128c30164"
+ integrity sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==
+ dependencies:
+ "@babel/helper-define-polyfill-provider" "^0.6.5"
+ core-js-compat "^3.43.0"
+
+babel-plugin-polyfill-regenerator@^0.6.5:
+ version "0.6.5"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz#32752e38ab6f6767b92650347bf26a31b16ae8c5"
+ integrity sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==
+ dependencies:
+ "@babel/helper-define-polyfill-provider" "^0.6.5"
+
+balanced-match@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
+ integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+
+base64-js@^1.3.1:
+ version "1.5.1"
+ resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
+ integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
+
+baseline-browser-mapping@^2.8.25:
+ version "2.9.0"
+ resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.9.0.tgz#b4b91c7ec4deac14527bc5495b914fb9db1a251a"
+ integrity sha512-Mh++g+2LPfzZToywfE1BUzvZbfOY52Nil0rn9H1CPC5DJ7fX+Vir7nToBeoiSbB1zTNeGYbELEvJESujgGrzXw==
+
+binary-extensions@^2.0.0:
+ version "2.3.0"
+ resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz"
+ integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==
+
+bl@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz"
+ integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
+ dependencies:
+ buffer "^5.5.0"
+ inherits "^2.0.4"
+ readable-stream "^3.4.0"
+
+blake3-wasm@2.1.5:
+ version "2.1.5"
+ resolved "https://registry.yarnpkg.com/blake3-wasm/-/blake3-wasm-2.1.5.tgz#b22dbb84bc9419ed0159caa76af4b1b132e6ba52"
+ integrity sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==
+
+brace-expansion@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz"
+ integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==
+ dependencies:
+ balanced-match "^1.0.0"
+
+braces@^3.0.3, braces@~3.0.2:
+ version "3.0.3"
+ resolved "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz"
+ integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
+ dependencies:
+ fill-range "^7.1.1"
+
+browserslist@^4.24.0, browserslist@^4.28.0:
+ version "4.28.0"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.28.0.tgz#9cefece0a386a17a3cd3d22ebf67b9deca1b5929"
+ integrity sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==
+ dependencies:
+ baseline-browser-mapping "^2.8.25"
+ caniuse-lite "^1.0.30001754"
+ electron-to-chromium "^1.5.249"
+ node-releases "^2.0.27"
+ update-browserslist-db "^1.1.4"
+
+buffer-from@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
+ integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
+
+buffer@^5.5.0:
+ version "5.7.1"
+ resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz"
+ integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
+ dependencies:
+ base64-js "^1.3.1"
+ ieee754 "^1.1.13"
+
+bundle-require@^4.0.0:
+ version "4.2.1"
+ resolved "https://registry.npmjs.org/bundle-require/-/bundle-require-4.2.1.tgz"
+ integrity sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA==
+ dependencies:
+ load-tsconfig "^0.2.3"
+
+cac@^6.7.12:
+ version "6.7.14"
+ resolved "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz"
+ integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==
+
+call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6"
+ integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==
+ dependencies:
+ es-errors "^1.3.0"
+ function-bind "^1.1.2"
+
+call-bind@^1.0.7, call-bind@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c"
+ integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==
+ dependencies:
+ call-bind-apply-helpers "^1.0.0"
+ es-define-property "^1.0.0"
+ get-intrinsic "^1.2.4"
+ set-function-length "^1.2.2"
+
+call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a"
+ integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==
+ dependencies:
+ call-bind-apply-helpers "^1.0.2"
+ get-intrinsic "^1.3.0"
+
+callsites@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz"
+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+
+caniuse-lite@^1.0.30001754:
+ version "1.0.30001759"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001759.tgz#d569e7b010372c6b0ca3946e30dada0a2e9d5006"
+ integrity sha512-Pzfx9fOKoKvevQf8oCXoyNRQ5QyxJj+3O0Rqx2V5oxT61KGx8+n6hV/IUyJeifUci2clnmmKVpvtiqRzgiWjSw==
+
+case@^1.6.3:
+ version "1.6.3"
+ resolved "https://registry.npmjs.org/case/-/case-1.6.3.tgz"
+ integrity sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==
+
+chalk@^4.1.0, chalk@^4.1.1:
+ version "4.1.2"
+ resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz"
+ integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+chardet@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.npmjs.org/chardet/-/chardet-2.1.1.tgz"
+ integrity sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==
+
+chart.js@^4.4.5:
+ version "4.5.1"
+ resolved "https://registry.npmjs.org/chart.js/-/chart.js-4.5.1.tgz"
+ integrity sha512-GIjfiT9dbmHRiYi6Nl2yFCq7kkwdkp1W/lp2J99rX0yo9tgJGn3lKQATztIjb5tVtevcBtIdICNWqlq5+E8/Pw==
+ dependencies:
+ "@kurkle/color" "^0.3.0"
+
+chokidar@^3.5.1:
+ version "3.6.0"
+ resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz"
+ integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==
+ dependencies:
+ anymatch "~3.1.2"
+ braces "~3.0.2"
+ glob-parent "~5.1.2"
+ is-binary-path "~2.1.0"
+ is-glob "~4.0.1"
+ normalize-path "~3.0.0"
+ readdirp "~3.6.0"
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+chokidar@^4.0.1, chokidar@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz"
+ integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==
+ dependencies:
+ readdirp "^4.0.1"
+
+clean-stack@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz"
+ integrity sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==
+ dependencies:
+ escape-string-regexp "4.0.0"
+
+cli-cursor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz"
+ integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
+ dependencies:
+ restore-cursor "^3.1.0"
+
+cli-spinners@^2.5.0, cli-spinners@^2.9.2:
+ version "2.9.2"
+ resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz"
+ integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==
+
+cli-width@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz"
+ integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==
+
+cliui@^8.0.1:
+ version "8.0.1"
+ resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz"
+ integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==
+ dependencies:
+ string-width "^4.2.0"
+ strip-ansi "^6.0.1"
+ wrap-ansi "^7.0.0"
+
+clone@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz"
+ integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==
+
+clsx@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz"
+ integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==
+
+color-convert@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+ dependencies:
+ color-name "~1.1.4"
+
+color-name@^1.0.0, color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+color-string@^1.9.0:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4"
+ integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==
+ dependencies:
+ color-name "^1.0.0"
+ simple-swizzle "^0.2.2"
+
+color@^4.2.3:
+ version "4.2.3"
+ resolved "https://registry.yarnpkg.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a"
+ integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==
+ dependencies:
+ color-convert "^2.0.1"
+ color-string "^1.9.0"
+
+commander@^2.20.0:
+ version "2.20.3"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
+ integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
+
+commander@^4.0.0:
+ version "4.1.1"
+ resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz"
+ integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
+
+common-tags@^1.8.0:
+ version "1.8.2"
+ resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6"
+ integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==
+
+convert-source-map@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
+ integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
+
+convert@^5.5.1:
+ version "5.13.1"
+ resolved "https://registry.npmjs.org/convert/-/convert-5.13.1.tgz"
+ integrity sha512-LB7K75X/D7Xp9ZYhNrjcny8kr+xzlDcw/KK6lccXrHhxvr2E/LO/UtlYRZRdpAVb9xe5uEBY++uish8Rz5+9IQ==
+
+cookie@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz"
+ integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==
+
+cookie@^1.0.2:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/cookie/-/cookie-1.1.1.tgz#3bb9bdfc82369db9c2f69c93c9c3ceb310c88b3c"
+ integrity sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==
+
+core-js-compat@^3.43.0:
+ version "3.47.0"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.47.0.tgz#698224bbdbb6f2e3f39decdda4147b161e3772a3"
+ integrity sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==
+ dependencies:
+ browserslist "^4.28.0"
+
+create-require@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz"
+ integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
+
+cross-spawn@^7.0.3, cross-spawn@^7.0.6:
+ version "7.0.6"
+ resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz"
+ integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==
+ dependencies:
+ path-key "^3.1.0"
+ shebang-command "^2.0.0"
+ which "^2.0.1"
+
+crypto-random-string@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
+ integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
+
+css-paint-polyfill@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.npmjs.org/css-paint-polyfill/-/css-paint-polyfill-3.4.0.tgz"
+ integrity sha512-B89ymLgMZie41d+QrD//5RWnwykvru5H9Yzd/MMJIgPdVsKB7t4lxuhIAyzy5FnoUbb0MztagNVRe9dI7kMbiA==
+
+"d3-array@2.5.0 - 3":
+ version "3.2.4"
+ resolved "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz"
+ integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==
+ dependencies:
+ internmap "1 - 2"
+
+d3-geo@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz"
+ integrity sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==
+ dependencies:
+ d3-array "2.5.0 - 3"
+
+daisyui@^5.0.46:
+ version "5.5.5"
+ resolved "https://registry.yarnpkg.com/daisyui/-/daisyui-5.5.5.tgz#900ae8a83fc46fbf7db02b0230988d5801c56d74"
+ integrity sha512-ekvI93ZkWIJoCOtDl0D2QMxnWvTejk9V5nWBqRv+7t0xjiBXqAK5U6o6JE2RPvlIC3EqwNyUoIZSdHX9MZK3nw==
+
+data-view-buffer@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz#211a03ba95ecaf7798a8c7198d79536211f88570"
+ integrity sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==
+ dependencies:
+ call-bound "^1.0.3"
+ es-errors "^1.3.0"
+ is-data-view "^1.0.2"
+
+data-view-byte-length@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz#9e80f7ca52453ce3e93d25a35318767ea7704735"
+ integrity sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==
+ dependencies:
+ call-bound "^1.0.3"
+ es-errors "^1.3.0"
+ is-data-view "^1.0.2"
+
+data-view-byte-offset@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz#068307f9b71ab76dbbe10291389e020856606191"
+ integrity sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==
+ dependencies:
+ call-bound "^1.0.2"
+ es-errors "^1.3.0"
+ is-data-view "^1.0.1"
+
+debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1, debug@^4.3.4, debug@^4.3.6, debug@^4.3.7, debug@^4.4.1, debug@^4.4.3:
+ version "4.4.3"
+ resolved "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz"
+ integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==
+ dependencies:
+ ms "^2.1.3"
+
+decimal.js@^10.4.3:
+ version "10.6.0"
+ resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz"
+ integrity sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==
+
+dedent-js@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/dedent-js/-/dedent-js-1.0.1.tgz"
+ integrity sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==
+
+deepmerge@^4.2.2, deepmerge@^4.3.1:
+ version "4.3.1"
+ resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz"
+ integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==
+
+defaults@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz"
+ integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==
+ dependencies:
+ clone "^1.0.2"
+
+define-data-property@^1.0.1, define-data-property@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e"
+ integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==
+ dependencies:
+ es-define-property "^1.0.0"
+ es-errors "^1.3.0"
+ gopd "^1.0.1"
+
+define-properties@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c"
+ integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==
+ dependencies:
+ define-data-property "^1.0.1"
+ has-property-descriptors "^1.0.0"
+ object-keys "^1.1.1"
+
+dequal@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz"
+ integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==
+
+detect-libc@^2.0.3:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.1.2.tgz#689c5dcdc1900ef5583a4cb9f6d7b473742074ad"
+ integrity sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==
+
+devalue@^5.3.2:
+ version "5.4.2"
+ resolved "https://registry.npmjs.org/devalue/-/devalue-5.4.2.tgz"
+ integrity sha512-MwPZTKEPK2k8Qgfmqrd48ZKVvzSQjgW0lXLxiIBA8dQjtf/6mw6pggHNLcyDKyf+fI6eXxlQwPsfaCMTU5U+Bw==
+
+dexie@^4.0.8:
+ version "4.2.1"
+ resolved "https://registry.npmjs.org/dexie/-/dexie-4.2.1.tgz"
+ integrity sha512-Ckej0NS6jxQ4Po3OrSQBFddayRhTCic2DoCAG5zacOfOVB9P2Q5Xc5uL/nVa7ZVs+HdMnvUPzLFCB/JwpB6Csg==
+
+diff@^4.0.1:
+ version "4.0.2"
+ resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz"
+ integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
+
+dir-glob@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz"
+ integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
+ dependencies:
+ path-type "^4.0.0"
+
+dotenv@^17.2.0:
+ version "17.2.3"
+ resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-17.2.3.tgz#ad995d6997f639b11065f419a22fabf567cdb9a2"
+ integrity sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==
+
+dunder-proto@^1.0.0, dunder-proto@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a"
+ integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==
+ dependencies:
+ call-bind-apply-helpers "^1.0.1"
+ es-errors "^1.3.0"
+ gopd "^1.2.0"
+
+earcut@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.npmjs.org/earcut/-/earcut-3.0.2.tgz"
+ integrity sha512-X7hshQbLyMJ/3RPhyObLARM2sNxxmRALLKx1+NVFFnQ9gKzmCrxm9+uLIAdBcvc8FNLpctqlQ2V6AE92Ol9UDQ==
+
+eastasianwidth@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz"
+ integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
+
+ejs@^3.1.10, ejs@^3.1.6:
+ version "3.1.10"
+ resolved "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz"
+ integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==
+ dependencies:
+ jake "^10.8.5"
+
+electron-to-chromium@^1.5.249:
+ version "1.5.263"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.263.tgz#bec8f2887c30001dfacf415c136eae3b4386846a"
+ integrity sha512-DrqJ11Knd+lo+dv+lltvfMDLU27g14LMdH2b0O3Pio4uk0x+z7OR+JrmyacTPN2M8w3BrZ7/RTwG3R9B7irPlg==
+
+emoji-regex@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz"
+ integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
+emoji-regex@^9.2.2:
+ version "9.2.2"
+ resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz"
+ integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
+
+enhanced-resolve@^5.18.3:
+ version "5.18.3"
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz#9b5f4c5c076b8787c78fe540392ce76a88855b44"
+ integrity sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==
+ dependencies:
+ graceful-fs "^4.2.4"
+ tapable "^2.2.0"
+
+error-stack-parser-es@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/error-stack-parser-es/-/error-stack-parser-es-1.0.5.tgz#e6a1655dd12f39bb3a85bf4c7088187d78740327"
+ integrity sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==
+
+es-abstract@^1.23.5, es-abstract@^1.23.6, es-abstract@^1.23.9:
+ version "1.24.0"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.24.0.tgz#c44732d2beb0acc1ed60df840869e3106e7af328"
+ integrity sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==
+ dependencies:
+ array-buffer-byte-length "^1.0.2"
+ arraybuffer.prototype.slice "^1.0.4"
+ available-typed-arrays "^1.0.7"
+ call-bind "^1.0.8"
+ call-bound "^1.0.4"
+ data-view-buffer "^1.0.2"
+ data-view-byte-length "^1.0.2"
+ data-view-byte-offset "^1.0.1"
+ es-define-property "^1.0.1"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.1.1"
+ es-set-tostringtag "^2.1.0"
+ es-to-primitive "^1.3.0"
+ function.prototype.name "^1.1.8"
+ get-intrinsic "^1.3.0"
+ get-proto "^1.0.1"
+ get-symbol-description "^1.1.0"
+ globalthis "^1.0.4"
+ gopd "^1.2.0"
+ has-property-descriptors "^1.0.2"
+ has-proto "^1.2.0"
+ has-symbols "^1.1.0"
+ hasown "^2.0.2"
+ internal-slot "^1.1.0"
+ is-array-buffer "^3.0.5"
+ is-callable "^1.2.7"
+ is-data-view "^1.0.2"
+ is-negative-zero "^2.0.3"
+ is-regex "^1.2.1"
+ is-set "^2.0.3"
+ is-shared-array-buffer "^1.0.4"
+ is-string "^1.1.1"
+ is-typed-array "^1.1.15"
+ is-weakref "^1.1.1"
+ math-intrinsics "^1.1.0"
+ object-inspect "^1.13.4"
+ object-keys "^1.1.1"
+ object.assign "^4.1.7"
+ own-keys "^1.0.1"
+ regexp.prototype.flags "^1.5.4"
+ safe-array-concat "^1.1.3"
+ safe-push-apply "^1.0.0"
+ safe-regex-test "^1.1.0"
+ set-proto "^1.0.0"
+ stop-iteration-iterator "^1.1.0"
+ string.prototype.trim "^1.2.10"
+ string.prototype.trimend "^1.0.9"
+ string.prototype.trimstart "^1.0.8"
+ typed-array-buffer "^1.0.3"
+ typed-array-byte-length "^1.0.3"
+ typed-array-byte-offset "^1.0.4"
+ typed-array-length "^1.0.7"
+ unbox-primitive "^1.1.0"
+ which-typed-array "^1.1.19"
+
+es-define-property@^1.0.0, es-define-property@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa"
+ integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==
+
+es-errors@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
+ integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
+
+es-object-atoms@^1.0.0, es-object-atoms@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1"
+ integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==
+ dependencies:
+ es-errors "^1.3.0"
+
+es-set-tostringtag@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d"
+ integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==
+ dependencies:
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.6"
+ has-tostringtag "^1.0.2"
+ hasown "^2.0.2"
+
+es-to-primitive@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz#96c89c82cc49fd8794a24835ba3e1ff87f214e18"
+ integrity sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==
+ dependencies:
+ is-callable "^1.2.7"
+ is-date-object "^1.0.5"
+ is-symbol "^1.0.4"
+
+esbuild@0.25.4:
+ version "0.25.4"
+ resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.4.tgz#bb9a16334d4ef2c33c7301a924b8b863351a0854"
+ integrity sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==
+ optionalDependencies:
+ "@esbuild/aix-ppc64" "0.25.4"
+ "@esbuild/android-arm" "0.25.4"
+ "@esbuild/android-arm64" "0.25.4"
+ "@esbuild/android-x64" "0.25.4"
+ "@esbuild/darwin-arm64" "0.25.4"
+ "@esbuild/darwin-x64" "0.25.4"
+ "@esbuild/freebsd-arm64" "0.25.4"
+ "@esbuild/freebsd-x64" "0.25.4"
+ "@esbuild/linux-arm" "0.25.4"
+ "@esbuild/linux-arm64" "0.25.4"
+ "@esbuild/linux-ia32" "0.25.4"
+ "@esbuild/linux-loong64" "0.25.4"
+ "@esbuild/linux-mips64el" "0.25.4"
+ "@esbuild/linux-ppc64" "0.25.4"
+ "@esbuild/linux-riscv64" "0.25.4"
+ "@esbuild/linux-s390x" "0.25.4"
+ "@esbuild/linux-x64" "0.25.4"
+ "@esbuild/netbsd-arm64" "0.25.4"
+ "@esbuild/netbsd-x64" "0.25.4"
+ "@esbuild/openbsd-arm64" "0.25.4"
+ "@esbuild/openbsd-x64" "0.25.4"
+ "@esbuild/sunos-x64" "0.25.4"
+ "@esbuild/win32-arm64" "0.25.4"
+ "@esbuild/win32-ia32" "0.25.4"
+ "@esbuild/win32-x64" "0.25.4"
+
+esbuild@^0.17.6:
+ version "0.17.19"
+ resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz"
+ integrity sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==
+ optionalDependencies:
+ "@esbuild/android-arm" "0.17.19"
+ "@esbuild/android-arm64" "0.17.19"
+ "@esbuild/android-x64" "0.17.19"
+ "@esbuild/darwin-arm64" "0.17.19"
+ "@esbuild/darwin-x64" "0.17.19"
+ "@esbuild/freebsd-arm64" "0.17.19"
+ "@esbuild/freebsd-x64" "0.17.19"
+ "@esbuild/linux-arm" "0.17.19"
+ "@esbuild/linux-arm64" "0.17.19"
+ "@esbuild/linux-ia32" "0.17.19"
+ "@esbuild/linux-loong64" "0.17.19"
+ "@esbuild/linux-mips64el" "0.17.19"
+ "@esbuild/linux-ppc64" "0.17.19"
+ "@esbuild/linux-riscv64" "0.17.19"
+ "@esbuild/linux-s390x" "0.17.19"
+ "@esbuild/linux-x64" "0.17.19"
+ "@esbuild/netbsd-x64" "0.17.19"
+ "@esbuild/openbsd-x64" "0.17.19"
+ "@esbuild/sunos-x64" "0.17.19"
+ "@esbuild/win32-arm64" "0.17.19"
+ "@esbuild/win32-ia32" "0.17.19"
+ "@esbuild/win32-x64" "0.17.19"
+
+esbuild@^0.25.0, esbuild@~0.25.0:
+ version "0.25.12"
+ resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz"
+ integrity sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==
+ optionalDependencies:
+ "@esbuild/aix-ppc64" "0.25.12"
+ "@esbuild/android-arm" "0.25.12"
+ "@esbuild/android-arm64" "0.25.12"
+ "@esbuild/android-x64" "0.25.12"
+ "@esbuild/darwin-arm64" "0.25.12"
+ "@esbuild/darwin-x64" "0.25.12"
+ "@esbuild/freebsd-arm64" "0.25.12"
+ "@esbuild/freebsd-x64" "0.25.12"
+ "@esbuild/linux-arm" "0.25.12"
+ "@esbuild/linux-arm64" "0.25.12"
+ "@esbuild/linux-ia32" "0.25.12"
+ "@esbuild/linux-loong64" "0.25.12"
+ "@esbuild/linux-mips64el" "0.25.12"
+ "@esbuild/linux-ppc64" "0.25.12"
+ "@esbuild/linux-riscv64" "0.25.12"
+ "@esbuild/linux-s390x" "0.25.12"
+ "@esbuild/linux-x64" "0.25.12"
+ "@esbuild/netbsd-arm64" "0.25.12"
+ "@esbuild/netbsd-x64" "0.25.12"
+ "@esbuild/openbsd-arm64" "0.25.12"
+ "@esbuild/openbsd-x64" "0.25.12"
+ "@esbuild/openharmony-arm64" "0.25.12"
+ "@esbuild/sunos-x64" "0.25.12"
+ "@esbuild/win32-arm64" "0.25.12"
+ "@esbuild/win32-ia32" "0.25.12"
+ "@esbuild/win32-x64" "0.25.12"
+
+escalade@^3.1.1, escalade@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz"
+ integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==
+
+escape-string-regexp@4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz"
+ integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+
+escape-string-regexp@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
+ integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
+
+esm-env@^1.2.1, esm-env@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz"
+ integrity sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==
+
+esm@^3.2.25:
+ version "3.2.25"
+ resolved "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz"
+ integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==
+
+esrap@^2.1.0:
+ version "2.1.2"
+ resolved "https://registry.npmjs.org/esrap/-/esrap-2.1.2.tgz"
+ integrity sha512-DgvlIQeowRNyvLPWW4PT7Gu13WznY288Du086E751mwwbsgr29ytBiYeLzAGIo0qk3Ujob0SDk8TiSaM5WQzNg==
+ dependencies:
+ "@jridgewell/sourcemap-codec" "^1.4.15"
+
+estree-walker@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700"
+ integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==
+
+estree-walker@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
+ integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
+
+esutils@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
+ integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+
+execa@^5.0.0:
+ version "5.1.1"
+ resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz"
+ integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
+ dependencies:
+ cross-spawn "^7.0.3"
+ get-stream "^6.0.0"
+ human-signals "^2.1.0"
+ is-stream "^2.0.0"
+ merge-stream "^2.0.0"
+ npm-run-path "^4.0.1"
+ onetime "^5.1.2"
+ signal-exit "^3.0.3"
+ strip-final-newline "^2.0.0"
+
+exit-hook@2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-2.2.1.tgz#007b2d92c6428eda2b76e7016a34351586934593"
+ integrity sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==
+
+fast-deep-equal@^3.1.3:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
+ integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+
+fast-glob@^3.2.9, fast-glob@^3.3.3:
+ version "3.3.3"
+ resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz"
+ integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==
+ dependencies:
+ "@nodelib/fs.stat" "^2.0.2"
+ "@nodelib/fs.walk" "^1.2.3"
+ glob-parent "^5.1.2"
+ merge2 "^1.3.0"
+ micromatch "^4.0.8"
+
+fast-json-stable-stringify@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+ integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+
+fast-uri@^3.0.1:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.0.tgz#66eecff6c764c0df9b762e62ca7edcfb53b4edfa"
+ integrity sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==
+
+fastq@^1.6.0:
+ version "1.19.1"
+ resolved "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz"
+ integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==
+ dependencies:
+ reusify "^1.0.4"
+
+fdir@^6.2.0, fdir@^6.4.6, fdir@^6.5.0:
+ version "6.5.0"
+ resolved "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz"
+ integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==
+
+fflate@^0.8.0:
+ version "0.8.2"
+ resolved "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz"
+ integrity sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==
+
+figures@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz"
+ integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
+ dependencies:
+ escape-string-regexp "^1.0.5"
+
+filelist@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz"
+ integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==
+ dependencies:
+ minimatch "^5.0.1"
+
+fill-range@^7.1.1:
+ version "7.1.1"
+ resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz"
+ integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
+ dependencies:
+ to-regex-range "^5.0.1"
+
+for-each@^0.3.3, for-each@^0.3.5:
+ version "0.3.5"
+ resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.5.tgz#d650688027826920feeb0af747ee7b9421a41d47"
+ integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==
+ dependencies:
+ is-callable "^1.2.7"
+
+foreground-child@^3.1.0, foreground-child@^3.3.1:
+ version "3.3.1"
+ resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz"
+ integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==
+ dependencies:
+ cross-spawn "^7.0.6"
+ signal-exit "^4.0.1"
+
+fs-extra@^11.1.1:
+ version "11.3.2"
+ resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz"
+ integrity sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==
+ dependencies:
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
+
+fs-extra@^9.0.1:
+ version "9.1.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
+ integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
+ dependencies:
+ at-least-node "^1.0.0"
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
+
+fsevents@~2.3.2, fsevents@~2.3.3:
+ version "2.3.3"
+ resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz"
+ integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
+
+function-bind@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
+ integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
+
+function.prototype.name@^1.1.6, function.prototype.name@^1.1.8:
+ version "1.1.8"
+ resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.8.tgz#e68e1df7b259a5c949eeef95cdbde53edffabb78"
+ integrity sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.3"
+ define-properties "^1.2.1"
+ functions-have-names "^1.2.3"
+ hasown "^2.0.2"
+ is-callable "^1.2.7"
+
+functions-have-names@^1.2.3:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
+ integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
+
+generator-function@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/generator-function/-/generator-function-2.0.1.tgz#0e75dd410d1243687a0ba2e951b94eedb8f737a2"
+ integrity sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==
+
+gensync@^1.0.0-beta.2:
+ version "1.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
+ integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
+
+geohashing@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/geohashing/-/geohashing-2.0.1.tgz"
+ integrity sha512-u0H29yhqHEyBBgwv1GJrvqbD33AnQm2lbWOLNbXLZEWVrCKNoblyiWWnVGeYGaM4NNM7rBBTqvJZhZ/CDfrBVw==
+
+geojson-vt@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmjs.org/geojson-vt/-/geojson-vt-4.0.2.tgz"
+ integrity sha512-AV9ROqlNqoZEIJGfm1ncNjEXfkz2hdFlZf0qkVfmkwdKa8vj7H16YUOT81rJw1rdFhyEDlN2Tds91p/glzbl5A==
+
+get-caller-file@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz"
+ integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+
+get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01"
+ integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==
+ dependencies:
+ call-bind-apply-helpers "^1.0.2"
+ es-define-property "^1.0.1"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.1.1"
+ function-bind "^1.1.2"
+ get-proto "^1.0.1"
+ gopd "^1.2.0"
+ has-symbols "^1.1.0"
+ hasown "^2.0.2"
+ math-intrinsics "^1.1.0"
+
+get-own-enumerable-property-symbols@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664"
+ integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==
+
+get-package-type@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz"
+ integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
+
+get-proto@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1"
+ integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==
+ dependencies:
+ dunder-proto "^1.0.1"
+ es-object-atoms "^1.0.0"
+
+get-stream@^6.0.0, get-stream@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz"
+ integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
+
+get-symbol-description@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz#7bdd54e0befe8ffc9f3b4e203220d9f1e881b6ee"
+ integrity sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==
+ dependencies:
+ call-bound "^1.0.3"
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.6"
+
+get-tsconfig@^4.7.5:
+ version "4.13.0"
+ resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.13.0.tgz#fcdd991e6d22ab9a600f00e91c318707a5d9a0d7"
+ integrity sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==
+ dependencies:
+ resolve-pkg-maps "^1.0.0"
+
+gl-matrix@^3.4.4:
+ version "3.4.4"
+ resolved "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.4.tgz"
+ integrity sha512-latSnyDNt/8zYUB6VIJ6PCh2jBjJX6gnDsoCZ7LyW7GkqrD51EWwa9qCoGixj8YqBtETQK/xY7OmpTF8xz1DdQ==
+
+glob-parent@^5.1.2, glob-parent@~5.1.2:
+ version "5.1.2"
+ resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
+ integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+ dependencies:
+ is-glob "^4.0.1"
+
+glob-to-regexp@0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
+ integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
+
+glob@^10.3.10:
+ version "10.4.5"
+ resolved "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz"
+ integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==
+ dependencies:
+ foreground-child "^3.1.0"
+ jackspeak "^3.1.2"
+ minimatch "^9.0.4"
+ minipass "^7.1.2"
+ package-json-from-dist "^1.0.0"
+ path-scurry "^1.11.1"
+
+glob@^11.0.1:
+ version "11.1.0"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-11.1.0.tgz#4f826576e4eb99c7dad383793d2f9f08f67e50a6"
+ integrity sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==
+ dependencies:
+ foreground-child "^3.3.1"
+ jackspeak "^4.1.1"
+ minimatch "^10.1.1"
+ minipass "^7.1.2"
+ package-json-from-dist "^1.0.0"
+ path-scurry "^2.0.0"
+
+glob@^11.0.3:
+ version "11.0.3"
+ resolved "https://registry.npmjs.org/glob/-/glob-11.0.3.tgz"
+ integrity sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==
+ dependencies:
+ foreground-child "^3.3.1"
+ jackspeak "^4.1.1"
+ minimatch "^10.0.3"
+ minipass "^7.1.2"
+ package-json-from-dist "^1.0.0"
+ path-scurry "^2.0.0"
+
+globalthis@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236"
+ integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==
+ dependencies:
+ define-properties "^1.2.1"
+ gopd "^1.0.1"
+
+globby@^11.0.3:
+ version "11.1.0"
+ resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz"
+ integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
+ dependencies:
+ array-union "^2.1.0"
+ dir-glob "^3.0.1"
+ fast-glob "^3.2.9"
+ ignore "^5.2.0"
+ merge2 "^1.4.1"
+ slash "^3.0.0"
+
+gopd@^1.0.1, gopd@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1"
+ integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==
+
+graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4:
+ version "4.2.11"
+ resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz"
+ integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
+
+has-bigints@^1.0.2:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe"
+ integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==
+
+has-flag@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
+has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854"
+ integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==
+ dependencies:
+ es-define-property "^1.0.0"
+
+has-proto@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.2.0.tgz#5de5a6eabd95fdffd9818b43055e8065e39fe9d5"
+ integrity sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==
+ dependencies:
+ dunder-proto "^1.0.0"
+
+has-symbols@^1.0.3, has-symbols@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338"
+ integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==
+
+has-tostringtag@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc"
+ integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==
+ dependencies:
+ has-symbols "^1.0.3"
+
+hasown@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003"
+ integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
+ dependencies:
+ function-bind "^1.1.2"
+
+human-signals@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz"
+ integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
+
+iconv-lite@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz"
+ integrity sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3.0.0"
+
+idb-keyval@^6.2.1:
+ version "6.2.2"
+ resolved "https://registry.npmjs.org/idb-keyval/-/idb-keyval-6.2.2.tgz"
+ integrity sha512-yjD9nARJ/jb1g+CvD0tlhUHOrJ9Sy0P8T9MF3YaLlHnSRpwPfpTX0XIvpmw3gAJUmEu3FiICLBDPXVwyEvrleg==
+
+idb@^7.0.1:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/idb/-/idb-7.1.1.tgz#d910ded866d32c7ced9befc5bfdf36f572ced72b"
+ integrity sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==
+
+idb@^8.0.3:
+ version "8.0.3"
+ resolved "https://registry.yarnpkg.com/idb/-/idb-8.0.3.tgz#c91e558f15a8d53f1d7f53a094d226fc3ad71fd9"
+ integrity sha512-LtwtVyVYO5BqRvcsKuB2iUMnHwPVByPCXFXOpuU96IZPPoPN6xjOGxZQ74pgSVVLQWtUOYgyeL4GE98BY5D3wg==
+
+ieee754@^1.1.13:
+ version "1.2.1"
+ resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz"
+ integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+
+ignore@^5.2.0:
+ version "5.3.2"
+ resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz"
+ integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
+
+import-meta-resolve@^4.1.0:
+ version "4.2.0"
+ resolved "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz"
+ integrity sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==
+
+indent-string@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz"
+ integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
+
+inherits@^2.0.3, inherits@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+
+inquirer@^8.2.0:
+ version "8.2.7"
+ resolved "https://registry.npmjs.org/inquirer/-/inquirer-8.2.7.tgz"
+ integrity sha512-UjOaSel/iddGZJ5xP/Eixh6dY1XghiBw4XK13rCCIJcJfyhhoul/7KhLLUGtebEj6GDYM6Vnx/mVsjx2L/mFIA==
+ dependencies:
+ "@inquirer/external-editor" "^1.0.0"
+ ansi-escapes "^4.2.1"
+ chalk "^4.1.1"
+ cli-cursor "^3.1.0"
+ cli-width "^3.0.0"
+ figures "^3.0.0"
+ lodash "^4.17.21"
+ mute-stream "0.0.8"
+ ora "^5.4.1"
+ run-async "^2.4.0"
+ rxjs "^7.5.5"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+ through "^2.3.6"
+ wrap-ansi "^6.0.1"
+
+internal-slot@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.1.0.tgz#1eac91762947d2f7056bc838d93e13b2e9604961"
+ integrity sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==
+ dependencies:
+ es-errors "^1.3.0"
+ hasown "^2.0.2"
+ side-channel "^1.1.0"
+
+"internmap@1 - 2":
+ version "2.0.3"
+ resolved "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz"
+ integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==
+
+intl-messageformat@^10.1.1:
+ version "10.7.18"
+ resolved "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.18.tgz"
+ integrity sha512-m3Ofv/X/tV8Y3tHXLohcuVuhWKo7BBq62cqY15etqmLxg2DZ34AGGgQDeR+SCta2+zICb1NX83af0GJmbQ1++g==
+ dependencies:
+ "@formatjs/ecma402-abstract" "2.3.6"
+ "@formatjs/fast-memoize" "2.2.7"
+ "@formatjs/icu-messageformat-parser" "2.11.4"
+ tslib "^2.8.0"
+
+is-array-buffer@^3.0.4, is-array-buffer@^3.0.5:
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz#65742e1e687bd2cc666253068fd8707fe4d44280"
+ integrity sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.3"
+ get-intrinsic "^1.2.6"
+
+is-arrayish@^0.3.1:
+ version "0.3.4"
+ resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.4.tgz#1ee5553818511915685d33bb13d31bf854e5059d"
+ integrity sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==
+
+is-async-function@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.1.1.tgz#3e69018c8e04e73b738793d020bfe884b9fd3523"
+ integrity sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==
+ dependencies:
+ async-function "^1.0.0"
+ call-bound "^1.0.3"
+ get-proto "^1.0.1"
+ has-tostringtag "^1.0.2"
+ safe-regex-test "^1.1.0"
+
+is-bigint@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.1.0.tgz#dda7a3445df57a42583db4228682eba7c4170672"
+ integrity sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==
+ dependencies:
+ has-bigints "^1.0.2"
+
+is-binary-path@~2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz"
+ integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+ dependencies:
+ binary-extensions "^2.0.0"
+
+is-boolean-object@^1.2.1:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.2.2.tgz#7067f47709809a393c71ff5bb3e135d8a9215d9e"
+ integrity sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==
+ dependencies:
+ call-bound "^1.0.3"
+ has-tostringtag "^1.0.2"
+
+is-callable@^1.2.7:
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
+ integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
+
+is-core-module@^2.16.1:
+ version "2.16.1"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4"
+ integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==
+ dependencies:
+ hasown "^2.0.2"
+
+is-data-view@^1.0.1, is-data-view@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.2.tgz#bae0a41b9688986c2188dda6657e56b8f9e63b8e"
+ integrity sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==
+ dependencies:
+ call-bound "^1.0.2"
+ get-intrinsic "^1.2.6"
+ is-typed-array "^1.1.13"
+
+is-date-object@^1.0.5, is-date-object@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.1.0.tgz#ad85541996fc7aa8b2729701d27b7319f95d82f7"
+ integrity sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==
+ dependencies:
+ call-bound "^1.0.2"
+ has-tostringtag "^1.0.2"
+
+is-docker@^2.0.0:
+ version "2.2.1"
+ resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz"
+ integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
+
+is-extglob@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
+ integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
+
+is-finalizationregistry@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz#eefdcdc6c94ddd0674d9c85887bf93f944a97c90"
+ integrity sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==
+ dependencies:
+ call-bound "^1.0.3"
+
+is-fullwidth-code-point@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz"
+ integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+
+is-generator-function@^1.0.10:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.1.2.tgz#ae3b61e3d5ea4e4839b90bad22b02335051a17d5"
+ integrity sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==
+ dependencies:
+ call-bound "^1.0.4"
+ generator-function "^2.0.0"
+ get-proto "^1.0.1"
+ has-tostringtag "^1.0.2"
+ safe-regex-test "^1.1.0"
+
+is-glob@^4.0.1, is-glob@~4.0.1:
+ version "4.0.3"
+ resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz"
+ integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
+ dependencies:
+ is-extglob "^2.1.1"
+
+is-interactive@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz"
+ integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==
+
+is-map@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e"
+ integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==
+
+is-module@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
+ integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==
+
+is-negative-zero@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747"
+ integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==
+
+is-number-object@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.1.1.tgz#144b21e95a1bc148205dcc2814a9134ec41b2541"
+ integrity sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==
+ dependencies:
+ call-bound "^1.0.3"
+ has-tostringtag "^1.0.2"
+
+is-number@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"
+ integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
+is-obj@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
+ integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==
+
+is-observable@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/is-observable/-/is-observable-2.1.0.tgz"
+ integrity sha512-DailKdLb0WU+xX8K5w7VsJhapwHLZ9jjmazqCJq4X12CTgqq73TKnbRcnSLuXYPOoLQgV5IrD7ePiX/h1vnkBw==
+
+is-reference@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz"
+ integrity sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==
+ dependencies:
+ "@types/estree" "^1.0.6"
+
+is-regex@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22"
+ integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==
+ dependencies:
+ call-bound "^1.0.2"
+ gopd "^1.2.0"
+ has-tostringtag "^1.0.2"
+ hasown "^2.0.2"
+
+is-regexp@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
+ integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==
+
+is-set@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d"
+ integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==
+
+is-shared-array-buffer@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz#9b67844bd9b7f246ba0708c3a93e34269c774f6f"
+ integrity sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==
+ dependencies:
+ call-bound "^1.0.3"
+
+is-stream@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz"
+ integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
+
+is-string@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.1.1.tgz#92ea3f3d5c5b6e039ca8677e5ac8d07ea773cbb9"
+ integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==
+ dependencies:
+ call-bound "^1.0.3"
+ has-tostringtag "^1.0.2"
+
+is-symbol@^1.0.4, is-symbol@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.1.1.tgz#f47761279f532e2b05a7024a7506dbbedacd0634"
+ integrity sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==
+ dependencies:
+ call-bound "^1.0.2"
+ has-symbols "^1.1.0"
+ safe-regex-test "^1.1.0"
+
+is-typed-array@^1.1.13, is-typed-array@^1.1.14, is-typed-array@^1.1.15:
+ version "1.1.15"
+ resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b"
+ integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==
+ dependencies:
+ which-typed-array "^1.1.16"
+
+is-unicode-supported@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz"
+ integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
+
+is-weakmap@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd"
+ integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==
+
+is-weakref@^1.0.2, is-weakref@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.1.1.tgz#eea430182be8d64174bd96bffbc46f21bf3f9293"
+ integrity sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==
+ dependencies:
+ call-bound "^1.0.3"
+
+is-weakset@^2.0.3:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.4.tgz#c9f5deb0bc1906c6d6f1027f284ddf459249daca"
+ integrity sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==
+ dependencies:
+ call-bound "^1.0.3"
+ get-intrinsic "^1.2.6"
+
+is-wsl@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz"
+ integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
+ dependencies:
+ is-docker "^2.0.0"
+
+isarray@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723"
+ integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==
+
+isexe@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
+ integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
+
+iso-3166@4.3.0:
+ version "4.3.0"
+ resolved "https://registry.npmjs.org/iso-3166/-/iso-3166-4.3.0.tgz"
+ integrity sha512-H4kM/sVbxTjSl9xnQCYOrNWdpN0R8Uz26j1BuXI9E6U+kw5wmd3HyPgr/v4+NCuvV/NcvwTfZxd5XZ4lPKvBNA==
+
+jackspeak@^3.1.2:
+ version "3.4.3"
+ resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz"
+ integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==
+ dependencies:
+ "@isaacs/cliui" "^8.0.2"
+ optionalDependencies:
+ "@pkgjs/parseargs" "^0.11.0"
+
+jackspeak@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz"
+ integrity sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==
+ dependencies:
+ "@isaacs/cliui" "^8.0.2"
+
+jake@^10.8.5:
+ version "10.9.4"
+ resolved "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz"
+ integrity sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==
+ dependencies:
+ async "^3.2.6"
+ filelist "^1.0.4"
+ picocolors "^1.1.1"
+
+jiti@^2.6.1:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/jiti/-/jiti-2.6.1.tgz#178ef2fc9a1a594248c20627cd820187a4d78d92"
+ integrity sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==
+
+joycon@^3.0.1:
+ version "3.1.1"
+ resolved "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz"
+ integrity sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==
+
+js-tokens@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+ integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+
+jsesc@^3.0.2, jsesc@~3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d"
+ integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==
+
+json-schema-traverse@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
+ integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
+
+json-schema@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5"
+ integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==
+
+json-stringify-pretty-compact@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-4.0.0.tgz"
+ integrity sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==
+
+json5@^2.2.0, json5@^2.2.3:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
+ integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
+
+jsonfile@^6.0.1:
+ version "6.2.0"
+ resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz"
+ integrity sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==
+ dependencies:
+ universalify "^2.0.0"
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+jsonpointer@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.1.tgz#2110e0af0900fd37467b5907ecd13a7884a1b559"
+ integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==
+
+just-compare@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.npmjs.org/just-compare/-/just-compare-2.3.0.tgz"
+ integrity sha512-6shoR7HDT+fzfL3gBahx1jZG3hWLrhPAf+l7nCwahDdT9XDtosB9kIF0ZrzUp5QY8dJWfQVr5rnsPqsbvflDzg==
+
+kdbush@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmjs.org/kdbush/-/kdbush-4.0.2.tgz"
+ integrity sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==
+
+kleur@^4.1.5:
+ version "4.1.5"
+ resolved "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz"
+ integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==
+
+kolorist@^1.8.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/kolorist/-/kolorist-1.8.0.tgz#edddbbbc7894bc13302cdf740af6374d4a04743c"
+ integrity sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==
+
+leven@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
+ integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
+
+light-bolt11-decoder@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.npmjs.org/light-bolt11-decoder/-/light-bolt11-decoder-3.2.0.tgz"
+ integrity sha512-3QEofgiBOP4Ehs9BI+RkZdXZNtSys0nsJ6fyGeSiAGCBsMwHGUDS/JQlY/sTnWs91A2Nh0S9XXfA8Sy9g6QpuQ==
+ dependencies:
+ "@scure/base" "1.1.1"
+
+lightningcss-android-arm64@1.30.2:
+ version "1.30.2"
+ resolved "https://registry.yarnpkg.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz#6966b7024d39c94994008b548b71ab360eb3a307"
+ integrity sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==
+
+lightningcss-darwin-arm64@1.30.2:
+ version "1.30.2"
+ resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz#a5fa946d27c029e48c7ff929e6e724a7de46eb2c"
+ integrity sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==
+
+lightningcss-darwin-x64@1.30.2:
+ version "1.30.2"
+ resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz#5ce87e9cd7c4f2dcc1b713f5e8ee185c88d9b7cd"
+ integrity sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==
+
+lightningcss-freebsd-x64@1.30.2:
+ version "1.30.2"
+ resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz#6ae1d5e773c97961df5cff57b851807ef33692a5"
+ integrity sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==
+
+lightningcss-linux-arm-gnueabihf@1.30.2:
+ version "1.30.2"
+ resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz#62c489610c0424151a6121fa99d77731536cdaeb"
+ integrity sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==
+
+lightningcss-linux-arm64-gnu@1.30.2:
+ version "1.30.2"
+ resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz#2a3661b56fe95a0cafae90be026fe0590d089298"
+ integrity sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==
+
+lightningcss-linux-arm64-musl@1.30.2:
+ version "1.30.2"
+ resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz#d7ddd6b26959245e026bc1ad9eb6aa983aa90e6b"
+ integrity sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==
+
+lightningcss-linux-x64-gnu@1.30.2:
+ version "1.30.2"
+ resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz#5a89814c8e63213a5965c3d166dff83c36152b1a"
+ integrity sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==
+
+lightningcss-linux-x64-musl@1.30.2:
+ version "1.30.2"
+ resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz#808c2e91ce0bf5d0af0e867c6152e5378c049728"
+ integrity sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==
+
+lightningcss-win32-arm64-msvc@1.30.2:
+ version "1.30.2"
+ resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz#ab4a8a8a2e6a82a4531e8bbb6bf0ff161ee6625a"
+ integrity sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==
+
+lightningcss-win32-x64-msvc@1.30.2:
+ version "1.30.2"
+ resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz#f01f382c8e0a27e1c018b0bee316d210eac43b6e"
+ integrity sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==
+
+lightningcss@1.30.2:
+ version "1.30.2"
+ resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.30.2.tgz#4ade295f25d140f487d37256f4cd40dc607696d0"
+ integrity sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==
+ dependencies:
+ detect-libc "^2.0.3"
+ optionalDependencies:
+ lightningcss-android-arm64 "1.30.2"
+ lightningcss-darwin-arm64 "1.30.2"
+ lightningcss-darwin-x64 "1.30.2"
+ lightningcss-freebsd-x64 "1.30.2"
+ lightningcss-linux-arm-gnueabihf "1.30.2"
+ lightningcss-linux-arm64-gnu "1.30.2"
+ lightningcss-linux-arm64-musl "1.30.2"
+ lightningcss-linux-x64-gnu "1.30.2"
+ lightningcss-linux-x64-musl "1.30.2"
+ lightningcss-win32-arm64-msvc "1.30.2"
+ lightningcss-win32-x64-msvc "1.30.2"
+
+lilconfig@^2.0.5:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz"
+ integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==
+
+lilconfig@^3.1.3:
+ version "3.1.3"
+ resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz"
+ integrity sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==
+
+lines-and-columns@^1.1.6:
+ version "1.2.4"
+ resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz"
+ integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
+
+load-tsconfig@^0.2.3:
+ version "0.2.5"
+ resolved "https://registry.npmjs.org/load-tsconfig/-/load-tsconfig-0.2.5.tgz"
+ integrity sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==
+
+locate-character@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz"
+ integrity sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==
+
+lodash.debounce@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
+ integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
+
+lodash.sortby@^4.7.0:
+ version "4.7.0"
+ resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz"
+ integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==
+
+lodash@^4.17.20, lodash@^4.17.21:
+ version "4.17.21"
+ resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
+ integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
+log-symbols@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz"
+ integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==
+ dependencies:
+ chalk "^4.1.0"
+ is-unicode-supported "^0.1.0"
+
+lru-cache@^10.2.0:
+ version "10.4.3"
+ resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz"
+ integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==
+
+lru-cache@^11.0.0:
+ version "11.2.2"
+ resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.2.tgz"
+ integrity sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==
+
+lru-cache@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
+ integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
+ dependencies:
+ yallist "^3.0.2"
+
+luxon@^3.5.0:
+ version "3.7.2"
+ resolved "https://registry.npmjs.org/luxon/-/luxon-3.7.2.tgz"
+ integrity sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==
+
+magic-string@^0.25.0, magic-string@^0.25.7:
+ version "0.25.9"
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c"
+ integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==
+ dependencies:
+ sourcemap-codec "^1.4.8"
+
+magic-string@^0.30.10, magic-string@^0.30.11, magic-string@^0.30.17, magic-string@^0.30.21, magic-string@^0.30.5:
+ version "0.30.21"
+ resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz"
+ integrity sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==
+ dependencies:
+ "@jridgewell/sourcemap-codec" "^1.5.5"
+
+make-error@^1.1.1:
+ version "1.3.6"
+ resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz"
+ integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
+
+"maplibre-gl@^4.0.0 || ^5.0.1":
+ version "5.11.0"
+ resolved "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-5.11.0.tgz"
+ integrity sha512-XY2KHMsrVwSxGmudI94BXvP6v++9KxFs6/MEm9yPaF83H1YYDE8MPe2kc+2yAuPV7c1iA6Y5tmBsPcNj4J/ywg==
+ dependencies:
+ "@mapbox/geojson-rewind" "^0.5.2"
+ "@mapbox/jsonlint-lines-primitives" "^2.0.2"
+ "@mapbox/point-geometry" "^1.1.0"
+ "@mapbox/tiny-sdf" "^2.0.7"
+ "@mapbox/unitbezier" "^0.0.1"
+ "@mapbox/vector-tile" "^2.0.4"
+ "@mapbox/whoots-js" "^3.1.0"
+ "@maplibre/maplibre-gl-style-spec" "^24.3.1"
+ "@maplibre/vt-pbf" "^4.0.3"
+ "@types/geojson" "^7946.0.16"
+ "@types/geojson-vt" "3.2.5"
+ "@types/supercluster" "^7.1.3"
+ earcut "^3.0.2"
+ geojson-vt "^4.0.2"
+ gl-matrix "^3.4.4"
+ kdbush "^4.0.2"
+ murmurhash-js "^1.0.0"
+ pbf "^4.0.1"
+ potpack "^2.1.0"
+ quickselect "^3.0.0"
+ supercluster "^8.0.1"
+ tinyqueue "^3.0.0"
+
+math-intrinsics@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9"
+ integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
+
+merge-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz"
+ integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
+
+merge2@^1.3.0, merge2@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz"
+ integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+
+micromatch@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz"
+ integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==
+ dependencies:
+ braces "^3.0.3"
+ picomatch "^2.3.1"
+
+mime@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7"
+ integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==
+
+mimic-fn@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz"
+ integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+
+miniflare@4.20251125.0:
+ version "4.20251125.0"
+ resolved "https://registry.yarnpkg.com/miniflare/-/miniflare-4.20251125.0.tgz#716945bc7eadbd77009cec04f02c43aec8909a64"
+ integrity sha512-xY6deLx0Drt8GfGG2Fv0fHUocHAIG/Iv62Kl36TPfDzgq7/+DQ5gYNisxnmyISQdA/sm7kOvn2XRBncxjWYrLg==
+ dependencies:
+ "@cspotcode/source-map-support" "0.8.1"
+ acorn "8.14.0"
+ acorn-walk "8.3.2"
+ exit-hook "2.2.1"
+ glob-to-regexp "0.4.1"
+ sharp "^0.33.5"
+ stoppable "1.1.0"
+ undici "7.14.0"
+ workerd "1.20251125.0"
+ ws "8.18.0"
+ youch "4.1.0-beta.10"
+ zod "3.22.3"
+
+minimatch@^10.0.3, minimatch@^10.1.1:
+ version "10.1.1"
+ resolved "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz"
+ integrity sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==
+ dependencies:
+ "@isaacs/brace-expansion" "^5.0.0"
+
+minimatch@^5.0.1:
+ version "5.1.6"
+ resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz"
+ integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==
+ dependencies:
+ brace-expansion "^2.0.1"
+
+minimatch@^9.0.4, minimatch@^9.0.5:
+ version "9.0.5"
+ resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz"
+ integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==
+ dependencies:
+ brace-expansion "^2.0.1"
+
+minimist@^1.2.6, minimist@^1.2.8:
+ version "1.2.8"
+ resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz"
+ integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
+
+"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2:
+ version "7.1.2"
+ resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz"
+ integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==
+
+mri@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz"
+ integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==
+
+mrmime@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz"
+ integrity sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==
+
+ms@^2.1.3:
+ version "2.1.3"
+ resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
+murmurhash-js@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz"
+ integrity sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==
+
+mute-stream@0.0.8:
+ version "0.0.8"
+ resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz"
+ integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
+
+mz@^2.7.0:
+ version "2.7.0"
+ resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz"
+ integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==
+ dependencies:
+ any-promise "^1.0.0"
+ object-assign "^4.0.1"
+ thenify-all "^1.0.0"
+
+nanoid@^3.3.11:
+ version "3.3.11"
+ resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz"
+ integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==
+
+ngeohash@0.6.3:
+ version "0.6.3"
+ resolved "https://registry.npmjs.org/ngeohash/-/ngeohash-0.6.3.tgz"
+ integrity sha512-kltF0cOxgx1AbmVzKxYZaoB0aj7mOxZeHaerEtQV0YaqnkXNq26WWqMmJ6lTqShYxVRWZ/mwvvTrNeOwdslWiw==
+
+node-releases@^2.0.27:
+ version "2.0.27"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.27.tgz#eedca519205cf20f650f61d56b070db111231e4e"
+ integrity sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==
+
+normalize-path@^3.0.0, normalize-path@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"
+ integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+
+nostr-geotags@*:
+ version "0.7.2"
+ resolved "https://registry.yarnpkg.com/nostr-geotags/-/nostr-geotags-0.7.2.tgz#9358109e990029986e6fd64e8212d9c7ca56dd06"
+ integrity sha512-pP+FSpv9p2c6yUQDAYZJJ9cMMNt9u6TvoJbbtIAbVT8OyY98K3M1P8mJQNlqIY1S5mI6oPcHhWW1CRlZKZPFaA==
+ dependencies:
+ iso-3166 "4.3.0"
+ ngeohash "0.6.3"
+
+nostr-tools@^2.10.4, nostr-tools@^2.4.0:
+ version "2.17.2"
+ resolved "https://registry.npmjs.org/nostr-tools/-/nostr-tools-2.17.2.tgz"
+ integrity sha512-B/6rxJ4hyrwEdxsGYUiw2E/+/ZcKuFzQcrSYDHJpYAV0xae344UU2QdL6VHPlbHsBhMufUDU4+h2emZLpIlwLA==
+ dependencies:
+ "@noble/ciphers" "^0.5.1"
+ "@noble/curves" "1.2.0"
+ "@noble/hashes" "1.3.1"
+ "@scure/base" "1.1.1"
+ "@scure/bip32" "1.3.1"
+ "@scure/bip39" "1.2.1"
+ nostr-wasm "0.1.0"
+
+nostr-wasm@0.1.0:
+ version "0.1.0"
+ resolved "https://registry.npmjs.org/nostr-wasm/-/nostr-wasm-0.1.0.tgz"
+ integrity sha512-78BTryCLcLYv96ONU8Ws3Q1JzjlAt+43pWQhIl86xZmWeegYCNLPml7yQ+gG3vR6V5h4XGj+TxO+SS5dsThQIA==
+
+npm-run-path@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz"
+ integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
+ dependencies:
+ path-key "^3.0.0"
+
+object-assign@^4.0.1:
+ version "4.1.1"
+ resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
+ integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
+
+object-inspect@^1.13.3, object-inspect@^1.13.4:
+ version "1.13.4"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213"
+ integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==
+
+object-keys@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
+ integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
+
+object.assign@^4.1.7:
+ version "4.1.7"
+ resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d"
+ integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.3"
+ define-properties "^1.2.1"
+ es-object-atoms "^1.0.0"
+ has-symbols "^1.1.0"
+ object-keys "^1.1.1"
+
+observable-fns@^0.6.1:
+ version "0.6.1"
+ resolved "https://registry.npmjs.org/observable-fns/-/observable-fns-0.6.1.tgz"
+ integrity sha512-9gRK4+sRWzeN6AOewNBTLXir7Zl/i3GB6Yl26gK4flxz8BXVpD3kt8amREmWNb0mxYOGDotvE5a4N+PtGGKdkg==
+
+onetime@^5.1.0, onetime@^5.1.2:
+ version "5.1.2"
+ resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz"
+ integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
+ dependencies:
+ mimic-fn "^2.1.0"
+
+ora@^5.4.0, ora@^5.4.1:
+ version "5.4.1"
+ resolved "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz"
+ integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==
+ dependencies:
+ bl "^4.1.0"
+ chalk "^4.1.0"
+ cli-cursor "^3.1.0"
+ cli-spinners "^2.5.0"
+ is-interactive "^1.0.0"
+ is-unicode-supported "^0.1.0"
+ log-symbols "^4.1.0"
+ strip-ansi "^6.0.0"
+ wcwidth "^1.0.1"
+
+own-keys@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/own-keys/-/own-keys-1.0.1.tgz#e4006910a2bf913585289676eebd6f390cf51358"
+ integrity sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==
+ dependencies:
+ get-intrinsic "^1.2.6"
+ object-keys "^1.1.1"
+ safe-push-apply "^1.0.0"
+
+package-json-from-dist@^1.0.0, package-json-from-dist@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz"
+ integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==
+
+package-manager-detector@^1.3.0:
+ version "1.5.0"
+ resolved "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.5.0.tgz"
+ integrity sha512-uBj69dVlYe/+wxj8JOpr97XfsxH/eumMt6HqjNTmJDf/6NO9s+0uxeOneIz3AsPt2m6y9PqzDzd3ATcU17MNfw==
+
+path-key@^3.0.0, path-key@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz"
+ integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+
+path-parse@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+path-scurry@^1.11.1:
+ version "1.11.1"
+ resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz"
+ integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==
+ dependencies:
+ lru-cache "^10.2.0"
+ minipass "^5.0.0 || ^6.0.2 || ^7.0.0"
+
+path-scurry@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz"
+ integrity sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==
+ dependencies:
+ lru-cache "^11.0.0"
+ minipass "^7.1.2"
+
+path-to-regexp@6.3.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.3.0.tgz#2b6a26a337737a8e1416f9272ed0766b1c0389f4"
+ integrity sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==
+
+path-type@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
+ integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+
+pathe@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/pathe/-/pathe-2.0.3.tgz#3ecbec55421685b70a9da872b2cff3e1cbed1716"
+ integrity sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==
+
+pbf@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npmjs.org/pbf/-/pbf-4.0.1.tgz"
+ integrity sha512-SuLdBvS42z33m8ejRbInMapQe8n0D3vN/Xd5fmWM3tufNgRQFBpaW2YVJxQZV4iPNqb0vEFvssMEo5w9c6BTIA==
+ dependencies:
+ resolve-protobuf-schema "^2.1.0"
+
+picocolors@^1.0.0, picocolors@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz"
+ integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
+
+picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz"
+ integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+
+picomatch@^4.0.2, picomatch@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz"
+ integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==
+
+pirates@^4.0.1:
+ version "4.0.7"
+ resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz"
+ integrity sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==
+
+pmtiles@^3.0.3:
+ version "3.2.1"
+ resolved "https://registry.npmjs.org/pmtiles/-/pmtiles-3.2.1.tgz"
+ integrity sha512-3R4fBwwoli5mw7a6t1IGwOtfmcSAODq6Okz0zkXhS1zi9sz1ssjjIfslwPvcWw5TNhdjNBUg9fgfPLeqZlH6ng==
+ dependencies:
+ "@types/leaflet" "^1.9.8"
+ fflate "^0.8.0"
+
+possible-typed-array-names@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae"
+ integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==
+
+postcss-load-config@^3.0.1:
+ version "3.1.4"
+ resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz"
+ integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==
+ dependencies:
+ lilconfig "^2.0.5"
+ yaml "^1.10.2"
+
+postcss@^8.5.6:
+ version "8.5.6"
+ resolved "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz"
+ integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==
+ dependencies:
+ nanoid "^3.3.11"
+ picocolors "^1.1.1"
+ source-map-js "^1.2.1"
+
+potpack@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/potpack/-/potpack-2.1.0.tgz"
+ integrity sha512-pcaShQc1Shq0y+E7GqJqvZj8DTthWV1KeHGdi0Z6IAin2Oi3JnLCOfwnCo84qc+HAp52wT9nK9H7FAJp5a44GQ==
+
+prettier@3.0.3:
+ version "3.0.3"
+ resolved "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz"
+ integrity sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==
+
+pretty-bytes@^5.3.0:
+ version "5.6.0"
+ resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb"
+ integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==
+
+pretty-bytes@^6.1.1:
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-6.1.1.tgz#38cd6bb46f47afbf667c202cfc754bffd2016a3b"
+ integrity sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==
+
+protocol-buffers-schema@^3.3.1:
+ version "3.6.0"
+ resolved "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz"
+ integrity sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==
+
+publint@^0.3.2:
+ version "0.3.15"
+ resolved "https://registry.npmjs.org/publint/-/publint-0.3.15.tgz"
+ integrity sha512-xPbRAPW+vqdiaKy5sVVY0uFAu3LaviaPO3pZ9FaRx59l9+U/RKR1OEbLhkug87cwiVKxPXyB4txsv5cad67u+A==
+ dependencies:
+ "@publint/pack" "^0.1.2"
+ package-manager-detector "^1.3.0"
+ picocolors "^1.1.1"
+ sade "^1.8.1"
+
+punycode@^2.1.0:
+ version "2.3.1"
+ resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz"
+ integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
+
+queue-microtask@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
+ integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+
+quickselect@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/quickselect/-/quickselect-3.0.0.tgz"
+ integrity sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==
+
+randombytes@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
+ integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
+ dependencies:
+ safe-buffer "^5.1.0"
+
+readable-stream@^3.4.0:
+ version "3.6.2"
+ resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz"
+ integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
+ dependencies:
+ inherits "^2.0.3"
+ string_decoder "^1.1.1"
+ util-deprecate "^1.0.1"
+
+readdirp@^4.0.1:
+ version "4.1.2"
+ resolved "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz"
+ integrity sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==
+
+readdirp@~3.6.0:
+ version "3.6.0"
+ resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz"
+ integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
+ dependencies:
+ picomatch "^2.2.1"
+
+reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz#c629219e78a3316d8b604c765ef68996964e7bf9"
+ integrity sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==
+ dependencies:
+ call-bind "^1.0.8"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.9"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.0.0"
+ get-intrinsic "^1.2.7"
+ get-proto "^1.0.1"
+ which-builtin-type "^1.2.1"
+
+regenerate-unicode-properties@^10.2.2:
+ version "10.2.2"
+ resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz#aa113812ba899b630658c7623466be71e1f86f66"
+ integrity sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==
+ dependencies:
+ regenerate "^1.4.2"
+
+regenerate@^1.4.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a"
+ integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
+
+regexp.prototype.flags@^1.5.3, regexp.prototype.flags@^1.5.4:
+ version "1.5.4"
+ resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19"
+ integrity sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==
+ dependencies:
+ call-bind "^1.0.8"
+ define-properties "^1.2.1"
+ es-errors "^1.3.0"
+ get-proto "^1.0.1"
+ gopd "^1.2.0"
+ set-function-name "^2.0.2"
+
+regexpu-core@^6.3.1:
+ version "6.4.0"
+ resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.4.0.tgz#3580ce0c4faedef599eccb146612436b62a176e5"
+ integrity sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==
+ dependencies:
+ regenerate "^1.4.2"
+ regenerate-unicode-properties "^10.2.2"
+ regjsgen "^0.8.0"
+ regjsparser "^0.13.0"
+ unicode-match-property-ecmascript "^2.0.0"
+ unicode-match-property-value-ecmascript "^2.2.1"
+
+regjsgen@^0.8.0:
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab"
+ integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==
+
+regjsparser@^0.13.0:
+ version "0.13.0"
+ resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.13.0.tgz#01f8351335cf7898d43686bc74d2dd71c847ecc0"
+ integrity sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==
+ dependencies:
+ jsesc "~3.1.0"
+
+require-directory@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz"
+ integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
+
+require-from-string@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
+ integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
+
+resolve-from@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz"
+ integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
+
+resolve-pkg-maps@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f"
+ integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==
+
+resolve-protobuf-schema@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz"
+ integrity sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==
+ dependencies:
+ protocol-buffers-schema "^3.3.1"
+
+resolve@^1.22.1, resolve@^1.22.10:
+ version "1.22.11"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.11.tgz#aad857ce1ffb8bfa9b0b1ac29f1156383f68c262"
+ integrity sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==
+ dependencies:
+ is-core-module "^2.16.1"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
+restore-cursor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz"
+ integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
+ dependencies:
+ onetime "^5.1.0"
+ signal-exit "^3.0.2"
+
+reusify@^1.0.4:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz"
+ integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==
+
+rimraf@^6.0.1:
+ version "6.1.0"
+ resolved "https://registry.npmjs.org/rimraf/-/rimraf-6.1.0.tgz"
+ integrity sha512-DxdlA1bdNzkZK7JiNWH+BAx1x4tEJWoTofIopFo6qWUU94jYrFZ0ubY05TqH3nWPJ1nKa1JWVFDINZ3fnrle/A==
+ dependencies:
+ glob "^11.0.3"
+ package-json-from-dist "^1.0.1"
+
+rollup@^2.79.2:
+ version "2.79.2"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.2.tgz#f150e4a5db4b121a21a747d762f701e5e9f49090"
+ integrity sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+rollup@^3.2.5:
+ version "3.29.5"
+ resolved "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz"
+ integrity sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+rollup@^4.40.0:
+ version "4.52.5"
+ resolved "https://registry.npmjs.org/rollup/-/rollup-4.52.5.tgz"
+ integrity sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==
+ dependencies:
+ "@types/estree" "1.0.8"
+ optionalDependencies:
+ "@rollup/rollup-android-arm-eabi" "4.52.5"
+ "@rollup/rollup-android-arm64" "4.52.5"
+ "@rollup/rollup-darwin-arm64" "4.52.5"
+ "@rollup/rollup-darwin-x64" "4.52.5"
+ "@rollup/rollup-freebsd-arm64" "4.52.5"
+ "@rollup/rollup-freebsd-x64" "4.52.5"
+ "@rollup/rollup-linux-arm-gnueabihf" "4.52.5"
+ "@rollup/rollup-linux-arm-musleabihf" "4.52.5"
+ "@rollup/rollup-linux-arm64-gnu" "4.52.5"
+ "@rollup/rollup-linux-arm64-musl" "4.52.5"
+ "@rollup/rollup-linux-loong64-gnu" "4.52.5"
+ "@rollup/rollup-linux-ppc64-gnu" "4.52.5"
+ "@rollup/rollup-linux-riscv64-gnu" "4.52.5"
+ "@rollup/rollup-linux-riscv64-musl" "4.52.5"
+ "@rollup/rollup-linux-s390x-gnu" "4.52.5"
+ "@rollup/rollup-linux-x64-gnu" "4.52.5"
+ "@rollup/rollup-linux-x64-musl" "4.52.5"
+ "@rollup/rollup-openharmony-arm64" "4.52.5"
+ "@rollup/rollup-win32-arm64-msvc" "4.52.5"
+ "@rollup/rollup-win32-ia32-msvc" "4.52.5"
+ "@rollup/rollup-win32-x64-gnu" "4.52.5"
+ "@rollup/rollup-win32-x64-msvc" "4.52.5"
+ fsevents "~2.3.2"
+
+run-async@^2.4.0:
+ version "2.4.1"
+ resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz"
+ integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
+
+run-parallel@^1.1.9:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz"
+ integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
+ dependencies:
+ queue-microtask "^1.2.2"
+
+rw@^1.3.3:
+ version "1.3.3"
+ resolved "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz"
+ integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==
+
+rxjs@^7.4.0, rxjs@^7.5.5:
+ version "7.8.2"
+ resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz"
+ integrity sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==
+ dependencies:
+ tslib "^2.1.0"
+
+sade@^1.7.4, sade@^1.8.1:
+ version "1.8.1"
+ resolved "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz"
+ integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==
+ dependencies:
+ mri "^1.1.0"
+
+safe-array-concat@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz#c9e54ec4f603b0bbb8e7e5007a5ee7aecd1538c3"
+ integrity sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.2"
+ get-intrinsic "^1.2.6"
+ has-symbols "^1.1.0"
+ isarray "^2.0.5"
+
+safe-buffer@^5.1.0, safe-buffer@~5.2.0:
+ version "5.2.1"
+ resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
+safe-push-apply@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz#01850e981c1602d398c85081f360e4e6d03d27f5"
+ integrity sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==
+ dependencies:
+ es-errors "^1.3.0"
+ isarray "^2.0.5"
+
+safe-regex-test@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1"
+ integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==
+ dependencies:
+ call-bound "^1.0.2"
+ es-errors "^1.3.0"
+ is-regex "^1.2.1"
+
+"safer-buffer@>= 2.1.2 < 3.0.0":
+ version "2.1.2"
+ resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
+ integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+
+scule@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/scule/-/scule-1.3.0.tgz"
+ integrity sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==
+
+semver@^6.3.1:
+ version "6.3.1"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
+ integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
+
+semver@^7.5.4, semver@^7.6.3, semver@^7.7.3:
+ version "7.7.3"
+ resolved "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz"
+ integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==
+
+serialize-javascript@^6.0.1:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2"
+ integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==
+ dependencies:
+ randombytes "^2.1.0"
+
+set-cookie-parser@^2.6.0:
+ version "2.7.2"
+ resolved "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz"
+ integrity sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==
+
+set-function-length@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449"
+ integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==
+ dependencies:
+ define-data-property "^1.1.4"
+ es-errors "^1.3.0"
+ function-bind "^1.1.2"
+ get-intrinsic "^1.2.4"
+ gopd "^1.0.1"
+ has-property-descriptors "^1.0.2"
+
+set-function-name@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985"
+ integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==
+ dependencies:
+ define-data-property "^1.1.4"
+ es-errors "^1.3.0"
+ functions-have-names "^1.2.3"
+ has-property-descriptors "^1.0.2"
+
+set-proto@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/set-proto/-/set-proto-1.0.0.tgz#0760dbcff30b2d7e801fd6e19983e56da337565e"
+ integrity sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==
+ dependencies:
+ dunder-proto "^1.0.1"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.0.0"
+
+sharp@^0.33.5:
+ version "0.33.5"
+ resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.33.5.tgz#13e0e4130cc309d6a9497596715240b2ec0c594e"
+ integrity sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==
+ dependencies:
+ color "^4.2.3"
+ detect-libc "^2.0.3"
+ semver "^7.6.3"
+ optionalDependencies:
+ "@img/sharp-darwin-arm64" "0.33.5"
+ "@img/sharp-darwin-x64" "0.33.5"
+ "@img/sharp-libvips-darwin-arm64" "1.0.4"
+ "@img/sharp-libvips-darwin-x64" "1.0.4"
+ "@img/sharp-libvips-linux-arm" "1.0.5"
+ "@img/sharp-libvips-linux-arm64" "1.0.4"
+ "@img/sharp-libvips-linux-s390x" "1.0.4"
+ "@img/sharp-libvips-linux-x64" "1.0.4"
+ "@img/sharp-libvips-linuxmusl-arm64" "1.0.4"
+ "@img/sharp-libvips-linuxmusl-x64" "1.0.4"
+ "@img/sharp-linux-arm" "0.33.5"
+ "@img/sharp-linux-arm64" "0.33.5"
+ "@img/sharp-linux-s390x" "0.33.5"
+ "@img/sharp-linux-x64" "0.33.5"
+ "@img/sharp-linuxmusl-arm64" "0.33.5"
+ "@img/sharp-linuxmusl-x64" "0.33.5"
+ "@img/sharp-wasm32" "0.33.5"
+ "@img/sharp-win32-ia32" "0.33.5"
+ "@img/sharp-win32-x64" "0.33.5"
+
+shebang-command@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz"
+ integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+ dependencies:
+ shebang-regex "^3.0.0"
+
+shebang-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz"
+ integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+
+side-channel-list@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad"
+ integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==
+ dependencies:
+ es-errors "^1.3.0"
+ object-inspect "^1.13.3"
+
+side-channel-map@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42"
+ integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==
+ dependencies:
+ call-bound "^1.0.2"
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.5"
+ object-inspect "^1.13.3"
+
+side-channel-weakmap@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea"
+ integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==
+ dependencies:
+ call-bound "^1.0.2"
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.5"
+ object-inspect "^1.13.3"
+ side-channel-map "^1.0.1"
+
+side-channel@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9"
+ integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==
+ dependencies:
+ es-errors "^1.3.0"
+ object-inspect "^1.13.3"
+ side-channel-list "^1.0.0"
+ side-channel-map "^1.0.1"
+ side-channel-weakmap "^1.0.2"
+
+signal-exit@^3.0.2, signal-exit@^3.0.3:
+ version "3.0.7"
+ resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz"
+ integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
+
+signal-exit@^4.0.1:
+ version "4.1.0"
+ resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz"
+ integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
+
+simple-swizzle@^0.2.2:
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.4.tgz#a8d11a45a11600d6a1ecdff6363329e3648c3667"
+ integrity sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==
+ dependencies:
+ is-arrayish "^0.3.1"
+
+sirv@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz"
+ integrity sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==
+ dependencies:
+ "@polka/url" "^1.0.0-next.24"
+ mrmime "^2.0.0"
+ totalist "^3.0.0"
+
+slash@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz"
+ integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
+
+smob@^1.0.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/smob/-/smob-1.5.0.tgz#85d79a1403abf128d24d3ebc1cdc5e1a9548d3ab"
+ integrity sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==
+
+source-map-js@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz"
+ integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
+
+source-map-support@~0.5.20:
+ version "0.5.21"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
+ integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
+ dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
+source-map@0.8.0-beta.0, source-map@^0.8.0-beta.0:
+ version "0.8.0-beta.0"
+ resolved "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz"
+ integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==
+ dependencies:
+ whatwg-url "^7.0.0"
+
+source-map@^0.6.0:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+ integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
+sourcemap-codec@^1.4.8:
+ version "1.4.8"
+ resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
+ integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
+
+sql.js@1.12.0:
+ version "1.12.0"
+ resolved "https://registry.npmjs.org/sql.js/-/sql.js-1.12.0.tgz"
+ integrity sha512-Bi+43yMx/tUFZVYD4AUscmdL6NHn3gYQ+CM+YheFWLftOmrEC/Mz6Yh7E96Y2WDHYz3COSqT+LP6Z79zgrwJlA==
+
+sql.js@^1.13.0:
+ version "1.13.0"
+ resolved "https://registry.npmjs.org/sql.js/-/sql.js-1.13.0.tgz"
+ integrity sha512-RJbVP1HRDlUUXahJ7VMTcu9Rm1Nzw+EBpoPr94vnbD4LwR715F3CcxE2G2k45PewcaZ57pjetYa+LoSJLAASgA==
+
+stop-iteration-iterator@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz#f481ff70a548f6124d0312c3aa14cbfa7aa542ad"
+ integrity sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==
+ dependencies:
+ es-errors "^1.3.0"
+ internal-slot "^1.1.0"
+
+stoppable@1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/stoppable/-/stoppable-1.1.0.tgz#32da568e83ea488b08e4d7ea2c3bcc9d75015d5b"
+ integrity sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==
+
+"string-width-cjs@npm:string-width@^4.2.0":
+ version "4.2.3"
+ resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
+ integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.1"
+
+string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
+ version "4.2.3"
+ resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
+ integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.1"
+
+string-width@^5.0.1, string-width@^5.1.2:
+ version "5.1.2"
+ resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz"
+ integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==
+ dependencies:
+ eastasianwidth "^0.2.0"
+ emoji-regex "^9.2.2"
+ strip-ansi "^7.0.1"
+
+string.prototype.matchall@^4.0.6:
+ version "4.0.12"
+ resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz#6c88740e49ad4956b1332a911e949583a275d4c0"
+ integrity sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.3"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.6"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.0.0"
+ get-intrinsic "^1.2.6"
+ gopd "^1.2.0"
+ has-symbols "^1.1.0"
+ internal-slot "^1.1.0"
+ regexp.prototype.flags "^1.5.3"
+ set-function-name "^2.0.2"
+ side-channel "^1.1.0"
+
+string.prototype.trim@^1.2.10:
+ version "1.2.10"
+ resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz#40b2dd5ee94c959b4dcfb1d65ce72e90da480c81"
+ integrity sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.2"
+ define-data-property "^1.1.4"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.5"
+ es-object-atoms "^1.0.0"
+ has-property-descriptors "^1.0.2"
+
+string.prototype.trimend@^1.0.9:
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#62e2731272cd285041b36596054e9f66569b6942"
+ integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.2"
+ define-properties "^1.2.1"
+ es-object-atoms "^1.0.0"
+
+string.prototype.trimstart@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde"
+ integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==
+ dependencies:
+ call-bind "^1.0.7"
+ define-properties "^1.2.1"
+ es-object-atoms "^1.0.0"
+
+string_decoder@^1.1.1:
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
+ integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
+ dependencies:
+ safe-buffer "~5.2.0"
+
+stringify-object@^3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629"
+ integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==
+ dependencies:
+ get-own-enumerable-property-symbols "^3.0.0"
+ is-obj "^1.0.1"
+ is-regexp "^1.0.0"
+
+"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
+ version "6.0.1"
+ resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
+ integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+ dependencies:
+ ansi-regex "^5.0.1"
+
+strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
+ integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+ dependencies:
+ ansi-regex "^5.0.1"
+
+strip-ansi@^7.0.1:
+ version "7.1.2"
+ resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz"
+ integrity sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==
+ dependencies:
+ ansi-regex "^6.0.1"
+
+strip-comments@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-2.0.1.tgz#4ad11c3fbcac177a67a40ac224ca339ca1c1ba9b"
+ integrity sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==
+
+strip-final-newline@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz"
+ integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
+
+sucrase@^3.20.3:
+ version "3.35.0"
+ resolved "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz"
+ integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==
+ dependencies:
+ "@jridgewell/gen-mapping" "^0.3.2"
+ commander "^4.0.0"
+ glob "^10.3.10"
+ lines-and-columns "^1.1.6"
+ mz "^2.7.0"
+ pirates "^4.0.1"
+ ts-interface-checker "^0.1.9"
+
+supercluster@^8.0.1:
+ version "8.0.1"
+ resolved "https://registry.npmjs.org/supercluster/-/supercluster-8.0.1.tgz"
+ integrity sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ==
+ dependencies:
+ kdbush "^4.0.2"
+
+supports-color@^10.0.0:
+ version "10.2.2"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-10.2.2.tgz#466c2978cc5cd0052d542a0b576461c2b802ebb4"
+ integrity sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==
+
+supports-color@^7.1.0:
+ version "7.2.0"
+ resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz"
+ integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+ dependencies:
+ has-flag "^4.0.0"
+
+supports-color@^8:
+ version "8.1.1"
+ resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz"
+ integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
+ dependencies:
+ has-flag "^4.0.0"
+
+supports-preserve-symlinks-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
+svelte-check@^4.0.0:
+ version "4.3.3"
+ resolved "https://registry.npmjs.org/svelte-check/-/svelte-check-4.3.3.tgz"
+ integrity sha512-RYP0bEwenDXzfv0P1sKAwjZSlaRyqBn0Fz1TVni58lqyEiqgwztTpmodJrGzP6ZT2aHl4MbTvWP6gbmQ3FOnBg==
+ dependencies:
+ "@jridgewell/trace-mapping" "^0.3.25"
+ chokidar "^4.0.1"
+ fdir "^6.2.0"
+ picocolors "^1.0.0"
+ sade "^1.7.4"
+
+svelte-hmr@^0.16.0:
+ version "0.16.0"
+ resolved "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.16.0.tgz"
+ integrity sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA==
+
+svelte-maplibre@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/svelte-maplibre/-/svelte-maplibre-1.2.0.tgz"
+ integrity sha512-JKYzL0glnqCJ7LwkdDAMb3jdZdFl8ZDHEZyc043BV624kG9ZVaXlIPgjb8sNktqx1D0rQBNrYNt5rR4XszNCiQ==
+ dependencies:
+ d3-geo "^3.1.0"
+ dequal "^2.0.3"
+ just-compare "^2.3.0"
+ maplibre-gl "^4.0.0 || ^5.0.1"
+ pmtiles "^3.0.3"
+
+svelte-maplibre@^1.2.0:
+ version "1.2.4"
+ resolved "https://registry.npmjs.org/svelte-maplibre/-/svelte-maplibre-1.2.4.tgz"
+ integrity sha512-VlK4nTQ8zgFWMCVHfWV/kPsDvZzFhrG77Rchgskh544pbYSvKmyMNN+jUiCgbdYpj6/i7oQc5CqZDBIUuPZ6rQ==
+ dependencies:
+ d3-geo "^3.1.0"
+ dequal "^2.0.3"
+ just-compare "^2.3.0"
+ maplibre-gl "^4.0.0 || ^5.0.1"
+ pmtiles "^3.0.3"
+
+svelte2tsx@~0.7.33:
+ version "0.7.45"
+ resolved "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.7.45.tgz"
+ integrity sha512-cSci+mYGygYBHIZLHlm/jYlEc1acjAHqaQaDFHdEBpUueM9kSTnPpvPtSl5VkJOU1qSJ7h1K+6F/LIUYiqC8VA==
+ dependencies:
+ dedent-js "^1.0.1"
+ scule "^1.3.0"
+
+svelte@^5.0.0:
+ version "5.43.2"
+ resolved "https://registry.npmjs.org/svelte/-/svelte-5.43.2.tgz"
+ integrity sha512-ro1umEzX8rT5JpCmlf0PPv7ncD8MdVob9e18bhwqTKNoLjS8kDvhVpaoYVPc+qMwDAOfcwJtyY7ZFSDbOaNPgA==
+ dependencies:
+ "@jridgewell/remapping" "^2.3.4"
+ "@jridgewell/sourcemap-codec" "^1.5.0"
+ "@sveltejs/acorn-typescript" "^1.0.5"
+ "@types/estree" "^1.0.5"
+ acorn "^8.12.1"
+ aria-query "^5.3.1"
+ axobject-query "^4.1.0"
+ clsx "^2.1.1"
+ esm-env "^1.2.1"
+ esrap "^2.1.0"
+ is-reference "^3.0.3"
+ locate-character "^3.0.0"
+ magic-string "^0.30.11"
+ zimmerframe "^1.1.2"
+
+sveltekit-i18n@^2.4.2:
+ version "2.4.2"
+ resolved "https://registry.npmjs.org/sveltekit-i18n/-/sveltekit-i18n-2.4.2.tgz"
+ integrity sha512-hjRWn4V4DBL8JQKJoJa3MRvn6d32Zo+rWkoSP5bsQ/XIAguPdQUZJ8LMe6Nc1rST8WEVdu9+vZI3aFdKYGR3+Q==
+ dependencies:
+ "@sveltekit-i18n/base" "~1.3.0"
+ "@sveltekit-i18n/parser-default" "~1.1.0"
+
+sveltekit-search-params@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/sveltekit-search-params/-/sveltekit-search-params-3.0.0.tgz"
+ integrity sha512-wq1Yo5zITev8ty9CWGmHgvAh+Xb3mCUewyUmvCdv6MJWi+/aZ4o79Y6SjuduDL0Cfd/KYHkqt4f/wQ4FtokSdw==
+ dependencies:
+ "@sveltejs/vite-plugin-svelte" "^3.0.2"
+
+tailwindcss@4.1.17, tailwindcss@^4.1.11:
+ version "4.1.17"
+ resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-4.1.17.tgz#e6dcb7a9c60cef7522169b5f207ffec2fd652286"
+ integrity sha512-j9Ee2YjuQqYT9bbRTfTZht9W/ytp5H+jJpZKiYdP/bpnXARAuELt9ofP0lPnmHjbga7SNQIxdTAXCmtKVYjN+Q==
+
+tapable@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.3.0.tgz#7e3ea6d5ca31ba8e078b560f0d83ce9a14aa8be6"
+ integrity sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==
+
+temp-dir@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e"
+ integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==
+
+tempy@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/tempy/-/tempy-0.6.0.tgz#65e2c35abc06f1124a97f387b08303442bde59f3"
+ integrity sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==
+ dependencies:
+ is-stream "^2.0.0"
+ temp-dir "^2.0.0"
+ type-fest "^0.16.0"
+ unique-string "^2.0.0"
+
+terser@^5.17.4:
+ version "5.44.1"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-5.44.1.tgz#e391e92175c299b8c284ad6ded609e37303b0a9c"
+ integrity sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==
+ dependencies:
+ "@jridgewell/source-map" "^0.3.3"
+ acorn "^8.15.0"
+ commander "^2.20.0"
+ source-map-support "~0.5.20"
+
+thenify-all@^1.0.0:
+ version "1.6.0"
+ resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz"
+ integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==
+ dependencies:
+ thenify ">= 3.1.0 < 4"
+
+"thenify@>= 3.1.0 < 4":
+ version "3.3.1"
+ resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz"
+ integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==
+ dependencies:
+ any-promise "^1.0.0"
+
+threads@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.npmjs.org/threads/-/threads-1.7.0.tgz"
+ integrity sha512-Mx5NBSHX3sQYR6iI9VYbgHKBLisyB+xROCBGjjWm1O9wb9vfLxdaGtmT/KCjUqMsSNW6nERzCW3T6H43LqjDZQ==
+ dependencies:
+ callsites "^3.1.0"
+ debug "^4.2.0"
+ is-observable "^2.1.0"
+ observable-fns "^0.6.1"
+ optionalDependencies:
+ tiny-worker ">= 2"
+
+through@^2.3.6:
+ version "2.3.8"
+ resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
+ integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
+
+"tiny-worker@>= 2":
+ version "2.3.0"
+ resolved "https://registry.npmjs.org/tiny-worker/-/tiny-worker-2.3.0.tgz"
+ integrity sha512-pJ70wq5EAqTAEl9IkGzA+fN0836rycEuz2Cn6yeZ6FRzlVS5IDOkFHpIoEsksPRQV34GDqXm65+OlnZqUSyK2g==
+ dependencies:
+ esm "^3.2.25"
+
+tinyglobby@^0.2.10, tinyglobby@^0.2.14, tinyglobby@^0.2.9:
+ version "0.2.15"
+ resolved "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz"
+ integrity sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==
+ dependencies:
+ fdir "^6.5.0"
+ picomatch "^4.0.3"
+
+tinyqueue@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/tinyqueue/-/tinyqueue-3.0.0.tgz"
+ integrity sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g==
+
+to-regex-range@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz"
+ integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+ dependencies:
+ is-number "^7.0.0"
+
+totalist@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz"
+ integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==
+
+tr46@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz"
+ integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==
+ dependencies:
+ punycode "^2.1.0"
+
+tree-kill@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz"
+ integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==
+
+ts-interface-checker@^0.1.9:
+ version "0.1.13"
+ resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz"
+ integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==
+
+ts-node@^10.9.2:
+ version "10.9.2"
+ resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz"
+ integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==
+ dependencies:
+ "@cspotcode/source-map-support" "^0.8.0"
+ "@tsconfig/node10" "^1.0.7"
+ "@tsconfig/node12" "^1.0.7"
+ "@tsconfig/node14" "^1.0.0"
+ "@tsconfig/node16" "^1.0.2"
+ acorn "^8.4.1"
+ acorn-walk "^8.1.1"
+ arg "^4.1.0"
+ create-require "^1.1.0"
+ diff "^4.0.1"
+ make-error "^1.1.1"
+ v8-compile-cache-lib "^3.0.1"
+ yn "3.1.1"
+
+ts-to-zod@^3.15.0:
+ version "3.15.0"
+ resolved "https://registry.yarnpkg.com/ts-to-zod/-/ts-to-zod-3.15.0.tgz#3784780f2c52e69d5c48199d3e18f83aec5c5109"
+ integrity sha512-Lu5ITqD8xCIo4JZp4Cg3iSK3J2x3TGwwuDtNHfAIlx1mXWKClRdzqV+x6CFEzhKtJlZzhyvJIqg7DzrWfsdVSg==
+ dependencies:
+ "@oclif/core" ">=3.26.0"
+ "@typescript/vfs" "^1.5.0"
+ case "^1.6.3"
+ chokidar "^3.5.1"
+ fs-extra "^11.1.1"
+ inquirer "^8.2.0"
+ lodash "^4.17.21"
+ ora "^5.4.0"
+ prettier "3.0.3"
+ rxjs "^7.4.0"
+ slash "^3.0.0"
+ threads "^1.7.0"
+ tslib "^2.3.1"
+ tsutils "^3.21.0"
+ typescript "^5.2.2"
+ zod "^3.23.8"
+
+tseep@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.npmjs.org/tseep/-/tseep-1.3.1.tgz"
+ integrity sha512-ZPtfk1tQnZVyr7BPtbJ93qaAh2lZuIOpTMjhrYa4XctT8xe7t4SAW9LIxrySDuYMsfNNayE51E/WNGrNVgVicQ==
+
+tslib@^1.8.1:
+ version "1.14.1"
+ resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz"
+ integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
+
+tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.8.0:
+ version "2.8.1"
+ resolved "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz"
+ integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==
+
+tsup@^6.2.3:
+ version "6.7.0"
+ resolved "https://registry.npmjs.org/tsup/-/tsup-6.7.0.tgz"
+ integrity sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ==
+ dependencies:
+ bundle-require "^4.0.0"
+ cac "^6.7.12"
+ chokidar "^3.5.1"
+ debug "^4.3.1"
+ esbuild "^0.17.6"
+ execa "^5.0.0"
+ globby "^11.0.3"
+ joycon "^3.0.1"
+ postcss-load-config "^3.0.1"
+ resolve-from "^5.0.0"
+ rollup "^3.2.5"
+ source-map "0.8.0-beta.0"
+ sucrase "^3.20.3"
+ tree-kill "^1.2.2"
+
+tsutils@^3.21.0:
+ version "3.21.0"
+ resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz"
+ integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
+ dependencies:
+ tslib "^1.8.1"
+
+tsx@^4.20.6:
+ version "4.20.6"
+ resolved "https://registry.yarnpkg.com/tsx/-/tsx-4.20.6.tgz#8fb803fd9c1f70e8ccc93b5d7c5e03c3979ccb2e"
+ integrity sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==
+ dependencies:
+ esbuild "~0.25.0"
+ get-tsconfig "^4.7.5"
+ optionalDependencies:
+ fsevents "~2.3.3"
+
+turbo-darwin-64@2.5.3:
+ version "2.5.3"
+ resolved "https://registry.yarnpkg.com/turbo-darwin-64/-/turbo-darwin-64-2.5.3.tgz#e1f19e816f76e0d636e31e66f8238c43bf870f45"
+ integrity sha512-YSItEVBUIvAGPUDpAB9etEmSqZI3T6BHrkBkeSErvICXn3dfqXUfeLx35LfptLDEbrzFUdwYFNmt8QXOwe9yaw==
+
+turbo-darwin-arm64@2.5.3:
+ version "2.5.3"
+ resolved "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-2.5.3.tgz"
+ integrity sha512-5PefrwHd42UiZX7YA9m1LPW6x9YJBDErXmsegCkVp+GjmWrADfEOxpFrGQNonH3ZMj77WZB2PVE5Aw3gA+IOhg==
+
+turbo-linux-64@2.5.3:
+ version "2.5.3"
+ resolved "https://registry.yarnpkg.com/turbo-linux-64/-/turbo-linux-64-2.5.3.tgz#93bfe009a24a76295c8164896845b5098c293293"
+ integrity sha512-M9xigFgawn5ofTmRzvjjLj3Lqc05O8VHKuOlWNUlnHPUltFquyEeSkpQNkE/vpPdOR14AzxqHbhhxtfS4qvb1w==
+
+turbo-linux-arm64@2.5.3:
+ version "2.5.3"
+ resolved "https://registry.yarnpkg.com/turbo-linux-arm64/-/turbo-linux-arm64-2.5.3.tgz#bf4664561094711aa289d92b9443de2aefca5d6e"
+ integrity sha512-auJRbYZ8SGJVqvzTikpg1bsRAsiI9Tk0/SDkA5Xgg0GdiHDH/BOzv1ZjDE2mjmlrO/obr19Dw+39OlMhwLffrw==
+
+turbo-windows-64@2.5.3:
+ version "2.5.3"
+ resolved "https://registry.yarnpkg.com/turbo-windows-64/-/turbo-windows-64-2.5.3.tgz#acbc2db093c7a74f0e692b899e649284285a2e7b"
+ integrity sha512-arLQYohuHtIEKkmQSCU9vtrKUg+/1TTstWB9VYRSsz+khvg81eX6LYHtXJfH/dK7Ho6ck+JaEh5G+QrE1jEmCQ==
+
+turbo-windows-arm64@2.5.3:
+ version "2.5.3"
+ resolved "https://registry.yarnpkg.com/turbo-windows-arm64/-/turbo-windows-arm64-2.5.3.tgz#78e8cfdb49b69fbadf03031532f1524be3661729"
+ integrity sha512-3JPn66HAynJ0gtr6H+hjY4VHpu1RPKcEwGATvGUTmLmYSYBQieVlnGDRMMoYN066YfyPqnNGCfhYbXfH92Cm0g==
+
+turbo@2.5.3:
+ version "2.5.3"
+ resolved "https://registry.npmjs.org/turbo/-/turbo-2.5.3.tgz"
+ integrity sha512-iHuaNcq5GZZnr3XDZNuu2LSyCzAOPwDuo5Qt+q64DfsTP1i3T2bKfxJhni2ZQxsvAoxRbuUK5QetJki4qc5aYA==
+ optionalDependencies:
+ turbo-darwin-64 "2.5.3"
+ turbo-darwin-arm64 "2.5.3"
+ turbo-linux-64 "2.5.3"
+ turbo-linux-arm64 "2.5.3"
+ turbo-windows-64 "2.5.3"
+ turbo-windows-arm64 "2.5.3"
+
+type-fest@^0.16.0:
+ version "0.16.0"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860"
+ integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==
+
+type-fest@^0.21.3:
+ version "0.21.3"
+ resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz"
+ integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
+
+typed-array-buffer@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536"
+ integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==
+ dependencies:
+ call-bound "^1.0.3"
+ es-errors "^1.3.0"
+ is-typed-array "^1.1.14"
+
+typed-array-byte-length@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz#8407a04f7d78684f3d252aa1a143d2b77b4160ce"
+ integrity sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==
+ dependencies:
+ call-bind "^1.0.8"
+ for-each "^0.3.3"
+ gopd "^1.2.0"
+ has-proto "^1.2.0"
+ is-typed-array "^1.1.14"
+
+typed-array-byte-offset@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz#ae3698b8ec91a8ab945016108aef00d5bff12355"
+ integrity sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==
+ dependencies:
+ available-typed-arrays "^1.0.7"
+ call-bind "^1.0.8"
+ for-each "^0.3.3"
+ gopd "^1.2.0"
+ has-proto "^1.2.0"
+ is-typed-array "^1.1.15"
+ reflect.getprototypeof "^1.0.9"
+
+typed-array-length@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.7.tgz#ee4deff984b64be1e118b0de8c9c877d5ce73d3d"
+ integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==
+ dependencies:
+ call-bind "^1.0.7"
+ for-each "^0.3.3"
+ gopd "^1.0.1"
+ is-typed-array "^1.1.13"
+ possible-typed-array-names "^1.0.0"
+ reflect.getprototypeof "^1.0.6"
+
+typescript-lru-cache@^2, typescript-lru-cache@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/typescript-lru-cache/-/typescript-lru-cache-2.0.0.tgz"
+ integrity sha512-Jp57Qyy8wXeMkdNuZiglE6v2Cypg13eDA1chHwDG6kq51X7gk4K7P7HaDdzZKCxkegXkVHNcPD0n5aW6OZH3aA==
+
+typescript@5.8.3:
+ version "5.8.3"
+ resolved "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz"
+ integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==
+
+typescript@^5.2.2, typescript@^5.3.3, typescript@^5.8.3:
+ version "5.9.3"
+ resolved "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz"
+ integrity sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==
+
+unbox-primitive@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz#8d9d2c9edeea8460c7f35033a88867944934d1e2"
+ integrity sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==
+ dependencies:
+ call-bound "^1.0.3"
+ has-bigints "^1.0.2"
+ has-symbols "^1.1.0"
+ which-boxed-primitive "^1.1.1"
+
+undici-types@~6.21.0:
+ version "6.21.0"
+ resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz"
+ integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==
+
+undici@7.14.0:
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/undici/-/undici-7.14.0.tgz#7e616eeb3900deb1c4dda0e51384303975eec72c"
+ integrity sha512-Vqs8HTzjpQXZeXdpsfChQTlafcMQaaIwnGwLam1wudSSjlJeQ3bw1j+TLPePgrCnCpUXx7Ba5Pdpf5OBih62NQ==
+
+unenv@2.0.0-rc.24:
+ version "2.0.0-rc.24"
+ resolved "https://registry.yarnpkg.com/unenv/-/unenv-2.0.0-rc.24.tgz#dd0035c3e93fedfa12c8454e34b7f17fe83efa2e"
+ integrity sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==
+ dependencies:
+ pathe "^2.0.3"
+
+unicode-canonical-property-names-ecmascript@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2"
+ integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==
+
+unicode-match-property-ecmascript@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3"
+ integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==
+ dependencies:
+ unicode-canonical-property-names-ecmascript "^2.0.0"
+ unicode-property-aliases-ecmascript "^2.0.0"
+
+unicode-match-property-value-ecmascript@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz#65a7adfad8574c219890e219285ce4c64ed67eaa"
+ integrity sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==
+
+unicode-property-aliases-ecmascript@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz#301d4f8a43d2b75c97adfad87c9dd5350c9475d1"
+ integrity sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==
+
+unique-string@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d"
+ integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==
+ dependencies:
+ crypto-random-string "^2.0.0"
+
+universalify@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz"
+ integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==
+
+upath@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894"
+ integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==
+
+update-browserslist-db@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz#7802aa2ae91477f255b86e0e46dbc787a206ad4a"
+ integrity sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==
+ dependencies:
+ escalade "^3.2.0"
+ picocolors "^1.1.1"
+
+util-deprecate@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
+
+uuid@^11.1.0:
+ version "11.1.0"
+ resolved "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz"
+ integrity sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==
+
+v8-compile-cache-lib@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz"
+ integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
+
+vite-plugin-pwa@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/vite-plugin-pwa/-/vite-plugin-pwa-1.2.0.tgz#3c7de17d4eed662f273095a0ac52f7a98d0cde36"
+ integrity sha512-a2xld+SJshT9Lgcv8Ji4+srFJL4k/1bVbd1x06JIkvecpQkwkvCncD1+gSzcdm3s+owWLpMJerG3aN5jupJEVw==
+ dependencies:
+ debug "^4.3.6"
+ pretty-bytes "^6.1.1"
+ tinyglobby "^0.2.10"
+ workbox-build "^7.4.0"
+ workbox-window "^7.4.0"
+
+vite@7.0.6:
+ version "7.0.6"
+ resolved "https://registry.npmjs.org/vite/-/vite-7.0.6.tgz"
+ integrity sha512-MHFiOENNBd+Bd9uvc8GEsIzdkn1JxMmEeYX35tI3fv0sJBUTfW5tQsoaOwuY4KhBI09A3dUJ/DXf2yxPVPUceg==
+ dependencies:
+ esbuild "^0.25.0"
+ fdir "^6.4.6"
+ picomatch "^4.0.3"
+ postcss "^8.5.6"
+ rollup "^4.40.0"
+ tinyglobby "^0.2.14"
+ optionalDependencies:
+ fsevents "~2.3.3"
+
+vitefu@^0.2.5:
+ version "0.2.5"
+ resolved "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz"
+ integrity sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==
+
+vitefu@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/vitefu/-/vitefu-1.1.1.tgz"
+ integrity sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==
+
+wcwidth@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz"
+ integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==
+ dependencies:
+ defaults "^1.0.3"
+
+webidl-conversions@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz"
+ integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
+
+whatwg-url@^7.0.0:
+ version "7.1.0"
+ resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz"
+ integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==
+ dependencies:
+ lodash.sortby "^4.7.0"
+ tr46 "^1.0.1"
+ webidl-conversions "^4.0.2"
+
+which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz#d76ec27df7fa165f18d5808374a5fe23c29b176e"
+ integrity sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==
+ dependencies:
+ is-bigint "^1.1.0"
+ is-boolean-object "^1.2.1"
+ is-number-object "^1.1.1"
+ is-string "^1.1.1"
+ is-symbol "^1.1.1"
+
+which-builtin-type@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.2.1.tgz#89183da1b4907ab089a6b02029cc5d8d6574270e"
+ integrity sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==
+ dependencies:
+ call-bound "^1.0.2"
+ function.prototype.name "^1.1.6"
+ has-tostringtag "^1.0.2"
+ is-async-function "^2.0.0"
+ is-date-object "^1.1.0"
+ is-finalizationregistry "^1.1.0"
+ is-generator-function "^1.0.10"
+ is-regex "^1.2.1"
+ is-weakref "^1.0.2"
+ isarray "^2.0.5"
+ which-boxed-primitive "^1.1.0"
+ which-collection "^1.0.2"
+ which-typed-array "^1.1.16"
+
+which-collection@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0"
+ integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==
+ dependencies:
+ is-map "^2.0.3"
+ is-set "^2.0.3"
+ is-weakmap "^2.0.2"
+ is-weakset "^2.0.3"
+
+which-typed-array@^1.1.16, which-typed-array@^1.1.19:
+ version "1.1.19"
+ resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.19.tgz#df03842e870b6b88e117524a4b364b6fc689f956"
+ integrity sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==
+ dependencies:
+ available-typed-arrays "^1.0.7"
+ call-bind "^1.0.8"
+ call-bound "^1.0.4"
+ for-each "^0.3.5"
+ get-proto "^1.0.1"
+ gopd "^1.2.0"
+ has-tostringtag "^1.0.2"
+
+which@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz"
+ integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+ dependencies:
+ isexe "^2.0.0"
+
+widest-line@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz"
+ integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==
+ dependencies:
+ string-width "^4.0.0"
+
+wordwrap@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz"
+ integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==
+
+workbox-background-sync@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-7.4.0.tgz#5fcf83162b540f799966fdd8df0858f91b787d77"
+ integrity sha512-8CB9OxKAgKZKyNMwfGZ1XESx89GryWTfI+V5yEj8sHjFH8MFelUwYXEyldEK6M6oKMmn807GoJFUEA1sC4XS9w==
+ dependencies:
+ idb "^7.0.1"
+ workbox-core "7.4.0"
+
+workbox-broadcast-update@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-7.4.0.tgz#f0ee7d2af51d199e32213a429dff03f14ba76dea"
+ integrity sha512-+eZQwoktlvo62cI0b+QBr40v5XjighxPq3Fzo9AWMiAosmpG5gxRHgTbGGhaJv/q/MFVxwFNGh/UwHZ/8K88lA==
+ dependencies:
+ workbox-core "7.4.0"
+
+workbox-build@^7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-7.4.0.tgz#033f88ebbd9c6312983f3fb9c17a4161369d693f"
+ integrity sha512-Ntk1pWb0caOFIvwz/hfgrov/OJ45wPEhI5PbTywQcYjyZiVhT3UrwwUPl6TRYbTm4moaFYithYnl1lvZ8UjxcA==
+ dependencies:
+ "@apideck/better-ajv-errors" "^0.3.1"
+ "@babel/core" "^7.24.4"
+ "@babel/preset-env" "^7.11.0"
+ "@babel/runtime" "^7.11.2"
+ "@rollup/plugin-babel" "^5.2.0"
+ "@rollup/plugin-node-resolve" "^15.2.3"
+ "@rollup/plugin-replace" "^2.4.1"
+ "@rollup/plugin-terser" "^0.4.3"
+ "@surma/rollup-plugin-off-main-thread" "^2.2.3"
+ ajv "^8.6.0"
+ common-tags "^1.8.0"
+ fast-json-stable-stringify "^2.1.0"
+ fs-extra "^9.0.1"
+ glob "^11.0.1"
+ lodash "^4.17.20"
+ pretty-bytes "^5.3.0"
+ rollup "^2.79.2"
+ source-map "^0.8.0-beta.0"
+ stringify-object "^3.3.0"
+ strip-comments "^2.0.1"
+ tempy "^0.6.0"
+ upath "^1.2.0"
+ workbox-background-sync "7.4.0"
+ workbox-broadcast-update "7.4.0"
+ workbox-cacheable-response "7.4.0"
+ workbox-core "7.4.0"
+ workbox-expiration "7.4.0"
+ workbox-google-analytics "7.4.0"
+ workbox-navigation-preload "7.4.0"
+ workbox-precaching "7.4.0"
+ workbox-range-requests "7.4.0"
+ workbox-recipes "7.4.0"
+ workbox-routing "7.4.0"
+ workbox-strategies "7.4.0"
+ workbox-streams "7.4.0"
+ workbox-sw "7.4.0"
+ workbox-window "7.4.0"
+
+workbox-cacheable-response@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-7.4.0.tgz#f684380c07dfce4ed1aa555c8a29a2a1f8421d46"
+ integrity sha512-0Fb8795zg/x23ISFkAc7lbWes6vbw34DGFIMw31cwuHPgDEC/5EYm6m/ZkylLX0EnEbbOyOCLjKgFS/Z5g0HeQ==
+ dependencies:
+ workbox-core "7.4.0"
+
+workbox-core@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-7.4.0.tgz#5cb59ae7655f2727423268fb1ba698f37809189d"
+ integrity sha512-6BMfd8tYEnN4baG4emG9U0hdXM4gGuDU3ectXuVHnj71vwxTFI7WOpQJC4siTOlVtGqCUtj0ZQNsrvi6kZZTAQ==
+
+workbox-expiration@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-7.4.0.tgz#f7162a45ad8b28de84acea478df421b4d0065e61"
+ integrity sha512-V50p4BxYhtA80eOvulu8xVfPBgZbkxJ1Jr8UUn0rvqjGhLDqKNtfrDfjJKnLz2U8fO2xGQJTx/SKXNTzHOjnHw==
+ dependencies:
+ idb "^7.0.1"
+ workbox-core "7.4.0"
+
+workbox-google-analytics@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-7.4.0.tgz#208d8e584e8262af8a14140c3a990d13021c8257"
+ integrity sha512-MVPXQslRF6YHkzGoFw1A4GIB8GrKym/A5+jYDUSL+AeJw4ytQGrozYdiZqUW1TPQHW8isBCBtyFJergUXyNoWQ==
+ dependencies:
+ workbox-background-sync "7.4.0"
+ workbox-core "7.4.0"
+ workbox-routing "7.4.0"
+ workbox-strategies "7.4.0"
+
+workbox-navigation-preload@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-7.4.0.tgz#3133983b2690dee733d18f56760fdd5182a6ffaf"
+ integrity sha512-etzftSgdQfjMcfPgbfaZCfM2QuR1P+4o8uCA2s4rf3chtKTq/Om7g/qvEOcZkG6v7JZOSOxVYQiOu6PbAZgU6w==
+ dependencies:
+ workbox-core "7.4.0"
+
+workbox-precaching@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-7.4.0.tgz#daf486953353acaf84142b78cf28a890c466b242"
+ integrity sha512-VQs37T6jDqf1rTxUJZXRl3yjZMf5JX/vDPhmx2CPgDDKXATzEoqyRqhYnRoxl6Kr0rqaQlp32i9rtG5zTzIlNg==
+ dependencies:
+ workbox-core "7.4.0"
+ workbox-routing "7.4.0"
+ workbox-strategies "7.4.0"
+
+workbox-range-requests@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-7.4.0.tgz#1be334d6a7a0b158d6094e8698460393863d28a2"
+ integrity sha512-3Vq854ZNuP6Y0KZOQWLaLC9FfM7ZaE+iuQl4VhADXybwzr4z/sMmnLgTeUZLq5PaDlcJBxYXQ3U91V7dwAIfvw==
+ dependencies:
+ workbox-core "7.4.0"
+
+workbox-recipes@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-recipes/-/workbox-recipes-7.4.0.tgz#217e6394f965bed8fbf15ad83370f03356c885c9"
+ integrity sha512-kOkWvsAn4H8GvAkwfJTbwINdv4voFoiE9hbezgB1sb/0NLyTG4rE7l6LvS8lLk5QIRIto+DjXLuAuG3Vmt3cxQ==
+ dependencies:
+ workbox-cacheable-response "7.4.0"
+ workbox-core "7.4.0"
+ workbox-expiration "7.4.0"
+ workbox-precaching "7.4.0"
+ workbox-routing "7.4.0"
+ workbox-strategies "7.4.0"
+
+workbox-routing@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-7.4.0.tgz#4b5bc90256515dc5cf49b356b101721fd135d013"
+ integrity sha512-C/ooj5uBWYAhAqwmU8HYQJdOjjDKBp9MzTQ+otpMmd+q0eF59K+NuXUek34wbL0RFrIXe/KKT+tUWcZcBqxbHQ==
+ dependencies:
+ workbox-core "7.4.0"
+
+workbox-strategies@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-7.4.0.tgz#59130734400722d39ce4a0a1a22a363e99913946"
+ integrity sha512-T4hVqIi5A4mHi92+5EppMX3cLaVywDp8nsyUgJhOZxcfSV/eQofcOA6/EMo5rnTNmNTpw0rUgjAI6LaVullPpg==
+ dependencies:
+ workbox-core "7.4.0"
+
+workbox-streams@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-7.4.0.tgz#e5b8e6b540f08e05f3c51b748c54056d24f20e8c"
+ integrity sha512-QHPBQrey7hQbnTs5GrEVoWz7RhHJXnPT+12qqWM378orDMo5VMJLCkCM1cnCk+8Eq92lccx/VgRZ7WAzZWbSLg==
+ dependencies:
+ workbox-core "7.4.0"
+ workbox-routing "7.4.0"
+
+workbox-sw@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-7.4.0.tgz#05c9659399b8f3716e14406be66eb118fcb3968f"
+ integrity sha512-ltU+Kr3qWR6BtbdlMnCjobZKzeV1hN+S6UvDywBrwM19TTyqA03X66dzw1tEIdJvQ4lYKkBFox6IAEhoSEZ8Xw==
+
+workbox-window@7.4.0, workbox-window@^7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-7.4.0.tgz#5399a5261b8c34d9d102f2d832d5857ee4d5748a"
+ integrity sha512-/bIYdBLAVsNR3v7gYGaV4pQW3M3kEPx5E8vDxGvxo6khTrGtSSCS7QiFKv9ogzBgZiy0OXLP9zO28U/1nF1mfw==
+ dependencies:
+ "@types/trusted-types" "^2.0.2"
+ workbox-core "7.4.0"
+
+workerd@1.20251125.0:
+ version "1.20251125.0"
+ resolved "https://registry.yarnpkg.com/workerd/-/workerd-1.20251125.0.tgz#ae2cb1edefded321efead7504972bbd0ef30b647"
+ integrity sha512-oQYfgu3UZ15HlMcEyilKD1RdielRnKSG5MA0xoi1theVs99Rop9AEFYicYCyK1R4YjYblLRYEiL1tMgEFqpReA==
+ optionalDependencies:
+ "@cloudflare/workerd-darwin-64" "1.20251125.0"
+ "@cloudflare/workerd-darwin-arm64" "1.20251125.0"
+ "@cloudflare/workerd-linux-64" "1.20251125.0"
+ "@cloudflare/workerd-linux-arm64" "1.20251125.0"
+ "@cloudflare/workerd-windows-64" "1.20251125.0"
+
+wrangler@^4.42.2:
+ version "4.51.0"
+ resolved "https://registry.yarnpkg.com/wrangler/-/wrangler-4.51.0.tgz#03f51452df13bfb762e0afa789c277103397e11e"
+ integrity sha512-JHv+58UxM2//e4kf9ASDwg016xd/OdDNDUKW6zLQyE7Uc9ayYKX1QJ9NsYtpo4dC1dfg6rT67pf1aNK1cTzUDg==
+ dependencies:
+ "@cloudflare/kv-asset-handler" "0.4.1"
+ "@cloudflare/unenv-preset" "2.7.11"
+ blake3-wasm "2.1.5"
+ esbuild "0.25.4"
+ miniflare "4.20251125.0"
+ path-to-regexp "6.3.0"
+ unenv "2.0.0-rc.24"
+ workerd "1.20251125.0"
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz"
+ integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
+wrap-ansi@^6.0.1:
+ version "6.2.0"
+ resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz"
+ integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
+wrap-ansi@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz"
+ integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
+wrap-ansi@^8.1.0:
+ version "8.1.0"
+ resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz"
+ integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==
+ dependencies:
+ ansi-styles "^6.1.0"
+ string-width "^5.0.1"
+ strip-ansi "^7.0.1"
+
+ws@8.18.0:
+ version "8.18.0"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc"
+ integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==
+
+y18n@^5.0.5:
+ version "5.0.8"
+ resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz"
+ integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
+
+yallist@^3.0.2:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
+ integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
+
+yaml@^1.10.2:
+ version "1.10.2"
+ resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz"
+ integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
+
+yargs-parser@^21.1.1:
+ version "21.1.1"
+ resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz"
+ integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
+
+yargs@^17.7.2:
+ version "17.7.2"
+ resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz"
+ integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==
+ dependencies:
+ cliui "^8.0.1"
+ escalade "^3.1.1"
+ get-caller-file "^2.0.5"
+ require-directory "^2.1.1"
+ string-width "^4.2.3"
+ y18n "^5.0.5"
+ yargs-parser "^21.1.1"
+
+yn@3.1.1:
+ version "3.1.1"
+ resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz"
+ integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
+
+youch-core@^0.3.3:
+ version "0.3.3"
+ resolved "https://registry.yarnpkg.com/youch-core/-/youch-core-0.3.3.tgz#c5d3d85aeea0d8bc7b36e9764ed3f14b7ceddc7d"
+ integrity sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==
+ dependencies:
+ "@poppinss/exception" "^1.2.2"
+ error-stack-parser-es "^1.0.5"
+
+youch@4.1.0-beta.10:
+ version "4.1.0-beta.10"
+ resolved "https://registry.yarnpkg.com/youch/-/youch-4.1.0-beta.10.tgz#94702059e0ba7668025f5cd1b5e5c0f3eb0e83c2"
+ integrity sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ==
+ dependencies:
+ "@poppinss/colors" "^4.1.5"
+ "@poppinss/dumper" "^0.6.4"
+ "@speed-highlight/core" "^1.2.7"
+ cookie "^1.0.2"
+ youch-core "^0.3.3"
+
+zimmerframe@^1.1.2:
+ version "1.1.4"
+ resolved "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.4.tgz"
+ integrity sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==
+
+zod@3.22.3:
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/zod/-/zod-3.22.3.tgz#2fbc96118b174290d94e8896371c95629e87a060"
+ integrity sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==
+
+zod@^3.23.8:
+ version "3.25.76"
+ resolved "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz"
+ integrity sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==
+
+zod@^4.0.5:
+ version "4.1.12"
+ resolved "https://registry.npmjs.org/zod/-/zod-4.1.12.tgz"
+ integrity sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==