From e2481139a13f9d611f5a6ea755da0781eec13111 Mon Sep 17 00:00:00 2001 From: Till Heidrich Date: Tue, 15 Sep 2026 14:52:41 +0000 Subject: [PATCH] =?UTF-8?q?Klarbild=201.0.0=20=E2=80=94=20first=20public?= =?UTF-8?q?=20release?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A self-hosted print studio: images at exact physical sizes, sheet layout with crop marks, tiling, 1:1 PDF. Everything else — image generation, delivery, share links, mail, Telegram — is an optional module that is off by default. This is the neutral public twin of a private tool. Compared to that original: - optional modules behind KLARBILD_MODULES; the default install is print-only - English interface with German as a full second language (1,038 strings); the English sentence is the translation key - no built-in accounts — first boot creates one admin from ADMIN_USERNAME / ADMIN_PASSWORD, or generates a password and logs it once - delivery and backup targets are generic SFTP/FTPS endpoints, off by default - English routes, English identifiers, English comments throughout - two compose files: print-only by default, everything in the full one - AGPL-3.0, CI (build, tests, type check, secret scan), CONTRIBUTING, SECURITY 124 tests green, type check clean, verified end to end against a live instance. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01Nh4A79bbqT9dcd2inzYUdg --- .dockerignore | 7 + .env.example | 119 + .github/workflows/ci.yml | 34 + .gitignore | 9 + CHANGELOG.md | 35 + CONTRIBUTING.md | 79 + Dockerfile | 22 + LICENSE | 662 ++ README.md | 157 + SECURITY.md | 43 + astro.config.mjs | 38 + docker-compose.full.yaml | 104 + docker-compose.yaml | 77 + docs/screenshots/help-en.png | Bin 0 -> 234582 bytes docs/screenshots/mixed-sheet.png | Bin 0 -> 272845 bytes docs/screenshots/print-de.png | Bin 0 -> 172778 bytes docs/screenshots/print-studio.png | Bin 0 -> 172220 bytes docs/screenshots/sheet-preview.png | Bin 0 -> 31017 bytes mcp/README.md | 52 + mcp/klarbild-mcp.mjs | 188 + migrations/001_init.sql | 168 + migrations/002_telegram_job.sql | 2 + migrations/003_settings_gallery.sql | 2 + migrations/004_modes_thumbs_storage_nas.sql | 35 + migrations/005_telegram_compose.sql | 5 + migrations/006_variants.sql | 4 + migrations/007_delivery_targets.sql | 21 + migrations/008_backup_metadata_apitoken.sql | 19 + migrations/009_access_privacy_nsfw.sql | 18 + migrations/010_color_tags.sql | 4 + migrations/011_per_source_metadata.sql | 4 + migrations/012_failed_jobs_and_output_ext.sql | 11 + migrations/013_print_presets.sql | 14 + migrations/014_mail_and_sharing.sql | 71 + migrations/015_session_epoch.sql | 37 + migrations/016_print_history.sql | 39 + package-lock.json | 9266 +++++++++++++++++ package.json | 71 + scripts/secret-scan.mjs | 85 + src/components/AccountApp.tsx | 164 + src/components/AdminApp.tsx | 672 ++ src/components/LibraryApp.tsx | 364 + src/components/PrintApp.tsx | 1640 +++ src/components/PrintRuns.tsx | 227 + src/components/QueueApp.tsx | 170 + src/components/ShareDialog.tsx | 315 + src/components/SharesApp.tsx | 265 + src/components/StudioApp.tsx | 547 + src/env.d.ts | 9 + src/layouts/Base.astro | 175 + src/lib/auth.ts | 112 + src/lib/backup.ts | 71 + src/lib/cropmath.ts | 90 + src/lib/crypto.ts | 37 + src/lib/db.ts | 56 + src/lib/delivery.ts | 85 + src/lib/format.ts | 77 + src/lib/i18n.server.ts | 18 + src/lib/i18n.ts | 70 + src/lib/init.ts | 33 + src/lib/limit.ts | 71 + src/lib/mail.ts | 178 + src/lib/maintenance.ts | 149 + src/lib/metadata.ts | 39 + src/lib/mirror.ts | 94 + src/lib/modules.ts | 99 + src/lib/naming.ts | 247 + src/lib/openrouter.ts | 101 + src/lib/paper.ts | 201 + src/lib/pipeline.ts | 84 + src/lib/printlayout.ts | 392 + src/lib/printoversize.ts | 126 + src/lib/printrender.ts | 258 + src/lib/printruns.ts | 194 + src/lib/printsource.ts | 56 + src/lib/process.ts | 230 + src/lib/prompts.ts | 79 + src/lib/provenance.ts | 201 + src/lib/queue.ts | 34 + src/lib/remotetarget.ts | 126 + src/lib/renames.ts | 103 + src/lib/seed.ts | 122 + src/lib/shares.ts | 371 + src/lib/storage.ts | 95 + src/lib/telegram.ts | 507 + src/lib/useT.ts | 40 + src/locales/de.json | 1041 ++ src/middleware.ts | 94 + src/pages/account.astro | 24 + src/pages/admin/index.astro | 14 + src/pages/api/admin/delivery-ls.ts | 45 + src/pages/api/admin/delivery-targets.ts | 66 + src/pages/api/admin/models.ts | 52 + src/pages/api/admin/netcheck.ts | 56 + src/pages/api/admin/reset.ts | 36 + src/pages/api/admin/settings.ts | 77 + src/pages/api/admin/stats.ts | 25 + src/pages/api/admin/storage.ts | 28 + src/pages/api/admin/telegram/links.ts | 22 + src/pages/api/admin/telegram/pairing-code.ts | 22 + src/pages/api/admin/test-delivery.ts | 14 + src/pages/api/admin/test-mail.ts | 36 + src/pages/api/admin/test-mirror.ts | 14 + src/pages/api/admin/users.ts | 41 + src/pages/api/auth/login.ts | 44 + src/pages/api/auth/logout.ts | 10 + src/pages/api/auth/reset.ts | 94 + src/pages/api/deliver.ts | 20 + src/pages/api/delivery-targets.ts | 15 + src/pages/api/folders/[id].ts | 20 + src/pages/api/folders/index.ts | 46 + src/pages/api/health.ts | 22 + src/pages/api/items/[id].ts | 31 + src/pages/api/items/[id]/alternative.ts | 31 + src/pages/api/items/[id]/file.ts | 56 + src/pages/api/items/[id]/retry.ts | 20 + src/pages/api/items/[id]/reuse.ts | 26 + src/pages/api/items/index.ts | 42 + src/pages/api/items/zip.ts | 52 + src/pages/api/jobs/[id].ts | 26 + src/pages/api/jobs/[id]/[action].ts | 56 + src/pages/api/jobs/index.ts | 99 + src/pages/api/me.ts | 59 + src/pages/api/models.ts | 17 + src/pages/api/print/presets.ts | 51 + src/pages/api/print/runs.ts | 23 + src/pages/api/print/sheet.ts | 322 + src/pages/api/print/single.ts | 72 + src/pages/api/recipes.ts | 30 + src/pages/api/recipes/[id].ts | 32 + src/pages/api/s/[slug]/file.ts | 104 + src/pages/api/s/[slug]/zip.ts | 117 + src/pages/api/shares/[id].ts | 53 + src/pages/api/shares/index.ts | 73 + src/pages/api/shares/send.ts | 99 + src/pages/api/telegram/webhook.ts | 22 + src/pages/api/uploads.ts | 54 + src/pages/changelog.astro | 159 + src/pages/help.astro | 147 + src/pages/index.astro | 15 + src/pages/library.astro | 13 + src/pages/llms.txt.ts | 213 + src/pages/login.astro | 53 + src/pages/password.astro | 104 + src/pages/print.astro | 20 + src/pages/queue.astro | 14 + src/pages/s/[slug].astro | 204 + src/pages/shares.astro | 24 + src/pages/tour.astro | 293 + src/styles/tokens.css | 70 + src/types/archiver.d.ts | 35 + src/types/heic-convert.d.ts | 5 + src/worker.ts | 132 + tests/cropmath.test.ts | 106 + tests/mail.test.ts | 66 + tests/naming.test.ts | 156 + tests/printlayout.test.ts | 323 + tests/printnames.test.ts | 103 + tests/printrender.test.ts | 141 + tests/printruns.test.ts | 43 + tests/provenance.test.ts | 118 + tests/shares.test.ts | 102 + tests/zipnames.test.ts | 66 + tsconfig.json | 24 + 164 files changed, 27190 insertions(+) create mode 100644 .dockerignore create mode 100644 .env.example create mode 100644 .github/workflows/ci.yml create mode 100644 .gitignore create mode 100644 CHANGELOG.md create mode 100644 CONTRIBUTING.md create mode 100644 Dockerfile create mode 100644 LICENSE create mode 100644 README.md create mode 100644 SECURITY.md create mode 100644 astro.config.mjs create mode 100644 docker-compose.full.yaml create mode 100644 docker-compose.yaml create mode 100644 docs/screenshots/help-en.png create mode 100644 docs/screenshots/mixed-sheet.png create mode 100644 docs/screenshots/print-de.png create mode 100644 docs/screenshots/print-studio.png create mode 100644 docs/screenshots/sheet-preview.png create mode 100644 mcp/README.md create mode 100644 mcp/klarbild-mcp.mjs create mode 100644 migrations/001_init.sql create mode 100644 migrations/002_telegram_job.sql create mode 100644 migrations/003_settings_gallery.sql create mode 100644 migrations/004_modes_thumbs_storage_nas.sql create mode 100644 migrations/005_telegram_compose.sql create mode 100644 migrations/006_variants.sql create mode 100644 migrations/007_delivery_targets.sql create mode 100644 migrations/008_backup_metadata_apitoken.sql create mode 100644 migrations/009_access_privacy_nsfw.sql create mode 100644 migrations/010_color_tags.sql create mode 100644 migrations/011_per_source_metadata.sql create mode 100644 migrations/012_failed_jobs_and_output_ext.sql create mode 100644 migrations/013_print_presets.sql create mode 100644 migrations/014_mail_and_sharing.sql create mode 100644 migrations/015_session_epoch.sql create mode 100644 migrations/016_print_history.sql create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 scripts/secret-scan.mjs create mode 100644 src/components/AccountApp.tsx create mode 100644 src/components/AdminApp.tsx create mode 100644 src/components/LibraryApp.tsx create mode 100644 src/components/PrintApp.tsx create mode 100644 src/components/PrintRuns.tsx create mode 100644 src/components/QueueApp.tsx create mode 100644 src/components/ShareDialog.tsx create mode 100644 src/components/SharesApp.tsx create mode 100644 src/components/StudioApp.tsx create mode 100644 src/env.d.ts create mode 100644 src/layouts/Base.astro create mode 100644 src/lib/auth.ts create mode 100644 src/lib/backup.ts create mode 100644 src/lib/cropmath.ts create mode 100644 src/lib/crypto.ts create mode 100644 src/lib/db.ts create mode 100644 src/lib/delivery.ts create mode 100644 src/lib/format.ts create mode 100644 src/lib/i18n.server.ts create mode 100644 src/lib/i18n.ts create mode 100644 src/lib/init.ts create mode 100644 src/lib/limit.ts create mode 100644 src/lib/mail.ts create mode 100644 src/lib/maintenance.ts create mode 100644 src/lib/metadata.ts create mode 100644 src/lib/mirror.ts create mode 100644 src/lib/modules.ts create mode 100644 src/lib/naming.ts create mode 100644 src/lib/openrouter.ts create mode 100644 src/lib/paper.ts create mode 100644 src/lib/pipeline.ts create mode 100644 src/lib/printlayout.ts create mode 100644 src/lib/printoversize.ts create mode 100644 src/lib/printrender.ts create mode 100644 src/lib/printruns.ts create mode 100644 src/lib/printsource.ts create mode 100644 src/lib/process.ts create mode 100644 src/lib/prompts.ts create mode 100644 src/lib/provenance.ts create mode 100644 src/lib/queue.ts create mode 100644 src/lib/remotetarget.ts create mode 100644 src/lib/renames.ts create mode 100644 src/lib/seed.ts create mode 100644 src/lib/shares.ts create mode 100644 src/lib/storage.ts create mode 100644 src/lib/telegram.ts create mode 100644 src/lib/useT.ts create mode 100644 src/locales/de.json create mode 100644 src/middleware.ts create mode 100644 src/pages/account.astro create mode 100644 src/pages/admin/index.astro create mode 100644 src/pages/api/admin/delivery-ls.ts create mode 100644 src/pages/api/admin/delivery-targets.ts create mode 100644 src/pages/api/admin/models.ts create mode 100644 src/pages/api/admin/netcheck.ts create mode 100644 src/pages/api/admin/reset.ts create mode 100644 src/pages/api/admin/settings.ts create mode 100644 src/pages/api/admin/stats.ts create mode 100644 src/pages/api/admin/storage.ts create mode 100644 src/pages/api/admin/telegram/links.ts create mode 100644 src/pages/api/admin/telegram/pairing-code.ts create mode 100644 src/pages/api/admin/test-delivery.ts create mode 100644 src/pages/api/admin/test-mail.ts create mode 100644 src/pages/api/admin/test-mirror.ts create mode 100644 src/pages/api/admin/users.ts create mode 100644 src/pages/api/auth/login.ts create mode 100644 src/pages/api/auth/logout.ts create mode 100644 src/pages/api/auth/reset.ts create mode 100644 src/pages/api/deliver.ts create mode 100644 src/pages/api/delivery-targets.ts create mode 100644 src/pages/api/folders/[id].ts create mode 100644 src/pages/api/folders/index.ts create mode 100644 src/pages/api/health.ts create mode 100644 src/pages/api/items/[id].ts create mode 100644 src/pages/api/items/[id]/alternative.ts create mode 100644 src/pages/api/items/[id]/file.ts create mode 100644 src/pages/api/items/[id]/retry.ts create mode 100644 src/pages/api/items/[id]/reuse.ts create mode 100644 src/pages/api/items/index.ts create mode 100644 src/pages/api/items/zip.ts create mode 100644 src/pages/api/jobs/[id].ts create mode 100644 src/pages/api/jobs/[id]/[action].ts create mode 100644 src/pages/api/jobs/index.ts create mode 100644 src/pages/api/me.ts create mode 100644 src/pages/api/models.ts create mode 100644 src/pages/api/print/presets.ts create mode 100644 src/pages/api/print/runs.ts create mode 100644 src/pages/api/print/sheet.ts create mode 100644 src/pages/api/print/single.ts create mode 100644 src/pages/api/recipes.ts create mode 100644 src/pages/api/recipes/[id].ts create mode 100644 src/pages/api/s/[slug]/file.ts create mode 100644 src/pages/api/s/[slug]/zip.ts create mode 100644 src/pages/api/shares/[id].ts create mode 100644 src/pages/api/shares/index.ts create mode 100644 src/pages/api/shares/send.ts create mode 100644 src/pages/api/telegram/webhook.ts create mode 100644 src/pages/api/uploads.ts create mode 100644 src/pages/changelog.astro create mode 100644 src/pages/help.astro create mode 100644 src/pages/index.astro create mode 100644 src/pages/library.astro create mode 100644 src/pages/llms.txt.ts create mode 100644 src/pages/login.astro create mode 100644 src/pages/password.astro create mode 100644 src/pages/print.astro create mode 100644 src/pages/queue.astro create mode 100644 src/pages/s/[slug].astro create mode 100644 src/pages/shares.astro create mode 100644 src/pages/tour.astro create mode 100644 src/styles/tokens.css create mode 100644 src/types/archiver.d.ts create mode 100644 src/types/heic-convert.d.ts create mode 100644 src/worker.ts create mode 100644 tests/cropmath.test.ts create mode 100644 tests/mail.test.ts create mode 100644 tests/naming.test.ts create mode 100644 tests/printlayout.test.ts create mode 100644 tests/printnames.test.ts create mode 100644 tests/printrender.test.ts create mode 100644 tests/printruns.test.ts create mode 100644 tests/provenance.test.ts create mode 100644 tests/shares.test.ts create mode 100644 tests/zipnames.test.ts create mode 100644 tsconfig.json diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..b5e923f --- /dev/null +++ b/.dockerignore @@ -0,0 +1,7 @@ +.git +node_modules +dist +.astro +*.log +.env +# Do NOT ignore migrations/ — they are read at runtime, on every boot. diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..2e6a065 --- /dev/null +++ b/.env.example @@ -0,0 +1,119 @@ +# Klarbild — configuration +# +# Copy to .env and fill in. Never commit the real file. +# Everything below the first block is optional: Klarbild starts, and the print +# studio works, with nothing but DATABASE_URL, SESSION_SECRET and ENCRYPTION_KEY. + +# ───────────────────────────────────────────────────────────────────────────── +# 1. The minimum — this is all a print-only instance needs +# ───────────────────────────────────────────────────────────────────────────── + +DATABASE_URL=postgres://klarbild:CHANGEME@db:5432/klarbild + +# Signs the session cookie. Any long random string. +# openssl rand -base64 48 +SESSION_SECRET= + +# Encrypts the credentials Klarbild stores in the database (SMTP password, +# delivery password, API keys). Exactly 32 bytes as 64 hex characters. +# openssl rand -hex 32 +# Losing this means losing those stored credentials — they cannot be recovered, +# only re-entered. +ENCRYPTION_KEY= + +# Where finished files live. `fs` writes to a volume and needs nothing else; +# `s3` talks to MinIO or any S3-compatible store (see section 7). +STORAGE_DRIVER=fs +STORAGE_DIR=/data + +# Which modules are on. `print` is always on, with or without this line. +# print the print studio alone (default) +# print,ai,share add image generation and share links +# all everything +# See src/lib/modules.ts for the full list: print, ai, delivery, mirror, +# share, mail, telegram. +KLARBILD_MODULES=print + +# Interface language: en (default) or de. Visitors can switch with ?lang=, +# which sets a cookie; this is only what they get before they choose. +KLARBILD_LOCALE=en + +# Timezone for the timestamp in generated file names. +KLARBILD_TZ=Europe/Berlin + +PORT=4321 + +# ───────────────────────────────────────────────────────────────────────────── +# 2. First start +# ───────────────────────────────────────────────────────────────────────────── +# The first boot creates exactly one administrator. Set these and it uses them; +# leave them empty and Klarbild generates a password and prints it once to the +# server log. There are no other built-in accounts. + +ADMIN_USERNAME=admin +ADMIN_PASSWORD= + +# ───────────────────────────────────────────────────────────────────────────── +# 3. Public address +# ───────────────────────────────────────────────────────────────────────────── +# Needed for share links and for the Telegram webhook. Behind a reverse proxy +# this is the address the browser sees, not the container port. + +PUBLIC_BASE_URL=http://localhost:4321 + +# ───────────────────────────────────────────────────────────────────────────── +# 4. Module: ai — image generation +# ───────────────────────────────────────────────────────────────────────────── +# Klarbild calls image models through OpenRouter. This costs money per image. +# The key can also be entered in the admin area; the database value wins. + +OPENROUTER_API_KEY= + +# ───────────────────────────────────────────────────────────────────────────── +# 5. Module: mail +# ───────────────────────────────────────────────────────────────────────────── +# Klarbild sends through your own mailbox rather than a delivery service, so +# SPF and DKIM are already right and no third party reads along. These values +# apply until something is entered under Admin → Email, which then takes over. + +SMTP_HOST= +SMTP_PORT=587 +SMTP_SECURE=false +SMTP_USER= +SMTP_PASSWORD= +SMTP_FROM= + +# ───────────────────────────────────────────────────────────────────────────── +# 6. Module: delivery — push finished files to a server you already have +# ───────────────────────────────────────────────────────────────────────────── +# The target itself (host, protocol, user, password) is configured in the admin +# area, because the password belongs in the encrypted settings row, not here. +# This is only the folder used when nothing more specific is set. + +DELIVERY_DEFAULT_FOLDER=klarbild + +# ───────────────────────────────────────────────────────────────────────────── +# 7. Module: telegram +# ───────────────────────────────────────────────────────────────────────────── +# A bot token from @BotFather. The webhook registers itself after deploy and +# needs PUBLIC_BASE_URL to be reachable from the internet. + +TELEGRAM_BOT_TOKEN= + +# ───────────────────────────────────────────────────────────────────────────── +# 8. S3 / MinIO — only when STORAGE_DRIVER=s3 +# ───────────────────────────────────────────────────────────────────────────── + +S3_ENDPOINT=http://minio:9000 +S3_REGION=us-east-1 +S3_BUCKET=klarbild +S3_ACCESS_KEY= +S3_SECRET_KEY= +S3_FORCE_PATH_STYLE=true + +# ───────────────────────────────────────────────────────────────────────────── +# 9. Optional +# ───────────────────────────────────────────────────────────────────────────── +# A webhook that gets a POST when a job finishes — for n8n and the like. + +N8N_WEBHOOK_URL= diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..8234936 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,34 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + workflow_dispatch: + +jobs: + check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: '20' + cache: npm + + # `npm ci` needs the lockfile to match package.json exactly, which is the + # point: a pull request that changes a dependency has to say so. + - run: npm ci + + - name: Type check + run: npx tsc --noEmit + + - name: Tests + run: npm test + + - name: Build + run: npm run build + + - name: Secret scan + run: node scripts/secret-scan.mjs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..011cf7a --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +.env +.env.* +!.env.example +node_modules +dist +.astro +*.log +uploads/ +data/ diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..baf9095 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,35 @@ +# Changelog + +## 1.0.0 — first public release + +The first open-source release of Klarbild. Everything before this lived in a +private repository as a personal tool. + +**New in the public version** + +- **Optional modules.** `KLARBILD_MODULES` decides what an instance is. The + default is the print studio alone — no image model, no object store, no bot + token, no account anywhere. See `src/lib/modules.ts`. +- **English interface**, with German as a full second language. The English + sentence is the translation key; 1,038 strings. +- **First-run setup.** No built-in accounts. The first boot creates one + administrator from `ADMIN_USERNAME` / `ADMIN_PASSWORD`, or generates a password + and prints it once to the log. +- **Two compose files.** `docker-compose.yaml` is the print-only stack (app plus + Postgres, files on a volume); `docker-compose.full.yaml` adds MinIO and every + module. +- **Delivery is generic.** The delivery and backup targets are plain SFTP/FTPS + endpoints you configure, switched off by default. +- English routes: `/print`, `/library`, `/queue`, `/shares`, `/help`, `/account`, + `/tour`, `/password`. +- AGPL-3.0, CI (build, tests, type check, secret scan), `CONTRIBUTING`, `SECURITY`. + +**Carried over from the private tool** + +The print engine as it stands: 86 image sizes in 10 groups, 19 paper formats +including A3+ and photo paper, corner marks and continuous lines, bleed 0–10 mm, +crop or letterbox per picture, oversize as fit / overflow / tile with glue flaps +and page numbers, captions in six positions, duplicate cells, presets, and a run +history that stores the instructions rather than the PDF. Plus the optional +modules: image generation, delivery, backup mirror, share links, mail, Telegram, +and an MCP server for assistants. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..1d1a7b0 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,79 @@ +# Contributing + +Thanks for looking. Klarbild is a small project with one maintainer, so the most +useful contributions are the ones that arrive ready to merge: a clear problem, a +minimal change, and a test where a test is possible. + +## Getting it running + +```bash +npm install +cp .env.example .env # DATABASE_URL, SESSION_SECRET, ENCRYPTION_KEY +npm run dev +``` + +You need a PostgreSQL to point `DATABASE_URL` at; `docker compose up db` gives you +one. Migrations run themselves on the first request. + +```bash +npm test # 124 tests, no database needed +npx tsc --noEmit # must be clean +npm run build +``` + +Both `npm test` and `tsc` run in CI and both must be green. + +## How the code is laid out + +``` +src/lib/print*.ts the print engine — pure arithmetic, heavily tested +src/lib/paper.ts 86 image sizes, 19 paper formats, the size parser +src/lib/modules.ts which optional modules are switched on +src/lib/i18n.ts translation; the English sentence is the key +src/components/ React islands, one per screen +src/pages/ Astro pages and the API under src/pages/api/ +migrations/ numbered SQL, forward-only, idempotent, run on boot +tests/ node:test, no framework +``` + +The rule that matters most: **the browser preview and the server-side PDF use the +same layout code.** If you change how a sheet is laid out, change it in +`src/lib/printlayout.ts` and both follow. Anything that recomputes geometry in a +component is a bug waiting to happen. + +## House style + +- Comments explain **why**, and carry the number that justifies the decision. + "Measured: 440 MB of images peaked at 196 MB of memory" is worth more than + "stream the files". Please keep that habit; it is most of what makes this + codebase navigable. +- No new dependency without a reason in the pull request. There are 20 runtime + dependencies and that is already plenty. +- Two-space indent, no semicolon crusade, no reformatting of files you did not + otherwise touch. +- Metric units. English decimal point in English strings. + +## Translation + +The English string in the source **is** the key. To add a language: + +1. Copy `src/locales/de.json` to `src/locales/.json` and translate the values. +2. Add the code to `LOCALES` and `LOCALE_NAMES` in `src/lib/i18n.ts`, and to + `DICTS` in `src/lib/i18n.server.ts`. + +A missing key falls back to English, so a partial translation is still useful. Never +build a sentence by concatenation — use a named placeholder: `t('{done} of {total} +done', { done, total })`. + +## Adding a module + +Optional features live behind `src/lib/modules.ts`. A new one needs: an entry in +`MODULE_IDS` and `MODULE_INFO`, a `has('yours')` guard on its navigation entry and +its settings card, and `if (!has('yours')) return moduleOff('yours')` at the top of +every API route it owns. The test is simple — with the module off, the instance +should not hint that the feature exists. + +## Pull requests + +One change per pull request. Say what breaks if it is wrong. If you found a bug you +are not fixing, an issue with a reproduction is genuinely useful on its own. diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..7b994ab --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +FROM node:20-bookworm-slim + +WORKDIR /app +ENV NODE_ENV=production PORT=4321 HOST=0.0.0.0 + +# Build tools for the native modules (argon2). sharp ships a prebuilt libvips. +RUN apt-get update && apt-get install -y --no-install-recommends \ + python3 make g++ ca-certificates \ + && rm -rf /var/lib/apt/lists/* + +COPY package.json ./ +RUN npm install --no-audit --no-fund + +COPY . . +RUN npm run build + +EXPOSE 4321 + +HEALTHCHECK --interval=30s --timeout=5s --start-period=40s --retries=3 \ + CMD node -e "fetch('http://127.0.0.1:'+(process.env.PORT||4321)+'/api/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))" + +CMD ["node", "./dist/server/entry.mjs"] diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..8a75327 --- /dev/null +++ b/LICENSE @@ -0,0 +1,662 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + + Copyright (C) 2026 Till Heidrich + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..8686ec9 --- /dev/null +++ b/README.md @@ -0,0 +1,157 @@ +# Klarbild + +**Print pictures at the size you actually asked for.** + +Your printer driver has a checkbox called "fit to page". Tick it and a 35 × 45 mm +passport photo comes out 34 × 44. Untick it and you are guessing. Photo shops have +software for this; the rest of us have a ruler and a bad afternoon. + +Klarbild is that software, self-hosted. Give it an image and a physical size, and +it produces a PDF that measures exactly that on paper — with crop marks, with +bleed if you want it, with as many pictures on one sheet as fit, and with the +oversize cases handled rather than silently scaled. + +It also does AI image generation, delivery to a server, share links, mail and a +Telegram bot. **All of that is optional.** The default install is the print studio, +a database, and nothing else — no API key, no model, no object store, no account +anywhere. + +```bash +git clone https://github.com/tillheidrich/klarbild.git && cd klarbild +cp .env.example .env # fill in three secrets, the file says which +docker compose up -d +docker compose logs app # your admin password is printed here, once +``` + +![Klarbild's print studio: eight passport photos laid out on one A4 sheet with corner marks](docs/screenshots/print-studio.png) + +--- + +## What the print studio does + +**Exact physical sizes.** 86 sizes in 10 groups — passport photo, small prints, +photo formats, US inches, instant-camera, poster and frame sizes, squares, DIN, +cards, plain aspect ratios — or type your own (`25x35`, `13x18`, `10x7,5`). The +output is a PDF laid out in millimetres, not a scaled bitmap, so 30 × 40 cm is +30 × 40 cm. + +**Sheet layout.** Put several pictures on one sheet at 100 % with crop marks: +corner marks (0.25 pt, outside the trim) or continuous lines. Equal sizes snap to +an exact grid; mixed sizes go through a MaxRects packer. Bleed 0–10 mm. 19 paper +formats from A6 to A2 — including A3+ and photo paper 9 × 13 to 20 × 30, Letter +and Legal — or a custom sheet. + +**Pictures bigger than the sheet, handled three ways.** A 20 × 30 cm print on A4 +is not an error message. Choose **fit** (it tells you it will not fit), **overflow** +(centred across the whole sheet, and it quantifies the loss before you print — +"3 mm off each side"), or **tile** (poster print across several sheets, with a +dashed glue flap and a page number on each). + +**Crop or letterbox, never distort.** When a picture does not match its target +ratio you decide per picture: crop it (with an interactive zoom-and-pan preview) +or leave a border in a colour you pick. Nothing is ever stretched. + +**Captions, duplicates, presets.** A caption in one of six positions, automatic or +your own text — and it disappears by itself when there is no room at that edge. +The same picture can appear twice on one sheet at two different sizes. Presets for +the layouts you repeat; a history of the last 100 runs per account that stores the +*instructions*, never the PDF, so "print that again" costs 1–3 KB instead of 80 MB. + +**The browser preview and the server PDF share one engine.** `printlayout.ts` is +pure arithmetic with its own tests. What you see is what gets rendered — the page +of the PDF above measures 210.00 × 297.00 mm, because that is what A4 is. + +

+ The same screen in German + The built-in manual +

+ +## What else is in the box, if you switch it on + +| Module | What it adds | What it needs | +|---|---|---| +| `print` | everything above | nothing — always on | +| `ai` | clean up screenshots, convert, combine, generate | an OpenRouter key (paid per image) | +| `delivery` | push finished files to an SFTP/FTPS server you already have | that server | +| `mirror` | a second copy of every result, sorted by month | a second target | +| `share` | public links: expiring, revocable, optional passphrase, ZIP download | a public URL | +| `mail` | password reset, job notices, sending share links | your own SMTP mailbox | +| `telegram` | the whole tool from a chat window | a bot token | + +```bash +KLARBILD_MODULES=print # the default +KLARBILD_MODULES=print,ai,share # pick what you want +KLARBILD_MODULES=all # everything +``` + +A module that is off is off: no navigation entry, no settings card, and its API +routes answer 404 rather than 403 — a disabled instance does not advertise what it +could have done. + +## Why self-hosted matters here + +The pictures are family photos, passport photos, ID pictures and client work. +Klarbild keeps them on your machine. The print studio never makes an outbound +request at all — it is arithmetic, `sharp` and `pdf-lib`. Even with the AI module +on, only what you send to the model leaves the building, and the API key is yours. + +Share links are built to be careful rather than convenient: they expire (30 days by +default), they can be revoked, they can carry a passphrase, downloads can be +switched off, and they are `noindex`. Access hangs on the link, not on the image, so +guessing an image id gets you a 404. The view counter records *when* and *with what*, +never *who*: the IP is hashed with a server secret **and** the link id, one row per +visitor per hour, deleted after 90 days. + +## Stack and shape + +Astro 5 (SSR, Node standalone) with React islands · PostgreSQL · `sharp` · +`pdf-lib` · `pg-boss` · OKLCH design tokens, no Tailwind. Files go to a volume by +default; S3/MinIO is available but not required. + +About 13,600 lines across 116 files, 124 tests, 16 forward-only idempotent +migrations that run themselves on boot. English and German interface, 1,038 +translated strings; the English sentence is the translation key, so there is no key +file to keep in sync. + +## Install + +**Docker (recommended).** `docker-compose.yaml` is the print-only stack: the app +and Postgres, files on a volume. `docker-compose.full.yaml` adds MinIO and turns +every module on. Both read their secrets from `.env` and refuse to start rather than +boot with a default password. + +**From source.** + +```bash +npm install +cp .env.example .env +npm run dev +``` + +Migrations and first-run setup happen on the first request. There are no built-in +accounts: the first boot creates one administrator from `ADMIN_USERNAME` / +`ADMIN_PASSWORD`, or generates a password and prints it to the log once. + +**Behind a reverse proxy**, set `PUBLIC_BASE_URL` to the address the browser sees. +Coolify users: both compose files carry a commented `SERVICE_FQDN_APP_4321` line. + +## For agents and scripts + +`GET /llms.txt` describes the whole API in a form a model can read. `/api/*` accepts +a `Bearer` token from the admin area. `mcp/` contains an MCP server, so an assistant +can lay out and fetch a print sheet directly — `exact_size` and `print_sheet` are +the two tools worth knowing. + +## Contributing + +Issues and pull requests are welcome — see [CONTRIBUTING.md](CONTRIBUTING.md) for +how the code is laid out and what the house style is. Security reports go to the +address in [SECURITY.md](SECURITY.md), not to the issue tracker. + +## Licence + +[GNU AGPL-3.0](LICENSE). Use it, change it, run it for yourself or for others — if +you run a modified version as a service, the people using it get your changes too. + +Klarbild grew out of a private tool for getting family photos onto paper at the +right size. It is maintained by [Till Heidrich](https://github.com/tillheidrich). diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..300bd89 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,43 @@ +# Security + +## Reporting a vulnerability + +Please do **not** open a public issue. Mail **security@heidrich-digital.de** with +what you found and how to reproduce it. You will get an acknowledgement within a +few days. There is no bounty programme — this is a one-person project — but +credit in the release notes is yours if you want it. + +## What Klarbild already does + +- Passwords are hashed with argon2. Stored credentials (SMTP, delivery targets, + API keys) are encrypted with AES-256-GCM using `ENCRYPTION_KEY`, never written + in plain text. +- Sessions are a signed cookie **plus** a server-side check. Changing a password + or a role invalidates every open session; the role comes from the database, not + from the cookie. +- Content-Security-Policy with per-script hashes rather than `'unsafe-inline'`, + set at build time. `style-src` keeps `'unsafe-inline'` because React writes + styles as element attributes, which cannot be hashed — a narrower class of + problem than script injection, which stays closed. +- Remote paths are validated immediately before writing, not somewhere upstream: + `posixpath.join('/customers/acme', '../../../etc/cron.d')` is `/etc/cron.d`, and + the upload would have created the directory first. See `safeSegment` in + `src/lib/remotetarget.ts` and its tests. +- Share links: expiry, revocation, optional argon2 passphrase with a rate limit, + `noindex`, and access bound to the link rather than to the image. Visit logging + hashes the IP with a server secret and the link id, keeps one row per visitor + per hour, and deletes after 90 days. +- A module that is switched off returns 404, not 403. + +## What it does not do + +- There is no multi-tenant isolation. Every account on an instance is on the same + instance; roles are `user` and `admin` and that is the whole model. +- Klarbild expects to run behind a reverse proxy that terminates TLS. It does not + do TLS itself. +- `ENCRYPTION_KEY` has no rotation path yet. Losing it means re-entering the + stored credentials. + +## Supported versions + +The latest release. There is no long-term support branch. diff --git a/astro.config.mjs b/astro.config.mjs new file mode 100644 index 0000000..2c432ec --- /dev/null +++ b/astro.config.mjs @@ -0,0 +1,38 @@ +import { defineConfig } from 'astro/config'; +import node from '@astrojs/node'; +import react from '@astrojs/react'; + +// Klarbild runs as a Node server (SSR) with an in-process queue. +export default defineConfig({ + output: 'server', + adapter: node({ mode: 'standalone' }), + integrations: [react()], + // CSRF: handled by our own SameSite=Lax session cookie. Astro's checkOrigin + // breaks multipart uploads behind a reverse proxy, because the proxy speaks + // http to the app while the browser spoke https and the origins no longer match. + security: { checkOrigin: false }, + // Content-Security-Policy with hashes instead of 'unsafe-inline': Astro computes + // the hash of every inline script and style it emits, at build time. The remaining + // directives are set by the middleware (src/middleware.ts). + experimental: { + csp: { + directives: [ + "default-src 'self'", + "img-src 'self' data: blob:", + "font-src 'self'", + "connect-src 'self'", + "object-src 'none'", + "base-uri 'self'", + "form-action 'self'", + "frame-ancestors 'none'", + ], + }, + }, + server: { host: true, port: Number(process.env.PORT) || 4321 }, + vite: { + ssr: { + // Do not bundle native modules + external: ['sharp', 'argon2', 'pg', 'pg-boss', 'ssh2-sftp-client', 'basic-ftp', 'heic-convert'], + }, + }, +}); diff --git a/docker-compose.full.yaml b/docker-compose.full.yaml new file mode 100644 index 0000000..dc116b6 --- /dev/null +++ b/docker-compose.full.yaml @@ -0,0 +1,104 @@ +# Klarbild — everything switched on: print studio, image generation, delivery, +# backup mirror, share links, mail, Telegram bot, and MinIO as the object store. +# +# docker compose -f docker-compose.full.yaml up -d +# +# Only take this one if you actually want the extra parts. The modules you leave +# unconfigured stay dark rather than half-working, but you are still running two +# more containers than the default stack needs. + +services: + app: + build: + context: . + dockerfile: Dockerfile + environment: + PORT: "4321" + DATABASE_URL: "postgres://klarbild:${DB_PASSWORD:?set DB_PASSWORD in .env}@db:5432/klarbild" + + STORAGE_DRIVER: "s3" + S3_ENDPOINT: "http://minio:9000" + S3_REGION: "us-east-1" + S3_BUCKET: "klarbild" + S3_ACCESS_KEY: "${S3_ACCESS_KEY:?set S3_ACCESS_KEY in .env}" + S3_SECRET_KEY: "${S3_SECRET_KEY:?set S3_SECRET_KEY in .env}" + S3_FORCE_PATH_STYLE: "true" + + SESSION_SECRET: "${SESSION_SECRET:?set SESSION_SECRET in .env}" + ENCRYPTION_KEY: "${ENCRYPTION_KEY:?set ENCRYPTION_KEY in .env}" + + KLARBILD_MODULES: "${KLARBILD_MODULES:-all}" + KLARBILD_LOCALE: "${KLARBILD_LOCALE:-en}" + KLARBILD_TZ: "${KLARBILD_TZ:-Europe/Berlin}" + PUBLIC_BASE_URL: "${PUBLIC_BASE_URL:?share links and the Telegram webhook need a public address}" + + ADMIN_USERNAME: "${ADMIN_USERNAME:-admin}" + ADMIN_PASSWORD: "${ADMIN_PASSWORD:-}" + + OPENROUTER_API_KEY: "${OPENROUTER_API_KEY:-}" + TELEGRAM_BOT_TOKEN: "${TELEGRAM_BOT_TOKEN:-}" + DELIVERY_DEFAULT_FOLDER: "${DELIVERY_DEFAULT_FOLDER:-klarbild}" + N8N_WEBHOOK_URL: "${N8N_WEBHOOK_URL:-}" + + # The database wins over these; they only apply until something is entered + # under Admin → Email, so a fresh install can send mail straight away. + SMTP_HOST: "${SMTP_HOST:-}" + SMTP_PORT: "${SMTP_PORT:-587}" + SMTP_SECURE: "${SMTP_SECURE:-false}" + SMTP_USER: "${SMTP_USER:-}" + SMTP_PASSWORD: "${SMTP_PASSWORD:-}" + SMTP_FROM: "${SMTP_FROM:-}" + + # Coolify users: uncomment and drop the `ports:` block below. + # SERVICE_FQDN_APP_4321: / + depends_on: + db: + condition: service_healthy + minio: + condition: service_healthy + ports: + - "${PORT:-4321}:4321" + # See docker-compose.yaml for why this limit is here. + mem_limit: 3g + mem_reservation: 512m + restart: unless-stopped + healthcheck: + test: ["CMD", "node", "-e", "fetch('http://127.0.0.1:4321/api/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 60s + + db: + image: postgres:16-alpine + environment: + POSTGRES_USER: klarbild + POSTGRES_PASSWORD: "${DB_PASSWORD:?set DB_PASSWORD in .env}" + POSTGRES_DB: klarbild + volumes: + - db-data:/var/lib/postgresql/data + restart: unless-stopped + healthcheck: + test: ["CMD-SHELL", "pg_isready -U klarbild"] + interval: 10s + timeout: 5s + retries: 10 + + minio: + image: minio/minio:latest + command: server /data --console-address ":9001" + environment: + MINIO_ROOT_USER: "${S3_ACCESS_KEY:?set S3_ACCESS_KEY in .env}" + MINIO_ROOT_PASSWORD: "${S3_SECRET_KEY:?set S3_SECRET_KEY in .env}" + volumes: + - minio-data:/data + restart: unless-stopped + healthcheck: + test: ["CMD", "mc", "ready", "local"] + interval: 15s + timeout: 5s + retries: 10 + +volumes: + db-data: + minio-data: diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..0b21f64 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,77 @@ +# Klarbild — the default stack: the print studio and a database. That is all. +# +# cp .env.example .env # fill in the three secrets at the top +# docker compose up -d +# docker compose logs app # the first-start password is printed once, here +# +# No object store, no image model, no bot token. If you want those, use +# docker-compose.full.yaml instead, or set KLARBILD_MODULES yourself. + +services: + app: + build: + context: . + dockerfile: Dockerfile + environment: + PORT: "4321" + DATABASE_URL: "postgres://klarbild:${DB_PASSWORD:?set DB_PASSWORD in .env}@db:5432/klarbild" + + # Files on a volume. Nothing else to run, nothing else to back up. + STORAGE_DRIVER: "fs" + STORAGE_DIR: "/data" + + # openssl rand -base64 48 + SESSION_SECRET: "${SESSION_SECRET:?set SESSION_SECRET in .env}" + # openssl rand -hex 32 + ENCRYPTION_KEY: "${ENCRYPTION_KEY:?set ENCRYPTION_KEY in .env}" + + KLARBILD_MODULES: "${KLARBILD_MODULES:-print}" + KLARBILD_LOCALE: "${KLARBILD_LOCALE:-en}" + KLARBILD_TZ: "${KLARBILD_TZ:-Europe/Berlin}" + PUBLIC_BASE_URL: "${PUBLIC_BASE_URL:-http://localhost:4321}" + + # Leave empty and the first boot generates a password and logs it once. + ADMIN_USERNAME: "${ADMIN_USERNAME:-admin}" + ADMIN_PASSWORD: "${ADMIN_PASSWORD:-}" + + # Coolify users: uncomment the next line and drop the `ports:` block + # below — Coolify's proxy wants the service, not a published port. + # SERVICE_FQDN_APP_4321: / + depends_on: + db: + condition: service_healthy + ports: + - "${PORT:-4321}:4321" + volumes: + - files:/data + # Memory ceiling: sharp can spike hard on a large image. Without a limit one + # outlier takes the whole container with it; with a limit only the Node + # process dies, and the healthcheck brings it back. + mem_limit: 3g + mem_reservation: 512m + restart: unless-stopped + healthcheck: + test: ["CMD", "node", "-e", "fetch('http://127.0.0.1:4321/api/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 60s + + db: + image: postgres:16-alpine + environment: + POSTGRES_USER: klarbild + POSTGRES_PASSWORD: "${DB_PASSWORD:?set DB_PASSWORD in .env}" + POSTGRES_DB: klarbild + volumes: + - db-data:/var/lib/postgresql/data + restart: unless-stopped + healthcheck: + test: ["CMD-SHELL", "pg_isready -U klarbild"] + interval: 10s + timeout: 5s + retries: 10 + +volumes: + db-data: + files: diff --git a/docs/screenshots/help-en.png b/docs/screenshots/help-en.png new file mode 100644 index 0000000000000000000000000000000000000000..33c5402aafdf42fca903651c3215a7308a010878 GIT binary patch literal 234582 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

0QI3SuJv0 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

K?nB6g+}XXzYDe7+i-%f9 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 Bc!K}{ literal 0 HcmV?d00001 diff --git a/docs/screenshots/mixed-sheet.png b/docs/screenshots/mixed-sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..22d338e7472e24f88486aeebad9e4265c5ca83cf GIT binary patch literal 272845 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%0A#N`qRM_T~1C1px%Pe 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 FrYWTfQt9a_7s!tK@M9w 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 z ztfch1NkI0zEx>=V4g!eZ=z|mKY~!MX!$WKLM$00y62g!!FP(@xDUNIj8*5u05*qo@ ziwsF<5z(O!#;o4A=6G!kdghq;lZ6xdpr3TIZX@!09OC8JHd9G5eKnn`M`8-~T@eze3b7j`0ZDcYmJ3rOQ}j*Ej@s>?T^UxM z+z&vY!z>u+;Q?jV^n{yH@}+6KiXEm2GQ*y?rBhh$Fuq~XUe_hwyEo(6%770(r0K<| z9=I0xfG(CM=-9G-G{bd1YvbH{=nSU3%Uo*=xF$Irz8CJ?!n^B3a8Cd1mksW7Gy_VFkdD z4^>~B{4K~ji=2QfbjxEa+E=F?Dz2C*OlQWEbuIUNu8A0sNJMS+I=DrPZWIn8iBAOb z=5Hm~{WuF0O^7=aA3{T`z#P7)OB8OU#buAN*A^HV?xikIi$g$|LJBsYc^EV`ht0yO zD1DqCMZN3qhK8>-!}po#%dT~_S-Mw>Rms@Bld_e2R0l5|FR5A=taa&cZLtaax>P=J zEIvictSb(D6~mX&GwzLcj49wN1j}5lSOib%I`J(4bCG_ z7D@x#tYIGs6=xOeeP0fc!WB$HPfk?YKfwl4v;H112c3@9GCvOb3AX!=^9}hg0c`v6`*+j-e8@ZiE;tW#k9})*RmYVrKVJQfS!wd9{ zJ<}SH9h6Y|?c9kiF_xOG7^Yn5JlQp&0e^RAp#TzdW&gn|*2!sVzgrF$X3CH+MD`EtSZ%*@&8X;V}4l_BfMsdCCmH8x4r;kDQx+#Hnzf?9{hit|??3PN{Hfp5W;IT)T72IdBn_A7;P* zQi!jnN}5=iZV6zG4-eVfPWF=8eg<9cDzJsU@XYx1g{3NA+351(ZhJ=0sN7sR{IN*Kek4aORN7)L!@KW~ZyBuW z!2>SCrJ@Iqn{s3d_b5l#Bg^qE(!9R6F_AJiefP>qYBVe>Z+6INxh&7UFaW!nE>g^v zE7?ZqD%G6AZsG`=XYOA47wDGsw)M|ey_SfBs}Kt=u~;pKlUF6xcrr3xG1!Em)c;hw zJSuDU*Xp|5JT9d4oyQr~+g-=LX;m&2`~~xywWi_nO(xN%C!akL-Su`zE3_i!(y-uW zm*#kJE|0{ilRaNg*{V{=yg+-gkLX}0m@#J_9{)Xgw<)o(yS5g?^9|6GFJ572HJ+cu zt1_|kjSCQ48hq;FWxZCs@ivk*3C%W2s}OWHV+LSls!ceqLXwAz#IeO)zsdhcYuf*Q zOH%e7q@7TuetV*k0+qmaaH*Op^<1)Yr(7(F!@yp?ct89Qu|yiCQmJ6%W?= z=J^uyvL9a0)!#XkFf(o9cxR~E$A{B#jh#FKR04Gcf-A_*lYV+7ub*x&pYika3qE(c zDmTL(UjbNPmj56bZgGz}P@a)gQMkac3}9XOZ7Rl6mcOEWWdakD!S2kMo&Xygn?TE) zDZ){Z;e&#_^^yW>!W&9<7Gar9dr~=_mzp`ncl3*Ihs+dDnP(bWp4655e}eYLeg5po zhW+dbV267l7J0@O%N6DE!a;rtXR@Xv){p%YG(Kd>6zFz^N=qd+R#Y4>p)?*-(!^RP zQo{HshxV;C!JG13j1t;9@U4eW{rwe|W${3x-YFTr$`e4fU&67v0daU27Um&&+W`#n ztk&!9tIgp`o4Ofs0quSG8kA63062L&ZF;4Nf=elzEL4 z-JDU@ry2L??k0IRSF~%){{jTU6Visvv_0*{I^*h*^d5~Kqtbba1U251z>QgAVCf>n z&(D!&JVv7=IFe6$4@o96y0)UF9{JQ@}TeG(4UMQ(B#w8-WtAJ4jDfBpIpN&V;% z3a9=55cb|tO>NQkFkVzHf(;c!DHad}Aqq-|sE9}rM0)QaO*#kxf}$W@KzfOS^bP`2 zl28pj^xk_99ReZwcJSW!?r)4Y#<%~0LBh$&KD(?v*IaX^Mo>T1&8@lTmcUjd))IA3 zbUwim*r7`7;pIZbcZJ+|^&v@OT=7k(Yue9tn#%Ak2HnNqpqbAsqR!K!)y;aMcw3HG zO(nihFi#u@&R(qZDWn|>n$llJU`7>TJ=2Vfg2(~45dm+3(2 z@Y-A->7$KXEf=6Z71=TiWUho1fR1E#N!+5YGB}6oN_z9MarHnP(4$n+oI%ZjY_*;RR+kj?(FU~ zP07s2r$OigTcUZQ_XdBkv&oEP^!xexW|defbcjjgjc z?-T=@LlO{;1K9HnuDyO(m$od@@U-v?w>m}Qx$J7V=C%C+zPyfz46@>yT<|u z;A9#YY95IT*KA5*`vN%+DhErlWZ%5&wIZt0Ydn{|x3uk-=+*fNQa-2H@3B`ot^ibs zYB{66z+Y#pdIJ8>^2_w@5-poI?*_U`*iBBDP@9%U2FQB9>&@2B41D}-Q*FdynTN~& zCao%rX6Kc5l0B$Z@KTk!yA4z4jWo$LF>+f?bNe{b*cC^-T)5WA+YQt+j0$Jm^Rn}4 z--612+?(jwlTU8Awxn41X9_L_hyAYK|Cq0zleuvNS5-y7Lsi7=mbw}J1;4oL-(&_T z8T5+Im&0?n7Zx;-dZE28k=DM9Pj+3?zJ{&%&b}}Jr}<;7ne%@lkX(_c19TRlm!$W6 zV&s(zn1^5U+*X;URKD`q_3^7!Iw${61NMpFSg0)f_{G#VT|@NWA2T0+c~Sr3!b;VQXgRonFSFtdIx~n*yC%G@#&^4$ABLmG17Q%0)Lf=4zMrTwg-Iwk>iGE?kvI zRcjEh<{hLjnaekfsp!chb6NfpNv|0>MKR!7v?0G8k_jYeLqeV#nv`4ezolb-1GP69 zbcb8+<^bwX(YQ6XM3cNi+^lQ3MP4fIgTegrhLRI?9mYSe?c3{f)>eE=w{H?|(5hsA z7J7U7C3b7(LFU)2TODs6en`7!oV=g)^}{kgY5tdp>62OMXL-CzHyn2!shZsISH1S$ z=CGp6N9-sczSYv3-7mJ#L-i=GO{2{43&9tnG} z8lbJspz`Vj*Qz?YVzWnCK^$;kv>}MFZ1PC*>VT7&YUgGW*AU~ zJR9>H;B&q=!;t|Fn!e%wq z)xaODqvK1}eAZBTb`hgWg=F&BIk!5oM5&7$5iOAm+h_R4E~nmz2Py+p5yl+XJN*gu z3j-Osdu}4>JZVqsE^@%?+*7{u?}ooFzb7jDNMLY_oW`^>$oS{H{@5sXh^n;d$^gsV z=*9}J;S2G%&RFsdcb&av#Q1qTSKc5kGOV=ueSuMg?tSOr?4Y38_x5a0QaXMrbe#9! z88I=!KMF|B_dE&!g#Bc7^pdk&G!J?)?Yg4SWW8h3!9&d-q43R=D1Oy|$5(>BNN1SZ zwAIimiYEpfWY^Lu=TB|vSFI4tq4S$9sO<)bE^2M9GDP?whDP716Ofajq)#pKh5^qY zljm&x!~)$Wqp}8X?A>wW+mKSG&HOlx|2dIHgG^x={1_)e1R$%^s%?~xj%R+UlQ zH)Ed{KLC1c*t|T7K9IG~^f-mFx4|eFc_yj>0hsSAJtV` zq>gu5Pc>Q|-DDCC7yp6c`3gkp%m_aZxPNE0M94n>32xfk#}^!4f7yN_yem}6P~}d$ z@{q#d&XyQ7-f9^X1uZR=P%zN~yNPE&F(p?eD<58G<;-!$9Jdj0p0o#V#%@2jeY=jk zpLcw<{vZB@)}cZFAj{vX=|-5wz`Jz?o*eV->@jRHYZe5DC>lu%|TI1zJL5e^!z|Yl^fIY zhDhBLXS=dQ;q~wn26M`7k=B(uc|F&ihvZuy-a+Q~+Ghe-DKr#v_3C}smv>0yO_b_< zy6Xu8TLD`={oJpjA{7S*3}$?c!hS%h$*fc;WNGJMq0yjRXQT)}mZFvix+(^&L|i`e zvJauOl2_7WR)WP3K}fh{+L#?5)Rw_;wZ6ir)Gbyd*pSa!Qh<_ziPwb*bLrBw($(fW zT9`&2a3iiyh5a=rKF+PRKD&=K~>ww!*MMbxB(uh zU(w?ezh)-d@BDI`{o#lE0Z-j5lN&dj3>nMJK7e!pfpFzjQoBx0c*X?g$3T@cHEetDVQ@q5c@ zidK)J$>3z8?-x$K4~dh0)@)uR3s|rHA{8RN?On17i9`)*m;(4@rVGc(+g4{khuwPe z=hE3k4&SG}M?v+x7QY1FHG!ShW@T=B52}fVOw;V?aD)#l%)f`3F8x(KIaLwzu@OY6 zEG{Yci|+fJdU6BKJDBP~B6Kz_Ivu~3o2C}0CEJFmS|i-}6z7`6 z&i9ES4tmm?Z4?C=Evm-`l+|?_`evFhNhu{{jGZdAS=OfEkISu407*|sqJ5e!l%X3) z0)lx-R+%e69)fw3lm1Od})CvUXUr3 z+%?I$xyFk{Dc12H@YO`>4>y8p*<^GuVcLNnzOikkt3m+)Z0zc7Ly#>FsF?rUp!~cW zQHi^s{>*g4Q*dnbH8cQs#x?lH+|ecxFq?Iez%_`$mn;6JjEYwJ0W148GXd4_Hv^V~ zeHZDBj#r>7e=f9gVPtbYxlP@X;1G6%E|vl zzWqP4^yHU;BiH>w+GiN^Fpb%7&j?NA7dgp#VaLrNEhekuv6IJc$Ej->+2G3Fk~PKu zyvC%ogdF>pEj@CGNhYb_-4ot+ zV#lKn{Q9{l{p=9v&Q5!KLqjuuI1sM76bvO}gy#S=9Q+`+*2^LEm@KOkog1-Owg>wX zk>23W?Oy!%Tgkq8p|VVEmBoAtC=7K>xS=vTz>@DUq2p02C2i*v44iF?~n zNvK<^v8bphnd?JAu@w|59LO<(WEjA+ zVx8W{zpa`?LpKpH_)7VFlIvBvYr8)`ChPE`r&n!>?Pchaam?zcF zMwk3XIJTE_BzkNnv4Gl80va$_hx-f*)7b%lM3^PUr)&uUZbaGwg{J!$qTinp zSAFzFHnpdO*yf9nl~OV>G?NQ|M%0US67e_gy+vNCg)$mrPkG;-NFi+jeQl3PDG0DN z+d#>aiV?(dW30$li$1Zo8w;Dm!QpL}h>J3N_%GLOt0pl};-tcD?#NAP(tMpg)A)Sd zUeU+vpj_%LE9oOgX%S;u<-`Yu=2Z~yT7iv>f@&hpDsL#dDGzlJN9{9Cw-?bp`MUv;Y(#awORq-HA_>s6phT zdH?p|Zx>S5>v<_Sy1u7vyNbiXTQx%?8u%|=4s6KIKbZa+hopmI>F{=!L-d(Go%r9&C)v>#pay zl7Ny~dWkI{E~g?Y33#k1$rOUzZ_&pe7`MAygK4%w1NpTZm(5DrhgYm8M{7_Od_3>g zXyI_^H%`ja;RQYcI47JU{NR$?ilibeCZT2EuozG&(2FngNrQ?cMZLvccC6X>M*E)5 zyUB*!2c*q#8tLc0`Gj7a-n$w{P)*nN!flL%U*JHvw|9FTE$gG^RP(==pk`Qer&Y%w5c}I(47vUkZ0?bB%cY#Nx3iVk5>a+aOiH(Xy1^L)McxJt9 z+W0ctF>K*Yj<4&Mz_6>>Y(_w|el8?~vVgt2IFRHoL(K;Btrtb3H=7iN&EXIk;Z?(Q z_#(G@)xs%k<$f}Q7jYA!?}eWy57$tyR?TQ#B0F~LoC!6n%RwDtqt)D#1REEgzf0Oq zrh&LON-BU=!3Oo}*K(dHX%7QEIOsJ#LXj(YRmrOID> z^^1<}{@{Sl`YU=keE&k~D?`~IIl~Y31gmyIiFsyj?&x3lMalXVti=5DrCy`T3Xde@Fj|f(SAGBI!10^rzXuK&lyJI$8&4b_AGgihG(Q`MAE{r$tvTNt zb{-W9>6N0Xcuc8E-e~Mzt%Lmdxoj{g99v2|kK7yQd6Cb&OeQ)*g_j@YyB*aj!1pC2 z)?4{mcRoS9c0e8d{s)>QV-_Mf4BI0k)Oz zz=d2p4kd(zq85YmZG#6Nr5mPOpWfI|^e{VT&i}bBzF(btHY6kuMf?OTIP7)EgR#M0 zCBI)<`gF_eR8-p@ONm47DFY}NoE1q79EBc+w8`EB`|@)GAq1pWv|)$saYV;(WthUi zcWHI?XipH;KzMN#R~RY^@@t2=Cs&}vLek(~YyxqeAJhV$Fx$st;os}4b9|n(V~HE* z(c=Y^W4gEsVg+>6eVGRa-v>(#C=C5ykE93A8!-@X%8R0x;q!2w|T?g5R?hEJ|rWGB42V zUD+Tl)_oV>Hxh}snyuEn%B4$5nXfaIMwqk=$BQMsOdPaNP_%BFtBhH3+cyKuH+ z5~SQi8vb~XeBg#tNH28}&IbkwlMY$hm@%s?9|v%Oy+z})XWsaC_tn@P5(BUI6J3)G~5Cdp;?b&igPHHd7}{<+v&t3Tv-z6qa;tF zBUxGlV21ZD(*O!IX?UD?u&j@s5}t={LC5xL0`-e9N!R-IV8J628~%#G7p`*bFquJr zdwVMh55gG%&zYs(>~zx5X!q?hY334#bdS$@YrN&T{Y&)Tn(b_yRlAQ!L)W@xjRx+< zPljXlT-Le~hHVxNMtX0lPSb0FXxY@DCfT8!Gajs1dNkD%#Wvbcr#+86f$9)yK#R?> z-FkJ^X3$!VXp)ui{KASYMjmvB0Zs^Y(pz)-{dtcLEB(XMjQgGE;dY2iEi#B`)J!eN zv-XF+tG|ujXv2AJ$f-9reTvp0Ol9XC_&6Kz9*&rkhLekt<2W`Yept~;9)|HjQk1T#WJ9yk*OlaI(-8bcB-P0G@5E&ES9NRAn@OW`T{u>}5?S`@UZagjBnpfF(UnQQ=YABi z&04_xx7Z}LV%1DBLNQ%A&-L+Y{e>y(&<&Hk-)18?J9UBRro#&TbgAhjsj_ZvYAgz?#wjt9HzT zR)q1vcxpX|_H!C^ke0&7EU!35y+2nB8jUbwUi#zV9I>1^BF>9W8lIC>}${`** z0k(jCpvX%4nx5piQz9s~Uvs|jT=i6g+{`XSaQx>mEQRwRuw4oqAs3V8$hsNqHI3Xr z`vg=UyixwVAP7Wqf$oBjZitamwQAK)MW+cSA( z%2uY_ucsnh!&}TmMJv-n+0u{C6b#^qcfS~@4>L4IlUO}Sl?XyT=7RyuUQ0NB3os5Q z9i#Pbg;g=2)@u(FLKD=!C_^hla7#-?=UVxbHn0wd8=;=tWoZ14LV6V7H(VcI9|B3H zJWbfPB&+*S(p<-I|A{3O>%UmQ-cLuY)x&G~@X>4x=6BloPNFS*8N`2jD36BXBxf)n z$h$8!(CWF8QXK3O%C1}TQ+l+8QZUIrrI1-FCK%h zQvJmBu`1>S1=VQWBdhV9HPSmAYz(hY!oLUnhGiflA{ou2E$~oiKN>yafnhFd$xKl6 zoa;&n75**akOX2Py^Uu0AqetO6ZrXjo${rx$_l!usf^c|zYOb;{d$hhDV+<;%cK!g z{YDc$SZvcFbR7Xl??jCg4%9=1roV%^TAn7?;Cpr%y|rpbNCq6nc~rhc|WP}B9{H+iZG zEs$d*#(DD2+LhWOfo}>OC5s|h|0;Xr)fQL6N^F!?gzq!kK<4ZM6zkZSVjB>);_1(7l3#kVT(}mxFKDvFZ@<*plDS_4nu9NmQg| zP;dR_L^UsGEBNTS0-+EddD)fv@QHW&uCD6R=8ic^dFnu!Ev_wXT8Jxd?UmE6UC~bH z?7|dH#XDbyhjB@`ROGgjoO;I0>BRaAQcB$E$D-Ni=*YC;zYjzAJYRXaT*HIWejBU; zj(Zam0{m&&*@yL)SPht|D|Kr*2;C7g=F`8=0xkldu?|Lj_N($9vgqlZ2s|i|Qu8|V zskXw|RUkf?NPG`66)x#bpqdK4asY&(M7=9v|^ykSYQ`HVraEiaRdO zp|cp^`AHoCpcmiopKfEE6ABoAyuOPmst^_R90wH$06p*rC$gAwwS2wX&_3EyqXwl- zW9FE=ygWa#neXI)m4X7eW#3lXy5DNT2g<^$jE_W=!=L;Hmpu9Y(`^}bE4u_UB3LO6@fTaStx(qbMk;rl#-hf+-F1pcrr=@k6Fen_=lL@ymz;ee2 zg11h*`hx(G|6AU0xb#^YGbSv~}gOCliuYnZ%}#o1D%M}tFee|3?3;^}U$zoY|fh7GSCpwLDQXRurHH_0&8M91VY zNe2At%~=1jNi~$ZWodPh@#@urG&*KZYCDry5k_Ffv*~&hq4q1aSq$} zV_ zAMh`6zz4{4@u0&y>`a;vb!^cel}s|vU7jH)_a{33Aytt3<3~6{G8=WouJz%Ns+IEF zW*H`YSaF<;k#=demmOz=KY=Z*AY4TR`DSCvN#K(2_ojO{(Z@*Xwg3IT8Ei6Q{gDVz z8N<84`Z+}-#=AmN=%`~$9CD`4T7Vn=S*01el#x=j7&I*;Bi3{bYOrI;Kkn;;69x!t zNkpJg^p>n{mMn!q*i9)XZT0|3OD(_7UUkyO!EzpdojHgD&U-Fc@U727_2Ip&q=G%F zJn@4C$97>d3EwfEw*e#=0Vx;|ibNzHT>SWc{vgVR>d9l-y6^N--{;+ya!XfI0bO3F zpd)Ng$2HE58Dp=jdMvjuWCE5G(B@KvK#^P_iP)MB)y(ft4~6fEj_*zZ_yo9U$2OVe zN-8EDIp=%!MzzI9^XQ{Mb*B!mIo-9l6&t=JVk3O*sBk{%SSo~~)h%yYtF)IE5M)c7 z7P|m#wz7YGnmuU*co^M@@V^yslIiJ_Z(}pEsYTWs;l0`Fq9M%Eg(>kbg-WM2T&#~X z*WQwU;5P$_g9VbuzA@_&4ovVe^z>+`*S2vKNH{nzM=cYbR;48f-yu3)nn*p;y0nBP zvpWL4(giS5=pkVqkdB+TO8+mY2+Z9Wst-5T#jquboB<+3Lx3pwKtLc0LhmuW$K0PL zR(*3$Sb^!IP3#KL90QzmpXYUsx^m8ZYR=bc0S+E_4UEx=3;$r?uBFyv1hB~7i?%u> zo+r72RoH9>{NL<+4n|_l-W(J{>mM%B=&dJ5C`dGjd<7Vn#8GBwdiSCr62FQ-&M0@| zw2GWE2`dL*9Lfpb&sX6<0?x%&e;j}~zNaXvb;8(A&beYsSDy77e4gzqr9Ve|PqzY? zsInJwoxOmuWIJ~Y&*^K(DgDN5V5`bK7v<6x2Na5Gfjgn<*C%k3)sLa%TDWsOn`B!l zZ?}0W=>FTwQV_2Vsa$K{C@^}FE3+gnN+@A+FZa*^Fs2BgP-(=%B=t2Bbiala!&(c# zjBW$OY%_o zh1+C*Jf)3kpXG>@&DAS+sQGZ}Ny?(z+Y2Y@&k2n0)!he}okKk*ZoRs?8ps3!4aE^~ zg?q6*%RBJ${f3m3+lwko zh@^cJexQ3*weSgx2IvV0bV#$Qknxr}T>1Q3zV1dOkP(N&daZH~`5r#p?<=cXWPp+u z$>7{UiLKb0eQ4P(W_`V*O>p!b(1P08IiI5o+xF*3h-orQS6rW8&ZnuJ2;y)5%HZ7n zQjl=er+s*M2qNKWla1Ds4MrPF*~DM=)4o&*PF+5%+g}n{&Kaz^jl-)ByRcq!KCB1p zfqEXDdUp<+qtW}NWhj|aV_VN*psDZoKI_yM+U>o3%@Rv8g=9xeG4k&lSzhZgS+w>{ zEx9(s_Lp-tP&y$s9{s_O`d!|k!IQKb_yZERitf0-d@DL6>H@O`RW~E_n|LIaEuu;1 zpu7b^s@l@u?FvK_BJ-hhIT&Dn!hl}?0OIt6jZjiLKth_vSc#}TlxRS*I&nE$ONO$N zJ-sJ?e<>PD&}Rj;KkwGIc;EF`l2VF`fe*^1>1kW{?q&FHHz{6^7O?wK(}}q9_1Zvf zW8y43Lr4%UkZT-Au78-PJ$EiHY*T`Om4@Pb9FumJ^+}tL^4(MKc{7f84<9xu>TM2S z5^YYzq)2RRgz6m(VjHW;U|TuBKzx8N;Cn^*(ln44%zrnF)&%IHXl%}d>&u+(bR71V zA(}-dZCR?zYZWa!Rh-m3Ok$-rEl=X6GhD^}XLI!`z?N$*!hG_*RSU4Akygzz@FghS zVKqM9uKuvqtE-CbCU430zW8NTwl`MtHnGH30XDFxf6#md;$E}Gi(2@EKoeS`fkH)g zK5;q)JY&;nxQs4uxj9)vFjAf90SK%Nx`Zwyv|-eBbO#J2rPF%5o9YtyyYn%Q%ZHo@ zECRNsyoRzGl>yk%?qDbsoQQC`Xd;Miqtd-F!(%}A6>(Talcop<6eJK$dNf90NaMNZq0gZZTWdJcv&cw5iq>i`rD>-uXlRIs!m%Cb z-fT>g4h)w2#b+P>EMg4WL*v8&Xt9A|a?Ck3VK97GjhBj&?k(1Y&#Euy?&UMLQ&P5j z#DD4ZKcYShI8K1%L5*P@A04!Cker2LTyiYjlELf)2Gtu9pn}%FzOnxufKzB<&+d=a zEp7Dym@;QXZ?{|y2qXOJ)&+2Ew8xxspM>aEtF-52pnl|g2A%bUanf2D8I98?bX@_Y zUtFljbP#`;^>yUNoHqM4!_|1Ku6tAYyx8JEin;`@99yxb*uT~y`Cl*z4&U5@!>6^A z)<1HfwoUW*yVOy;CHZh}0K?CZ;;u3>CP^HD5FdS%$eIAo*F77z(<>({7m$-^sEl&LYG z;AZdWN{jkEt%Ap?LLZkpL_(5<{5d$f;S9YiKAW`URqeQ5QM}p2!C~0Cj|cD$O#~)l zt=nsPSq=w^v0__FU`3mUE;GVOhq<{MbVT@War^Kud!G_0fa(}IlJ+V1350pH-MHiB zT`9mML!&o%=H{g!sD*!^s#P+4HqCm7Ktf;XHJpd9BU4+VJXbCuqPjP_aU%aG1cmi> z8yO5ObDH*7M;?^qhJ{QgID^H_;OGDbj6Zs|An!mLVIy|YIBovnia`7%z$32}B8bU|g?)QUS1^27_aXvGLzq}%w6xO_5O z29=dso+i=(SkHwJKt09$QgE5gmfyfXb;|5{>L9DXw7AF}9eDe;54TzlP?;-kYh3@9 zT02Qe?{d>TnY|T08JGkISuL^26^z)*wqLpjG+@dqAL$NcKcn?_KSiUrr#ur>iw8ZL z8Xy%Lzps<0IsB-lE&re_8i44~g9qlCR5D<Txw=!7G$GL4UwQ5AY(Z;>hUA%fQ}URE@TZ2_A@i4g z-6%ldLl(tPP!t0lt)kATm#*bHD+>$ZJmsH8!IIge=;c1kA%Ty@h_7t`B#zu~1Eoix zD0ROKU1`}Ao_Z)0VOEUqiq_d52B+AIq3>n{QTS1a*WwxK`&9t+(|7J=&5@k@e;~1f z=%!MeQLZvzT`{nVB*Ww&3%MXKAnG~u)=G|PK1(Bq+k?UOV$_e*G_UC3gC+ z_on}10fV&FhI1KRw4gf9q332<-aND8N}+>6cZQ%!^vQm?aOSS7pUZJ<gJ4A{+IW zDl02}ZWPdUJq4X%$40im-Zg9LN-4EQsXsN^1gpJSWNB##yPUel0RQ+N39mWdf>oFX zxvkW{@PkOG&eOjko=u<7gjvY((qBHcOt(+Y5+PSMAxA9@5Y)O9WdDG47!_2umM;xm znsfysaoOX9$^B`?ft|4utI()n0Bx+9o!(jrg@_ z4t2#J14TkBCXv8S)kL6PX{5Uw$Yu@!_2lf{WKI`r-Iyoi;cW$w(rELJ_zImnWoA1| zAYyM6W%~4ecAXbQ`4cb50t_p`^KKy1Q0X+N#LNs%PTJtqqbShNoH$yv7bSh3{$Sb!o0uO@{zLau(vX`+g6(mk%!={L33D0#G{% zI6hjpKT+bfS7ew8KZW$O%Tjc2qI>WE{o$FTHLRh?^t{mINoDn>q^z8$OkU%I%C^x7 z_w))q@EaJ`{4tG|&DqZ(f056eLdimPG!%Qe+1ct|;NUtJ02q*st2_N9i?Tg0khTdM z?gpU7nE903SSsQWD3V!NSs^5dcNN9wTcstkva?%6D9GtxRrRCEbm&o21Y)yC7l)i% z%AVPcF%BJVVPbKcOJVD=pN)jFGBUDU9Vp+ZH;vYHUwx#WFSL}Qtl;_W6a{RDygdZ! zqo$G>(2r{~qQ(w90q`k)xWb`95poh^FW-4t(OfahBc=XK@;azudi(Gi9KBkqg-mKP zi)%Bp&bFw%Uy%8rz&vEN-kz?ZkeLIl7NEvBJ;^;Qk}b~$!x#QXg~S2??V!yig3rsO zn?{3N0TKrt6Gz^ayy}ZMn8Dcon#6i~9x0Ccafh-ecXW0ZF7H#enq9zpl8Gp!iNkS_ zp_5396I2Ylw5)&7#USCj$WDiNH%S8-X<>2)322u!H@bm$N6UKR5&{B8c{q||r5MO1qxlSIk5B2k8zr{kK%J9QCLAPUzcJ=$7SHWZhuXHx{^j{@S~%q7 zqAsSSz&r~seG3-}EW3e1p4WlJ`S@1ii+h&*;CmR{`343jIMm`yip#NHYg-IrB;jbU zU4Askjj(KX_hFp<{(6PfLS0a#8nus6Y zKk#AQ>@aPKI(zmUaTdUy_L$YYWv?avXco`b2Qb9{iL-%vKt6{$-<@&%ZW-U;O1i|6 zW_byP!FYn_?j_WEYJM7_CxzvRY>7*UDKvKj0=P>nT9xk3xoX;IFHe42v3@}Ain0-A z>33Sy3~#*7j++c;mt)!fMkO4=YyMrC@eUQ|F@|ybPpPkgg!_IS>jn~J?svek7$_p5 zypF`pW~!?{kWYH#-4h5WmxcTUisDz~qInNzIG{iu20jduLw);?topq6Z?lRYO`4C) z|NlU6Dse9<1{8r>hS?p_LV&d44tr(U6BQ5+T{3hZ(1%H|Yr(!}u%Zso)YH4*3Eub{ z;8mVo{^!5!wYh>MU~cBa)8WTuY4w9X!vdOMr394y#??*?lP$CC@>7n* zPl97aL7Kh5L=C0OZYYN5VT4iSSN%MdwO?E9u(k5^G3yuddh8EZ)+o&N)LCPiH`aAr z2fJoDpc6lU=*qW2`SjN^m*c7Lj5FcKTSX-jnpiwWn&<(8aqhGIY*tB#%V$(4>)`F@ z6#op&{6xE2|Gw5z_nm9_!gKQK>iv=|o3ChqGl=Z14f-{XVV4!o5cV&ZF!o5b<;D_b z_=!}M`8mb zn6RnXHZ=LZypFkZM`fNG^R{Q%i|fkrdKGmi2i+WExzjyz%`p2Gy;9G1PeHTImyOlI z5s(oJ)q^<+M1%=8J0}PQXb;jl#gjjWc9Q&YgPE<3{K_goiP^G-@kJO)e7*T1{Mi_g+!yP&5QsOt z3XB^j22w%+q+gD657rvp5|RQTuy<@=iYoa&L38xWKD_hd^7!ks3@Z(R^r;@8via=! z^BDIZOMDM(wYc7e#IwmT`F@`^;U64ZTe}nj^;+yoRl3mpu82Ig@7Hx6Gx5N$)gu=d z@6e!d!=*fRJC?cWm4_G26YRG;rOV1nmYq&_+dhpQbH4S!*bHqFfM;J#pCKhJGnaVa zV?izt%=ozAG%iy^O?xJ?S!6Zs^V4MH1T=5qTKhZs6MR>$>0kNkz=@6G6^Iymgl)2#%$FW9Zx8$A$> zM`L!@yzjtxs1ABg9u`6)XYd&d$yzLwwa$=|+1Z)rd9| zdLFHwzCM?|16W_azCPz=z{gq1;5r3Td&*|c3X(Z)Nx&A|)Hlie^B$ z=*G`*e77BW{1ub+d?_Z@!-_5bAr;s)el&c=H3ufw1C-OCY{g&TZLQ{9$~8sS7;2wa zzRdj=Ewc(<)iRVvM?jZCkdM!ZOC;vwY2|@$s?&x7;p&rzD4+wdqr%k-s$0E{6?ICT zEP%>&&+_KxiV0tAjldD-3mfp!)vdo5bwQ}MZ#`Cp(z@&Fw%dTtY_J=Xg}#*0|_M*UMNhCS5jUg6N}+08&~u?scfUjLTBtdU9bO zg?rO?&zwts#-SV>I+$IzABgKBceHZ9Z(YBq8eqid_uV;r{3aRGj)^@+JN;z-ALjBo zMvT2w@27X2(VtW`tJpCDK9~EfpSxhR2}S3y{DKJ@ z;E9Pe@M?BBgdM;tVe0q9EsqX%;sxI3^e*SM!|bf3(?TK!b_kpyA1&kz#xz@KNbbVw5RJybW5r03ZV(0s!ED^@+2#qh!WD#693g zucgrvwauUHot|tTNx^jI-wZPo{l9Ey@D)}vu3$n_UKo*%kjT~Yk>pb}fLa7f#{e4t z0|P6)bn=OjHdR-^t-&((L7sjSo;Q|8!{_Q=@xUlMv^sF&>-8g0@rvat z_)_Vv{!OUfy(^ZzvR6;jp99>V;_}k=c95<)`n5iq;2lrNWAQ*cCU9Wj2AIy8H)S%8 z;3mJ4K=!AKw5Vd)04x!rdAR8V!D==Ps7kU{FT&-u^B7O_1*eAIca2~znEy$k%2hKy#FXuDF~oRD@+V3$c2vf@;2Kn{l=p0ecx+rBz?5Y-tt7s_NmO4FRqDR zF~ub^ha=mbK!UV>+@}RX7{FC9o$B;yuoT096b%d(UlLb!GPb%`EB1l^b5PU(vQna8 zCK-gH@Y5U6Q5CoC#Z`m{&Vj~H%G~d;nrcR3%liuHATJnRl}8vQ#qZCjZ;#BUY+f=3 z-vF6ng%9YZKS%R_tPnV9+%eBL<|a7CUG*iqp^(xNKaRLpm`Ub51LP8*btIjyEBYXe z6*NXhP`1)*$s=PFE1)nnP^xn@@a*{_-8ruG$L91I0q63JaWS18&BFH;%>y`v+y{Q# zSeRF}xKzr5D_5xO128Daql}LuT4v?jeBE=S9K`vNnQb?2+vN5p8}-wY0VM-^vJu_x z!aSP0aTT2~ZaY~38+1G%z0<|dqaiDDPbCXuqKDtV|3rVT^8Km6=GkNd^`GR=xsU!f z)9d_<6nT}7iO>j_35`#FT;k2&j|>YTiH=M=e(^@h9uUYlfF$ zsA!q=)o1F`G0kt@JfA#w^vwFmwrKOilG@Glg;USipR@U=G)u8@fxT0_e@7g6nA-LR zqzwIZ5?K`rc`No^L{Z3+OR&$MCim1^b_2N@ zQBlL%YZLptkhqXIC;DsRqlrs# z;gg+q`ga6&_!D*W(rXM2@`z!Mmh|3|&)ehu46jOswfLT+FuUS-rNsI-4@Gfo%CKO@ zUuQtTQZD~Ir0v6vFVpV7k_-K=;~e#lkzHg*3N;VUlF7%JL@?X~oKay$>_uA@|rS5vJ! z5dcwZGZT-u0rdD{KkJHFfrvKXaQ@3AbZ?>bY{Xvn*OS9}YT0*~Yq}P9>@N#uIcqcM zuImc+_I=Od*Kk4fW-DI+0W%%{`O(j{eWr}^N}rpWFW4tz2BO|Roy^Fg=BA#$5#&Vo zi3i&&>s!!x%#9VRn}m>iEM;eVyJ@wt5uCVVRG<6yrd5`?R{wSX`as|A*rjeij=;Y} zLY6Dietj5uu5|h2`;l3Zka@Se(Ao00bR2EZB~95hxIWzsnc`G&reb#cy80`GySvej zNy`2zyHbwGt9t(+bxNgsp|W^X>nl^~3~6CYcg$NJZ`>i!djoqq#oQ&pQwEJ+OWNEO z1~V^L83Eh=`}b0d^3N600iqHsTbt1K+|z`-RJj1%L4lFK?newNpSqeB951mlpkVdY zW|N8TQHKZ{5Dxm(D8H0Sc%k~{zVO9Tq&UQAY0ycwe*1x?JIvw68RM;L6PV%WOexv$ z7oe+wV&cc+47fp>cF}eQa7&G>jv;9LQ_a!Tb%owL7F$ZbxmNi<)qDJj$AHiOt7n(_ zUp+hWyD97_{>)@ED(aw%*U1lgoitc^zB(-cdTt_m&*J2Y!SyE`Ivm;NKUIf3{KF1{ZpmqN)$kubA-> zi3KMg-HK;Y&zxWmzwb$NnD?FYTqh2riJQ#qyDLP`*=T5y00aVYts(SN`g|CVBb~G2 z*NfS@#}l2uA8_z>5K3v`aJXh~1 zHBC*o&6!SHw63seS0di6JcrSvVt=&Yf~)(=NO|xhpY0wwovE(WuTdkAY8zAh=Il=b zP_59wsOqXZ<9cMazn%P_o}{4Ihmbqw=Sfyp^uj{TNL_DlV#__wM*W}b&VA>CuL}Fh z1u;1bQhJ+RU|=XS$FczPgIIoZGL!S4<~>Z8mOw%AhB`$$6tM?1$+XhDnMcs(eZ`^5 z2OTx&fWZ8#l1xK^(kz}u+GR;+K2^CQPS8@s)ubc5WLr289$kHXQU7^dBT*N?V%O32 zPHc?Xb?nMu3G6B1lzUv1%izOrH`&=YCf*}6qaj%;%^mH!zO>92uk_YAZPkAqko4PC zN`{l(kHWTvUA7ILKE0O;+gW2}btN{2QU2r-SYuM(uhy^R*St`NrmUK&zvnrQO`zM42W2^har^rInPFR8~rBykmI( z_!T+^C}}9jHn(7}ocXBIyA#lTRzZ&lrNnvWVL=c44unol&N!_wX%O4SeBWUGe_UK# zZ#L@1=TQE(pb(aaN13r{x`(eVcES~*0RcT{#_teBf%Rf~TCkJ7Gsx~QUJTP+e(2CL7u?&c`kQIVDKvzoBOfkG zqir!A#jBg8mJO2mN#5QRV2OAcK&+mdHS6hl!T7jXDOS1x4<}$Y9LOk9WMlysU+GJQwS^5gQXTtz%~J>azx$f{e_M?G0l;MEp+u&^YnS z3%0b#d%Bw^ta7a0#)rA!Bi)K;_!vEBMc%C2K}pq=hc5FoCW%7!P7MK}`kt%s97(Y7 zffIntOJq;B>-YoL(5>y2XNxbd_aTJrTkEPTsT_k@^+*^fsO8EyhMuJGq7lzy14YkA>cZw?MtaoZH<*k;vQI;1Mw9`jm5V;vum`u@Zd<+bwAGu`UAbYq3L!xi{q_CS5O^py050jaE`zD_N_{;E6oD~TVEYl2JES%F}xSWHRK)ymzO`_=C-mc4%D}eGWU^KX|vyT~2zBS$N{F$bddvE#tmhXfl{p zXw0EoEaP0-i{pLJ-rS|d8^NPlVY#h4%{f1)34z*;kH#`uEcX*1x{eX76yO~lN2Qu~ zn`C;H$8%w!n#K9&HbFQ)ySmDcn-yl@O~_|G`6Vgpnz-HiHV0zvwAeytNDpi*C?+Q6&Ec;T@^Fg zZ&XtEp&MDV1A3oU@FQX2yM`ST-&^nBY^W$f1Dmo|{eq66Azy9*lZEv$&jTKJb7EiH z^^_DUd;D4PsN`gBr2C$yOW)Q=;jcL$^nu*@xBu$_hJ&n#rH ziVY6MoxLtmi|NOuoTmqa*A= z^rbaqZu#y*#p1PqvdUY!HdwCEu87V-ZnZ1XQhbw9{TkiZ_rk_{)zgC#Ov%ZuQ)+5` zD6c1jnik-JOG(B0P|hX&GcVuJ9&d0T6B6#Z_cU#9Y`}0n*k9Z2&{79~!FhCx6#tjT zywPzOd~us&TbX)gs60jCv82=XM5I2k@!D+Ma0ueQbL;4(J>0Ok(?Ft5h>uU5_X!_< z{w}cEy&U=w&{HQ=7&BrGtFmO4tw)SB5)6>biP%$$RPah;wGBinCF-a&X zHumDREL@^EY&S?Y_1dF@x5f`CF}1Z*HGZr|+tYAYb5m2PmZ0sPt}Z%ra|T|=iElTL z4y1<%bb@t-U~@m^?_7r(hChg_`L)_%=(=)f<*KD+siLy?n<>zX!arR;^wYEROdjhK z#Omgm!Z0#tABlwLRw%THxD;=b9wrpW~@B){fk#eZ9b&y%ygHT_zb6Jn1{fAd&{_}zP?|05Cs(wMF~kokp?LdkPr|F0i`9SOS+^%N<=`UySriNmXa74 zy1P4u92j^OsMqzsujjtcd7jVbygB;?O3cjOd#%0JZ+&ac-euxOv6b9}2p}?ZLwkD# z88jh`f*;FA=8Kg7mW=+NLG|bs26i6nhBCKnK2h-WkTff?o5LJmphAFLTQ?J z*sX(G`yD+crBI|ac0-ex?20l4m(x=)gjdvcTSoSvV@gN!c~otVOKO3Hktn3ndY&@_ zl7-rUHaG9tW^DJ;0JEO4@oU_~f`v)B2XD|!Ra9&h*Lh{^`3g%jgkcHx zclRK=sM1HTb8;U3_yIP#mY0)TUR>1dRHV6QU%?f!JilN<41<$~xunIXxV6sJupjz= z`LZb}1aIu-cPVzAVzMO}hFUn=DlCFaMD7QsomtL}xae+Tg@)qqcOZzi(riYFTNG)S zm~OIk3TTQ0ccziC$ww1Owv)raG#`;PHS_b}BvjTn%;d~H?iJ;Oa;UAhZzOd*)UY<27?XyKm;|k$$CfJyY z>N|z7AeTtIJ3$k1amQD}#dy~!YUy<(D5tvP65l3Drb4UMFlGgyxva!xk2w}?FMH4BZn zU8M&*1XZzx#gfLSGq3@|)x7#j8-A0?^3t}$FlFN?`%(C@>fCJ_47+6G-HT0A zy^=f~u#v2!YG|p5k+$*H9EpLhuD^jdfdF-+R7t+Zcd*s2q@>NOSNH#}=iF{#UaU@` zH)>9>KW!&c59XqR9K6DrQ5jvMJ$C+8R`W!~^vShLmP2V5dl~+wIbM9#s z9_3Y0pVd0w<(RJVGJ|_`Q1ICHcEyg-6gsbYkH@TM9`f}=PfWzXdXu8IF2kj^#D71A zaPffTwxlycBTv<33x%uv{yqM^d2pjrii%k2vK&>%y|!wPqa5~54oK>WfA;not@b;D zLeCae$?-anGzkV2_T6z@lK3**w6qOMmcQULEG*QVW=KX(&UD2szA!wANY#UrgIw`c z%B-=09U`zM{1(~mve!_RU8@`!6gOC6%o&+;u)81u+AFokVAFM4vvBw`{RmupXCFa$ z{i<0lOTJya3s@6&ws(HvvMH)oonqSq)vA?lMm?yc)Jyk*n<;8}KK&~A{{3x`Xh=+q z_4=}At^$ws@KYmlbhpLAlebii`r}(a6RyFW>K6>YSs%`{JGO97Le1qvT?8o<740w> zy9QuFbh$|q)6>)cTCgW*UsjqbEUpche0(lbu7~nsVnHl@J#EK5t#J-UEmk=XH;Gsr zCbP}*QTv#yKRI2q%NFZ2-l;q6{d%b_1u76+g8b#4s;O@Noc6A+YC|0VF*83<)@Ejg zuP%)ZkM>#)7u-3vw?8@DPydXSCaI`sw#irfrdLuT8jeo?a@Da@L%@a# zV%M_FbmW)rEmHO)Uqd!^=Y?0H;>`Z zGI|BwL&I@yBfsv{X)8``Z<;kWCT5G6?P6{5t(n+?VNhX^Ej|{t(7pgQo|{xtRi$ut zQZ`t6s$Ix*CkTtsxxi*^ajrFhlq;uB`sx*TSAh?r<{u0UXwVIwtMF9$N0(XLz!8od4`9<_-jaof{MWPou1Ups4^`hV^g_EuE59V8QL3q!O=Q z9gl~{;o=5H9A>$^321NsTCM8*^sATGs}FCt_ix1$zkmB(T7rT?gD>9f?AYul{eXLF zN{Xk?)G6*D zpI~z5`c+$bWkCU+;PK67wX=71CtX9)?aiSdd2`>h{@K6rD3;(TxF2-B4L=yJyf{GPb$T_65`!w(zvf4_FaUnH5!dOLs0?jy(|{{u{dUvX1jEIm}ivx8lT zqQBDNco4M4+A8W7i{Rni+;7g%_j~C#C&goT12l*7{{C*k?L+QBml~mTUfb?;zbQs$ zdfkma%&j_9XJ247tKHyuxL(o017_yKHp9T`^GTi@MtjY!;=K=$p+e&!rZ`_u&#Qwo z06n}*9nj-}_xChLi7rn^C@BCYjZ)R~Mi;+b5+vEqg+tVoP8Rx-oOn^Glc87nm0#@YdyX?Wa5 z9bXWTU758ynHjwN^2Xn`H^IJWg1ohc8&c3yJ?9%91c&>|C_~p%azd+{z%bEQR9^o5 zr5`;VT|#PbFg?24v+mYbW^RY4hvqgmORQKocL^DtVoQV`i3H5xJ$gL>151^r=H`u& z;#MF{SnNDtxph;(F@0{v9h01F=Ca)+vCxIlA*w^miMB!~BcuUAUFzR?=Ul=c@cZWC z%+^OKzDj+=?Au2oD$4mI<5*86VHE2<} zUw(dA#wi1(r3cn$_aRXG{}TWw6yu^b#(z$)7Z%$yui2}xK-hlQo(t(&)YwzqR+1#%TMDkHRv^_S-6vinwk;N2}MVly$>0OLk= zb#?xGYLg`9uuwzrlg-UL1e32Gl#86k{~y9aHM|5hH8mR&#Qp;i{rzA<@hkv@vi2&y6@$6z1}ED#L{C& z1;3>!f)z zS~=yK`M$uUq)Pt1U)mDkPEHH$bqJU>c z8X7qXYQ!8mLl%qgZ*^p(rY=CK<2QlS%doHylwYPw8VU+VQCzm;O|-IGHKE$~d0c)L zrN&1+>uny`FKkVFEo__H_X`-{6co=%eu~C!_Vl1v3h#Y@TmL6;df5ta@rx1K+^WA~ z5`Jc5fZtycaJFCi&0#3RSU9;y713G?kqj_>rdPg0q}owY%+e;dqdGdK!ry-rg%x`; z%f`aeTG3gbaJx_xtoB4#=2~y@bFTT8)S(^*iN2wKUpbFHs5CVG?9s+9JwmTdm$lN| z0|WOEf%~Gs%uY&b(D&|Z#hjy~fuXZjZuVHIGOdvx{rwUEzaq0bd@kKB6*39cMETxr zeer^~H6U6ky&5Vaz5te)ugAIC+eWzP*@C%G=CqhUj#SUoo=~t7jMW$~wcxA?Q}#et z*eZpEm6eqNFrRyT+`1sa|Bmk7tZU1&jGUaKuj>qmu;rd-QLVKCIpYjWHzyq6_CwE`ipX+5Jo_256yMq1Au0ZKs@i^|5m!22b|dytD|VeWv@9?`u&nmS3B{*x zyY5d9BNB0S9HHz50f} zc&8|m?S$8X>Wy1OJBw@iq}=7Mz4MMuS}eNlIwfPJrb&o{MU}eg_i}%+fOEt?V(HoX zIG5Ae=T}>GC;UJRj&1O(t363YYy11mqt|LU;^tM2YS{yMsQsn+6wj9)KCF$N_tpl_ zw6wL^TpI+9jY;x`zb7_29X@PT3>Fd|Lz14}sk@wwJt+Sh(EG|EF z^!3BHYSn;{PWoKsh|i8e<(V1#x^qx+GM{J9C3q^B8+KlLR<0}8 zfjj&znHZaTdfwCJ(lIgZ?c-=cVEN^u{MYL)W@C^4JHXP^z_T_{X+}my3tQV6R?J(( zz4@+Cf7rmVSFyen*c4^w?vwk;_rHzZBC~C+t+P!}O%-`%W7b)?jQRaj`<{|0=p2~1 zo6^z}jK8`O>+{WI9VuC6ddE^9mH{t^;s1sHU*@;sH)m2q#LKQ|vNBh)Trxsk0MXk7zp4#YB6P{B@uRgCC?2Q{Y zB&8)JyG0Mz=R<>Y1AlQ@%pM(EExqXgvQYCwk(Vwm9aq`0iP`4`RewZ!si{p6LGL$u zPX#Hy)ryi;P;U2!-Htc!S&7g5tGrF{zn~rgFcI^+!0Cs*!Nq`g=H#02*dMbVwaQBK za&DEBnY~RAp-W8_eVm1ubDZ6ri42dHm3=f|RN}-p6~ToOE@^7)&+JM8UcAFsROQB*Plp5i4P%v&3IT8 z5_X}S!#ci^KmRnkcYoYw$rO)%ExMbuAFf?kbx^q68k3L;tsE`4r3lClyD=Or%x`4Q~Q zxoX(tLto22z{2lRORfy@M^-n@8m_d2o&)ltD9X)7hOr()mUQW~W6y1v!WIJT% zmK2t7z}BbuqsWQ$3wV@I=}upqvk&D}5Ywr=ND4cBmxy!$luMtKeOld*#NR!-Pwn+%~Jv z3E{VI6Nz?!=lu06n|#@^86iyIkl!Aj>+`u)m3*gFMn)zkJi4)D@JpVHjMf#ZQxwYZ zJ~45r{$V^VZJW&%Vo?zX?|h9f{{A@V5QDPSH_)rU8#u+@RpTr!O#_kdEfeGucIzk|}uKcu-Va{Ee%>V!zQYdxUX$qAKw1 zV{XUAJq<^@Xxq@#)YLqcvKDBHk59TP6Hmc;J~szkL@Ovl;&7#}8`KP-dPtX!XJr&J znJihuH9B`&cK7EYP_9~CV;2AF=g%dcy1Nu#%M93_jg7gHHb2Ws5gRLOYwk}Urho?Z zO&JUZn*eBJlHH`B#)Ch7TL9DJ&Trw306@*qaQXI{Doglf^0#+WDF)v2AoDEj0!X!O zb^8yUY);S7F%RG#ctYOeGn< zRB(;RZaHTd9*+IkMOgAXxxPa=8I!DWF?VioK0x-S`u$%7Ay$7=;642{r+T06DXJ|! zoDrq7(oR#76W4Xt8RMgZx7KSCtqdXje{~`h~FUX>cqul81Gp>`0#U-&*ab_kS{oZXvA(2{BCM<14C>o^ zH(v>%6aUKSu|phx28`O`!h-2UQBVizbA#=>eR|c%cCe8A+HuFPnYr89({LUv2Ob|QT@cLWHH4KcpgO)K3*W=?!-m2vWU2ZO}DGt5$FFddB`*G|k<>cn* z^YNT?gmxGXwbWFVm-8Wypy1JM(Nd$NBxC}{@j+N?AQ_jXl570+t5*OzmXVRSzmy1h z>XREg(E=MQ|Eo=Md*=NQm``-(-!R`+?FC@u<}E7zqC0BSW>rBw@L!;x%>N$rQ^5Nd z==a#JjD6t5KZ@AURv}C(z4*H*Sh7YL^`lkh06k}~5qpTOjg^&+P1Vb`-XA}Tc3J7x zXJ=OzH`VK~IhY?kl4J^&RsQ(!*3Fw0dOR?$u&-ZtE0}pH$jMo@YDFug{`$5E8s0u(KL51y#&Kmk<-Xfm?U1Q3pJplCj*O4LB3+YD3U` z;i1MFK`x%EqCt30{LPiXz`+M>k3vg)Tu-QHyICOy=SfuudJqVsmt*TP#qCZ`gS2;R z%7OoE!)hriH&4ac&V4_YSVMGI-6^?%DG(~u#C(gRySMGTm^YWd3bVCb!W$z22B%>`sJ;-_~K@JLu2a- zKzCy7ilk$+?+;Gdj@ER&bRn=Uy@COEk&`#>ExI>lO2b9`$ay9PE9-MuUfw2lLadby z;=}oP@9*=v_zK^=)G4lU1H`f8f$I%)gC(aLMuYqRM)esO?hEix6Re%Pb?BB{R2K=b zImAxYqs#YjtK1g50hzAMGKNB-r9b1v4Gu}yuRV_SCYTeXR%`|-?say77M$HMhLJ~c4F0Jh5A_AO}xwZ1Yf}1R(p~24FKj`i42#f zkQ~)(9t2IX+j+4t;yjW6ghKzk3_kNmN}3?)X#V*wW8HfVKmfdT2x|HP*@nOps1^#+Gb=7Rqo{NS!XB4i8bP$;pjC|QE}ux z|93e?+R1i#N$^4E-LP&6KTE*Dt~4aP!d}%zoEfVxhHuR;goj7dhAQ-Uyu>OhE!~)3 zxCpemJQ5xW{)XlSRF+m5REuAHSd05Q;X}v#cz_@@<32mC9ie8RX!bjyb?QJ{1Gu+f zBD|Zwyr?KA3nZgu%V*2~CqDM)ec>2GwvgB3rb7%B*75iv?=&Jm`#68k1bl`$&kO*G+*-Kpcb7d2h1P`Go;nAb&DO|nArajh*a?mAYxjc96rAO$ zt)?^_!<>-s6!b9u+?I<|bbIpoqNYp;nr9v1!BUr}xd$dy8&|E-&hPN;&!5MECZf4H zF1fRrf`RC{c?1v`{o}$>ZIdX-H@o z8FAZj8O|rZx5Z!J7|7QeK>kMbOR9DLBubM0&3})uGk#E(mMc>S5(%k&9eus47~bEi zjX#!|^4=HF23twbr!=jvGbFxUo|8BQ(1gEnc2<_9RZ#_0AzMBxM9lX_T6B1Lcn>QN zPq1S<;q{+Cf5P(PGX_>A2xUKRtUEb50Zs&9MB7AIH#R;hi#*Ae6cb}&qLVT1Z+Q6- z8rC|ehES4W)<|-u4HaiL+uGi~j#M;M2Gv1LY3X2Jad2{5oob&vd0d>7RM+3G2JS_I z{N-awOiN1}CgJ(oI=7gPJx9WN?}NCK%2+Qe71s`8fkIZ0#_11aO_R#lgz!hh`G-gt z2dI}+D`tb;J-lmACiP>ht1I4U^HTQI?cW~V29!}i^wa&C!!XgaF){290grreLF8Ov zWo3Ir;}U{eGLGAJTzJzEEK9TU6^MrvIWm#(Bq$W{NF{-P}IROG3E2Yfuy9Qgf({l$^YnM2AaP+ z2^}r%3?6twZ4~SsPh8IX(vZnHOjfV;d`VQqnD*K|JK}`sU_Ndo~u4fYAB`V##c6i2M2TPA5HE zVI9R(!TThRah71ky1ck~A@rxaOE9RrSv^#-+Y#<;q-(;f-BO$ux;|BR`19E6aPrVC zKcAoN8yud1^zZFuO4m=3jCjuV^y%yVGt1A&hjIbK z=C42y(4rd_a?iEGvf?dG3}RL_%l%>)7U<~xxADTS8~j8W4shM-^O>Uf!H*S=>pD#O zhk0bG>>kC%Ys__~D67LllRAoFs4gz&Qz03d(?yu^+7O#wr)M(t>>%o(bw}2>`^5=m z_%R|dJ98)uEkg21HrR$C+20>_dd&}cK=Q%FWNvw${o~OW`~2F5B}AFo*iZao@a}kb z+IVR+81P8qEpcDJMvddt)}D>a&NHujoNEn!MaMY|j>*;^&+r(Ne(KLoda3TERad`gd z(S*{&4NA%)V=ci`aCcWS#Z#3__xeUhm9zSWhWCiMcX%el1lWWC?tM>BPsX!7tW}aUsKA3yI}4nfq+H(j zxpjf)v>DQAd$4}L(&R$s=qGxiPgG!;hc6@AVx|vf* ztXu~cd>m^QRyM`Z>K69fzeSrs)2XgL`Tl)m$lcpSa&@4oT$;Xo6w?0o7_Wm+!(k!z zni=EC`dx=nE{0RU#{5OJFHaQXVk%4siiwG-5SEwMjg@a}yAe$NEkQUi&KdMI0KYx1 zY*~}?morkLniWxfy6|5B#=5gSf1vuV@XRUoMvL&TLLE7&qvX4~nD%bpG+Tkm2(2x# zOmeIh7MIoO)z;LYGo}ssO_ms|DHc`As<{51Bbq z|DA=)AQ$T*xTwpSd%6@^var*5#Tg1SGEZDed>Zcz&7Cv16$YzGNda5N;^X62R@f6E z@Nd3SH@!v0ZEqhf!uH*%5pt5YYgt_38SICJ{xrJAqt?UZ^hgYlV7jn`%vEMa+6p~B zPVH;^;RUWDc0h5Nb-tAcg$id6jE)YHooTinFapt$pb!t}Q#mSCPaZ$-?-=uW87=pB z-E^n;+QyrAz7E|pbPgX!h9sph89^S(RCz$?+F-)hEx& zh$wDA%EayZ_K|ok%j&Uto3iBb`E2kdl0l1W-y%bdD}!AdJuAemE4g7kLx$s+fp#U= zysw2WSW2$VtaY5K_(^3Cm?5RnmjkgEz}~iAwwl}0&77X~dKZ1cpm949bOz$KsdJECv4%<7)Y^=36=P(0xIhIi zw;vvIZ)st%-}f1aN)_`(PCo?u5Gx~(ufbWF4g}+CQEMMvW~yC&Vx7CWowGmSvu!=d zWy;HAu4ZTEW!wOM2t|hTk26&iqL0I{N8`A*bmF-c*>dVOppLN~rwr>KuVE+fW@HVf z=+f3sytQN(LH^|7s>{3n)T(iO{M#ro*yo|9*sn^Mat2}1E##OqU^H)OFJ_S_ryLp{ zy|UzrC~Jbib4+_R&ZTuAJ;Ykqj+|;)65R1vy#zlzxOWqfewp(Mh81oYwS2Pz$?vk4 zlQYF%amY#RCu19}pei*p2Myk66PG`@o)tTWvmv0RNp<^X69yCu98AiyM(Ebx(g#p? zPt9$_IIM0Mg~}vOuI&s2Tl zIG-ri=p6|BYkr~(d`<=$!1F~Xz*{ocB3Wa|3uK`Mx(EmH9Hr8TFkZ)%6X&~g+93J| zP4PqT{K?u!L7v!y;hOyFQUNVPF^${Ki2dCrPo;J{b8F%k^S3ZQl!97;lq~iZ`S4KL zlp7HGX`iJ^5b|s6L;@}UtaR8w{1^AyrD{DB8<%?n%SbRYX64sKAbzS64rLc-!^<-2 z@{ThzmcQob$Lmuw>qW3>t%czLQ8}p4Ug#{F&y|KVtBn`gqdQk{SaY5q*%R?fHV8wyB!Rw%FA}fzhh7aeOYPz zvDb55Q4#S8&)1Va;Vn%+1_(-EN)PY&1;NN1!YQz9Z{*q)A)iI<1Ll#+P1S?-1| zH1R@c{Ys!;QUd3OsvylhacrJqr&5USC?%t*j#dRe7C(Rv2(hRMil9bf^hP*YiDKK+IjK&Ee?nGx2J`qb5u?q z$rm}TytWw(s5Kr36$CJ5>|=>a);zarX|&nZuwO9QjD7-12BsU_DGfRPsnHgPE-b4R z$NCj%zM79K)PDRzSpt^6(NH;S{R92PU;`D$){=vOeXU3*BJeUSkRyvd8Xt*^fS>5N(Y0E zj4ci0h}M_JUvNK+|H2e}m<+Z&7s(yWl9TUU?d|Oa+FD@qf5o_rzzMpJJbv=&JRm_J z!;J;zAM(~UUG=nyA6;m0;4vWl3^{uU2CtJ0kcxKh(=H}u@4$DfzKIOR_@64r_JAQIO4Y00eFItk4 z#;Q9U`vVbi6XZ;SDLg$*JuBW!+qi=YC@7dz_ZkLsqXQ{;fF1Lt-WTj`-0P&=)}K)J zl)sLAgI$kI_Y*x%D$?g#q?2|%e6V?)mI1X-$4e7jtHd7A3Wp=}+ge8TMuVkYYiEli zWT^ozU0GhqcQ9<-=T0HW<5P2Z)(R3HxLr5b)BKU{(#yuM?d>mM{DJo>tyh`VGX3f% z0Vp^yKYojpvm9I}oOD?$0j03Fr|mOFbaF}H>-+5yz|GxM6=Y=eIK5MFZ6hMT>>A@7 zb9*PPstSE-s@FBWdUsoChQafdunr@j7t10!T%r#ZcOG|lSIAxv(a6Zn&CSZn%F7FD z)4`Vy9aq9?A-aZ=c`$7y^k5mPY->Y=F~@+r9$$WyNsT(-I7$;HrrBW;iJ=r6g@uJblt%Ag_Y$0|COXa5=3i##CX2sBOQ71-KR=UVK;XpU z5`KpF@rb*k`W7UR8WMKCPs{WtO!1#?uHlFf`NZMGz* z7N3^aX7q?bJD*SPr%?stbr-jsWg8AH2hh>{N>2rQj2;eXlH~BSu_XhC%gV_y!xfLu z`JDCW8$jYBkSb@pyNl&&Scr($-ctH}O3` zzKkN%Venxmw)2+R*m<_)o*=ddK|0%uWt5eP2_q*4I$_g;@D5s83W^5=Ab(ce{N@bo5%2+*K2lPpNgt5!kg)r*mO88%Za zS0ESAC&b{&_z)Euz|;xghs;1_Yxwrqbi#qv?TMgW$RR(189IVQq0l>NMNWWM__APu zlu!hd8Am4gMwd*xGE%$p{IFRE}QY|EN$k#TK8waU_VkjqU9QNqpO? zO`MjD{|#g~@3Y(s1>a3CHRcEJZ1lSgG2uI`wUH!!<02#%u=Kalv zf^Xbz2|l=es=taEE0wAstH`@xCG_aKpa(d&RGG}Tbk;-n$=s8xMgrBM7g`HiYNm1o zVrz^`lp|lhfB#-VA?z)UwS}dvr6p*|i|z}Ugce&O&Lxr1X}$3e7as=sEgHT2FR0`_ zGDt$|{lyacR!)vO_IDA8kegKdYqI*aE}hpJ_wFEjZeb^L7M$OzHt+lNSs{IarB;mI z-YJgH|3fdN_~gKRx=^ThWN0S^-gTD6JNQ{m~Jly`I$BvSWisx6z_+uOm( zfT$HZkGfs^_r+3?C*X*K@xD}mJad{cIbgOoZ6x3i6n+dDb{Yyhw|5EdpNfZFY6 z>9$r5{(=_Q*86>W;$wjCATT+E)|~5Sco~yrDx}NPgr@51hRVxxadE|R+w5*{1Gn}# z_B}ZP27AnhPUe3iL!D;Po$f8l221X6{37cVvHNerzw;pQdHBvbv}! zBO{}rprE`wBAWXp&Ar`Yr`6CUy{Hf7WZs6)tU>ee^S%ZUb4NJ(l`E=hYQR8l{~}H> z@%D|Y<8HWD&~r;yT7xgIvmEW8*GwXxejdZz?;205NaN}4DVX`DyRBSCP8hXgR1$@y zmB8myU1jG)jb zj7!`wA@#pr5!i>ZZ$+3g=*^Q3ARb_5$jHo9AYzsDAfkCmw!Q3JN6Y=riClv+2<|JB zJpe8mR4U^S`1z+MV6cwHzOF7Q%EF5+BwCJM#3^KJUtS60wSO>va0PRV8(^R=zuNc< zqKq29&h7p-K_;un$`ZJi+uJ)zxRrBpRi`mNPX8nW7+;It)8I2;-Wo2&@T*Q)ss$oqV%bb7W+suCA_fuEK-c%laS(szE^7Ftgj;yT{NPDcgE?d5*td z+5as=Z;w12Sck*9nE{lRmD3LEKK{J? z9UyF5CtCiCp8>K#YDXf$kV|B3KrKxk`_$GT)&L`IYe%x$ZdJ|otRfc8`gupV%PuS{ ze^qDm#JC$|Pqeppet>`%#^;~6$b5L9NK;f))TL4WJtE|BZswiqUj4p#a+w)-)oAco z$otY0xmK_XA91I}p9rP*4fGG{=;_9BIX+?JRm+rHz1{iGd%r(@m0H=QxYiT!ryBVK zQ!Rm0b6QfGuV3pc6A%&tJ~^*k)RlyXtAcg8{4Yhar>O$C)%@zp5Bp_n1hpq(a%FL< z?tmcyx?&yh=5UwoPcKX%-e13d4G9S;FE8)yl`(~Iwa?$okfWn(>DEWIOGMZoEXH&0zy z(m+TBkCT%#Vzt809ttP@A1KO-N(Uv;$4-2Uac&1d%T0s7J3A|w32h%7jN8=5AR9VE zcPwJ3vj57XlV{k*~JwGwAm>}6&3@`*I9!m3q z+|wzR5Glzj(T@KyhQ>@;Q(Szu0o_rSSwk)}Br&!M`#v`%U6zj_TAxEw<^E{#iCq>o z58I=sPj%+iw5w2TtXBmdy>*qgl+m)aC9qjMKEiXA=x|N<11pGjSleQ+GRl0dJ*DYt zAMj#y7(~X#w(+J;HWUZQ!i6z2k~HEkMrU#@3gKgf#@mdNU&S&VcILp1QX@+x3YSN12?y0E8v zJWDadL;clRW=sj@w&XzJao4>lCFqTLcz~Ri8iPztMus8$df>9MzPy1_IFL$p-X0a~ z2$^r{4tMR`v-=gT;dHhFi~zJI597?R4QOa-mA410fq;$3co@h@+wtSEN!j-%4*AyR z7ht-?Yj=Fla(&?5K$>nj?wPq&QzpDSC8Y(i0u~wb%fy&-Z#)@(I8X}%%fK&Qz|biJ z1LoXlR(m^Dyo+329EhK>x=}bhn=L;Tslgv4o}Jm1k+GR)Y6`rXsicmMKHXucsy<*j zPL&{7b7e%~5)ux9fTSd2InKUkr2Mv?2S77w+8HGJ7%1*|HD~XcHhq%$-*H-Qw|u+j z4DH{f_gLH&larIv(b2hwkDobUgj{>6Hm8hX0#Z>VB_*=6@)lVZ4b04dZ^oKCccyaZ zKCbqq5ul#&g2t|gz0)@rI`Kf`hOA@?Pr%Lc; z#EYptvC?pQ@?`P(A^TGrVFtYPl*g>jL+dk3dc1`PW&9b^&DO!)d;>$;y1ElwIT9ic zbVGJ0tpTvjO>!{2xuLN)P4c>)mAd2tAg)ti4>(KY=|Tz%muU6DZ8qH`cSi0dvubLp zEp|D^($_hSq$>;#vgy4rR&F~(IWoua+if}H9wCuzjn{E-vZiPlH!K}QMm>Fl(a}95 z%}!=#lbHE5L?S`*Om|=L-3i3+=o$NwUTJklXBS{o%^Pk&KN&pTO%4qm=ws7=2WUoJ z5eH-x2mjg5iS24i%zvfERQd?l{$c_D6HQjX@iKQ{7gSTCG@;^%-QC{4zEE+h{m)p< zl#G3u9K>WAKI%KAZ<2e4M@Hlo72|mi%i;sg49uURaDZW%&Pyh@Z}(b6)!mCp#Pr6+ za{`X(1IwjfEWp12#GGq$8?6iLlO-O0dgivaYNc8>@wGi6QeWzxE*(=N5SGC|W;xB& zPqrKT*7`4~wnIKuBNG#$sX5o$)4BXQWsyk!^KyrlKC6tS2(*aT|0LW<$@UXH2M0e6 zZ{Ojob)j%BFgPh?RINwb$G7qQGXHD_ajX?Id=z4}IsRT52{tos<1BW0RH0hCTod@> z#fvp)aY{H-<;rFzdpYU0K2HLu&9XJbtY?zV!`QIa#^|(`~W<0UL09+at15!@n@ef#_O>a z^HdY-9#aPWdMfK4aK;MPc!6OOfF(CvXj;;>6SE<^<8s?NfWw=8?G9~T)P9!_esr`m0d zze|t%{=J|%-bEAKOhb2p?b!}9z&K;4X0GX;*Q#OHf7I`eOB~bdoR}*&Ku=CcmS|R7i!ay)`sYHv~?vd0M%)CJddKjJTPj@gnmAC;^ed& zRKm%f8tmGP+ApuDe6OsoP5kBicQ^>F0d53l=B=EZH|;mBV`phFFuaHf8}V)-5_=rR zT)WrKgEgrP82vq{mC}*(A%7DjA-T_hoq&Mgrq^e6oy=e`cRu3f0S2cZm6e&Ys^=Mm zO>PO^rQiH)`d0LLX4kCWJSLD=P}Hcl_GPkgtE&qwDUnG`V6}FxP$IbO6Y$#?#^{S< zl%ASepXr^v{Cjw=D{2yzeiV(+{X>%<83iP+PS7y`nbyUSAf!rjuOlc2KfH3y#*O0x?C30gf`|s-l znPMOmM}AQo)^g2CdOZUJHF{f$;|142Sgrg zoinj!L?5Q))J>m-n_F6FLiCF5;CAPM6#SXsVb8hGE{{s3q8jR4(#t6*?(^X>Pv*Ht zNH}nAr>Lwf7^_rTYUATNT<9!ew3-TscU4qytqtbgxN&QL_dpW@PkeV+3PN(kQ-R{P z>(?*%u6;-&Hvb+N3Xx(ox5xTj%sq^rHqsDtH-drjs~2Tqyh@dR;T;1F$Uks5KH8u z*(5Yf0&E^w()Gj@wXbingFh#`8ZlC8@+kZk4vs!V4+{q;Syx=#5+%Q5QP}GsL=06x zfxHw|r$E|OyEo$fn7GF$Cw;x$%x+=8Sh8yNKahJ{Bk!%)jrPAT#J4T5VnE1<31Q}E zr}nEG;31qw9C7E8qr_%No*MXApEF#$;;x+gjxJO+M+kssK%H+GOr@+2hD7ISHn&^UmFPUC^l zxURC$L;m}A*b&mC@_8~bRG*JA)`@KR=Hen%3hZWcWmC70{27-kLN0(sVZtH$9`Z)Bjg?- ziB(4N>L2&P+S(FuAKYL32IeY0i`ik|Je4d1dpCh?(n&HXjOTwvLy;FvmCwSfqBr|2(3RSaOvDHo>bc6Lnn7y_O&r~ zO%V_KN0>?kcVw*#T4pApe%GgRsWbZgYQ`W@A~)avpsg~aU6H}k%qqyXS==eI7dlF! zq8Xx(#igXU!2mCk48r4l)^KY~&9>gEs_u1k^DC*S^!51$r^!&=x)l&IS!#l4_Cq!h z0Ru;RR>Vwr5l-%T6hO~GU~jZp=h{TN2FT|FDSuj0u?)=2$?~|oyU!K94}hgWpC2{f z81Hhr32#6FSw~rMSs<4^B@0X3Am8rtT|hmniiL`ofKWusif^NOG1^-HL0#3Gq$PJ1 zCv4>}BB02;k4XB4?haUu^$OTWb!azIBz*?!_yym-xiPyDPCO49H_nq71C39rw;Sv3 zbEAS?^}^t+vBNSl$={o)nlLf0UOmEu!|FL{J3f&eEMBa?+@84q(Ha}Hdfy@`)Lxpg zBdm2YDX2dJJ%|0 zakzbo%+~E!ge^RO&Rw&&O9GrGU(iko_s3HIdz$H|zsZB!*H6)}_}n6!1UZUGl7RT< z$39yM6x`+Uj@+iFkLmb7{epu$l$7+;UJusXoSbquZ;^gi$!CMl`r@3B2>kfw819$2 zOntu{(Ij@l|4B2gMJ5J50|?0a(T$n&&JDrZlf|{qr`7Jjn@q~y6d^{X4|AE>C{rIR zbT$?>(C^!Yl%cD&qB6NP>ceS6v+JkC8bvG)#8_7`u4!!Pmq5dR{=5<@ zGt$-}!BG04EL)`_KKdYZ*`ZvKMqgiXkT_~z_MuIX5e_Tc-a9^%^ZfQ1E9&>JQ{weL zuUw_n1k$@^KSEvB`$LWGwD3{#I^q4-rwHmjB~~~dycWj zVvPk8=KDVH6W4uRzk4%;`hJ-Nm5dCjA=D(=q=c%uLgILFL7fVzDc9O0xG+n~(oNCZ z=hS!s%k`fWRP2MFtQRie=@bgwy}CI+kRmu!YPHye6@Fpl<>*OkB~oW`XNTZP3ehqg z!6UF;2e?rFJqxM3Le4O26Sh_1iHeWVH&D7?k$Qa7z)CVrp=|JCkYg1DbhUf z@3!pRv%rQQfnvGv077|?v1-VWd4o#^|5{Wy$CAsHt*orX#lPewds5we zQlz@zQ+=^4{TjY_(l=uQZ1vd6XAEjVpXxxBj~{}X#^rNoGL^jl&LmGfUXJ|dlgH}o zv5-KC29@pyklwVk>cs1@Nw^(XTdTSo+2`j%u3ow&?%@%fB%V}ayCA2b5vP=1pLwd& z_J1t={GYc$vRHDdf(mP3U?3=nZS_)Kl=bYBdp9ou_kDy4GNi=C41FZlR_5^(z;Ym104XdA4GEc|EI7#;1Sg zy}w)a(_eP;h!N#+CSRQLws-I)VT6*7;QB3JzE6U+gqNTl@{5OWO-ZK~j(wHmB802@ zMX7=L7bokYrN_Ge)~km0)yMk*Np8{!+F;xHNhV`sm36AQ78zme9kEZhDYB1Iq46!m z8#Maec+vX0wFDQx@*JcNeR3-}tr=hz)A4oi(u0Ve-aEj_xv;Q+5%I3d`uUY4?GfGG zF0k&FJy-IK1uP8-U{25d2AQj~^_n?+H0d@H3W{jdt@>dXo#z}^sNxl zuGxJCkLhoIrb(xP!IEg=^rt_HNNxrBP{xf$%-J;>kqqIn{crtuH zv5%76zhBid)Y#GCvN``0z?ZMJk`f z-7*&zJ|B}E!!7Xex_noMj{vf;-oFI*lhoMdZoMN6O53p+dWjR*&*mOLTv zMs0?jUJh=MXkbmM8hH8B#c8fsrZiXQQNW8-`LW&ko+esG_PP0hXP3vqC9y^^Qje@5=3KntQ_^mJrGoM~I}r&>d0}`X_BKX>JV_8jX}M`YWnuAHHk4 zL`&;fdI<~J$IDT@u$G20=?l$JnQp-vOv&yKL2j%&sI*c;Urf4SrCWrA`};UgUAHre zQoo*tRbsU|7c3q5)RW{s*H3y+Y^R5TY03wjWYa$~k~Z*`IN}Ft4nWqZj|j9*(H}S)d7WQd2YXzj}Pt-p>jZZ;gIs6lUQ`zS_ zUaVV@Ajx+Pp&R=}G*>rvg#^Wv^+iNPUeC2RXkIua=@;RjPS-P=pMD}Z3gx3(+459=DkR%p5Gk(((xB;3E-(!4+u|2inIdIU^3r?jW~8$G~u`?dHa zcQ%52VM{i!4=_W`?=mD%_A%Sj-O$AL>Fjq4oO5R;Hnd~9Y+PcpRTQa=-vR*K<~V1{ z4VU664hzd9&-VdDT3&d&3_wfapiB2=KP_W>ECTr-{*V#Uj5x}Vv)HV5|JN_MZb^f+ zptPMnlXp{oSH{_<|2J_q0f+IG`%BmKSq(lNO?O_wACv`i!5;1_r4U6$rQh%J4Okn( zJ-44fzNw5*9vT=J8sdKHdZmuzMNoUJ5`#oX`?qF;Jt01sn7B9sTt~i+#Jg2eL^|Qf zbx9F}C&R*$nTp+9Nrr7p?SZ4+1t-%Kyq40=~NAol-(nDeLH!LzNuS5P6Li4 zoZEIu2`SZU+;0F$w@80%y*hV>V%_?YWIs$=bK}}Or8W586Ztli2m>Ve# zb%r_G5FDIyQpIz82BrW;T=*Uc*q!6|O_Tj&Dp#*xH#jyk^P}M2II>9}86Ku^o?ZuG z*wPcQONYhiohX<0h55N;oEr>UO(GOzRm(mlA4vyk@sL?Bb)W3JV`B~8%{t+vVowoa z=w7$$seX@V*_qI!O-hT0!t<^gYFyST{JWlFMpXgageDB5M?2y7$t};4@F?i5Vxc8SqNiS?RC@5XGEIO_4r;eiRSCdHV z>KBi%^FCdsMsdzY9|QJ7F6|Dxb9|0}3}nMG8hA|hu8;kGc7K}*4dihk%#{(iFg`v% zIccBt^K01h(g5>j(jO?pN$J+z6%?#~`ErC&g+tV74U;jMFrImlnXwtl_<%P*FYn|2 zL2)Z2*ESa^q{=sj<3jPqpPQaOn4}{dO>?@f z5U@xnJW5MT+gumdC5mwK(jboI?2HPDjyBdcq`meAN#7{Sg89ZOqf_2x+X|2pcl@ka z+Fqtv$yA0YB1T&$@I2M#Kro1y{XMg>yZZ;!y$B9{6qL89sc2~fL$KWhx7Z0T6X<#d zoc(SG9wl)}pUUswR1_7{4s?|y!ZMT?LZ9Z&5Lw$y)~%!G+Iy9SN6@GIbCp*+nRoPM zO)o@c{qNZ7$@Q%~XC3(}p~wLAVu=@@rnq*S!kC|G<_KqxIu)f9nv=J_r$3GEd!WX320u!anSJCz~tG#3kH@FDHbR zpGtQQ&~)j6Vc^NEc36dl9!{M3r`Vs$hQy`opDCTpWFG`GF~fzcrzj6KxT#dwcP@7_!=+M!BRD zzWUEN2!tcbCZ|wJ@5ZjM!M}0ixRB9ds(oY3nNc^haS%C{(WgR2QPa1U zel$6G|HM9*J}4vvxuaB2U_Gl)sy}6qLPvAxU)pMhM!LifZR%kMLfYErnK2O{TBm;^ zKvJka|2&ryJ$pTt@VuTDYHG0*nZ`&C=bna!ZAgo0;`5vZKtwwO!yIGeR0XjQXHtxb zrog6vmfIVC0(Rr&-m{F<#j^!4#pvnl>W;-u{bK$osDd_^I0X$s&4&ReelLp&GXw;< zdvy-9x7-g&`OYJ~F7L}27|@iLr?79AxM&4g;lU$_BEIv zjD0o*CF&wp4Z&}1>Wc})kB??8q8a(@tRfxbT%FJXmEKb>LXGWIJr%_qq4|`~&e(ZA z-sQ3`y&mZO1uT&IT2nn$|3ME~+Uz{pwgWyGY#sWp0_{8xlD=7$G<*z72BW6e`YmZi zOJ+kUbosfTF@!SL{yY~KRr^RX^4GYFH>eoE25S%2pC|t0NB%H9)7QJZaL%$-4Al1D zzaLKxzTw2o9rCC2A$eVk{czZ-3c3g#9+6tAV7u+V2moSHzeyM1ie@YKP!L-%Ihx0O zJ}j<>s-%x@doO5xc=3>io*rBsT3GbnjZ;99DLDe84~u7v?mS)`-sZL74J#u&%+%rf z2$Q67eKWaAKf0#z|{-p4s>+S%j*O35DH61~i0zvT>HM|2gcyXfl9 zK^~8c(-FxMQ<78oepFxtXm+EDF0@h7Z>SoZ#a(_53@AU+w&Zs#3?Gp_vj3l{L1;$R zlHI*89kfS^ZhdLGH+Bluoe~ofaj>o>Djmb89WFDp zGPs4?t99o?eA?dugq4Q{(CVYRe6+NeS9{|;I_W{8oM+}9@dDVAc(5G5zy+t-ez4!e zYZ&JodbYe3LaOcn^pwEJh>^|WTMtmBC3e4(a}N*hYn6!qxJXcdhadF)_B@$3Z(huD z>b;Y&N`Xub|H{aKkfb90qlTyC#==%sx3+F`b8+GmGi9{Xq$!B2jx;C&m8^qtyr*eu zE-dBY^MAE~juSG62^H|7Tj`h#{&Zdp@ioZb2g0NOrzJ#+CnWSkgMy&xMskuG%!YV? z>km$4MZwH-aoy~SpWn=kHrO8kuj6(2;jlfb7Q$74bAr=EXkmxc;=P_=@*5W4`oMtP z-`9hj#gM-%jq#m4z>nl3tv1Tey}#HujC{blvAv#T4_z%Kd>grPWOgie*jL^q!YM{<%q2yNNr0qt`ZYCMpa;ZBm{ z)J8d3-ZO?Fj*v7nyJuL^pEhgDdj`wZFH>Lr)YcErpiX97G5;;|$`GJiYAsJFay(#+ z$X8SmcqXQ=57WaIrJ)a5)2nB{u1#XKeYzYMN9x~bYe|a`rvppC)>C{0J>fvr;CC!W z5F?RtMK(TH{G`iVe(E4gR*A5&Fq(-mwv#WqrsjP`)y~SqcJiK8gU;Q{d~Mt@vMqxT zQ93}b_b)Uau{<6gkRt78e%4`WYg_kc{f3@$<>7yipD+2O zoR5XY0n8T3VI~G1+7wC<*=Mz0|+b=vr6`? zCwW@HYdUAU6+_tP@j1@FZB4tO^2mtWb`6P3?)cGR@DnpK8+w`>x^P-;6yDXBr5Qh3hQ_~)J z3g8g;L(K0A=Apnse5)w^-UtSH@VELjCbF_>UVeI3k9t!>>EU(o3MF@5@~Bx_dcQA; znw->(G>8wgU&Z`btnc`(+tVPI_sJrDP|WZ>WQk-=X$k!nR947Qy-W?N0^5vicnA+y++8%DXAs*>ZMMNwUw`!l1Mq=_;4Ey+Z72K!nt*>V$%_B z6!5a%dLloTsT|Q8XlPs`x~Wn*0IM)f$X_D6)R+~{d5_^(N3^Q8>zkk;+i2F2MFop8 za_E`X*!K@-iFJqLYJWFymWr<}i0O#X7!qXH;I`k;Vet^((p|~vHHeNH)7(wV!lw`U}baeJZ@q~WF z0&B^CvLUXI1Y)9eE2Fl051b$1sy|4ca1>g8LlHsRhAaU-et#zZmdQUT_Gz05v2}C95@Ndyk{Gt*j9Lk^YTSbaZQ45IAo#DE1#?0GGAsNQ#|!DxQe7Q zd-9iSWvBk2p(}|`iq_6lO6a`cu`6;7fp66xd}=b$-}eIr_i4D>z7IGJ zB_zaeUOI0@F8_$0SYUAiZEKKUl9&j6B)%EH_$$^TCr(8TYJHaX4TdKTEM;ir&K6>vPjZsK`-^%XNCz5au2U}@+!j?Oey{8 zy9@B$0$yIkFucRRYbbbTnA|?N75t;$m{AMM=-YEm%;a?{wqcD|LR3~HAudTeC1Diy zYxlwSER*&i3_FjlgaAtRa%u4Sx7OB7O-+%h3My6jg{ROOfyUDoLCKBvEaRf5bp=oW z$k%Oo7?R^)-Ybh2O3@l#9bY%J)wAMxmWn?T$rP4RQZhK&?&q!Z*7G3Hy9Ua5@H1{0 zi-W69oZMm%4PO1J+X2*XA4ruoXvJ!)sj2xYG(%L!P2=1(Q^{`r z^{H_2_F7y>#sG`q4CW2t#V+Dh+oLE+)^Ps(dC!>2se@;F&x#@fBdmnd6u{Se znl8MCsr3lpJ_OS;QlNupk_+ui*T<7;4ukY<^igAa<$ltoX zP;8p97!;4|5IlX$XZX}JJJ;;WY9=*3#OtvT11>nKNWCqzlpd(%0{l|t zX%3Iy_lzTX9i>6?zP9(QZ~d;4xI zx5C})df!D_^70fGdK6g|wQtSP_=Zzm)wARxk2&d3dPM>6fQ1}Al{y=Uo+5AatDc8> zb89PHv+sSXdEFm)+=iojNPItaFg|`9dyeznVm zKsA=J|7GM?@{bfsLl_)-N<4g(si~hDr(i`w7_gAwAU!`nj|ZE3uy|(o!hG^+I18C` znzq9Xl>phQioM@s^)Gjar;M-N3+bT$ofXVlor(j) z;21h(4ZtG8B{6mwKD?6Yak|mQn5iz%w6p-R2OQ{7Ng_tt;~*b(X42lgu;7>Zn9&CI zfuEmqW%gMrT*G^Ud8Gf|X86K&s1rBaZs$`OiP#gKLF-1FYG*agzWa5W-VUn{RsH=k z5PE$`h2dT4DVDeZ`_LYtteB*fzUNq>lulrsc0}A}xS(tWn)0&p+S&(@(=juGqNTAkTWB(4b})@LP*8Vz2I}ia zMrvQf?DO9`ns!?<&h|fB7LyiF+=fIcG#NF~*Kf+o7Gxb8e_{tvojISGXZz;Bp_5L^SA7C;P{5l1NSmlf>tDc?*9XA-&eJV zJ=2SLf9tu-N&J}FPrZqgSx9Qxf@2#S+YS060%x^2e{&}P^+PtknMB~@^V^*A z@uO>JWKGKdgU28Jv+UGu57=r{7X-<}D&JmX_xza8n!vWZyYIAF9S^8^mF)B(pYS%W zE<>g0s9<3y35ecPaH0%C%ZA8S5Si96&Y>wW9tls+A+rDu9+4&2>`h)tOpnoAII=z{ z6@g;ba5JWG773mAfHi|@7^+ejR$AJ)doeI7O10v^x_6M3|Hx$G07iF`T#oTFqbD2V zwBH8^$3T~8XYbLlN-K23{JdbHGfW6=6Riu(8NtXgUDVk=16D*7AZqebiy$PwI7Ry1 zuY(Z03~pG@SOiGxwH!-S7o0*pQ+tKapT8gQ=c|iii%cj}{OVg+U7(@wzogMZZvr*+ z$~ArMaCy0`=ym&KL~Xc?pkM{a{}19`Y}VzafJxrruQ}U%c=vMypR?a{O}mq`1b`Y~ zMlDpTu~(-3&)q*Sz00@$R||knph7wYxw;+Dl?R;c;q9LUKYaL*5MQERWa_s+4z&*D z+L7h}gz`eRs))UTzW&9n9gDEDxcC_8xBX0U%503=@2r=3y~P%~3qorr#A1h_H6gZF z`M-{A*gZ+fzf(e-Eamc}J?|PYpD1{W_<8B`@A7x#28Ql6T5Y%Lhe@)5lTwStJ%{(1 z*GSH4_K3cIT90jCBuKKcW__8eEr^TkJZCBKcxw!DUaPpUQMeW~*)Gc6f4~Z+r7mvl zz8`8XE873Hb+U*i_3<7dl=ST^Jei5?qj0b6cXaeX)!ET;iI6r_Dw4&j zrmiUnDBof&u2r%75ndi%%(cI?j{Ks7s1v{rEAhbFAYzHrX|j?xCS0>B`cQ5H#@&h)MiEt5UN_D~dfe zq~s!Fw!}U;pvqC*xiC~*#8hNts^PcUC&VxI1^fOf<%NsLQSkI=hZH<_@aFw4)9+5T zySLXXlwWDK+F0MrIQ}iOJGQdq%iZE~P#&3o-SC-9F2cgf^un9k>}_vv@59Bm0$K2c zkBJWr4u;7uC;Kj@bvR5WQuolVqEI?ZtS*1Mf408gzOtXSxjsb&Wz104v^V@+$43bZ zah-Zya*Pl$isB=)nB09yN;(9@mrtx~cn}liE-i|zH1*q-pwyCHn2R8~%8PtG-q%s< z`^I6bN^5W7M(ep@7+=ZUxLIF02z*Eao2?018T+`D1ot1dRSpqj22I$OvM6uBS&tkKsvW zfARMY4rf=XV}(f}Yj37;prie3%S`JNIzhd;pBHbW(Cv=h2b?sfv8OhPJx+WAE?~rQ4OdhbUvhfG%xe1(gpOPyRsD2=G(0c`%+wv^HqoJ z>by|7%%mX060jK0C$BxW62Xf-iY5I%N=nqI6H8f{kJ+$d>B-r;pJoY=E9ZAVu{#pK z(>++diw7Tnui-s`I9=po?}M)9JX5h^`-a6Z1AIg7{q4oor6tG7x*WhjhR@2gZ)5D< z+>T)PMwtkYA^MwgesxjkTU&>S5swgzW$Lg)Xzo9hCY!wt%I-snPzGn=zYwF_D1D~^O;^C1qMTY1~Hv)K3Q6Xq&k)n-x@8uM%_7(`k z_Y**JdQ5$66KnPVRcsdM?#xF$<7YeTJTR)j;;E6Ur{BJbJ1i@v@H$D3Rqq?!cn@)e zVE^FhMxBMay3CG|8BTe30~e^4t*wnmi|Jd$x7>+9Ylg~)t0zF!-ht<~_fEEGOC=*y za(ZI;r}mJ0*w?$yl$Rg~NZ+!Xuel^Ykv06I#i*UAOKXBS@s=sceIu``DqLRgCoK&< zvD0(KX@ccm6`I|0`n)jF`+O2gbb%>Vv(_;$Pf$Ebswp(dDc*=$i17s(Xl8T@#~i_8wP7r zYG!CdpXyz@ooUHWdJ&Fc`cqwwwd2@jq@G_)1@XYFNUV8R?*_S$#9*#&v?H8*Pg^Lu zCv>~usu^fz9{63ua{Vtd{jrVhy|{@CPSuJ;3Xvj-=LE1+BCm>lo>T5Fmu78Td|6dx z+nwUb_a+BvvqZMdK8k9qw_CIhddmFn&T6x<)c+W%kK#&Co!iZ1S4+$NG2a}V`G!4; z-zMY$$Z?-8US4E^V*yZ$_Jg5w@g{iHL1o+N{jplFd9->Ay}X#W#7MoN4Le4Tb~+A^ z$^FITu!Uk?EGBGC^SU`bX9QAo&0b|Og|eKkyNkd$GOiXH=G3&Bx`&fmCMLgQ8rU|9 zAfVua1bNY&L2G2}J%2vFkzMz8&uBL%mu2O`Z9;L5(jv#hCf5Bf(4mb72mkW!Wkh+= z0|S`$4NXt7&o$Q9Z*?}NgtfbL#!i7v;0UB>DXK(MbMp#l-f_*w&)`SGSv_p2193~< zVOj+XFDVt7TxXgd;)WQi)Bcr?G9K~J7> za8B@4`5*Px^r`zb<$(TqkTkL+3t}|KaMV0@gN0`usPR+xq4wfO@)E*;>Tf2g1p2#2E{^gKlAbunSl56@b*F; z7owhUEuVzmh%&HgX?a=y*-GJ01reZ}$Rm>cg~!()YF?JHA^4$`si5CWl2i8q1zXbe zjEux@TU5au=JTdXB9FSC@)>1l-M;@ccn%>Hyhtju+>4^hx$a$W;2RD=y?myyOkXKs zVGpJBq(0#E(b9tcL_?zm>IT^ZqpX-Up{kT0^H^yQ*~__hZm1bwxFJre`}o zD2a?i5&|11V5?2DGVUn5fhCm{RPwO;Bm>MSS#EA6?r$u+1vB*41^JK_>F7$lt>9p~T6GQxwT@%}yRlku)x*+%s=byf$EK;0xbCPt?G z00>%wf`X7E&%5beZ@E1=HTCS7(9z+cUSM5a9qp?uS&z*i6gbUPq9Ex=M@uXJ_@)X{ z0II0;X++CC{r&yT%{1KH5e4}_f2Q78eyOTTfAvBS%`L?jhH3e6adAPwcb3#Qa0f6G zc=Yq#NLQvzpD!xHx{{CZT?oO9$5{G*y4MPb{w-Z>p}SmjYk8h-KfNrq+R_Q{Jjt zY_5H{yZ%6A6e^5q3N*O*B$m*Rdd%e{%KF`4O(VI(`;KT{xDD0S)i)kVjtkMknOMZ{ z4lyaI#6i*}$YhCg4iy+Bu-Pp3`HBPJW^aF=i;L@cqlNMF=g&O_xD<|0n3%q8&j2B5 zbrq^*N1dV+Gt<*}rCPhZJHwzXNEszqlLLy=pa1x+=e;|rQEe84tzle2R5KNS6M-co?1~{Mn*+`v*hAiXUZmO zFt6YE|Z#x@7D>O&j2Aq9e+cs*Nu)~&C9Oe9mnfEyke4s|TE>`-^$+yA*c5cRJX zFnt!qtvhQs9Vbf2@H$Utnek1b$-?x4u*{L;(d@}8y%shwAZlpOFS2Ji7!3M29h~gX zPZ6lQZ27_+KA7o`X-kV){8?C7xZ0cE|BX^YI+Ekw_0MpCfGPAf-DtUkjg{i9m_~Sp zWcZIPS4Yd!a%0-d^7FT#38eM%U{bFEn2OX*|?ctol^B#WOwdBZ81#@C}d`40C=(njvYM0koXD`i$Idk zm~--Oq0yy5_I7ojt|=)gDddKR65h(XfvoaiLP`S$8YX3XdoEVVhu2?5_4GgmB_9zL z5b)Ib(3VC_Dqhu}l)b&)wQ&jpg>n;s1s&v}r1bFfW=mAES{;q*lOxqjQ8-C`nUIPN zI%HN>7KE;Vq&9_jb106QL7?~D; zML`Y_lIayN!v#{wB>SCcw}im_)fUOg%t*D<8pbRvENnAk6Oe zTZn_Xw>cYnHCS5SB!XS=4|#@Ad1uJGEJNRtKY#up3x?P5RK9=k_Lg}2_U^4&6nJ>g zy!vy~NGMoVV=%HA>8av#MjPOO=GerWLEg52di&01L_%m15E#g8(DQikYqM-E1ngml z2TK(D@j2cZw!|~gEN`O0H+Fw#c}UcdS};A8jq6<8RrPC_F)lFVVUv!zwph#GGFdB2 zl8ZgnV=&8`lTzvQJV1ay!G#eY6N~9Z{(J1q9F4eMr6HkH@N(7s6Yil#momB7ykKAY< zd-aio=FwB?^&6ZW{5bT0QqLcT8tfM+Tn^3P^5^HKrv4roi7F76l8R!|{sM$C#m9k7 z;I&SD!pg_a9vW>tR>8~1r}nN2|3siI8NyVG-O)yv%Lb^oY-&se6bhejT`n53wIMj+ zKfW()y;5^I?4(Lv3@266_&t74JSkpq;sPSd`XufMc0SSefJxb!VIRv*=Ckj!Ol0i> zd(`}KXG7#ChHIJu9K7^xk!_bRT?Q6YvShSD>%#3`C$!0%!=ppx8xuHekaQ>KwYOAI z2zq{hp(jmVUtb>rjWB^_;u8?0thgXZNl3(_jv6K|6~&Rwm%$+v_{wA_!!$qKNKvll z;LCm_`F(tG(P1vi#@^NzP~__7#VQZ4U&IG`@Tcf9Je4YL`IVVYuzktCsVXKRV_{}(H@l!qaEI$E zDTSf*Ob>hIyMdI|vT|f|7piAL9^7-xG4?v>J}Kfb;*15;1Ug#>2T@T``I7kf$-*(` zmfyc)rH>wn`uULahIh=J9PNz3)`EtS5n@F_6u?4*p>OmWl7rBOFW`lNp&rbA3_or(Q_O}+cctF59&=tg>17lSWu8{-N)B^?8b8JLyLQ_z3$L9u`a5Uz zj%9V}=hu3TJVh_)GBGo|s2;SuO0U$UH{9#$Fv>70+GLjDZ=uxbu(R%uR#n+w>{V}i z_iLboZ*FNiGCZWjVRc2DmXEpAe!C@`AI#gM%v%)>tHm91n#B$sS^cAq!K`GyB5-bb zDJQo9mm7AGa^WS=i{N~|a(eGE3}Yx~L9&!rF}-*A_obf3O8xF+SdoB4E8f`HNJUB6 z+t(-8$j^HOr$rz_(t1|0zyJWykwP?)4CU~ zkn`Arrz}afrHSzT=$SifxhKa&UkZKD;T!M+{yNQWs`}I-vp*DqU+Ic;`O{QA;ahJ6{=p#LDL(D)pA&L_z%~f85w21co?s!;4|a_^xI#* z;#rK+r=E(NR-aShIIn%2;)HO@ZxF!E!p^%$ztzU9AYoWMShRLNizhSbs0#r&Iv(4# zakX-LC}k?Yd1JHCrQP(65+V!=5P{0g$%zvoAqY#4A$9p6!K}wc=oh2$U;PKA5DGh# z$)EqqFFufT`u9b4+iFO@lCR%LMj}812j5KqaK1%EXUMd8uwzPG^CYRRUR+2+q)%MV z&gyy^rIetW zf?QfE?-{qdAg1#3tEVZLUn3nhy#i*nc09tt2Xybt z6o-8nX;BmPV<3gt@H4^?IU?UelY4P2FPUh;ss8FrIt3IHLF zsB_CF&%%cLtrFe>|LcB$Gx?=v{SoYkr{8aU?SJ{*7}!B3^r~O5%p^zNz5W?Q7@@e> z23ZLZhs2X6yYl+Fy1qqYcFzAcL;U-jv9NR|bgbWcPF%I*ijw`)JeCb!L7fYRv6T5< zjZ-fJZE<>pAiVkymqzt8N9~oAnn~AGA{!E#DEESlw>Hu#VM*nXD9>f{mg2-rV7>Aj zt2nW$Quf-!nYd4^k$YS763Nl=Lt-!Gp(UauU5-X!diWP1x3AK!Hw?M(OK%q$oc=AD zjU1V030bNTr2RPdCmp;qnk15^bTq6}Jq*iOT1j;uErCsA$C@;9=3uyRo+Z>}-b?q! zwu_TH{sU1S=J$iIGPK_a{}BIm#rZ%%x~76F;!i0qzWqC80e`cM+TziHBHP3M$_o2w z98&3Mmp`=cFBtyrWvOhR{pz@x(j9T~O7)v|YtB#ed0u_zou`cbds!$Pn-}h=xNlEM z=OkLpeL2qrJe>4PNmx~v9NAxDlb3(FTWb-`7w~|pq9T+v07unZsmx%k%{*l$P+d(Q zsg%Td@o5C%Yi@gdyZ7fSq@lRtI`rJw*bithqX;*F@#W=OtZ_E^*RP>@gRv~whX^Rb zF&6`cxzJT@QKMz9_8t#B`J-%2^Yts#3ri^r82X13$0s|>rfV};5lJs;T~2nhHV$vn z;`$@!y;L1bm0u5pzH8JzEH8gNwX||;XB1s|BkP#=b)$KCZuL4I*?h0|E-QQ9k#5fy zPcZPgvZeaSc{Ob~uW{Xw!?O0Q<$D{SqCm{Y7N}i^3pR{gSD!=W zg=6nHy-*!&eTQf^q$#r0TsFKmXX8A%M7mXln{%yJcerR{xbCb$Qiin7{@Bm}eclfa zvS}*4*ZiZz&$gibE4iiw_YdW<+1w$b;WOxL;e&Dm^6Ddsz0JuHM&n|9s>lB| zgSx)?h?ypg6CWSFhrdGQu*6G*|FyiDsrxta;?3#({_EQ=^m#wY4}bqk?X)oFN_9|H z+bHl~*~BB`I1X0T{EQ!JXW1r^QyPkIw}ei8*}bX4(~ z{NPtij7thlNu#POrrV$2wKW_XzN-*XkwUZXm%Ivn*ZE8S&)5C*`7@orCdFxXHXATE z_X~awBl*3vsL;&|pI3PGE20dsO0RTtKhF$O7vonAiAa@u!TVv~!J7P?J)bwzu~Lr` zhrQO-@SK&Ec(jPSP@KAuBvet%}U?H{$s(DihLWkS&k6 zm)Ce*{20%5zO}4EMeMV0Zo0b7>52x!23|-=>w~p5-~m6sj08%j!Yt>51l6|Vx@#Uw zV`XE}ME5IYZfi{)(~V0Mrej`IE)GtM4$mHy+sVGyFLc?;3rgVM6Y=%CvyNx@KHc%Y z=p*vOM@LIamBw1AjAp;F1f?FFt>_x#`Hi$O=?oX&MS=1!jf>1?&Xo?giJ7N+lZN=q z0{!~wV|NzlS53nj``Z_7RvpTz$^x9NhejDGn63y3kVQ_-9od!hsY*BJsMB0xRJ8~e zxVyrv#eS|_<;m;HQG5i%={^sc0thy9>k)?Njanxcsed1Y4 z=f&*GFZM_J`WjZO^V6p{?VX}Cqgr#@Vf;S&uviQ?4ablw8<+o+R^i>fd6|Ew z{`;SeU`^Nx+hkL}o6$X3?ay#>6j(}oiGk$u!447stcTQ@xLy0L(CNC)0##35t48^; z9_6haKLSQ_b&Ii5m(uep4%@`=47I4Rw(s%tbC)iwc1z5T57=$I@sey|nchc9bd4o_ z&R#urz5czKSoj#ijO(H}Z+Y62t(#WNHYlF?2FmUZ<0J;7RR$Z&%Ecs{HXEejp&?1| z;bw?Ufzy-W0je+d`DsHYOD)_!M;X3)il&tgXQd@2d3L3wgf&9rx`kB;a->7a3aKOeM<1o!>repoF(uZ_-PeE7y8*S!no z`U~wHkGh;jjW+L)Qkj$#E`;kupYZB*4-MyCk!n9Q?9_a9i$rq2CJPlI)Gfx_|r zY9h1JH!_Fa#sL>cE~U)WYsWV8gcezh|J-Nzmp}q$Lpoma;b0U!9FFsxYWfjbEH3jQ zTloG4?(mKq=QGyLs15$4jE$PCq#g&cUKDwcL$l|3Cuw6_W|n;oExv9Wtk9QY z{^QQANP1p_zH9}$nLiyt7kr&RF{O!Gz}m}Ax<7%r0e7d=X49h5 zjH<5sLE=tb;rmFZ9jBu|0WmR^C*_sJnod-VkINjHxQ$`HxxCP-r*H|y_o^poZ0it* zu+lgqC+OFYsmk`GhHh2VJaMzOz38ynYRz|ilb!g4Pi0!kZ^kRN$Yn`uyd+Dt8f;Vy z&)Q3Wy0hLIZWjlenk8=SI9WOk`bnJrn!|6tr3POHo4>c2pwGvrUG^iLGB2y~96o4I zle&zXio#|2ZsYV{iy;=tsr69m?fA18r2F-*Uu7A8__b^pB{=uxjVF&`Z=tI{XW!kX zxIw}Yr%0QRU@g_|$t5q`vG7F*^3K4rRUcwKvq!y0Et;yKUHth$jH*Ss{xvxn6S+Pm zIsae!J!fEm#%7IOE)7)`^L`rDRMV7x8DL~_6&mE~0%T|vma|^%uI>(|R{Goc5v}6K z9iysM>}K0$Se1{0dqzflZ>I{F=@!+#eb(q&?Q`*p)^Ar0Eq5clhPOqx`zPdRWMh+( zR#sLv_!f-po_#9_O}sw7mOLCk2cu58NtTNMPZ5_%-~y=HN(`@kfDL)(E{gA4aV2 zdT%{b#8sE4yy3UcqJO8g4S@)kK0p=2u;FKSc3UJQC4c1Qf#iPr^%75{{BW&7B_TV= zWV^-QnmPJSLQRCC?vfgopswDUXGG3-COtLjY!J4aQ>$Qb-j8fBdh(=ZlZp|I#xtr6 z;b7)Fn*SFCKOi3Qm-kZ2a8 zTxTJ%nG_v=a#G^l>`ZctfX%8CXiaNDE6c|f%nuq;KAsOh(=PKIb72t#p}rnI^tgwP ztVW3onYY1iji;E4!^LlU=s^1-JLvRyz!x`;(Uj!POiab0#W4+LKb-nf`lCpsyiz2Z zhUMGWf_4kceq22*Y7SwU)|%$tpA9a3W4ufK4xg!>N+)S`iK_^34jX^h^dG4;9vACv zALuLf-=)%Ve$*TE!OayKnLuJ|(n}{U*@zbpvT=A|i0cWdsoANY@?szpAkEy)%%suv z{SBPa-vyr_QQ)su32VrV>ojS5+LTr&kFMfUWW_}h%rtEu+1j$ZAzq&EeZ(3jDY^_y zF1#m3QLx2qQW>On#IK?r6e@Z;?W)URI3wWMf6w%8+RUK4*n^4~9IG4_J_w9)f>zv$ zX4?g=%SZ03Q~n!kX|=!FlP*v$>mpWK^(FS{?x_k(BKg`uIZncK3huBOJsFpC@ibmm z3UiDm7qgxoOd-|0a^$Ab6c8IWt9L0ANC4lES-{RF;(7Q8)3uM;K1!#+zi=^=D%1Fh zuVjWuP2W|3PjP&0gor8(xzK#ptkCk{0p7mme3oi*!j`N`%xwO!vO`#MA*Vk*;FQ2uzp9kJS=aKM)P*$|#*dMmkVUB)qV~viY32hn$*WGVO7qGQ0 zapgPrVu`Zkd7`Zms4a+8mG$$TgB(P`(N&$^f4Ym0!mkkfZ92Ywv+PuBNcHi-d1BGV z06FP*&XaC2r@gtpDBq^mJa+MMVijCs-|Yt?q%U_dbpB(o9tkHdge4lU6`?o)u|mF z?lXH5b3VA5h7jeB@m%nxI5N(r?eH%YGNTJhu)-D55KzGg)Ce=RoV(FKJ)WZ|3WNWtW=pjjSuT z^G+enWqQii z)-T}50L&8+I3S&ubrU@Vat zSn5LT_;K5~A7%@wKYoTJ;DvyVn)0$VmMD7#Ws+c0DX^J<1+g1l!jp&KFf$OUiD`kv~7N#`_U@0hGKmfUmMmVIB_;G zGOw^CguF~V$D`BW+?93Mh9dTK^ixmn0ZEl#=zV{BKEs(`*3f%1Gh7!--LqS+GfE>b z$#6vgs08uQq7b`QDescuY!MIl%U ze!m@vm{8c^mXA-JljUmXZk79lJv2GX42#f#bAFr>%qxnzYMS7L_M;oF_4V9GLJEF- z57d2%HXAf>vYN@&VM}=R zwY>G~EKVUV9hR)2zC9EKg z7)YJ5+ie;x4+MqY=jcFzHi$m`DBa7;S^Cwu{81Md+CEW<!ni5fkgUKc6KP;7O|?m)c)!ZCEc}!iD+X;3F~k)6TGBEL04VFQ^#=S z+Li;es04jXvOW9-WfjXsL$QHwPEclLqbg(yz*>TB)jsY&l|IW4_qEzB|yL1KW1@SL*Fm``I4D^iBd)8oh)nd z*2M92W^QRZ*|V(ltoN-$X%SQenRK*We(rA+!-tQK=%(5``0AveX~D%d;t7D{)A_kZB_&cX_w7t+#>tB->k``QTqlGM~*VtCaH#n`so+-&Kc@pX|h`3e;qEHy!w}kuUA98Ht|53 zLcRV7M$?s=wo>KuUygZ4|RW^ z`1e)ofB8C&07pGEskD@h zoSd73#+SYq^cb+QvjWn~L>`x`(Li9&Ndy&B^qPR^?xcSbDi$SBZp}#*GD+Auud57x3g9o)|>&yoDqZat|DHOPm_QW;f%?wuR6TXLrx@>P6 z(bI2XX7m_#_RDYCzW+0D!FT_>1F{YH*pVJB$pR? zv9X(b*fSZb-72$k6j{?iG9Kk*XFtP!b4*2DT^+^%DBJxqAw!ct3PutMv~&4>Uesn~ z6*>oL0EG^U)0l{eCx7jp9_P3>G-|rl>3eY`vMJ$o z_g9U3@_CXte&lfv9-=VFVRwv64 zC)rBxD_r`k{DZ!Hp&Why7--wmH909MTuz6t%|AeQ%KGCtor9zJ;W05W%o)-xZ$(0a ztJ5NI!COpb{o##@3b@J{Qqb`{1iywh;+EI(CY<&8^SS-B1DzHrG8*t$8B!$RDQOjR z3W|%9i)`0nOqPAld_NJq3ks)U)Sfdl>X~+C^Xa|e`Sz9s>~6AyU%sljQ|Z0AAm;&% z4-C@N^}W4?3JMFiBNnJ7;r%f8VaD)YOkv^v zXVjgYOFie^L23~AYAuvnPQJHao;fGkA1Nv+nk_dX9A2K-DE~9($R7T^j?$NwVZmu$ zDPg-*p$tf?5GQlbJW;Ezs`-$(#>1Gwpr+ZhGH>Y&9vlYgp5)%Iu;1}JoYBs z4I3*8l0NzL>5>Wqka___xWL)of|iD+hVQIVz{}^QOAn84Ol#9yYO1EuA$cfNO?7e% zbOYZt_>r0E>-X*5Xdl@ynWrUI5+kVRAImHPl)$(o(2u0~zyMITdl+(a2*@ldS+TIN z+6D&Yn)q+A+S*!0Yj}GDf-v|AN=hqhP)ql4rMSrcF|T%be0=RL6{>1EdM=kW)=9Ab z-bpZEy8z9?q403Ojt5+zxipFhJO!x7f?t0^2sPYTy^r(8;?*m*k^cU)rdCZKKp6$S ze>k>3V+U5Fr6z>sLc_zKGcsD33nUIA%?ACVFGU}B zVpgBa5^!kBF*5^!ubDwf0>PfZ*k>Fctxk^zlg z?6>9=-^;%p0TRub-qc(aR20GItE=m(%F3Z%f3_Jgh>kSmxK4|eRXeZXaqLx3ar3yk zN=VR3=P}$4`wAB7vflo#Q`>Gxirr;#N%hZfWxnArUC%{QyVuH^DVw=UEuM~QcUPic z#=(ZO^Uc)Q02wY%z0NoEejdj8y?bTmGh{R|F{+dHo5^J}b@r_%U70|~P{R$+pH+X; zVPN>|;nVRz5)S1nO@nj-^D~vA6(=XB0|V#7U0#|1_e4~m#wV{=c?N8uUzY$SBa{G? z1{;isSl?j-Vt-HTXDx=;Z9#8{M|lmvzSCOB$!I+t_tzkOX}OC+DwWYYG(LVb+1%Nb zgPRw@`mPQCokwPMuGja^uUeat@d!BRFBszp*WKp%Pn6Ic!@=jr{}zn zoI!9$u&8dE|B4cWX0^*&b*1-tqJZEjb8Cw*;9I%Cmqr5vdzhGHDEu5pPUM}OCOZ4@ znGM{g3glLXhQh2;88`KQv_Sw@DgfQku$0x0z?Q{@o`?m1IwO#l>Ei3Pkc~c-?dM@wK#C}8eMwHl6~9RgVsFhPq%GtY!rs&QG2oG!iHuB=z~!ueQA!%cfasZ- z@q~S}-gs?%2&6iD;l~?{n(jrPXPBs|FUr*U!rpNjMYb@I3Z_Q2G`EHd0@m(cdQLvXO*>@Qgsc+^sX-J6?r52|Mi=FC6_U5zPE}#f!WynIc61Z+_%=7@_+xQ!P;AnLC5^}jePD}7N>Pj;rCo&Yx|EG)nu z9TeIA<^{|kJhZ=Q`Tudb>eX(b508yuFXWHX<#jGweeSur6@zWuKnxke}_M8pR6K5`}WWNasSCcdPah-U?K%GUf^h_6gP8Ad)S_4VQ zIh5SWyzPa78+Wk3U3q*FVbB}9K2t-D05YtR44P*(IXT3`e?`V~?F=57)E&5A8um<` z@lHDhza4m`>2h||z=&7v0ROpm3%y#jRJqA4K>x~hPWtZMFYR*aoE%k##>PT#KhM@V zuK-J-&gHIJWggac3q`x+r8KR&eVxe35=@!T94;oEz;$+~B9U5}=$Yr1t2=z}Y66{H zM3_y@9km12-qCS*xc8boyrVLC@aR5U;!jO<;sFl8UXc@~NXNnzLA| zQ$XQl?z#C^%rGq}Z@Gv#;5R3wCMG4#FHCr97!)Y`J@Bh83wTtf__2U#+WGL@@c8|? zxb5~PaH>3(B=DzetU>K0Dp+(l%#y1A>_r$izUzBCbt;NGnnO(1!z{%ai60e~z5px) zc^NJQ$cYgQ>Q!fFJT6ZN3O_bhK6)m?#lZoHn?ltO_?(Z6Gcz3}C2<<9UeMC6MNCYn zVx6U^wq1nrQ7{&UCPbZ(!^XP_N5OvOgi8Xynjjq-7UH9u6MIMI>lH}E>g_&sd-!Fe z0Ps33;MM_epMZK+>o;P?eEhYpRA)YS5>Uq`#z}uPJ4Lehktr2j*C?CuOi~$0MHSVsor^ z2`nlo;yo#sd2(AUg_T%jU?90LCK@r@r|LUctR=;FWR>Y6)6>&GkVA(}>*HB;u!CYx zuP{+tvzZ)KvEAd{u23GZ!+*%=B;4h5#lj(bnds@`_;65lu@X3!!BK4xP+1fZ=tt2# zIX36jvd##yM#!$ndU}sAzvY+NfAtUW^$%J^Hze~s{-Q~L4zI#Z#en6cgjp9!bKXbW z<+DFV8-B^6J42no770-ow6qknk|kF;KjU%2BcjXqC2oRX4_ewb{h187^jU@+xU)TUvqme5@ai@WXXai^4v zhMGdI&a(0HKtfI;MPb)@WhH>S9YaHJQnw z=AjBkH4RVWz;fr|5&1MB-nk!Zp~mk*gY@?X+Q2{qRDh^Kx>3=4CGpzaQ+A(hyLYI=GGWS5$TNC5%Q6xPJI}crhXI=Ae)K!n$z7fK7h> znjz=e*9)DKJONKQMOKaOnmA{SsP-h`h^#|RRW>K*ltLJ0x^>@8mdy* z2Q!_E$jI>EvX76ue_o>u!s*%I0Xft6#_|RoH7u?n||}|Tg8h>r?P+ktv;40 zRdN7+I7FphdCtQ1_zSy@u!P|UbiR2Eu@h@NiMMB!l}@nc*(KqiCl-dfE{K`9VEkUM z1l}a5YI!1~;OoC;Z)GS(!qRqSabB;- zdAlv~=;QidO^BGE*3^2#e=R36U9pZp`4-t1eOa1amXE@@*sbG&~{FjHcgQY#atEGwzL$$d(EgDM1pK z@8m7>Vvm{-O!zu$AR%d^qB+EdhEA2uA`ug-TkPasLahobep#>%r>84ROGvmLZ)WDi zUHuL?DV7#F4ix0&LCpDx=rR?kFonMb<$GdpB7iKBqC5^!Sw?CTBr`YD+*C8bd)EL| z&+n#(Vqv*5yaK(;i`4WuiLiE3RXvlQp4cCQ26p6S13Eb0zExQ756Ue?Mfg8He+M=o z?aEEW@~zPHFPVx}+rYN~!Y5ZBJEafv*3XufJ|ar$p>R*ftLUil?^8tmK?Lm`3vfXR z!Nn4?^DhUrz+DB65n-j*?GtO_yfULXhF{~4Vq`1k0Z8iuoc|61Pf=T2hz@s6<;(V+ z#lg60P~D-Ull+Xl0T~(jl7#1-oSeJ+D|-x7r+Z&FH|c1TR>Wb;%K%_u-Mf4gNyJ{S zsia0*O+(G)ANr}hB-E5hRwu^%zbywpGfBdGDeaYg@fQ?-na^mEq1vuc)Rf!L4f?D3 zC`95~4jnmgXwJYFw>1-M&D!vTFIMR~i#cw;)l%F9a4~ECp4BRw5TuokYhGn6j%QE07bR9>*mXaM z!Yk9duD{cKAezyPSb)H|?^5u_&Sa%AnW9iB1=KC;o=mL!X=x^8%nmTK6fZg6s^@x6 zMHO===?EPSNJ>1*r=k1CC5T2$WAQCBb3D1Z6RhB~#ST)J*EKpBJ-NB&;i;06k}2fR zG^!mKUbcL4IC}Ao?&t`eU~+WAoAAN~3ukqk;Wd3RR-5+xYuRx`fs9?dkDVVVPBTYl!=u%S1#mE%NR(qAj^UGWpV=#B+U?m2OWMu{ zSJF9iKQky84F9tWKw8mxGX0UuSj2qz^l?PZUZDkYIpOF*92)B3iz}V7fbSGkpK% z^9BDr4kA5Zfu4y3JoT-+I)6C)U}}oX*kog>!j+lxyu^eU7q{XdYRjZf^Otkmr;rd( z*Lb$2hIsdBMTq9b^MMVp%dM`j18)asRR;jcAnXWLBw#TV)nR>F1}zQ5XcyyUaqtBt zna(G04Y}!6Zc^B+jJ$PfW(3QBxsZZ@NhGI@+#9UddQv-7=CVbd`haLyW6+JaY#zZ! z5`ey+lS_9*auHWrfDC*avYowOrJa)^HBOfG^)3FXO?S^mmon*o>>!&+m>vy zaKqQm8oHFRT&Zcqv!a$9Uqh>#QZsyG3*aM=_9t4>& zE<}(puiz0TyvNU7dtofhSWR-m^GpF5$xsB~4e{|a(h2u+luLggJOm;YM{t*LeSP=r zx2Li|1j*_|hpHfJmTPU$JO4}=z&Kj%$$95Tq=s5XLgXpFzNi!~658z)%`Gjt1+MK; z&9ROLK=|mSb*E}!QG0rdGxR$<>Uroc1xLyWwfl1-@2HOymR!y~)Ua=G-u$50uQfGZ zk&$e^=_q&aH8s6`@`O&DV_3BVPaKA$2XTF=n2v0Pr;-iylsK1{2$nix(jP8+mSYiRYO%xx^YuYY3! zG9g-wf{d{zlpFH?@}Vb!;}GNR#3ncL^8w9#6)Rvw}rfqg|!4E2QY}Ir1^Hd4kbgR zJwwtJ2R;n^4<{-eN7vF_#=wwz!QQjwIPZ$?71!Pq6@oE`hbt_$+Y+pjkNNAm#W0?B ze)U0FOo+#CQwa~_k32Ja1fcV0TnP+|qj%y}u1?-asO{`=rZY^WGw3s1DX>6ev{egh zJ~Q#z6J!=87gq8ogWS7HByOslS)dr#%Q|C_+clZF>;-UZrRzpZ^TQPfU*N<(qpIbz zoO71vdcy7&8d(~+vxXhT07no)AP}>u&tlypes_wZ=+sIs%Hr5_H7OZ6Wkf{mfl05X zc`!p48L7CzepwEJF5okeF>;373B5QWeZ6-@d z$BPU|c&ep?2tO2!D~_Ul(8Q=Y{y==+58*y#rDw#el4b1c;KzY_ zP&BrWOIdNK=Jcf*YfnTAoriW`yB)!|+^@H3uj)NzKuW<~M?`4jEoHOKlRew&EEGxB zt#SK%0v7~U5mrYp*Og9(r=+e9DRPW4Ls?crM@n=JdAHCc7A6w(1fP&lU9&YVT|+>o zzo#eOT_aWznD-hBgx0(bmIrmx_}KT=7=rEALXcg^iR1BaUj1bU@@der?XN*WInP&k zqeW%J`bQLZzY%b4$MYfZq%O4@@vIBaTZN$7GknuVUOrlrSbF7f32a0{eV<&@MWZF0VkCIBiQ$Su>U zlxF4Uld)2MsRm7~3kymXccc>NPA{?7t>=lsMpd>mCM1?rpqTsw`kmqQ&>sjH93HY1 zvapx^GtK>Nva*9vciVt9Duhv6j` z6B04+2|>-k2(-Ve1!FoR7@y|pv-6MZ*;W0ws5Pc%du2v9nDngucbbFFDi9e>0ERgn2pXVwvZgapz-Edl_Y>RtOyWEdq$0 zLiLQBc;;h$8FM4>5$@t1&hGBD27&qtLZ~VR1xt`vC&wUlRwJ|E+ai#;)k}&=iN^=l z7CeWEegoAwo`<2;LsQ<=_AH)%EYzQH6a3ZJat-$+(j4>d018Kj&=h8E^&h_0A_8`a zd7ESSD2IHT^nTq5zPppt(6hQl39!1hz3LL>=(sQdUk>wXW%TelA3WA51T$~*vGqO| zAM41Tc}FR$s9IW| z*vQDet@ggTy{?j$1J?iCAxL%!IKb`ze?r;x?9r^ovHI-f&e(#|$uZ&h+4JYwD`}t8 zK2NW+I|m^$BQ7~my15+82kQY*xvu(*%Qu|X!oxGYu* zkB#+=Sn+T~iFNM&>;5|Q_0jnUIpxHilRwm@Q~=mfY;SWIM@LJ5x3ZjzOl9HlXtj!S z;g@Irq8H>nGkh$svLlk#PO7}NCncxGbK@miWp)Sgp=8vpR$J^D*DSj1{F^{- zVV|UEeI#B55b?z8jtEMU3+n4u+R{L~0mj@d2PZA$xMV$DKAZXRIe%yj@0~`w4{pP% z$JO8o_??IX_d(|IKaV8wKiE&PnIkyFM}Bnb@44i1KFr=0yc;-ixK(g_&9;Q~?h_eS zg(a}_LimcMrF*lxC{GH|}%R{U?^%R7tjs9HZ0);iYfN7Lov4JE`jy8GYZ(hIB--id=4H*LK zMYnX`3r2bQk;ECEEw^m|019!S;+*XLbxpzrMvUiDf%+&H{k~@# z^yn?!0OLIZ_||9wPz{b8p3=VLPKKg5Xte1xQn@rMUy zCuk@V)&7^rIFL z5z^PwGcq)0lac=C9vx8r3}rpx9K41L1cjiF^d5leN4^&<`UE}hmH-)*nNr)ZD(4K$ zbSZ?<i6U>xt2X;Ss22?FkZohL6!Buj__w61#?P8J}_FlB>EiAhOO=>455 z&$2li_=4nKr;t4gdMO`Zfqc$Y!&wn2>9W8XAKDBD2;C*+=PzI2g*s{w z2s&dLpeLLqxIKOMubXC{$NX~h2!-1%N3_&|q{9OPF(>UAxx`ahFR}q7BrFSj^j9xg z_K&wa5-L)QVNt}BLqo$TXhc6#vZ3FDEq{Z#*U-=*9HrXycjnc@&#&Wm>J_}5#l-~- zQeMlog)_jUnxB6t8Ov*XxgH?_IAFT=AP!IM0`f&aHBX}`zEP&uc?HB=!|r;K3EUs$H8k8n z{!iVt(!^vV7!9y$vTM~$K76>QY@MFI7MJAU7+1=BuU$0Wsq}MuJUb{bFt@PKFC~RJ z(+(H{A)yLOH};c2$mqXrRPQG1hlE5n7|)HGm77b#Y5KXe6vMp|M66&U92O4&hyrfo z=y-;iAr%!CwwMO;svzm~1AHv{HA60*7xgD_s9xEW1IiDg7Hk#Q89!P~(y5fDLyG6Y zbl^ppY8f>r53KDbc^uPrkpLpt)y-Lu2VrlvcE#ia$fys=?L%qmo@MDlb%cU{*=$Ar4Ny{AXu zb%+?x-!wy{IrW?35^#-IImM};=~U=A<{{T`KP4k#qHdj)l~oA0ak>VO+uh_8RmCG! zV^kZ?UK8oz`3sR2Ukfc=TF}zc0_KhaQ{F;wKMt`fX#uuhv(g{UJ~4#-!uf zkNx@^DP|ODXN8KW3wqHN6&3ybX?ExOsQ@Spy!So}6|1QX@b8fa_@QBO%?QPmq^@t@ zYz**~JYyXlD_Dnz!%vTH2IgjP?4SHGTThnf=H5m=dX)E>{fl??bFG&VpI%Bxm=vNp z?!9*yJTRC-QBzh?8?<00Se9w)?8R=2Oo)n#4W)ap@39-=y8Sm6P?umC9dtz^d;R0T z5ABA3C~(U&GHPloJzLQJewoWPKt<$oAFn;Wz{TQDOp;I{1rv#{&Ij-f=B0xI{SJAo zL%a1c30OW$F}-{_G}8ZcO(i4~SS{m#_>_JSY*-CTjDvhwqB zPTL7dz&YZirn&UOOh;6jv|?^3ooo;Gc64yEu`TyEUI0-+7(K$_zU;D+CjCV5$LVM} zYSDXygj^UtVUaOdkM@9^qKbj5G~j>#eJuP5U5AEJ)0?6q#a}_$s~3%pv;6%Zv}J<^ z3PW9hJ-TMk;6&^ZPEmWI8|`o6!)n4F%j0}~!NbS5*`Q{6W`h~he1HfQ{uYGpBZ&O7 z&GA8y!Uo1D*7$MN+~y{y3+#CztaojGja6rP6SRI*uW$+JS)K-5FpiIxKlr0tsM0%? z+}tl$=K(DJWNi)SgabzrjM-$0fyKY~%#Z&!2d>$5q1@lZK%5*EwO=oda(z9f(#e|$ z!>3sryb>^1ft)K$*8u2wW@crnsg5&EJ*vUr7sr})z5RzMPPugQNZQQI%*lyBB?hXN zuS|b%`C3+0SlG!{A;LE^GdWpSXB?>gEi5j)?jVwrvj!Sh;*y$fObIDXXJ9V?^Wx=T z;q2Rhq`D*<+oR0mJ~o8H{p%qfFr0N~x{dU~8)VglabYW=<%KaozU~Y9T{0kNoRgev ztYriZe=L!lb@#5Ls%m$yTaX3{8BhCmE&E+)Hybl^hAIvX2)Tcbn*yCthFs!*d|99o zeB;Xmym;|~Ov2Sw@B#mW^LxS+sp6H`VZkq)h=Ewo#ykxgB+UJ47pd<H$FZN z6!bx7XJfqoQBE}%(8>}OeNIu#9#(V#c!vTI>|jgE*ox#Eao^~ZZ)F9TqM_0FnPonDa;_sBaD z5o$)ppeCE6!^5^oumSmTm6We){h}}scJeML5CaqqWo1JhWCGCp-RY#q%-Y%?$WIyQ z>vKPJBOtmw3_E+sX=8~UJ=@(q-E~=F)F`hod}kl{Qs%RztWSA+CR$orGt>a1&`Nee z^8!x6`h-WHh%!@-T6(JT4AY2Gb{MGTDb3HTxlI-CZdd?D=iQ=?_5x)(t7sD5a!nN# znqOXHpO4li6X0@4lr{yM#6-`6(9Le~qY!V7T6yigB)&qoKUII&pJc zWwl=XJB%H=bH=-@tizJ8QbunTlND_98q)AM9b4I0VMzfQ;>VXW?`{GL4FFPEUrn%{ z1QM_GKp7c(uT0EbU9SQYO0OzTf&%!=WfTZW1J(Q%PnEsJ<(^2${7PUPXUL^|7!W1ozYWuAg*aHW{iU%$TIK#sV6}%N9uF@v z{1i}S&8IIj)J{kS4Z6a^7E6T%1mHj&6!d|18Q;exw_lrEw%gf`+s)7KAt4DLx`$5E zrDk!i?fb=%)G$ENtVWwgUtQ>DSB}kff5OBxGL7FmE`2&kAuqN_W4Q$o@I*Gw-$Y2e zl_)3MA+OIt^C&ZI!>s>N7QvVVAJ zWxt~g>JD%ayPTkoT z{FgX6@FDe!#<8iSQbm~mQdOO}I>(fh{3#P=lVEsHP~W?8+L<`iNpa*0Y1khwdE!`9q@vhjYxg=)m`E`2$NxrS^ zKH$d!y7Uf%x@bpd-@AF!ag}HQ*xeqK_#Pb%I-iI!Qzn6W6_xa~^nGdqf+r!`5fPLw zHqSD%a^rLBQy&41@!w1n4R6PH*yu5_zmx)Q$)z!tt@|v25NzXKDfWK&GZJ$9Ptp51%Mr579^8A`QdJjXWbJ;wnqZ1VqOP_Jc>Cehhq61@A?FIW27GIB`A?9Fu?_Z*h z@JrxaGpnkqf`%6IYW;(wy&XLiv_?i#2}3{>^Q~|#R*x{I=IT%d^VLZAH24Drv{*1d zFULU&U&V?ZA;$@<>60Q}PN&npC5fmu|7L9!6*Xrkr=tx%{smuBus&d)kJIFUDJGoE z2Ki_Zfjo44q^++nRWtv;yK z&MdpO79LhXDo39cp&H>>pdE+Pm`g684~8)q^2htX9#f<~b8T&H3{vjkkPv|p(1j7S zJ7U&deF+@CtfOJMBXopPo`oU*rw*XGsuDeA{QY|jszFa@=d+NtTGxv`S)eltR-D*- z%@5yhL%Vac^PbVFSK3|c24X*au#e!)uPcZ_BVuVA9uD9WQh-Dt%*4dnbD-?+-%kTQ zW5-_550MdZRi-Wz5(2zS;@5^RDS7dr3YtpP!J--Y%9~Vn6eTsT8~Q3LPliijFj(#B zJ}o>Pq^-=~*GY+`MyM)GX*Y9b>R0(SMT1$*&-QQR04%wVj`On&v*F?4>jISBIw-UX zM0>-_0IX{R;+4;6nI$0V>bk_A5_q3>R@v_a1EAE!h1+)nkU(~2i&;wi{QcVe%#k@m z;%_B02@AJ?j&u-RpuA88nqq_K)i>k-3lt;p#a!(TH2cfS%0BlsG%~`+fjy)cpsB3n zglvu_c}?a(5ua<&(k5d01yM&6DinE2SOA|r+DWHGHoH`|0Nl^6x%MBR==$#ZND7Or!F#AYw@I0Zh_5Bd z6vhjQPRe5>57v~E!+!Ea%VKA4bD;sTKAA`A-~0d_b-q_p$_IABV_gZNEvct>XKSqe zL#6U&YLZiuM&NtWKXD((>kJLa7cDI@s&g||w-0tsc6G&K zX}Y+Ww)x{9a{3Meet!bribNeTlNAfJ8?Pd&*3%6vnT`%|WMskl94#$IvF8(DB*@eS z1U&D+L3QIPHc$x#T~2Hc65O${v51I>K@%zs?^+uxJG}cA2hMw!j^^eV?hl~!eA=+* z@NkfCZfTI91r(%-{86PxfAcHayNP!rh=rb=Ddc+ zjr9%Qc;=vHT7$1JTm%xj-F@?a35RJT+xYNb{4`2oy3TVvwdbU#T z{S3k<(V}dLPoMI7*3}OU;p``m`d|?Dk9pifc5RGe6s(~2Cf7G~c+xQqgKd&mx3`be zu(44A=f}@N+zSo0#8K-g}oXGqXAPt7z%|%9%JNOB>n=G zwK(=|E(YQ*^IE+WGx#2)2eqFyQ2Gi}D>7DH)z+QGV|Jc_O_sf6lU+t<)#5n-J+pX< zyWMfGeFhJfi4)ClK&JU$a|3(~j{on<%HOA5|M&kF75vYcNdGHT$)D~DAHUoLa0?Cx zUgy+Q!>?cc-Q6|W((GC20VEvqO45kDD-=f>c8i(5k&(T_!({%JHu>I=Z=Q@%ry>8*DHDzgk8UEVSH#L@#W=GbLXfJI;lW% zPNO%5F}XSV4&5Qqe{LDcVNmNj+GGC~8ylOH^vH4R>Y!eFvdnzC(5OAxLMonDqNHLE zn+jl@S=pIozYfvJc*fT_$QY(f>gAM!mE_+mYbdJ9$w6+hh-d)*s*r-0%O}HYG{OA_ zO}Oc)3@*2OjZ)VWZWi^{Ra?S0Q$#RoqgK4+Y2&xx89k8;aA0g&N07Iy(1 z74Oz7Lm;*vWo|iwKr}i=rM;8+Dv$4w9f?NF<>Zg`@j$v1VFf=cDIkz!kT(N7fIRYs zwR{_6@eX!P_xa6*%JU1`+tFd6SorQ25zehW0Iwsr0P_5Nv9J1@nrtot;{aR2`D7CV zZC6@Ks5g5Yr53HGK^M zbvrMD>3Mm#=VmVi-)MaH{tS>5P`m<(-~R=e>B>Ld6TTk8#QH|M3D=I=zAEXSHLpAj z$H8rX;FIDqH}}Z%HlupA<$QyRtg4$^d`gO39UPhO)G`a8ad-2uw>h}k&EIp`kDTZk ziaI$}rlsk%O2q*}`gCJsSk(Lq@g(5*zdxIf0o;z&aKHWiXlCBj(I|RNA-kke0Hqm7 zLX#~%lv|JP*gSC0dx+t7z7jvJt0FHC$_7Oec(0bbu0GqZLHkV6jk=E+;?K{|2Q#GN z`F1WAnym}X&CTc6<|_=_t;C7CN5o^S@ykcQ&*H-dh&ZfP6WnuKTiyb0vdZL`gR`S_ z9PeOzdvxgew+WyNXaXo+o#GN;7qmS>;~>KDZ%#*wkyBDq18*lR4oFOg$Ao?`(rdL8 z`JeCdI#hEgQc+b6(UaG`b5#mh(7(Jc$gM#ukr0TuIMF#h>QrbMMedWwb9}B7;TY!I zt`|pnnVG1Vm>0IAy`Wx|&j$9IQHlmj{kAXs0Y&ba+wcreReL4a)BLkdz>5O_v4K>= z`%2TL6-_$WlFQ-huVPHLE(jg!%ARvu|NJzto3J6G-G}4W9gVIQMr*xO(Fzgd` zt!F*&|NVd2$FVz*C7o@$Ij_h?KNMT;O%#_SCLRyh z`K-ZVf!yg7usz+P;kpQ)+ai~eFcG76@xkWjnwD~R_vEMwCn0AfOr~u%Z66^$J9aw6 z$lGTVE(*BRu8_#ZUJ49h)O2a?Uvk}GWcny`nPy4YvYxP1uqoZiHYrl^131uMf+- zo#Szxn424SM@76A5<+?^Qk##IPV}~BI_<|&Ca0wtqbj)o9~SqET^-F8sIq`YaOgoD zV*KZhr(!ArAz@&M+Xal&l!Y#hCO?8l2}vloZ|8++jqj_{^I6Uem2Tl6#wtURho59A z^Lomx`H!}D&`Z{NVWvjH8~<0GYA55DvFq0RGxxEGI7dfN$2_(1U(tF9nyIm^P_LG4 zf@bFDWy7F-s3d-O{z8jYzn$qs+(Sm@uDEcLfq+zD3_CaBV677St-+N63rh4JzFF|% z#vwRPvo@CG6PvD*@FwMPvu2UiO^8zPdEO}z_t&afn@CJeJ++wc>jN>6*?|u6uMf## z9eH~KANptbh%8^dsc^TLq^E9G)vf7T1N2e;W14-{`Be7M`E68z}i;l zq^0gae}{28u`xekc`R46DaLvuY15!p)lgsmAeKw?QLw~);-MNj4Gs7RYwRDG)mBIk z5({jQ-ybb8&&kfFx=(VgX4T&wx1$wjY9saY=k9bxqqDx-tSTkNLpF7%wCsvUo@8#+ z13kPY!%C7Kur=b|uc5fV&>0h2?a}6hzr-beom5FtarAIyqq6(zSX)Ypz}irYA*VnC z_s-dR50aFVqmc$63%uUCyNh{A1|HXl$W91~ROReBp??TS4hmvHzk5?ubRGE^cg_Id zpqk%s(4Xae;}@N=Q7$)+ppJfMH{qOL>2gd>lNn=KC_zQS10XPVqy z7LZu)AGfPn@$#J@hcJa+K8UH~>n#^J_DkzL{gs|PxxvqtT!Yg1MADqTo8n@l)456#Ds(js;c4>LGeEUsdjNL5B_8`m@^IqbDRJ|Y(v5` zkLP56?40X{97^zRvK|cN1l3KrC-wC7rfqn5oPf4^e_)S2l5|^IQj%KQ$jB&A!|tTqsUf4k zvgFXg0Y3Iv-WSpDVnWmNNKVwtoH2)?hZXgrU}b$r&uRXw^SwOov&V$hVb? zjW0!X8!kDcoCrXU(nMs zGkx0H3=6pK$iiG7pei>DF?`c=W>5!@AIawpM?>!pBUH)Ul&#|Zha zOrw>0ylbhc$+Nil!S!LDUk=HyBg2O19vz)m+hgtvoN_;F1Q=HVwcDCG+}sS`yMEox z?Hpx8Q!0;|qmvy~6&3B>H|m=XQc^5S0x+HXCZmittw;OC9YU53P4@mVBl1@v4}C+1 zkv1#3MMP9fWzrwVZs9X(R@rO`J%57`d~*sO%4XBG$PL%A{F9UY)DL5#|KshR@%dBN zRDe17`Q0F2*K}tiab3-9y^jYM7q>Rz5JBA$3>r&y^@NNJ>VVkDAR*lVF)^_=an>he zbSGsydo(`WH!M-nxdlG=Pg*ww_Sea_=0RVpR%jpL;cxrkwx(wjB}PWL3;2&dRno3UG#>CdmKyA& zh)&Y)Zg0cv6r73w`ObgQWSpOJHz9Q4@X1rX`Sv5dN9$X0BFX$;)*HyhcMU;rS|`buKW9gPi%+5bQLsjt2yk zTKhBBTxuK*7W{I6+}c)X#*O1}na}d)r!Km7brZiVe0BdH;uBW4-R}ZD9Wbn17pEGH zvX5C7BbA|?0=!;Rjt&kBbMxy+0}KS}N0T481`{|=OUYA2MI|mWna0;91AM%7Vg~K{V;~%;@8$-8bH5BxWYxu^O~BEhJ{6UB}@i+*ixiX zZDt9u)&VAtBxRH=<#=0TBgesTFZjcQuZ;IMd4|Vn(eQa+gm4hsRgt0_^X&Q)6%w6f z4b+tNxu}=ur8KYt@{Z2XrRAt9j`z107> zGk(RdMeH3K?GzNS1P2GV97XifTtJ@CuCr~cfvf|x7eINB7Uyo9`KuY>C}lI;-DHU3 z)T*}mEZ(UFEI1P&Fj!cl#|v&;q@A~DC%=CEqFsa16T3$A@YUv*n-rOu8344|W=?x9 zS2u1T&{(z`pEHS3<#sW;QebC z0kZlcJvmfa-DLSklWUVdF&V~qh0*@j4{-?_hwm7Qz8_Jf*6eJ|l&wXk)rku^8{?@= zUSd1NFHc`A4CPTsq@hOoTLJpt-rj?8PTa1m#%7OqVd1!1G&3&~Q#|S%uGXVj;)3bJ zia=GyKiYs`5K3z5vx8r^M^?7uzN$-S+;DsQ3G%Q&9E&tbE3T!kw^u__a%sMus6|o| z2)x}8G6r{@YYoeqaB6co&UOi7V2xE-JI$s&(9+VP+&Q#1^8M&Lm_1pVp))J))0Yv- zW~mKn8ArQI!9b?@-rk!?jdOX_@qtpS+J5V(=zg*79{+f`JcFg!TF-w}7XZ1tok8w@ zI`W5(FF2HX&HNErnciHI=hdpJtcZJ7x*?FW zW1PqxPKy(-#H`1)Rg}BU($TDTs2+p+v|E9RV^td^rVE`5oyVvzt_-)ZJ1n+t_gf4vUh1{5*8v?L3*Nw^H z@jBa|j`ZILbuW@F8X@?u>Rnw-1(xJrdo%7k6}BiI9(Txxu!Bj0%p5=01LGHlMn=Y~ z_Kg>qco?Gv#5q}X%*_k*m%Ph%=7X=)#|;+=V_-M(yCT!Py-iYOV;q(!qrz43j}EEp zJpAL;Z`Bcc_gCB@j**Sys(Jpc5@gqtt|#stasa1#5cWIFq8W;`wIh4Hd^87P9t7CM1^n zTi98yJ@#VaU5%(eF0KH+B~|V%IG00`S=s zHB>US2<1|kOXO%8s-!^7SaV13`lr4pSrej{LBdg4IL$?O$Ioh^gT%_pO6h(d_-OU@ z1CA5&^M&N)TY7tariWWx<(>;gI(bi&Bv+?S3~x{b+_V_ry!mxh#J2j6__4UtM#_9g z`pXFV)WOKYp$&!tA*8gK86r-u>D57?=4saXPUTZiZHgDWIZ9lS`} z34#hq*JRq;ntg(lADhssY>=bdu2PyW%7%@$r=6ps9^N=(*N4 z{&|+Jy}$K}k=yhKFPxp9>1lvJvdVD$60{2$G7uA`ucOoA03+`K)tL3;af!uBmT@f1ft{fkE$qpi&nh|MY24StvOy@C2FkK?~I``M2h?i`uUu44|4rx zmj4(jje*ew209UOQTa8UuK0a$=cP``^sfK+kHqr+Mi%eV0htKAw795fwfA2ocCYTz zrPI+(I-j_MduDlK5K~`PO6nPMO?91^heKI-M6h><7%KLgeNe4v7+e{TW--pR?hYGR^d zT^3MzlJb@^u^0hgHw^m8&yzu4862c%BHhlRdQ)Y9{+}q(K7|c;bMuR~-HG$^?3S>& z-_A@3c{f$SVy@s!TxXBYgqfqttzgl1|h8uST&E2U$J=E z?5z$vHGYITr-jo3wX->Wa&T~vTcakjKu6n*|BzTg!%w6sfmQiU<;ZvdQfhE6iRvy=~xwMS2vK1p|-E%PMHpqxhjtL$I_Chq@CE> z(BEZ7y!lz_eD)O499M=OP)LOI2{1o>{ujFWoOd#f>>VOb*BSq) z63CD1@uF1Ww(AhrcCDToi17p>|JLTsb*{`BjYqmea8RIhei&+K@Nhq%WqxCGDc|dT z^jYvp5`^mo8`#_5wrGm~DwzN5=Xm5kjo+24y9>#l?6XT<-!!MXk_H*HkUz_R5=pw* zV1dA8cp*1XAU!CQbj;8s-;R zX@70Bf=>4s7|7g&QQcSTL6{;brJ^#geY~eIbN9gyKxI=BGo6sL5rDAT2RCY{spX#P z;HV83?HF-WQBaIGG#DIxRI9XS)zQ^uv0XiYu%0jBOmvnoT$u#vR1@XYv?g#;3n_&G zwScTg1O`q!&EGG(0vc)O9h>LuJvNl{yl5`gQgW+DBuq6O?!j?Vh{ zq=h?N&QHMXxR6`3BgXoQH7XKSs7Djko}!*Jp2TI>l9ZYnoSc}5V*!|+dyLL=)O zhv>Kz863P5|7}CQT}SIa31){T%iiAJrAr>bq>P>%=Ryc$<*sj3@#DA$nR!+EHE^{u z06@ZpCG+s31QvvYOM?}TW?mngnVHXZY;(E7k-J;h-u1)YE zHWfyyW$O9Jm+WUnAFX`&`0=B!?@bAM+U8UJ^(M&AOH_Ajrl<~m`z|g=bBFJRU-1bXlQ?(?eK5JEFa#}2baR5a}sXr zLU#;s|D*AfNKB}VrdL*?G&A`>@VC6TIJ`crr%$ZLXJ8UOe zUbj_AX>{B*o!h3mRdT8%KhxaScDEI_o1O2|RgN}0DW$BVH1fZ8=C{I1bx+U&Bi7c4 z(>xBZE|x&l5@0`h55{VC`CPC?ga#)xD}sJ9UXz|ExD?BGg@c{-N8I6?MtK!H*`&G! z2oO}FsLue%J2dcHOx@RxZ;$jNWMvba^6QHdDEaJK(lRoL`5kM!x{Sw1`a$ouwKTJ} z^wt3;NRRHW-96?zH}ORLI`P%3S0V9(=%MjubXlA;uiXT2YO_zR5TL)?{QRyjs&1pZ zZUJVa!+u|__Qu4Y8k#BV?pyww4B57Qg7gwjYnPfBJJF zIQ}cZ7?&5q+ru2}a>CiVr1CEeo<|eB?V5WDt&7&&d^{*9VRiNDl`9&T1r>(X#%_fB z`SAz0Extx$kjSdQN_r%Y$B>;B*{(Km<11b~Xu?=nquS?RJp`dGbojNsBy1_=8Ikn3 zw{WA{feK-_I=F%TlnP^cC@(l;xu(;rxw-9wpLasN2LuyNdqSW_kJYy$ zmB>m-nO_cV)o&P>pA;W27#ee!x_3|HF-P4gt7U9qVPQ`XHdsB}cKbqZVZUPogoq!e zEXXc(#*_%C^|^fjbytk$vn6fU(=t0OFHQuTQwKz!u(6>g<%%sv^UYWMLq6^9mg#hZ zn!=UkRPpld8|z%VMIboAjfj(_`Ah-8vxa#7RV*x02ul|Hs)viKY-jh<8}xbpa-0a5 zJWyV~xyc;V^Z6Z5ztE?_0EdkPCt0(sMV7?GC{hgym5QP&P|%v2$EcCIJl49k|5y)6 zvTD!^TD#xbfqY~64!sE$cmT42#t?IZ{A~G)fH+HkX>P4uAkxj`leqp={5S9s)m(Mi zO1WzMC9eqAHKCm+=l69drVpFC)49X1Civ@Gll{8Z-d^bjCQ|1yy#n!p|F{MwQ+FYMo5U)OUia>Sva+8r=+Q|VPIe&e>m6odpTkwr&&lg_Mt2W54sd} zYtA)+Vne_8%w_1Yvv_I9qYL67Fc+2=~lkxKjm#PTGtDlaG5|#P7@85!#Ahqgg2O zTo(KyZ%0c|pVf0z%r}nv?*pyqvNuLGp-inBT?yS&@yp>`x2Kq_1m6MbX>XnPlpJ;4 zP`}<~Ro>OLTF}wO#Rc?PR#pni%0*u3UctcyU(tAaRzRZA$KD48Ae3|z6k4I-ssXWv zeay6;Ae;Q_8fJP{7ATT9*x7NEDc0pB@S&g#3pa|2z`^_ez5Q{!5UHw+O#fJIKDw#U zc6~!5INX;P7oUy}ZSUcVRZrH{)k?&$mx{9$d?_T~>iG2OHW!!FREnX!EyOn7%q8#X z>75-m!@*G$r=f9ks!^*oCx1y?pRJ4|P8p@;?g=TN;12*fD2F9?`vAj(2cNSF+rD)N zstQ?J%1g2Ali_EWWZ*e_%F4*l-J{Ph&ikC2_nF;EruF-GkW>{G7P*t6MECB|(}KZg zKJLCm{{4nmxrQ4L&%ptePIt<`k(iSMfxD4xJSQsRs)JpdMG>r*FKn=zo-ZZ&Ctkpo$&F#hb^)#RLCe|Nk_!c;i=}Z6QJRcBCJCkZXpg z+K88^z~h~InW&O&-8{;-D|2&aZDfbGEj@CXNb7H4TY?OB+$CD-b^x}AW3nE{@dsmL z(1BdtF8_Fpi}WPVh!oSg=f9wB)P)3A60C}o0x@lYUYWj}X8-;5KQIpjhkeasyC)}yc!G%K7XJfz zGK0o;_N({Gk?KYF0{7ARh`s{?i$%=eDDah*jqN@CwQHiD(gsikMSa-C$%m+56(j$S z^YX$J6hFWsfl0}~=VXH#NwaQfz4o%qKY(a%y+-iV33aZvZy_CQRAk4*vy zDkCt97r#vV#(l48 zqWTu=u8rs=XQyLeI01AKO7BDenIFC8jamL6Vz}t%dOXk$Ku%~_*rtL+$XupH_4xh* zsTrQriHFQgEOCo1ctB7zKLVJ03JF;G2tDpUpd6#t?SJ&NpvYwP14M(=IR3P9P$OVU z{_KM1#Vb{cT!Wv%o&`TU;%VqAO`T>J!Nq+DEMtuWW;<<%WN@`n9z^)-vR@+joeg zpQ`c8jS=eN~159S>D#a2|?#Z^-hwvU#dq{iqq`Q1fatFirgX05NRtV&Ew1lI~75f0x< zqW|Q#?yK0l(STS5#qP9r3Ix_9VG-`eg2hEw_xxdnfR|)&eD`Dgtwc1^W zkv?d&y}7%qqM%Ujup?%r08=c``3xkab)E|6IS$J4*h1{}Zr8U9;D@8Wc^zWfgAS2p z1!9ejAP;#~WThtE|8Fv5*1wO!qiTQ2Nc%QBl5uUj!3V@2c|`@lr1_e7v6_TKO?HRJ z$!R+eNlCld2d3(JYieB>&&fuyuFMVy;u zUY?PQORDoGnMG67>DWV;WdPp?nylx!D@v7=Rop#1z$NEBhJpxiEiGNSEOIrO<&_ml zZ)^h#!AIX5Um+ftEfloe*r*ktYkCpx)Q%y*? zGDOmQJK4Isql21*+$|IAxMg;$eVd7+Utngz+Gs_S)rpv30}RTD$^?4m;#~NgEOmhQ`egwUnrk8~X*c{A8~6&4DT^r*Ub*`4w;ag6&c$ zYt=P1*%9B2kOat+6R2ZWRvIes&ewBS1odEB`6~7IO>7Lt*%1p13mxPpPN@|>!}>fj zyOY#lT1%N)UsaA?Bqn$F^Z0qjbHW2BoM(uc?l;UPkQYk;a z)iuG)jaDdIkCuJ{v&s*$IWM});d11DQ6;E)c@^quEo?CEc0}+Xmhy2!4w~iHC-z5+ zb{2LPTo6xd!c?bVNib+sd+*<#`u5H<;LGAbwg7a{Lfr1ibjz)vxwy8|!i)^>ihur7@Kw#t4QnG?gaD01OK-G)jom5$l+ zIM9rFMMV`(8{Ke1KYNJqd#PVLGGf@$gKNFez7QuC^=hrl?R}m5WFeDToz$p|i-UZW1Cr_4-Xi7nAaeBKHEa^hBl)mu|wmabkDM7@3` z-xXOOQM0#pvXWZ`vaPrhX$;PN;9E^}C;kEoW|JC>2G6#qt=E?4fXocQhq3pnpo)rl z_#&wM=v2TDjFysVlHeHM>Y1y|MWZn?+72z$IpMAm$8y?V(lan;FSlP}fz(Qn zYJyRK!~B4Z`D@(%r~wa81$vxo@nTf2u&~yqP$=YkQ$7`9VNxr8rV&NdrJy|LhrzeSJ2=K@DVNOb72KLG=SWh+e_4 zPdNP?pOM=|{%}U^tsjloaB=4#{kpA_k&7)zbZ!7Zxoc%s+s^y)<&M*;Iq{=xxsr8O!;SOOh=!u2qqTAli1VD+veGpl9qucfZV{F z{uSzNr(ws@hdYHS#UAat!208 zJ7QrmQB`Z}S1VGka6yGUnX6U<`sLXX14DzzsHh!o|2J|1$3c}MFS#9#%=G3s2aM7@ z4obdK2XYY%oN=4yk^Ae%?v?gh>MA2oaOOH<_?k&gXygt9Drql$>XXW{HmbJh-A6xc z-3IQND)-~Zt5(`dDk_lQ1Vt)lrykQcg6@%cny;g7yX86j{Iif-Azd9S@r3fhgTVS* z+Pnx3{l(4Cb*LEe1+`5@Y$p;9=ZA=A0Vbsnn&dw19$QpE-r5XS&TS&1UP~#$VUg?g zVd1GiLfBrvzJ~qndwcs_@R*`rp_4s$`?I z;%ONe%=!4LvfAiT^;4;GbnEqlCk}4bgolw)Y!2IgYooMVoqn!e_Cn5g(u39!HG*pc zRi1X?Ih0Z&l8++s!m?C$Z-RYf?CqM~3j;|;T`4Q<7&3_NPDyF(==cV%7v%9hZte`Z zNmoj~GO`O6L$o`l-=p=-YxS8dHy&CB${jESsqKhjOq*y%l4wzc5%(_#%V5522I@NO^S<+I02>* z3l|3?i5eRk0>$E!OsVF@&!N4+`z1|4Gf|ja`Wp)Xv(LTe$tZC8=*4P_iYjLzL3SA# zq>4iz@iF2ww}s&?(hJ(r=t|mvTQ7uRbjo&uK5pq()olVf1pp<> zr%@uY^)K$-`+itpU|>o5w8LrdoB+@XsFJqMj>Z97I3vRuwVvgfNg82cQ9xcS4vsjD z(KMZNJ(bKAX_d@bk61kehJ*!)F@6A$Jj6V9>!N7aMa~D_vb#(Q45a84>HA0Kb)Rw4 zPgAVpA5^BaNe)my-oxJa!wHYAKIirEGWGJ3{Frzj{-%O@Wy67_t%dg}%QE5e`C;`R z)+xy!oNTY=CSLp$GR6@{!=Mp7P;o>+K!6}U@WJjyqQ`k5OO1VF13opMNEDXX-D2FS zA_EW3zDlHut}9UF#$XiuMem&bVo?C%Nf^Ac`?JJn$c%$Y9)?3Sw)u0v-aY_J9r)>B z&QM6G6^&FkHoNo<%!B}D${06sKkNtNADTs6lc}g~ai-CcNBQ|NI<&OO6y1PiA&q#yda(P(0(EPgp-xk2dwT#s89rg{j=y*TLK4ocXZ` zIGIwAuIc{99kjOG7dRKis-6UCr5o=5x|o}#ZkNUy7p^@s4#YEktG}PJ8z=g|t#Zi~ z&6CJT6HG(K^z7`L5fjk0^V{Jn<7RO66k_irvOPKo2A>$=zp{chIVdbA3;ROG#-2^b zsYAA4Roimur2Q&j_Mgf@X&Dz+PYGslmHM%t zsqGjVm8?$@)shBG7&LnCs2jJl3IDhhy8YB!pe++rdqC}?IzcRNqg zUpXix^b@J*m>iG*HzcO2@NNM6851j#~8*QazET z%O8d5dZc9E`|fyuFiUH0e~}Eb=+ExS`M5&ZDKDM@o$&Q$?-44^4wqAQwX)fem$?GREkBhfRNzg+WlOE_1D5|@yA%k^vxnu z)x%7Dd?Kf{Wn5HrTc=;W|NVR4Hzvv`UeV`k25u1GVF#qRQ)PyFdU{sAJ&*Zvy!^1! zbPWgJX?qsaYsK(|0Ub;}3<|;~xG6co&4oIyw1wRc`>&5McER7D!UE>P*;g>vq=3W; zf{l_acI57AtEdzsPWe%EoRlwdsGW-Xh*h5Z{ud3| z%6cQH9g(9*36+I`_5ND8sDRuP+`i4b=LEi_8wl>QCX2Dsl!SyHkW9)3&VOeSxZIMG zo!CAb9Hu?0eFY7Tz*AiI*HwmJzK*s*0tfKf&_I_v_Iqnp9Y0l93w$nYBDMSu!)|A1 zTk^U6*RKd+YD#Ao>wzX7*Ad%;u5Y07fDma@W0Q;M7vFn&24*YrA3TxM_75WD`VQ)I za2hy_hLJk$u8L-)#>d~dc@xaIpkiA)zzkk&x?Ff}BS%wm*06JZvPtF>q#;Fv6>g|A z7hsb1c0M+?*{|Bi5|vG@6<0JDI{A;SMhDs#oIAlXsc&FVH~p%oSAl|pLf{kk&)UNs z>}btSt*Uo#&v(Y~1xH5q4A%)qBtFxUcb)4=&dB(F{UskQoy1xBE2XAp(Do@WRW642 z^>#h%ypoA8Oif{chE!x=mbge|P}a-e2NkFp=jP_X{);Tg=XuBt7E?Z`7LF{)F$kfg z(9MIh)_$wDtX<&c;&3K@+0B_BKO_vT3}T|A4_D~V3gt}E^@k8l2A=Lj@#~o!yq(Zc zcJDskxca~%FN~WUr>Ep`g>wfp5QT?HxFssSFOEBLmQ2YX#f-+Q`tT;=ZD7v!8Men( zy$0XXJ~HqI>B91|ik220WLNBW5L>N7cESu_ym;jORwOOuLXxB+%+recN|Oz?wsO5&3sCuSb3?ZSsaPCLfg*oNJk+VJ_p1DQL1$y?3zVezjL~4i z9R@Xpk}%ubdOOdnL}Fn|S1fHU)yhnMHu&I^1UE|x^S)DR?D?MIOWN31VK=#3xC;|^>HcE3^-R(}-IByuE%u-ZP$cwtE8EG^FJ7brwvmie z@p^;b{HP7LHC#z`P(tPGPz2x)9UVP~n0r%vaCME?0u1egT>~9q;fw?9#2n7{uV2rt zX_Vw>R!OA-vhEDyi26?_qDNsMu&`@^@q@BNP|aXDbbCP%!MjT}Fgp_s72PvN(dG{;QE$0$ z>8x!Lc+r9hh;d*DnDM;m%c{;GZ~EX?2{{PF84-T@lB40o$n?sos`r~k+I6|h&mamC zZq1oL35_9alj1fqo0^w;o=^C6O`@rXvF$6hy5g{Vpgel|`%_1RN0F*zHL#z6!0NlV zR0dhXa|82+XW8286mG)~UV?8r%m*fx3LI>eGA&hOCCN#a{7tUjPkUACGbTSegYnXTH3JM2IL(~ZMMbwK4}yxIIAT6c0*ReY zJ`Xw8-!BMF|JkEQt`2Guk53YalfIqMIlR2CrZXM+%T;~#>(##neQ@YiLME3t2o1_w z#%kZb__Ac*KBF?f6Ad-RptYWp`f(`_9Un3*x98qUHEVJV1=8)bt zmCzYa_!R*O{OePTccVKD??YU~hqs&o(45=a+SV>X-38N-ehC4)CN^o*(d=94=qyc4 zq+n)fNT~9ehQzQLA4Bb)<-=bRQe-N0*|#b+9d{Qc&;D<;W@bEev`v-Xt}e<};L#yZ z=S|)!{W`uUlwrU1g=gP|wssK`-KH2)Q*u6MWT+@S3kkWc0d8VdRcZKN*b+cUv(T91A))HIvBp{MSnjl+LX-ip6$J(7d{0Jl7@K zh5o10>hGXCLeE5@FlA-jTW>@bJL=?Bbb<&@uEnE!z5d4l&HSeb3V1OxQhsK;1jz^` zkI$%sjm_@=V&Uo~`6ZcZW_x{&ft}qqXeJ@4{;7)#1=a8Pv34luvoo?FHHVgt4pMU{ zt3I@7En1-U1h1~c%A%I?_QAo%=}}OGLyv(z+sxb?ri0U>HA1;(Fuv58RY;5*9eKN>E!s@OFQ;6IRCD2d9*t!sVFJk~nk>e_{bJ zC`?1Z4WLB6QOxp>9tBQBhK0dcz5eqRUx2VxWW9352MnnY2>v9+ zf3POO0a%R??DpT>Wjh%nK^g6FNZj98fQo#7R~M|zo7QJW>2wL_{YOLxuNOMOm$JfX zmN0>5F+kAr+#E)QI-^zz)Ry`yN+MvQ&i9FGlA$oaJKS)9#e;OBH@l*!NQO@txSf;D z>8cvk7!fW3*Xt1*smn6E?` z?y9|dr7u#S&>-D%R9u6TNzV2qGNnJwQ|^N?pw-s!jy=J=*ntTSeW|LC&uP_?Qqh|ufco& zpnCJg(u-{~j&zU2U>plEn|ULpr%!L-6N&q!B_`^b>zV57Q@#p;;{zOvudltvZlRzN z{Vpjb3(i!FnXwkeF*8X?I1b<=L*nA3YmR8^7daTIKY0=m6T=`bZ@af=Qyv+aQRbff zl@WUJX&s$eTEelaHhTJOi4aa|YB5OIPCbD=*E;C>MH83PgC`A=vway}IB@m&&FJNc zAlXNoKWGFakzd_YKz#HzZf*Ogb_f_$eqbRI_|i=S?QCdt04YKzre2xrn5 z8Try}dprOA!A17h>{epudBQ?M;C6xOf}b||Xhq&yz+v;7n*DQVSY)R)e*pjFbQQxr zdZa^>?H_VEws!Ou3CZ4QP7GyEqx8~HUT?HRTyty99!4RcL~#Oke(x9U=_ot+tojy# z$lrmKq@Wi0zj^GVXaDB0l_;9YWbX*5Xlk}glj(eV!D`q;#z}3Yq^^DhCUG4m?QQ&( z-;Dghg%-*r@x9m9)^ThO-*dEW^$iWTIm*f^I*;|;zLrgvx}Gfew*sP4c?)~xXgNw$ z>BmU&iThTElAQKw$C}2i{b?z6ftSNlsli{yYIAF*I}yL>{Vh)hqK@5Bm8R!&Hd=tMq|dnu&z=#enyNM*?U zXt6tg9zn6!#khd0(l7TO6ZP(L68cJB`7*p+vwkG{NFLnu0#`nMD1W_k=@1$5aLHxj z&83!Vs7(Y7{}r=USp>s z_42~bEfYsdg+}pQ8+=Ux(gx-&+FV4)&oM$@tSaSmeg=mOV zGGR~X5f!hova#8ga+o4A+|@(NKyldB_2in23<$!w-Q`D%yJ$FqIRaO4f+SlWcPJ$p z)^vX=d6ST!o7xf6;wflv|0&ZH1C@9Y9sPSt%c0E*wG0oOH1vO4NMMVxH+^w~k#U#X zr$IsK$t%#u0u=c7|ne?AH?L$Cb;?Rw%`%Fv}(>K`Ji>O+| zOiiupm@_hz!1&bO)?V@wbr#6RfK4qaD@ENML&E2D?e>9%V2H?LILBaz!6UdiQ6=7K z*h$Mm{#N82EURdq4IFOwde_G?GT{trcd)mG9)2Mv#c!G&W72xqWLSXDr1ss3`vT@$ zM$PKC7e4_~KuFYeS8+`n5Ob5Cgwx{8fA!76m@eO#7m&H#^~S@{q~icVW!%vWXT|L)E%D#r^v}7wHz-V#G`QVX7~%H6W?R zT0LE<&r7_o;?h)^HcZ<2+Iq$Qf8&13FEK^If`}i^gnU?s?Rv{{&WwzVZZAHkpVTxJ zTb{4+J7RXWmKvo~KmFV^lz00h zRgOxe8E%KrAq$>@?h@#(JeUIte4i}l_3P9(OTTSg`>aRF%fV3$5^#d07nHWrk}{&A z?({G;3+B8zc#W6u50$%M5Ffw5^J2|bKdJhfv=0F-j*gCM5#%P#$g$&}q<3$;QBqKd zWOHDlDk^?~fNc5{an@J<+q-lPF~(H_b*u&o)|P7OYC-1}gMt@JFfq5_VDOpSa7CSzo0p%btWdoLKC-jXkkPkLlN>Z}O93!=LJ zwDg-fy}g`w^9a6)@bP&c3vQi1GMBPqX^3$g|A%+`90|M|Ou&@l<|rzfAyL#;1qeT;SbeW~v_=qU7bJzsHhaTAFs2{71Pp=4D&X6CYKXS(&yaEg{5n06p9 z-(B0|?J8}_beU6M`t)ur^}uTjq9ey6$at<@0>og;(h}1PGYO%nOYSDQO@5!Mp~0vl z+HrNk4i(Mhnb-$Fmz4Ja&J|*&65!V+b|(VJW~l;(2v6R7C3)}+D)i+p5XY2;%AqV~ zA4$K6+Dk3c$_z4ggk-`4Mc6y*YK2bWntupPY!PScPcR>aT-X&CVM*(ht2N!Xi_v@< zws*Iy?e=A#4oP!z+Hr3!_0l8_2G%Z>{8{dQ2gk#TpVCZCr?V;1 ztr>Hn7iL5;IULTP_BEbX^fU&%iE#T2TCaUj>BORA^m;*GAs6=`_`P-HcopohqXP^! zl~2$h%}`d~YTY0?SwB5Fohn-H(IZGea}Sb*i+hJkoIN!^KZw3x>vWjUH#*(9PH89P z6MOiZhzL#jI=)5f6MtjCo0M%u{=4@`Hb3FGv9-y|ZH&s(eZZH7Ti26ti5| zMM|)eKYv@3rfQ(N#ae+l%`Qz_T(Q94it~vqKl&I!`Wh^KK)$a}R)}L6$5Wc{S$0>+ zi-x}Fv`BXC$vRzsCNnJqc+Mg3XV$_j4r7G+N>N6!-yXOrE@JLaCZ-lesgy+3;HdV@7P`!71c&rSzFOw`oA-CNrwA;!1IZCh<&^xs>=)b zWaWb!ApB&6A;TS=vt#{4t};=(Lsme@E-T3XBTdeBj#J8=+pDXf#Hz_HjgCd2BgNz?k zUD;V-lsUa+H_2P=Fn?%ZWNqYP#J};E*ITF`K%Rd2v~UEXvax^C&mN0bU(BXq^!1p^ zX(q}@N=hm%{dDK80N$w7Ns`*>co~qGxir3NP#vXE_s85tvf^G!_51#o|gVp=#75UML|pH4>hPRAi3tIP~YHp-9U>`PE~T&X#zOh|ZZ za$uPObqwYXy>_0Eq$C|P^Bdi})ZCHukXQNA*tpr}YG`nSw06@h3;& zttk0H%~_LXxli?|i|w-w_TWc*TvhgS1(QA7;?84a6#irbg z0=V6Wq+>NThClCtYKo3PaDM^fpQmNWm`ZWBHKg{tFak&7PYfPO7nw`D=$1^-B(WKN zpCytR!`s|iQqfYuBmAD-861BXP7T$;>y_DX+r#;0{$IDfJg{URk3id9SX8tzUIh|_ zx;PSI;uE-WI8a~0I9tkqTgJ=_xGSS#h{psz!C}RP&NRkCyY4|t#He6 z;vCiT$1^@KbODjZl|BS~;1h+-&CLMSCwHeuH8@YF<68L`8TV#eaN1g7GYj_!FDc21 zW#p;{wosd=cW4MCa8DHUhR%nngn=~yQbPi72F_*&CsM@Zq@_u`^|8!*06w+Z?6SjC zjEl^_E-38&=EUan$3fhnG`5i4JEgGz4;8o70rdJ|>FE)9UYHFon<87E-yyWi?cK~w zR!dJXu2QxFi7;2mk9Bc)4mi+sk1I{mA@M&Wsh#_I`C!KOKQ!QrQzFisbjaU5)vpX? zUXmU|Wo7=@I6e4(io5c7s@8t*Rg@_e9fZh~nJDv6rp&@djv*v7+mta=MTTQ$i?EfA z3?XyEPRfvqwqu)Ta%7%~cz>JDx$b@MfA^2O|64xWTF+YR+0XEueq#@Jc4sEZ2{h^P zCs0FCwXy=n4`WtinD8!Dxk?JGlku3AT>+F(Jgo*Q1K&WF-TyJErf?td>;@3ztkJSo zRBZ!u5iAyVgh!OVuCFgDExq$sd{Y6HP6Nwj_ljFO+?P`GI-XQQoW?-aZZGJHrKP38 zgB~7!68Z$7r64hSAC+Hvs|XUu&FfrUR%03cHohxc`EUep_IAWJjY&vK0yXC_&J8QD zQ{?0_-W!?#S%c!_Zj8IH@^-QYU_QLkHR~4cDg^gh>*vfNY%Cyn#>SHD>={h8|H&wF zp1ONC`SP9SOu2h25c?c^L5|}Mw1mI|l5@;zp>?||bLj63@8MW)Y|oVoRXY#e|FZc9 z)D$o@6q_u_$;$z+aiH+M@1d*HJUqfkuvTy?vNug)Fe@wWfHm%=4l^?`L)goO(M6q~ zoBBTI4~8O+Xc>E45;#}6N=pbdT`lpl_PfD%3F#Bx7Y%)U{9uj7!*lr}x3I80TDq|b zl1Mv!?+0{rt};NE*nl|gNw>BsuI*TsBP1=nTTCuS&c{_;UI>l2^Y(2BuELx~$^0tr zRJl#ZFesVP{(G#t0Gw6>K+)Svf3}9R-tFCcH9a}a>t(-_*|JA~ud8k%&l&Qu>w*?D z^HQqAa#e0#gKY+VpVZVt>h-nt7braGyiOYtS$|cI+$&{N7aKY*I+@>1$Z92;%Y_0e z<%0R;(VqAnAR1hVdvd4<``WDNqx)K#uxNVUrMG*)8RL*JK3#ON_|*5|?o>fHoshYY zrWHHYD-%89h?fwiYBK6J)D%WtQe0dYFpGx({ux>j%<6m-s`)W8&zSE#IgvT{?cs#QE*n=^_km;7yn*twYDd<2 z8&mXU55wvOSqxJrt0BdcRAYcJ__?_WYE^k+TjZju!aL8A(#rCwoTz(4oD1mV5$f6* zVm~J%Ce|7-E}0O1GX=_pcc}&j2%C;nMTKO{ySlxiygc!#ru>b4*@$cU`V&}kM=`fS zP&qr!{>3DFe+&HYbxOEk4l60kaix%d9UreUr#b(|0gta5;s0Ip_nmL@`*C#j1~+cl zc8+eIXGDE{@MMz{_oWbf+k5QYYbddiu`a81)l}rtrRj@JVey>ZQiS0)q{ewb58WGG z8L@WcJzl5q@%O&SavjnIYW-@#2SI$o`6&UoveR&9m}#RWy5y->E=BTf)210WcG=HklA3SMjj;TRb+zDH|fWQ2C0My>^&OK?nzkJm|E zi3zi_v&jKXIXJxhjQhKu=$bkhM(W~ViIsasGf2gbK>u%??uH9sXKDSc7_2ovkM%yxFpbZcFlR$SOP4wa^2sA}W*w1-#4K|?C}`2(4Kooz-% zk(QPg14D!!m8CA9BOeeQ4)Pc|GBUSwQ-eRad3pMKdq2)CV%vTuq^9bc8QgWU!u8Xr z);VI31E`FWZU7=F(Ee$3_iELo;nc~_q(K&l-_)_ zyXI#MOD z6EWn6jysFCFCVdcxttLS?>D%bR3+zN*H|It_haxEs}};So>3Tq)kD%P=pZ~iTFEIo zmI9BRqn%7iNv{9Uar?&pLCP4zBZl(_H}-o*T5XtvuH}DofsXY-m;!6K5=|j5Us<^* z_=|w}09=;aC((JJR#J*rT_U4N7cU;?I!t26Xc9O`%gD&?p7=VHWZm%E!3BcFiGNXU z6(q+LCqDgghf|LZLlh^UA{wZeG4`iFaSU5>T?PW zc}S{@48<>?nNHb)RhYm;5SklI`#)l`1@@H)MblCZOigd;nVQ1hh>(2@kviJu<{{Zd zU{=j7E>^3IfGBP2{K7(=$`io16HYYe_)lpa!eNynF~a$`>;pCqjsc6wJ~9p-`~_&# z|4RYB|Am1(N^Klo;{Q3|htP;R2GD+gK}#1x`7}_dfgp}zx?^@`1}koTGU~(g!*&i! z9noMe*+_tU8B{r~k%TmD#N-`$dB6I?Sn5M+c?sXx>wNfc@Sw#X*4N9*GAM!rroR3m zn2ehI&iwkG*pa{^_#Uv|@=m?hc6O?G2&vd^YG$FLq~tz0QE)Zw1<8ZXPdHq%0d_PZ zI!b_>8R7?>epnLYv8y z|B^0OiCnzUzRn2fosT3aLId~bjU4%Azusv%&%i)OOAAwQ9av0+2}fA9VWc}5G4G= z=ZmQ=T}r{ng3iu3SaWAUjt2z$f#~4ynfh#&9(E+comCsT>$!vD7z%}xQZivmN+6ZB zGY^SNLYNINJ^ zwDbPs$F!!gnp&@|xhNrUO)4muFQxp#BoBew&H0{@-ridp8gD?S(Qa78)?MSeUf7a+c7TkAa_r2;VbU<@RBEB$v86*Pa;8RUWrD6(ZYh*hh5 z?=s}?G}MsoADg)=IdzE4E%lxR4Ed$AQ$k`Qt_#;{a>;hupb$&vWAO-us>;kXhYePc z)lyd;hzJ6HYyg)>^FpV?Jb+Lja(sO6GXs;UnVIZX{Y8lG+?51f&(PqYD6R`Q&tE@A zZ|WmIMx-d%Ord5w*v#D^u>)c=A&CQMQKpP^sJwLC{rl_;A7A0g6boBhIu^Q=xF^>( zIFNu2{+D`vc6LSvngafqU4Kq4u7sTW`fS&bMJfgb^SWxDwl?dT#l`*cZ4W}lz`^VE z5LE@~2!B5rQi6hIC?O-+_-5RtIJ?DB%@U|{)%-za83|?d#HvoM`N0iZDe&(bg0fSC z&%_V#BYsJq_#nQ=*-kE&$|WhNBuozHD$>9}U-a_jyq>5ia#0c7R`p(Ny??Cz_s9vN zKxCj;^BW=}QU^7q>xdj`4SSwYy#aNW{!@R<#pb{LW?iBw%HpAs+dl5tHa@t~a-qQr zC7^-gH~F?PA|ifOh2&4CRQ=^xl5~k{*RG{BBKS2!$!YEEHTVPq7Am~)8X;d~AKhv| zrw^uQj=bK?Bqo#1o6bz+LUGfob0Mn-ijHMxeu!5W6)7)Et@|t{Y*${EEn;jK#-G@> zxoMoPEiKKP!pAYA$2BtG(LV3>Dm&7+prQh+vQ~?{cZ!<2Je#*N%(pZmlJe8gQnXK> zZnR;?#B%Cx^el5oFq*l0W;z$+ntK0+zll?8?B$-gb{S$InvrZ_%Mwq0#Y?$Z?% zS1uG4-i|+mG@7RJN@}6AyCTJo_0TC;d&wmS30l-qMLvqU1QbO}Eb){eL7 zKHSVUJlS?wdWtKrii?Z?*%P7kJOy7A-OXSdpYIV4S`X};rXIS@ta;EV-Qg4bL%GZI z0SiK%T>N@c2OUQ^d1(CYn-WYLJ3kE_S+u@B`AoP`B4I5iSv@b{P0BmGDULs|!*;0R zaCh6ioCf-PeL`fPH9Ayoc#h~5sH`VHXtWsU=HmcDO;H)2?s%zX8dYLZ(lWa2Lwe%G zgrQyMcebCoFr9pxmS^h0K!p{E;3+Y|TBZv{cLO#Z|Ke(ulh^j zr76!uPQ;o|MI~96d6Jw}%JMla#i8i*K+3f5v z7Ky$$y3i0Phb}3qz+kbrbM!j&RJ=%O$!!y|`vyPA6;5_GzS=Y^wRmPKSW+TAGC25N z@Y1v)VwZ!KoFXdnNy7H_wqE{PiiZI+bGBEXBN92Xx^9FHTyYz$3ZQX&W6JrMIzv!i zIqe|(gosFH%f@M>A(@!y3HgN%;d5pd!L{fjd?0qD1Tpnqmirf|_pqu}d{e=a_v$&W zJR?5c+)3W6yC8H{yYGU5anheLau|-XjJP5&~P<$yu8n~``FMr2bZu)Twm>wb1=cNV^bwnR`sa&C3o5WDoeaqD!K!l}pEdihV& z&d+}7kz$G&8yg4+KoykRV)qwr3DXajx+Uu6*QR*;&GqWKlO)chLAm3ZHNq(QHb|@z z4Fb&4ela4B*Jl<_O1j^W_c(T~##Hf{#mxl4oP&48n!oH*S3Tmp=(*jN_B}1PnL_iT zR#z0Ae1pw=`&?SS!kFVz@x`Au)cL;^rlzKDf2>_6&5rjqHr=&G>L9!O(3^`tQ9Ng& zK9~&OkFrkJwpCQD@0d2Jc@a!Dc@3nP0>a!SkuL)yHe5EH5)KEMT_IcU5j{ zDSKr_fBoLHqhmq-U&Z0)UwXAAjKA8ssj0+vX2d?>(XT0d=_|@yl!Qq5oKw}m+^^8D zzSzkh^1OF;ftZ?Y_i(u>jE=ly8U4sjOS>dafS$6yNbF711#;56WtzTKGQYV?%)Rki zfW5K5_pBJN$koQLT|kff_Rb%u9{MKeA;I*GVoPdB;#{w42HQl zsYfQxw!Lqao{KFWlbDpH;84IVzG$9j)p_M**XP$QA2IQ~$!R}~TB9jRj~$LJar}F* lXWQSWL}rG=nMnz=4xID~`&t9fZ6U(zQd8DeDps&~@Nc6zp$Py0 literal 0 HcmV?d00001 diff --git a/docs/screenshots/print-de.png b/docs/screenshots/print-de.png new file mode 100644 index 0000000000000000000000000000000000000000..8286591477eb0b49c25f3b2e5ab5f162f26730bc GIT binary patch literal 172778 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�LoAd1AN&y%ufJlbs_z(#J2o}}xAeLo|#}B*F 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 BrBna_ literal 0 HcmV?d00001 diff --git a/docs/screenshots/print-studio.png b/docs/screenshots/print-studio.png new file mode 100644 index 0000000000000000000000000000000000000000..f309d6e8152c3cd68f56490dedf4f4f099fc6fce GIT binary patch literal 172220 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 Jg{HsU_%{OJ|8)QW literal 0 HcmV?d00001 diff --git a/mcp/README.md b/mcp/README.md new file mode 100644 index 0000000..8de1e06 --- /dev/null +++ b/mcp/README.md @@ -0,0 +1,52 @@ +# Klarbild MCP server + +Lets an AI assistant (e.g. Claude) hand images to Klarbild and have it process +them — things like "take the images from folder XY" or "process the photos +someone sent me over iMessage". The assistant fetches the image files (with its +own tools) and then calls the Klarbild tools. + +## Setup + +1. Generate a token in Klarbild: **Admin → "Automation / MCP access" → Generate token**. +2. Install the dependency: `npm i @modelcontextprotocol/sdk` +3. Start the server (or register it in your MCP client): + +```json +{ + "mcpServers": { + "klarbild": { + "command": "node", + "args": ["/path/to/mcp/klarbild-mcp.mjs"], + "env": { + "KLARBILD_URL": "https://klarbild.example.com", + "KLARBILD_TOKEN": "klb_…" + } + } + } +} +``` + +## Tools + +- **list_recipes** — list the presets/recipes available. +- **process_images** — upload and process images (local paths or `data:` URLs). + Give either `recipeId` (a preset) or `mode` (`each`/`compose`/`generate`) + options: + `tasks` (`clean`/`cutout`/`format`/`contour`), `prompt_text`, `output_format` + (fixed, like `30x40`/`theframe`, **or custom**, `25x35` / `sticker5`), `output_ext` + (`png`/`jpg`, omit = global default), `orientation`, `crop_mode`, `contour_mm`, + `delivery_folder`, `delivery`. Returns the job ID. +- **job_status** — query the status of a job (including finish time and error messages). + +## Modules + +Klarbild has optional modules, switched on with the `KLARBILD_MODULES` environment +variable (see `src/lib/modules.ts`). A tool that belongs to a disabled module +(for example `process_images` when the `ai` module is off, since it can start an +AI generation) returns a 404 from the Klarbild API — the MCP server surfaces that +as a tool error, it does not hide or special-case it. + +## Security + +The token grants full programmatic access to upload/processing (not to the admin +area). Treat it like a password; if you suspect it has leaked, generate a new one +(which invalidates the old one). diff --git a/mcp/klarbild-mcp.mjs b/mcp/klarbild-mcp.mjs new file mode 100644 index 0000000..a140b8e --- /dev/null +++ b/mcp/klarbild-mcp.mjs @@ -0,0 +1,188 @@ +#!/usr/bin/env node +// Klarbild MCP server — lets an AI assistant (e.g. Claude) hand local images, or +// images obtained some other way (iMessage, a given folder, …), over to Klarbild +// for processing. The assistant fetches the image files; this server uploads +// them and creates a job. +// +// Setup: +// npm i @modelcontextprotocol/sdk +// KLARBILD_URL=https://klarbild.example.com \ +// KLARBILD_TOKEN=klb_xxx node mcp/klarbild-mcp.mjs +// The token is generated in Klarbild under Admin → "Automation / MCP access". + +import { Server } from '@modelcontextprotocol/sdk/server/index.js'; +import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; +import { readFile, writeFile } from 'node:fs/promises'; +import { basename, resolve } from 'node:path'; + +const BASE = (process.env.KLARBILD_URL || '').replace(/\/$/, ''); +const TOKEN = process.env.KLARBILD_TOKEN || ''; +if (!BASE || !TOKEN) { console.error('KLARBILD_URL and KLARBILD_TOKEN must be set.'); process.exit(1); } + +const authHeaders = { Authorization: `Bearer ${TOKEN}` }; +const api = (path) => `${BASE}${path}`; + +async function uploadFile(pathOrBase64, name) { + let buf, filename = name; + if (pathOrBase64.startsWith('data:')) { + buf = Buffer.from(pathOrBase64.split(',')[1], 'base64'); + filename = name || 'image.png'; + } else { + buf = await readFile(pathOrBase64); + filename = name || basename(pathOrBase64); + } + const fd = new FormData(); + fd.append('files', new Blob([buf]), filename); + const r = await fetch(api('/api/uploads'), { method: 'POST', headers: authHeaders, body: fd }); + const j = await r.json(); + const info = (j.files || [])[0]; + if (!info?.source_path) throw new Error(info?.error || 'Upload failed'); + return { source_path: info.source_path, filename }; +} + +const server = new Server({ name: 'klarbild', version: '1.0.0' }, { capabilities: { tools: {} } }); + +const TOOLS = [ + { name: 'list_recipes', description: 'List the presets/recipes available in Klarbild.', + inputSchema: { type: 'object', properties: {} } }, + { name: 'process_images', + description: 'Hand images to Klarbild and process them. Files as local paths OR data: URLs. Give either recipeId OR mode+options.', + inputSchema: { type: 'object', properties: { + files: { type: 'array', items: { type: 'string' }, description: 'Local paths or data: URLs' }, + recipeId: { type: 'string', description: 'Optional: preset ID (from list_recipes) — overrides the individual options' }, + mode: { type: 'string', enum: ['each', 'compose', 'generate'], description: 'If no recipeId is given' }, + tasks: { type: 'array', items: { type: 'string', enum: ['clean', 'cutout', 'format', 'contour'] }, + description: 'Only for mode=each. Default: ["format"] if output_format is set.' }, + prompt_text: { type: 'string', description: 'Description for compose/generate' }, + output_format: { type: 'string', description: 'Fixed: 30x40, A4, theframe, portrait916, keep … OR custom: "25x35" (=25×35 cm) or "sticker5" (=5×5 cm).' }, + output_ext: { type: 'string', enum: ['png', 'jpg'], description: 'File format. Omit = global default setting. JPG only without transparency.' }, + orientation: { type: 'string', enum: ['portrait', 'landscape'] }, + crop_mode: { type: 'string', enum: ['crop', 'extend'] }, + contour_mm: { type: 'number', description: 'Sticker border in mm (only with tasks=cutout+contour).' }, + delivery_folder: { type: 'string', description: 'Target folder/subfolder on the delivery target (with delivery remote/both).' }, + delivery: { type: 'string', enum: ['library', 'remote', 'both'] }, + }, required: ['files'] } }, + { name: 'job_status', description: 'Query the status of a job (including finish time and error messages).', + inputSchema: { type: 'object', properties: { jobId: { type: 'string' } }, required: ['jobId'] } }, + + { name: 'exact_size', + description: 'WITHOUT AI: bring an image to an exact physical size (centered crop at the target ratio, dpi metadata). Result is saved locally.', + inputSchema: { type: 'object', properties: { + file: { type: 'string', description: 'Local path or data: URL' }, + size: { type: 'string', description: 'Size: "12x15" (cm), "35x45mm", "5" (=5×5 cm) or "4:3/15"' }, + landscape: { type: 'boolean', description: 'Landscape instead of portrait' }, + dpi: { type: 'number', description: 'Default 300' }, + ext: { type: 'string', enum: ['jpg', 'png'] }, + out: { type: 'string', description: 'Target path for the file (default: ./klarbild-.)' }, + }, required: ['file', 'size'] } }, + + { name: 'print_sheet', + description: 'WITHOUT AI: place several images at 100% size with crop marks onto a print sheet and save as a PDF. For sets of passport photos, daycare photos, stickers.', + inputSchema: { type: 'object', properties: { + images: { type: 'array', description: 'Per entry: file + final size + count', + items: { type: 'object', properties: { + file: { type: 'string', description: 'Local path or data: URL' }, + size: { type: 'string', description: 'Final size, e.g. "35x45mm", "9x13", "12x15"' }, + count: { type: 'number', description: 'How many times on the sheet (default 1)' }, + landscape: { type: 'boolean' }, + allowRotate: { type: 'boolean', description: 'May be placed rotated (default true)' }, + }, required: ['file', 'size'] } }, + paper: { type: 'string', description: 'A4 (default), A3, A3plus, A5, A6, A2, F10x15, F13x18, F9x13, F15x20, F20x30, Letter — or a custom size like "32.9x48.3"' }, + landscape: { type: 'boolean', description: 'Sheet landscape' }, + marks: { type: 'string', enum: ['none', 'corner', 'grid'], description: 'Cut guides (default corner)' }, + marginMm: { type: 'number', description: 'Margin to the paper edge, default 5' }, + gapMm: { type: 'number', description: 'Gap between the images, defaults to match the marks' }, + bleedMm: { type: 'number', description: 'Bleed per side, default 0' }, + dpi: { type: 'number', description: 'Default 300' }, + out: { type: 'string', description: 'Target path for the PDF (default: ./klarbild-sheet.pdf)' }, + }, required: ['images'] } }, +]; + +server.setRequestHandler({ method: 'tools/list' }, async () => ({ tools: TOOLS })); + +server.setRequestHandler({ method: 'tools/call' }, async (req) => { + const { name, arguments: a = {} } = req.params; + try { + if (name === 'list_recipes') { + const j = await (await fetch(api('/api/recipes'), { headers: authHeaders })).json(); + const list = (j.recipes || []).map((r) => `${r.id} — ${r.name} (${r.mode || 'each'})`).join('\n'); + return { content: [{ type: 'text', text: list || 'No presets.' }] }; + } + if (name === 'process_images') { + const files = a.files || []; + const mode = a.mode || 'each'; + const sources = (mode === 'generate') ? [] : await Promise.all(files.map((f) => uploadFile(f))); + const wantsFormat = a.output_format && a.output_format !== 'keep'; + const tasks = Array.isArray(a.tasks) && a.tasks.length ? a.tasks : (wantsFormat ? ['format'] : []); + const body = a.recipeId + ? { recipeId: a.recipeId, mode, sources, prompt_text: a.prompt_text } + : { mode, prompt_text: a.prompt_text, sources, + recipe: { + tasks: mode === 'each' ? tasks : (wantsFormat ? ['format'] : []), + output_format: a.output_format || 'keep', + output_ext: a.output_ext || null, + orientation: a.orientation || 'portrait', + crop_mode: a.crop_mode || 'crop', + contour_mm: a.contour_mm ?? null, + delivery_folder: a.delivery_folder || null, + delivery: a.delivery || 'library', + }, + delivery: a.delivery || 'library' }; + const j = await (await fetch(api('/api/jobs'), { method: 'POST', headers: { ...authHeaders, 'Content-Type': 'application/json' }, body: JSON.stringify(body) })).json(); + if (!j.jobId) throw new Error(j.error || 'Job failed'); + return { content: [{ type: 'text', text: `Job created: ${j.jobId}` }] }; + } + if (name === 'exact_size') { + const up = await uploadFile(a.file); + const r = await fetch(api('/api/print/single'), { + method: 'POST', headers: { ...authHeaders, 'Content-Type': 'application/json' }, + body: JSON.stringify({ src: { kind: 'upload', path: up.source_path }, size: a.size, + landscape: !!a.landscape, dpi: a.dpi || 300, ext: a.ext || 'jpg', name: up.filename }), + }); + if (!r.ok) throw new Error((await r.json().catch(() => ({}))).error || `HTTP ${r.status}`); + const ext = a.ext === 'png' ? 'png' : 'jpg'; + const out = resolve(a.out || `./klarbild-${String(a.size).replace(/[^0-9a-z]+/gi, 'x')}.${ext}`); + await writeFile(out, Buffer.from(await r.arrayBuffer())); + const px = r.headers.get('x-klarbild-px'), real = r.headers.get('x-klarbild-real-dpi'); + const warn = r.headers.get('x-klarbild-dpi-ok') === '0' ? ` ⚠️ Source only supports about ${real} dpi.` : ''; + return { content: [{ type: 'text', text: `Saved: ${out} (${px} px).${warn}` }] }; + } + if (name === 'print_sheet') { + const imgs = a.images || []; + if (!imgs.length) throw new Error('No images given.'); + const cells = []; + for (const [i, im] of imgs.entries()) { + const up = await uploadFile(im.file); + cells.push({ id: `c${i}`, src: { kind: 'upload', path: up.source_path }, size: im.size, + count: im.count || 1, landscape: !!im.landscape, allowRotate: im.allowRotate !== false }); + } + const paper = a.paper && /[x×]/.test(a.paper) ? { size: a.paper } : { id: a.paper || 'A4' }; + const body = { paper, landscape: !!a.landscape, marginMm: a.marginMm ?? 5, + bleedMm: a.bleedMm ?? 0, dpi: a.dpi || 300, ext: 'jpg', footer: true, + marks: { mode: a.marks || 'corner' }, cells }; + if (a.gapMm != null) body.gapMm = a.gapMm; + const r = await fetch(api('/api/print/sheet'), { + method: 'POST', headers: { ...authHeaders, 'Content-Type': 'application/json' }, body: JSON.stringify(body) }); + if (!r.ok) throw new Error((await r.json().catch(() => ({}))).error || `HTTP ${r.status}`); + const out = resolve(a.out || './klarbild-sheet.pdf'); + await writeFile(out, Buffer.from(await r.arrayBuffer())); + return { content: [{ type: 'text', text: + `Saved: ${out} — ${r.headers.get('x-klarbild-pages')} sheet(s), ${r.headers.get('x-klarbild-per-sheet')} images on sheet 1. ` + + 'When printing, choose "Actual size / 100%".' }] }; + } + if (name === 'job_status') { + const j = await (await fetch(api(`/api/jobs/${a.jobId}`), { headers: authHeaders })).json(); + const job = j.job || j; + const errs = (j.items || []).map((it) => it.error_message).filter(Boolean); + const fin = job.finished_at ? ` · finished ${job.finished_at}` : ''; + const errTxt = errs.length ? `\nErrors: ${errs.join('; ')}` : ''; + return { content: [{ type: 'text', text: `Status: ${job.status} — ${job.done_count}/${job.total} done${job.failed_count ? `, ${job.failed_count} failed` : ''}${fin}${errTxt}` }] }; + } + return { content: [{ type: 'text', text: `Unknown tool: ${name}` }], isError: true }; + } catch (e) { + return { content: [{ type: 'text', text: `Error: ${e?.message || e}` }], isError: true }; + } +}); + +await server.connect(new StdioServerTransport()); +console.error('[klarbild-mcp] ready'); diff --git a/migrations/001_init.sql b/migrations/001_init.sql new file mode 100644 index 0000000..794fef1 --- /dev/null +++ b/migrations/001_init.sql @@ -0,0 +1,168 @@ +-- Klarbild — Initial schema (users, recipes, jobs, items, delivery, sharing, Telegram). +-- Applied automatically at startup (numbered SQL files, no ORM magic). + +CREATE EXTENSION IF NOT EXISTS "pgcrypto"; + +-- Users --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS users ( + id uuid PRIMARY KEY DEFAULT gen_random_uuid(), + username text UNIQUE NOT NULL, + password_hash text NOT NULL, + role text NOT NULL DEFAULT 'user' CHECK (role IN ('user','admin')), + display_name text, + created_at timestamptz NOT NULL DEFAULT now() +); + +-- Preset recipes (saved presets) ------------------------------------------- +CREATE TABLE IF NOT EXISTS recipes ( + id uuid PRIMARY KEY DEFAULT gen_random_uuid(), + name text NOT NULL, + tasks jsonb NOT NULL DEFAULT '[]'::jsonb, -- e.g. ["clean","format","deliver"] + output_format text, + orientation text, + crop_mode text, + dpi int NOT NULL DEFAULT 300, + contour_mm numeric, + model_key text, + delivery text NOT NULL DEFAULT 'library' CHECK (delivery IN ('library','remote','both')), + delivery_folder text, + custom_instruction text, + is_default bool NOT NULL DEFAULT false, + created_by uuid REFERENCES users(id) ON DELETE SET NULL, + created_at timestamptz NOT NULL DEFAULT now() +); + +-- Jobs (a batch) -------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS jobs ( + id uuid PRIMARY KEY DEFAULT gen_random_uuid(), + created_by uuid REFERENCES users(id) ON DELETE SET NULL, + origin text NOT NULL DEFAULT 'web' CHECK (origin IN ('web','telegram')), + recipe_snapshot jsonb NOT NULL, + status text NOT NULL DEFAULT 'queued' + CHECK (status IN ('queued','running','paused','done','cancelled')), + total int NOT NULL DEFAULT 0, + done_count int NOT NULL DEFAULT 0, + failed_count int NOT NULL DEFAULT 0, + created_at timestamptz NOT NULL DEFAULT now(), + finished_at timestamptz +); + +-- Folders --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS folders ( + id uuid PRIMARY KEY DEFAULT gen_random_uuid(), + name text NOT NULL, + delivery_folder text, + created_at timestamptz NOT NULL DEFAULT now() +); + +-- Items (one image in a job) ----------------------------------------------- +CREATE TABLE IF NOT EXISTS items ( + id uuid PRIMARY KEY DEFAULT gen_random_uuid(), + job_id uuid REFERENCES jobs(id) ON DELETE CASCADE, + position int NOT NULL DEFAULT 0, + status text NOT NULL DEFAULT 'queued' + CHECK (status IN ('queued','running','done','failed','skipped')), + attempts int NOT NULL DEFAULT 0, + error_message text, + source_path text, + result_path text, + filename text, + output_px text, + source_quality text CHECK (source_quality IN ('original','compressed')), + dpi int, + has_alpha bool NOT NULL DEFAULT false, + model_used text, + prompt_used text, + cost numeric, -- actual cost, from usage.cost + folder_id uuid REFERENCES folders(id) ON DELETE SET NULL, + delivery_status text NOT NULL DEFAULT 'none' + CHECK (delivery_status IN ('none','pending','delivered','failed')), + delivered_at timestamptz, + created_at timestamptz NOT NULL DEFAULT now() +); +CREATE INDEX IF NOT EXISTS items_job_idx ON items(job_id); +CREATE INDEX IF NOT EXISTS items_created_idx ON items(created_at DESC); + +-- Print jobs ------------------------------------------------------------------ +CREATE TABLE IF NOT EXISTS print_jobs ( + id uuid PRIMARY KEY DEFAULT gen_random_uuid(), + created_by uuid REFERENCES users(id) ON DELETE SET NULL, + note text, + status text NOT NULL DEFAULT 'open' CHECK (status IN ('open','done')), + created_at timestamptz NOT NULL DEFAULT now() +); +CREATE TABLE IF NOT EXISTS print_job_items ( + print_job_id uuid REFERENCES print_jobs(id) ON DELETE CASCADE, + item_id uuid REFERENCES items(id) ON DELETE CASCADE, + PRIMARY KEY (print_job_id, item_id) +); + +-- Share links ------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS share_links ( + id uuid PRIMARY KEY DEFAULT gen_random_uuid(), + token text UNIQUE NOT NULL, + scope_type text NOT NULL CHECK (scope_type IN ('selection','folder')), + scope_ref jsonb NOT NULL, + expires_at timestamptz, + password_hash text, + revoked bool NOT NULL DEFAULT false, + created_at timestamptz NOT NULL DEFAULT now() +); + +-- Telegram --------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS telegram_links ( + id uuid PRIMARY KEY DEFAULT gen_random_uuid(), + chat_id bigint UNIQUE NOT NULL, + user_id uuid REFERENCES users(id) ON DELETE CASCADE, + default_recipe_id uuid REFERENCES recipes(id) ON DELETE SET NULL, + active bool NOT NULL DEFAULT true, + linked_at timestamptz NOT NULL DEFAULT now() +); +CREATE TABLE IF NOT EXISTS telegram_pairing_codes ( + code text PRIMARY KEY, + user_id uuid REFERENCES users(id) ON DELETE CASCADE, + expires_at timestamptz NOT NULL, + used_at timestamptz +); +CREATE TABLE IF NOT EXISTS telegram_drafts ( + id uuid PRIMARY KEY DEFAULT gen_random_uuid(), + chat_id bigint NOT NULL, + media_group_id text, + file_refs jsonb NOT NULL DEFAULT '[]'::jsonb, + last_received_at timestamptz NOT NULL DEFAULT now(), + status text NOT NULL DEFAULT 'collecting' + CHECK (status IN ('collecting','awaiting_recipe','dispatched','discarded')), + notice_message_id bigint +); + +-- Settings (single row) ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS settings ( + id int PRIMARY KEY DEFAULT 1 CHECK (id = 1), + openrouter_key_enc text, + delivery_host text, + delivery_protocol text CHECK (delivery_protocol IN ('ftps','sftp')), + delivery_port int, + delivery_user text, + delivery_password_enc text, + delivery_base_path text, + default_dpi int NOT NULL DEFAULT 300, + default_crop_mode text NOT NULL DEFAULT 'crop', + concurrency int NOT NULL DEFAULT 2, + cricut_sheet_cm text NOT NULL DEFAULT '17.1x23.5', + monthly_budget numeric, + n8n_webhook_url text, + telegram_bot_token_enc text, + telegram_webhook_secret text +); + +-- Models ------------------------------------------------------------------ +CREATE TABLE IF NOT EXISTS models ( + id uuid PRIMARY KEY DEFAULT gen_random_uuid(), + model_id text NOT NULL, + label text NOT NULL, + description text, + active bool NOT NULL DEFAULT true, + is_default bool NOT NULL DEFAULT false, + supports_alpha bool NOT NULL DEFAULT false, + sort int NOT NULL DEFAULT 0 +); diff --git a/migrations/002_telegram_job.sql b/migrations/002_telegram_job.sql new file mode 100644 index 0000000..cfc014e --- /dev/null +++ b/migrations/002_telegram_job.sql @@ -0,0 +1,2 @@ +-- Telegram: the job knows the chat that triggered it (for replying back). +ALTER TABLE jobs ADD COLUMN IF NOT EXISTS telegram_chat_id bigint; diff --git a/migrations/003_settings_gallery.sql b/migrations/003_settings_gallery.sql new file mode 100644 index 0000000..16769fe --- /dev/null +++ b/migrations/003_settings_gallery.sql @@ -0,0 +1,2 @@ +-- Configurable default delivery target folder (instead of hardcoded). +ALTER TABLE settings ADD COLUMN IF NOT EXISTS delivery_default_folder text; diff --git a/migrations/004_modes_thumbs_storage_nas.sql b/migrations/004_modes_thumbs_storage_nas.sql new file mode 100644 index 0000000..3228622 --- /dev/null +++ b/migrations/004_modes_thumbs_storage_nas.sql @@ -0,0 +1,35 @@ +-- Klarbild — Generation modes, thumbnails, storage management, backup mirror. +-- (04) Combining several images + free-text generation, thumbnails for the +-- library, "don't clutter up the server" (retention / deleting sources), a +-- second backup to a backup mirror. + +-- Job mode: each = every template on its own (as before), compose = several images +-- + text into ONE new image, generate = pure free text without a template. +ALTER TABLE jobs ADD COLUMN IF NOT EXISTS mode text NOT NULL DEFAULT 'each' + CHECK (mode IN ('each','compose','generate')); + +-- Items: several source images (compose) + a shrunk preview image. +ALTER TABLE items ADD COLUMN IF NOT EXISTS source_paths jsonb; +ALTER TABLE items ADD COLUMN IF NOT EXISTS thumb_path text; + +-- Preset recipes can pre-set a mode (for default Telegram presets). +ALTER TABLE recipes ADD COLUMN IF NOT EXISTS mode text NOT NULL DEFAULT 'each' + CHECK (mode IN ('each','compose','generate')); + +-- Storage management --------------------------------------------------------- +ALTER TABLE settings ADD COLUMN IF NOT EXISTS keep_sources bool NOT NULL DEFAULT true; +ALTER TABLE settings ADD COLUMN IF NOT EXISTS make_thumbnails bool NOT NULL DEFAULT true; +ALTER TABLE settings ADD COLUMN IF NOT EXISTS retention_days int; -- NULL = unlimited + +-- Second backup to a backup mirror (SFTP/FTPS, same as the delivery target) --- +ALTER TABLE settings ADD COLUMN IF NOT EXISTS mirror_enabled bool NOT NULL DEFAULT false; +ALTER TABLE settings ADD COLUMN IF NOT EXISTS mirror_host text; +ALTER TABLE settings ADD COLUMN IF NOT EXISTS mirror_protocol text CHECK (mirror_protocol IN ('ftps','sftp')); +ALTER TABLE settings ADD COLUMN IF NOT EXISTS mirror_port int; +ALTER TABLE settings ADD COLUMN IF NOT EXISTS mirror_user text; +ALTER TABLE settings ADD COLUMN IF NOT EXISTS mirror_password_enc text; +ALTER TABLE settings ADD COLUMN IF NOT EXISTS mirror_base_path text; + +-- Mirror status per item (for visibility/retrying). +ALTER TABLE items ADD COLUMN IF NOT EXISTS mirror_status text NOT NULL DEFAULT 'none' + CHECK (mirror_status IN ('none','pending','mirrored','failed')); diff --git a/migrations/005_telegram_compose.sql b/migrations/005_telegram_compose.sql new file mode 100644 index 0000000..1c43750 --- /dev/null +++ b/migrations/005_telegram_compose.sql @@ -0,0 +1,5 @@ +-- Telegram: combine/generate — caption as description + an in-between status. +ALTER TABLE telegram_drafts ADD COLUMN IF NOT EXISTS caption text; +ALTER TABLE telegram_drafts DROP CONSTRAINT IF EXISTS telegram_drafts_status_check; +ALTER TABLE telegram_drafts ADD CONSTRAINT telegram_drafts_status_check + CHECK (status IN ('collecting','awaiting_recipe','awaiting_compose_text','dispatched','discarded')); diff --git a/migrations/006_variants.sql b/migrations/006_variants.sql new file mode 100644 index 0000000..13baa5c --- /dev/null +++ b/migrations/006_variants.sql @@ -0,0 +1,4 @@ +-- Alternatives/regeneration: group several results under the same origin. +-- variant_of points at the "root" item (the first version); alternatives share it. +ALTER TABLE items ADD COLUMN IF NOT EXISTS variant_of uuid REFERENCES items(id) ON DELETE SET NULL; +CREATE INDEX IF NOT EXISTS items_variant_idx ON items(variant_of); diff --git a/migrations/007_delivery_targets.sql b/migrations/007_delivery_targets.sql new file mode 100644 index 0000000..1d8a85b --- /dev/null +++ b/migrations/007_delivery_targets.sql @@ -0,0 +1,21 @@ +-- Several delivery targets (FTP/SFTP sources), e.g. a second delivery target +-- folder or a different FTP server. Preset recipes can hardcode one target. +CREATE TABLE IF NOT EXISTS delivery_targets ( + id uuid PRIMARY KEY DEFAULT gen_random_uuid(), + name text NOT NULL, + protocol text CHECK (protocol IN ('ftps','sftp')), + host text, + port int, + username text, + password_enc text, + base_path text, + created_at timestamptz NOT NULL DEFAULT now() +); + +-- Preset → fixed target (NULL = the default delivery target from settings). +ALTER TABLE recipes ADD COLUMN IF NOT EXISTS delivery_target_id uuid + REFERENCES delivery_targets(id) ON DELETE SET NULL; + +-- Folder → fixed target (optional). +ALTER TABLE folders ADD COLUMN IF NOT EXISTS delivery_target_id uuid + REFERENCES delivery_targets(id) ON DELETE SET NULL; diff --git a/migrations/008_backup_metadata_apitoken.sql b/migrations/008_backup_metadata_apitoken.sql new file mode 100644 index 0000000..0826cb1 --- /dev/null +++ b/migrations/008_backup_metadata_apitoken.sql @@ -0,0 +1,19 @@ +-- Backup to any target, metadata sidecar files, API token for external access (MCP). + +-- Any extra target can be flagged as a backup target (receives ALL results). +ALTER TABLE delivery_targets ADD COLUMN IF NOT EXISTS is_backup bool NOT NULL DEFAULT false; + +-- Send metadata along as a companion .md file (prompt, file name, model, …). +ALTER TABLE settings ADD COLUMN IF NOT EXISTS metadata_sidecar bool NOT NULL DEFAULT false; + +-- API token for programmatic access (Klarbild MCP / automations). +ALTER TABLE settings ADD COLUMN IF NOT EXISTS api_token text; + +-- Backup status per target and item (for "backed up to several targets"). +CREATE TABLE IF NOT EXISTS item_backups ( + item_id uuid REFERENCES items(id) ON DELETE CASCADE, + target text NOT NULL, -- 'mirror' | delivery_target UUID + status text NOT NULL DEFAULT 'mirrored' CHECK (status IN ('mirrored','failed')), + at timestamptz NOT NULL DEFAULT now(), + PRIMARY KEY (item_id, target) +); diff --git a/migrations/009_access_privacy_nsfw.sql b/migrations/009_access_privacy_nsfw.sql new file mode 100644 index 0000000..e77fc1b --- /dev/null +++ b/migrations/009_access_privacy_nsfw.sql @@ -0,0 +1,18 @@ +-- Access rights, private sessions, NSFW switch. + +-- Visibility of the library + privacy. +ALTER TABLE settings ADD COLUMN IF NOT EXISTS library_visibility text NOT NULL DEFAULT 'own' + CHECK (library_visibility IN ('own','shared')); -- own = each user sees only their own; shared = everyone sees everything +ALTER TABLE settings ADD COLUMN IF NOT EXISTS anonymous_generations bool NOT NULL DEFAULT false; +ALTER TABLE settings ADD COLUMN IF NOT EXISTS private_allowed bool NOT NULL DEFAULT false; +ALTER TABLE settings ADD COLUMN IF NOT EXISTS allow_nsfw bool NOT NULL DEFAULT false; + +-- Per user: force private sessions. +ALTER TABLE users ADD COLUMN IF NOT EXISTS private_forced bool NOT NULL DEFAULT false; + +-- Private jobs: generate only, then forget (not in the library, no delivery/backup, +-- no stored prompt, sources deleted immediately, result removed after a short time). +ALTER TABLE jobs ADD COLUMN IF NOT EXISTS private bool NOT NULL DEFAULT false; + +-- Flag models as NSFW-capable (selectable/visible only while allow_nsfw is on). +ALTER TABLE models ADD COLUMN IF NOT EXISTS nsfw bool NOT NULL DEFAULT false; diff --git a/migrations/010_color_tags.sql b/migrations/010_color_tags.sql new file mode 100644 index 0000000..3c7df06 --- /dev/null +++ b/migrations/010_color_tags.sql @@ -0,0 +1,4 @@ +-- Color tags, as in the delivery target (red / orange / green / final). +ALTER TABLE items ADD COLUMN IF NOT EXISTS color_tag text + CHECK (color_tag IN ('red','orange','green','final')); +CREATE INDEX IF NOT EXISTS items_color_tag_idx ON items(color_tag); diff --git a/migrations/011_per_source_metadata.sql b/migrations/011_per_source_metadata.sql new file mode 100644 index 0000000..8db81dc --- /dev/null +++ b/migrations/011_per_source_metadata.sql @@ -0,0 +1,4 @@ +-- Metadata sidecar file (.md) controllable per upload source instead of globally. +ALTER TABLE settings ADD COLUMN IF NOT EXISTS delivery_metadata_sidecar bool NOT NULL DEFAULT false; +ALTER TABLE settings ADD COLUMN IF NOT EXISTS mirror_metadata_sidecar bool NOT NULL DEFAULT false; +ALTER TABLE delivery_targets ADD COLUMN IF NOT EXISTS metadata_sidecar bool NOT NULL DEFAULT false; diff --git a/migrations/012_failed_jobs_and_output_ext.sql b/migrations/012_failed_jobs_and_output_ext.sql new file mode 100644 index 0000000..bef187a --- /dev/null +++ b/migrations/012_failed_jobs_and_output_ext.sql @@ -0,0 +1,11 @@ +-- Jobs may now also be "failed" (all items failed) → shown red in the overview. +ALTER TABLE jobs DROP CONSTRAINT IF EXISTS jobs_status_check; +ALTER TABLE jobs ADD CONSTRAINT jobs_status_check + CHECK (status IN ('queued','running','paused','done','cancelled','failed')); + +-- Output format of the image file: global (settings) + an optional preset override. +-- "png" = lossless (default, needed for transparency), "jpg" = small, friendly to the delivery target. +ALTER TABLE settings ADD COLUMN IF NOT EXISTS output_ext text NOT NULL DEFAULT 'png' + CHECK (output_ext IN ('png','jpg')); +ALTER TABLE recipes ADD COLUMN IF NOT EXISTS output_ext text + CHECK (output_ext IN ('png','jpg')); diff --git a/migrations/013_print_presets.sql b/migrations/013_print_presets.sql new file mode 100644 index 0000000..75a350b --- /dev/null +++ b/migrations/013_print_presets.sql @@ -0,0 +1,14 @@ +-- Presets for passport photos/print sheets ("daycare set", "8× passport photo") --- +CREATE TABLE IF NOT EXISTS print_presets ( + id uuid PRIMARY KEY DEFAULT gen_random_uuid(), + name text NOT NULL, + created_by uuid REFERENCES users(id) ON DELETE SET NULL, + config jsonb NOT NULL, + created_at timestamptz NOT NULL DEFAULT now() +); +CREATE INDEX IF NOT EXISTS print_presets_name_idx ON print_presets(name); + +-- Telegram: state "waiting for print selection" ----------------------------- +ALTER TABLE telegram_drafts DROP CONSTRAINT IF EXISTS telegram_drafts_status_check; +ALTER TABLE telegram_drafts ADD CONSTRAINT telegram_drafts_status_check + CHECK (status IN ('collecting','awaiting_recipe','awaiting_compose_text','awaiting_print','dispatched','discarded')); diff --git a/migrations/014_mail_and_sharing.sql b/migrations/014_mail_and_sharing.sql new file mode 100644 index 0000000..8fbea90 --- /dev/null +++ b/migrations/014_mail_and_sharing.sql @@ -0,0 +1,71 @@ +-- Sending email, password reset, and share links --------------------------- +-- All forward-only and idempotent, like the other migrations. + +-- SMTP access. The password is stored AES-256-GCM encrypted, like the other +-- secrets (src/lib/crypto.ts) — never in plain text. +ALTER TABLE settings ADD COLUMN IF NOT EXISTS smtp_host text; +ALTER TABLE settings ADD COLUMN IF NOT EXISTS smtp_port integer NOT NULL DEFAULT 465; +ALTER TABLE settings ADD COLUMN IF NOT EXISTS smtp_secure boolean NOT NULL DEFAULT true; +ALTER TABLE settings ADD COLUMN IF NOT EXISTS smtp_user text; +ALTER TABLE settings ADD COLUMN IF NOT EXISTS smtp_password text; +ALTER TABLE settings ADD COLUMN IF NOT EXISTS smtp_from text; + +-- How long a new share link is valid by default (0 = unlimited). +ALTER TABLE settings ADD COLUMN IF NOT EXISTS share_default_days integer NOT NULL DEFAULT 30; + +-- Email on the user account: for "forgot password" and optional notices. +ALTER TABLE users ADD COLUMN IF NOT EXISTS email text; +ALTER TABLE users ADD COLUMN IF NOT EXISTS notify_jobs boolean NOT NULL DEFAULT false; +CREATE UNIQUE INDEX IF NOT EXISTS users_email_idx ON users (lower(email)) WHERE email IS NOT NULL; + +-- Password reset. Only the **hash** of the token is stored — reading the +-- database alone is not enough to take over an account. +CREATE TABLE IF NOT EXISTS password_resets ( + token_hash text PRIMARY KEY, + user_id uuid NOT NULL REFERENCES users(id) ON DELETE CASCADE, + expires_at timestamptz NOT NULL, + used_at timestamptz, + created_at timestamptz NOT NULL DEFAULT now() +); +CREATE INDEX IF NOT EXISTS password_resets_user_idx ON password_resets(user_id); + +-- Share links: one image or a collection, publicly reachable at /s/. +CREATE TABLE IF NOT EXISTS shares ( + id uuid PRIMARY KEY DEFAULT gen_random_uuid(), + slug text UNIQUE NOT NULL, + kind text NOT NULL DEFAULT 'item' CHECK (kind IN ('item','collection')), + title text, + note text, + created_by uuid REFERENCES users(id) ON DELETE SET NULL, + expires_at timestamptz, + revoked_at timestamptz, + allow_download boolean NOT NULL DEFAULT true, + -- Optional passphrase (argon2), so a forwarded link alone is not enough. + password_hash text, + views integer NOT NULL DEFAULT 0, + downloads integer NOT NULL DEFAULT 0, + last_seen_at timestamptz, + created_at timestamptz NOT NULL DEFAULT now() +); +CREATE INDEX IF NOT EXISTS shares_created_by_idx ON shares(created_by); + +CREATE TABLE IF NOT EXISTS share_items ( + share_id uuid NOT NULL REFERENCES shares(id) ON DELETE CASCADE, + item_id uuid NOT NULL REFERENCES items(id) ON DELETE CASCADE, + position integer NOT NULL DEFAULT 0, + PRIMARY KEY (share_id, item_id) +); +CREATE INDEX IF NOT EXISTS share_items_item_idx ON share_items(item_id); + +-- Accesses per link. The IP is stored only **hashed** (salted with the server's +-- secret): this lets you count returning visitors without identifying anyone +-- or recovering the address. +CREATE TABLE IF NOT EXISTS share_views ( + id bigserial PRIMARY KEY, + share_id uuid NOT NULL REFERENCES shares(id) ON DELETE CASCADE, + kind text NOT NULL DEFAULT 'view' CHECK (kind IN ('view','download')), + ip_hash text, + user_agent text, + at timestamptz NOT NULL DEFAULT now() +); +CREATE INDEX IF NOT EXISTS share_views_share_idx ON share_views(share_id, at DESC); diff --git a/migrations/015_session_epoch.sql b/migrations/015_session_epoch.sql new file mode 100644 index 0000000..86c350b --- /dev/null +++ b/migrations/015_session_epoch.sql @@ -0,0 +1,37 @@ +-- Make sessions revocable server-side --------------------------------------- +-- Until now the session cookie was only HMAC-signed: whoever had it once got +-- in with it indefinitely — even after the password was reset or the role +-- was taken away. The very step meant to rescue a hijacked account therefore +-- did not help. +-- +-- `session_epoch` is incremented on every password change and every role +-- change. The cookie carries the value along; once it no longer matches, the +-- cookie is no longer valid. A counter instead of a timestamp, because it +-- knows no clock-skew inaccuracies. +ALTER TABLE users ADD COLUMN IF NOT EXISTS session_epoch integer NOT NULL DEFAULT 0; + +-- For rename assignment: `renames.ts` checks, for every finished image, +-- whether a name is already taken — without an index that was a full table scan. +CREATE INDEX IF NOT EXISTS items_filename_idx ON items(filename); + +-- Cleanup: both tables grew without bound. +CREATE INDEX IF NOT EXISTS share_views_at_idx ON share_views(at); +CREATE INDEX IF NOT EXISTS password_resets_expires_idx ON password_resets(expires_at); + +-- Counter for distinct visitors per share link. It used to be computed on every +-- load of the admin page via `count(DISTINCT ip_hash)` over share_views — that +-- got slow as the table grew, and made the page attackable, since anyone with +-- the link could generate an unlimited number of rows. +ALTER TABLE shares ADD COLUMN IF NOT EXISTS visitor integer NOT NULL DEFAULT 0; + +-- Only one row per link, visitor and hour: without this limit, a recipient +-- (or an tag on some page) could fill the table without bound and run +-- the disk out of space. +-- +-- The hour value is supplied at write time instead of computed in the index: +-- `date_trunc` on a timestamptz depends on the timezone setting and is +-- therefore not immutable enough for an index. +ALTER TABLE share_views ADD COLUMN IF NOT EXISTS hour text; +CREATE UNIQUE INDEX IF NOT EXISTS share_views_once_per_hour_idx + ON share_views (share_id, kind, ip_hash, hour) + WHERE ip_hash IS NOT NULL AND hour IS NOT NULL; diff --git a/migrations/016_print_history.sql b/migrations/016_print_history.sql new file mode 100644 index 0000000..f35454e --- /dev/null +++ b/migrations/016_print_history.sql @@ -0,0 +1,39 @@ +-- Print history: what was printed last -------------------------------------- +-- +-- Only the **recipe** is stored, not the result: the sheet settings, the +-- references to the source images, and a few key figures. An A3 print sheet +-- as a PDF is quickly 20–80 MB; a few dozen prints would fill the disk, and +-- with files that can be regenerated in seconds at that. The sheet is simply +-- recomputed on reprint — deterministic, from the same sources. +-- +-- Row size: roughly 1–3 KB per entry. A thousand prints therefore cost a few +-- megabytes instead of many gigabytes. +CREATE TABLE IF NOT EXISTS print_runs ( + id uuid PRIMARY KEY DEFAULT gen_random_uuid(), + created_by uuid REFERENCES users(id) ON DELETE SET NULL, + -- Where the print came from: 'web' | 'telegram' | 'mcp' | 'api' + origin text NOT NULL DEFAULT 'web', + -- Human-readable short form for the list ("13 × 18 cm ×1, 35 × 45 mm ×8"). + summary text, + paper text, -- "A4 · 210 × 297 mm" + pages integer NOT NULL DEFAULT 1, + pieces integer NOT NULL DEFAULT 1, + bytes integer, -- size of the generated PDF, informational only + -- The full request that the sheet can be regenerated from. + -- Deliberately the request body and not a bespoke format: what is stored + -- here can be sent back to /api/print/sheet unchanged. + config jsonb NOT NULL, + created_at timestamptz NOT NULL DEFAULT now() +); +CREATE INDEX IF NOT EXISTS print_runs_user_idx ON print_runs(created_by, created_at DESC); +CREATE INDEX IF NOT EXISTS print_runs_created_idx ON print_runs(created_at DESC); + +-- Which library images went into a print. Only for images from the +-- library — individually uploaded files have no durable identifier and are +-- gone anyway once the sources are cleaned up. +CREATE TABLE IF NOT EXISTS print_run_items ( + run_id uuid NOT NULL REFERENCES print_runs(id) ON DELETE CASCADE, + item_id uuid NOT NULL REFERENCES items(id) ON DELETE CASCADE, + PRIMARY KEY (run_id, item_id) +); +CREATE INDEX IF NOT EXISTS print_run_items_item_idx ON print_run_items(item_id); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..a4da7ff --- /dev/null +++ b/package-lock.json @@ -0,0 +1,9266 @@ +{ + "name": "klarbild", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "klarbild", + "version": "0.1.0", + "dependencies": { + "@astrojs/node": "^9.1.3", + "@astrojs/react": "^4.2.1", + "@aws-sdk/client-s3": "^3.700.0", + "@aws-sdk/s3-request-presigner": "^3.700.0", + "@fontsource/space-grotesk": "^5.1.0", + "@fontsource/space-mono": "^5.1.0", + "archiver": "^7.0.1", + "argon2": "^0.41.1", + "astro": "^5.5.0", + "basic-ftp": "^5.0.5", + "grammy": "^1.30.0", + "heic-convert": "^2.1.0", + "nodemailer": "^9.1.0", + "pdf-lib": "^1.17.1", + "pg": "^8.13.1", + "pg-boss": "^10.1.5", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "sharp": "^0.33.5", + "ssh2-sftp-client": "^11.0.0" + }, + "devDependencies": { + "@types/node": "^26.5.1", + "@types/nodemailer": "^8.0.1", + "@types/pg": "^8.11.10", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "@types/ssh2-sftp-client": "^9.0.6", + "typescript": "^5.7.2" + } + }, + "node_modules/@astrojs/compiler": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.13.1.tgz", + "integrity": "sha512-f3FN83d2G/v32ipNClRKgYv30onQlMZX1vCeZMjPsMMPl1mDpmbl0+N5BYo4S/ofzqJyS5hvwacEo0CCVDn/Qg==", + "license": "MIT" + }, + "node_modules/@astrojs/internal-helpers": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.7.6.tgz", + "integrity": "sha512-GOle7smBWKfMSP8osUIGOlB5kaHdQLV3foCsf+5Q9Wsuu+C6Fs3Ez/ttXmhjZ1HkSgsogcM1RXSjjOVieHq16Q==", + "license": "MIT" + }, + "node_modules/@astrojs/markdown-remark": { + "version": "6.3.11", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-6.3.11.tgz", + "integrity": "sha512-hcaxX/5aC6lQgHeGh1i+aauvSwIT6cfyFjKWvExYSxUhZZBBdvCliOtu06gbQyhbe0pGJNoNmqNlQZ5zYUuIyQ==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.7.6", + "@astrojs/prism": "3.3.0", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.3", + "hast-util-to-text": "^4.0.2", + "import-meta-resolve": "^4.2.0", + "js-yaml": "^4.1.1", + "mdast-util-definitions": "^6.0.0", + "rehype-raw": "^7.0.0", + "rehype-stringify": "^10.0.1", + "remark-gfm": "^4.0.1", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.2", + "remark-smartypants": "^3.0.2", + "shiki": "^3.21.0", + "smol-toml": "^1.6.0", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.2", + "vfile": "^6.0.3" + } + }, + "node_modules/@astrojs/node": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@astrojs/node/-/node-9.5.5.tgz", + "integrity": "sha512-rtU2BGU5u3SfGURpANfMxVzCIoR86MkaN05ncza9rbtuMKJ/XnRJt/BbyVknDbOJ71hoci0SIsJwKcJR8vvi/A==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.7.6", + "send": "^1.2.1", + "server-destroy": "^1.0.1" + }, + "peerDependencies": { + "astro": "^5.17.3" + } + }, + "node_modules/@astrojs/prism": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.3.0.tgz", + "integrity": "sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==", + "license": "MIT", + "dependencies": { + "prismjs": "^1.30.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@astrojs/react": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@astrojs/react/-/react-4.4.2.tgz", + "integrity": "sha512-1tl95bpGfuaDMDn8O3x/5Dxii1HPvzjvpL2YTuqOOrQehs60I2DKiDgh1jrKc7G8lv+LQT5H15V6QONQ+9waeQ==", + "license": "MIT", + "dependencies": { + "@vitejs/plugin-react": "^4.7.0", + "ultrahtml": "^1.6.0", + "vite": "^6.4.1" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + }, + "peerDependencies": { + "@types/react": "^17.0.50 || ^18.0.21 || ^19.0.0", + "@types/react-dom": "^17.0.17 || ^18.0.6 || ^19.0.0", + "react": "^17.0.2 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.2 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@astrojs/telemetry": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.0.tgz", + "integrity": "sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==", + "license": "MIT", + "dependencies": { + "ci-info": "^4.2.0", + "debug": "^4.4.0", + "dlv": "^1.1.3", + "dset": "^3.1.4", + "is-docker": "^3.0.0", + "is-wsl": "^3.1.0", + "which-pm-runs": "^1.1.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@aws-sdk/checksums": { + "version": "3.1000.19", + "resolved": "https://registry.npmjs.org/@aws-sdk/checksums/-/checksums-3.1000.19.tgz", + "integrity": "sha512-Hc4N100RdkuWshKBnhPzmpdftfi9mCLz+OHFELHM1QIgMH4QRUUWyWgfiebta/YX2Bd62wTcm3EqAP8TeXv0gA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.976.0", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.4", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3": { + "version": "3.1093.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.1093.0.tgz", + "integrity": "sha512-7452vEdp/nihIBWijnmcTBujXEFfbs4F02wyBDGqmNr6pwyo5GmQorx0zQIVg8QGFLXiBvsWKXBhCdiBcxNnGA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/checksums": "^3.1000.19", + "@aws-sdk/core": "^3.976.0", + "@aws-sdk/credential-provider-node": "^3.972.71", + "@aws-sdk/middleware-sdk-s3": "^3.972.65", + "@aws-sdk/signature-v4-multi-region": "^3.996.41", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.4", + "@smithy/fetch-http-handler": "^5.6.6", + "@smithy/node-http-handler": "^4.9.6", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/core": { + "version": "3.976.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.976.0.tgz", + "integrity": "sha512-0cjRaEdlVoOrsNb9pP5q1Syyc8pXw5xSj2Np2ryReRTr9FppIIRVSdZK4lbnfmc2Hvgux/xBOUU6baB7z8//uA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.974.2", + "@aws-sdk/xml-builder": "^3.972.36", + "@aws/lambda-invoke-store": "^0.3.0", + "@smithy/core": "^3.29.4", + "@smithy/signature-v4": "^5.6.5", + "@smithy/types": "^4.16.1", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.972.60", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.972.60.tgz", + "integrity": "sha512-BAkxdoe7tpDDqCghGpuOeHQRbm/2znVvOQm0AvpQbA2tbfMN46doN4zx65fv85ImP3KADwc2zQPmbrlI9MPfMg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.976.0", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.4", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.972.62", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.62.tgz", + "integrity": "sha512-g/0fGqKTb9xpKdd9AtpmV5Eo3DFKbnkpA2+w0peISSlu7NfAoWOuYBFxsu+yWBtxU89ka55ezoZBCbFaS8pjYQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.976.0", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.4", + "@smithy/fetch-http-handler": "^5.6.6", + "@smithy/node-http-handler": "^4.9.6", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.973.5", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.973.5.tgz", + "integrity": "sha512-ylubazcRfq2TVus/qXucSXeC42Qdjp5HQxTu68K/BsdMiZlcSLD1zkpoCgApXZX1Y6YJhtGGs7ZHhO/GuIgBlw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.976.0", + "@aws-sdk/credential-provider-env": "^3.972.60", + "@aws-sdk/credential-provider-http": "^3.972.62", + "@aws-sdk/credential-provider-login": "^3.972.67", + "@aws-sdk/credential-provider-process": "^3.972.60", + "@aws-sdk/credential-provider-sso": "^3.973.4", + "@aws-sdk/credential-provider-web-identity": "^3.972.66", + "@aws-sdk/nested-clients": "^3.997.34", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.4", + "@smithy/credential-provider-imds": "^4.4.9", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-login": { + "version": "3.972.67", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.67.tgz", + "integrity": "sha512-CCygIKJ9YbI3n84OClSaSppkgKKHVj2TGT33c6FRORZrYNZQ1POmD+ip0FLYokiJAK7sSdc3YVkOsBm90oxWMQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.976.0", + "@aws-sdk/nested-clients": "^3.997.34", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.4", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.972.71", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.71.tgz", + "integrity": "sha512-HIg7Q2osBzajQwL+1Vkyh2E7Gim3eTNb9RHIsOxDGjW0eZg4oEKtRs5sioCnc73ilhaOm4gX2lHVF8J7+nt2rg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "^3.972.60", + "@aws-sdk/credential-provider-http": "^3.972.62", + "@aws-sdk/credential-provider-ini": "^3.973.5", + "@aws-sdk/credential-provider-process": "^3.972.60", + "@aws-sdk/credential-provider-sso": "^3.973.4", + "@aws-sdk/credential-provider-web-identity": "^3.972.66", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.4", + "@smithy/credential-provider-imds": "^4.4.9", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.972.60", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.972.60.tgz", + "integrity": "sha512-YIo3f99hM43QdYG8hDzwGemnR/pU95b0kramqSJUTleCqaB7+HwKf7YZFHqvOgTqZTPx/mRmNIqoDRr3U0Z3Tw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.976.0", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.4", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.973.4", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.973.4.tgz", + "integrity": "sha512-BPdmL8sSBOCv4ngZ+3LHxyc3CNqDCEK37CHioCk7zGrTMY5sUtkH8q+o6qA80nn6w3/fyBPGNE7OIRlmoOxRQA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.976.0", + "@aws-sdk/nested-clients": "^3.997.34", + "@aws-sdk/token-providers": "3.1092.0", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.4", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.972.66", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.66.tgz", + "integrity": "sha512-kSAziJboOmZmsR9/MTbiNjowl2BPes1bQuJpne4qAZ62ubi8fjfr/aupJSQje6udBoYxXTQbsL0e0kby2la3ng==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.976.0", + "@aws-sdk/nested-clients": "^3.997.34", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.4", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-s3": { + "version": "3.972.65", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.972.65.tgz", + "integrity": "sha512-udwNhRfDTfCB98mAHjjgsnKQlxygB4e0X+Obne/XjJpvVsF0YCQC8ZErd/8Z6IPoLQjtiKHzwqEDbZiLrJEnOg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.976.0", + "@aws-sdk/signature-v4-multi-region": "^3.996.41", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.4", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/nested-clients": { + "version": "3.997.34", + "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.997.34.tgz", + "integrity": "sha512-Y9REVrSwmLM+Qy6sZJ7ofMC2S3Hr3tPP/4CzL5U1olPP7OGoF+6+Px0E49cVQBtSxJtyeLJMf0UaBErfeSahAA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.976.0", + "@aws-sdk/signature-v4-multi-region": "^3.996.41", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.4", + "@smithy/fetch-http-handler": "^5.6.6", + "@smithy/node-http-handler": "^4.9.6", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/s3-request-presigner": { + "version": "3.1093.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.1093.0.tgz", + "integrity": "sha512-yEqbZRxq+ZkzrEr2oArnt9YZkdKW2SoZW4v4qpCAgOlxs6YJSRdJx3lOLaRwO3jsXfuVgohvm6Bt9MD4qATilg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.976.0", + "@aws-sdk/signature-v4-multi-region": "^3.996.41", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.4", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/signature-v4-multi-region": { + "version": "3.996.41", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.996.41.tgz", + "integrity": "sha512-QMUytg+FQMGouc8gHS00KoYih3+N6cqmVI/pQGOIo7Nr7OpQaiXjSYOuL+vsPZ1tymY4LAQ8MYcHJmws5LRxng==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.974.2", + "@smithy/signature-v4": "^5.6.5", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/token-providers": { + "version": "3.1092.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.1092.0.tgz", + "integrity": "sha512-hBYUAr6iBLNFcsiWTgtBb0stdSw39VOUq4Sp4A5caCNf66BAZplWN4FleKrVpJx5li2YgdnK2DqoFSMWC642FQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.976.0", + "@aws-sdk/nested-clients": "^3.997.34", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.4", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/types": { + "version": "3.974.2", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.974.2.tgz", + "integrity": "sha512-3W6IUtSxFbH6X7Wb7DzGCV5QiFQsd0g8bOfntpmDxQlzBoKWUMBu/JPQR0DwkE+Hpnxd6db1tXbOwdeHddG6cA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/xml-builder": { + "version": "3.972.36", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.972.36.tgz", + "integrity": "sha512-RdGmS1GLrtaTOLE1ElSluMldNrpk9Emq6uYs8SS8iHlu5xTAmM9rRkM91o48+rIRryBtyO9t+uLYCoMG6jVMVA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws/lambda-invoke-store": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@aws/lambda-invoke-store/-/lambda-invoke-store-0.3.0.tgz", + "integrity": "sha512-sl4Bm6yiMNYrZKkqqDFWN0UfnWhlS8ivKxrYl+6t0gCLrqr8y3B2IqZZbFRkfaVVp7C/baApyh71P+LeE1A2sQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", + "@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" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz", + "integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz", + "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", + "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.29.7.tgz", + "integrity": "sha512-TL0hMc9xzy86VD31nUiwzd5otRAcyEPcsegCxolO0PvcXuH1v0kECe/UIznYFihpkvU5wg/jk4v0TTEFfm53fw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.29.7.tgz", + "integrity": "sha512-06IyK09H3wi4cGbhDBwp5gUGo0IKtnYa8tyTiephirPCK6fbobVGiXMMI5zLQ4aKEYP3wZ3ArU44o+8KMrSG/Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz", + "integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@capsizecss/unpack": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-4.0.1.tgz", + "integrity": "sha512-CuNiSqg7+e1cO/GjffyMOm5Tt2jUF9CWHHnvQ/UkqvtkGfHdgwEC0wpmq7fkN3gxwpRnrAN0WzO3vREKmNolMQ==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.2.tgz", + "integrity": "sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@fontsource/space-grotesk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@fontsource/space-grotesk/-/space-grotesk-5.3.0.tgz", + "integrity": "sha512-ksnGizDPXIDuvqcTYTSrmZ+evx9sDlS8rp7+42BQ7wU+spt3twEoXfbJz672C+5CLg6VeUQwRy5RXshWb67LcQ==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@fontsource/space-mono": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@fontsource/space-mono/-/space-mono-5.3.0.tgz", + "integrity": "sha512-FrpBMOVWn3PRdRHlrZWC55X3kZG/2BTH7SM5ZyS/bky3iKya2BturI5lk+t0RoDQL2JyHzURsVq/EisCsxpI5A==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@grammyjs/types": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@grammyjs/types/-/types-4.0.0.tgz", + "integrity": "sha512-Z8lDLTvOlo12e5Vnly/vQh3JC9ppaitS1dGZ3w068gNitOd/y8tTSiib+Xm38aBGbtYGmUZwOc6afYrLs2CSTg==", + "license": "MIT" + }, + "node_modules/@img/colour": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", + "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz", + "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz", + "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz", + "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz", + "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz", + "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz", + "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz", + "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz", + "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz", + "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz", + "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.0.5" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz", + "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz", + "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.0.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz", + "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz", + "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz", + "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz", + "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.2.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz", + "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz", + "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "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" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "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==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@oslojs/encoding": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", + "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", + "license": "MIT" + }, + "node_modules/@pdf-lib/standard-fonts": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@pdf-lib/standard-fonts/-/standard-fonts-1.0.0.tgz", + "integrity": "sha512-hU30BK9IUN/su0Mn9VdlVKsWBS6GyhVfqjwl1FjZN4TxP6cCw0jP2w7V3Hf5uX7M0AZJ16vey9yE0ny7Sa59ZA==", + "license": "MIT", + "dependencies": { + "pako": "^1.0.6" + } + }, + "node_modules/@pdf-lib/upng": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@pdf-lib/upng/-/upng-1.0.1.tgz", + "integrity": "sha512-dQK2FUMQtowVP00mtIksrlZhdFXQZPC+taih1q4CvPZ5vqdxR/LKBaFg0oAfzd1GlHZXXSPdQfzQnt+ViGvEIQ==", + "license": "MIT", + "dependencies": { + "pako": "^1.0.10" + } + }, + "node_modules/@phc/format": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@phc/format/-/format-1.0.0.tgz", + "integrity": "sha512-m7X9U6BG2+J+R1lSOdCiITLLrxm+cWlNI3HUFA92oLO77ObGNzaKdh8pMLqdZcshtkKuV84olNNXDfMc4FezBQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.27", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", + "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", + "license": "MIT" + }, + "node_modules/@rollup/pluginutils": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.4.0.tgz", + "integrity": "sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.2.tgz", + "integrity": "sha512-6o7ZLZK+BeenkZCFNDXqpbjw9bD6nuWonvS/lwQJp7NoVVxm6p3qE7qQ5jGuBjiFsgvqjD8mZAU5oWxTmbOeOg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.2.tgz", + "integrity": "sha512-BaH7BllCACHoH1LguOU56UItGfUWjujlO65kS9LAodViaN4bwIKd7oeW/ZHJ/4ljr/7MIiENnNy3HJ0zXv8Zkw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.2.tgz", + "integrity": "sha512-v39RCCvj4He82I9sFmk+M1VZ0PLM9sfsLVikjfx2hYBNALhrrOR2D3JjQA6AhlaSOgcR+RzrKY7e1+bT6SUO/A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.2.tgz", + "integrity": "sha512-yl0y2vq3S3lHeuXhEdss6TWfKW8vkujImO12tn4ZkG/4oghr09LvdYm2RElVjokTQiUvDUGXLGsYeLqUMCKpGA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.2.tgz", + "integrity": "sha512-tT4pvt4qXD+vEoezupCWi+a1F0vvDiksiHc+PxRlYTOH1I6/X4id9jPxTP+Fg+545euaFT1jJVs4CEdHZAU1vw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.2.tgz", + "integrity": "sha512-6nU5F2wCW+qvCBhTn1pdIU3bzsIoF7EUwsCDRxilWGprQR6yd508YnH9+OKFCwpfS8pjZqDUmnCAr7exax0XCg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.2.tgz", + "integrity": "sha512-n1GJHPOvpIfhi3TmrCeh6S6URt9BFCt0KQE3qvexyGCTAKpR4Lg+eWvNZEqu7epxwus/8ElT3hacYEucm49SZg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.2.tgz", + "integrity": "sha512-JqgflS8wEB+UXV/vS1RpRbifGBeN4D5lz8D8oOFbFZw4vedvdOgCFAjfBmIMdW3yL10XpQQ0Ambepw6MXrhOnA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.2.tgz", + "integrity": "sha512-wnFJkogWvN4jm/hQRF2UBaeUmk20j5+DmHvoyWii2b8HJDyvz1MF2OU/6ynXt2KR63rbZLWkFpoytpdc/yBuSA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.2.tgz", + "integrity": "sha512-HVu2bp0zhvJ8xHEV9+UUs7S90VadmBSY3LcIMvozbPo4AuMGDWlz3ymHLHZPX4hR67TKTt8Qp5PJ5RBg/i+RMQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.2.tgz", + "integrity": "sha512-mQqqAV8QaoSgr9I2fKDLY2BAVvmKjWoGiu/cSYQonsLvtqwEn1E4QYfnCOcp5zoEqNhsDYin1s6jx/VJmrxlZg==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.2.tgz", + "integrity": "sha512-IxKLoxCQ2IWi6bT2akyDUBGsOImDKB+sPp4EsTmwFQ/fMwpCKm8uLSSgP/Kx/QYUgKis6SEZ5/Nlhup0DIA0PQ==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.2.tgz", + "integrity": "sha512-Mk5ha2RQSgyFfmYYLkBpPnUk8D8FriBxesO1u9O75X0mHgXL1UQcH5Itl2lurWL2tj0RxV9b9tJgipac0hRY9A==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.2.tgz", + "integrity": "sha512-CjvEnqJL/0/TQ3TXX3OPIJ/kmBellrWd4heXUmHeJlTnmwjKpSJzoehLaL6Xk0ZnMHBu9dZuFADNOrtjF4v+2w==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.2.tgz", + "integrity": "sha512-1SiZbzwdkaDURsew/tSOrooKiYy7EQGT6m8ufavAi9NEyQb/6VuIxFXAL1fqa4iZe3g4NbNk4P7J32z2tw5Mgg==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.2.tgz", + "integrity": "sha512-nQts12zJ3NQRoE6uYljOH89v7szzLDvG2JD/vsX+vGXU8w/At1GowTZ5/7qeFQ8m7L55rpR8Okugnuo5bgjy2Q==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.2.tgz", + "integrity": "sha512-E9/ll019jhPIJgpzfZoIkBGhcz+kKNgVWYRY0zr9srBdPPFVpvOKW8VaJKUbeK+eZXyQF9ltME+Kk6affeaPgg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.2.tgz", + "integrity": "sha512-5BqxR/pshjey51iliyzTD5Xi3EN0aLmQ2lZ3lvefVV9c82BvrLo2/6OT55iifpWBufs6kdwWbuOKS841DrmK9A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.2.tgz", + "integrity": "sha512-uNN83XxQrRAh/w0/pmAfibcwyb6YWt4gP+dpnQKPVJshAloQ785ii8CT8ZCIxkGg9opVsvAlGhFitSm6D1Jjpg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.2.tgz", + "integrity": "sha512-srjEIxSH3LRnJN6THczDHWQplqEMFiAJrTab0msUryh9kwNpkICf3Ea6q6MN/2cZwRFUNx5w+h6Hpi4QuHS6Zg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.2.tgz", + "integrity": "sha512-8hOJnxgbyObnCm5AlRA3A931xX19xq80RjVTKgJOvEKWqJruP/Uf12IbAOaDjjEXYRewwHLfmF0YRIdK3OwKWA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.2.tgz", + "integrity": "sha512-mmF4AY1i0hG/bLWUctUq59gtmgaSIRa3cu/A3JFRp/sCNEme2bgDEiDS22P9FbnJB8NJNF4jPJiSP5RHQpUTDg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.2.tgz", + "integrity": "sha512-DZgkknc6jhHrk46V25vbAM0zZkyP0nSDkJB8/dRkLTxv470dOmWDqGoEJl/9A0dFfS7yE3REOwNDxpHwSLSt0Q==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.2.tgz", + "integrity": "sha512-T6xr6ucWSFto+VGajA8YH26LdpHRuP4YLHEKAtCWvJDOlnmWcDZVCI2Jmjr+IFHDlt2zRaTAKE4tfjTaWLgJBg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.2.tgz", + "integrity": "sha512-BfzEnDJOt9T8M989/lA37EcJgat01wLRnoi5dQf3QzOH7jzpqTAzdDbVfRljVr5r+jzKqpbHeyOfAaXxAd0PAA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.23.0.tgz", + "integrity": "sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.5" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.23.0.tgz", + "integrity": "sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.4" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.23.0.tgz", + "integrity": "sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@shikijs/langs": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.23.0.tgz", + "integrity": "sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0" + } + }, + "node_modules/@shikijs/themes": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.23.0.tgz", + "integrity": "sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0" + } + }, + "node_modules/@shikijs/types": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.23.0.tgz", + "integrity": "sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "license": "MIT" + }, + "node_modules/@smithy/core": { + "version": "3.29.7", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.29.7.tgz", + "integrity": "sha512-BiEE2bnnGoPKdlGe3L+gOYORDHFGPuYVRLP7iUow/Sflm0B4hC4XY3FC1MRuc7ltzpW2xNnXopKi34TTkULlKQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/credential-provider-imds": { + "version": "4.4.12", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.4.12.tgz", + "integrity": "sha512-ZZPDbl/aRp77aycuoMlo3BTayT4CE2a3uoqETYZU5ySnVbhpl5IJiY7dCZedn+ZusyDLqVv44IvKBiXd2/nK0Q==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^3.29.7", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/fetch-http-handler": { + "version": "5.6.9", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.6.9.tgz", + "integrity": "sha512-EJktha5m5MXCwzdXrlWyqb9UCNHNFKlg+PmTpRsdX3dncJPTiqYleM9OKj2mLgdVJHR01d2tU4alG+z2NdH5rQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^3.29.7", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/node-http-handler": { + "version": "4.9.9", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.9.9.tgz", + "integrity": "sha512-xVBZ3hptB99iNO9XyWqEhC7KD9bP9UPXhuy3h5Y2ItCfBv160D9IIC/Fmmp3EbnWwit4C+KVqlSE+E29Nk/pPg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^3.29.7", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/signature-v4": { + "version": "5.6.8", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.6.8.tgz", + "integrity": "sha512-iGBm6hIwD2MGvVRSgrjVWa4FXtXDq3akxu0DCpnkmBo0xtEHZ/siMRt7ycfZAefYr2UdywUgmGtoRLaq5u56pg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^3.29.7", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/types": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.16.1.tgz", + "integrity": "sha512-0JFs3V2y2M9tKW5na/qxe69Zv+uxLMO7QBbhxF/FHu/Gp2NFZAAL9tWl9PU02xxo07pb3G9FTyjNc6D5uZrJIg==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "license": "MIT" + }, + "node_modules/@types/hast": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.5.tgz", + "integrity": "sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/nlcst": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/node": { + "version": "26.5.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-26.5.1.tgz", + "integrity": "sha512-CzNm2FezW4VR/LjG6yUdiEgLE/rAQ9Slj5gCu/C2VrdcW7I0ahNZ8DRbHT7zOZ6r3ONgd/bsQIeSaoDGrd1C6g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "undici-types": "~8.9.0" + } + }, + "node_modules/@types/nodemailer": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-8.0.1.tgz", + "integrity": "sha512-PxpaInm8V1JQDd4j0ds5HfvWQk8JupS1C0Picb96QJsrrRDjBH+DlK7L4ZdNSqNULhiZRQHc40nLVShaGxXAMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/pg": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.20.0.tgz", + "integrity": "sha512-bEPFOaMAHTEP1EzpvHTbmwR8UsFyHSKsRisLIHVMXnpNefSbGA1bD6CVy+qKjGSqmZqNqBDV2azOBo8TgkcVow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "pg-protocol": "*", + "pg-types": "^2.2.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.17", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.17.tgz", + "integrity": "sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==", + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@types/ssh2": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/@types/ssh2/-/ssh2-1.15.6.tgz", + "integrity": "sha512-oGdxhBqcRTwSTKFm+9EiKzkNVYRLEFkcW44lhguvBalGJbWfGnDt/ezwSUZc+SF9m9bMc3VyklNAtp7zICjS5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "^18.11.18" + } + }, + "node_modules/@types/ssh2-sftp-client": { + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@types/ssh2-sftp-client/-/ssh2-sftp-client-9.0.6.tgz", + "integrity": "sha512-4+KvXO/V77y9VjI2op2T8+RCGI/GXQAwR0q5Qkj/EJ5YSeyKszqZP6F8i3H3txYoBqjc7sgorqyvBP3+w1EHyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/ssh2": "^1.0.0" + } + }, + "node_modules/@types/ssh2/node_modules/@types/node": { + "version": "18.19.130", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.130.tgz", + "integrity": "sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/ssh2/node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.3.tgz", + "integrity": "sha512-60YRaenCQcVjYEKOcG824+DRGGIQ3VKErcBoAEDJZz5bKIs2ZG+X/H9Nk+Q6EVkwJk5QNApxbrc5QtBSwtrXAg==", + "license": "ISC" + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", + "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.28.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.27", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/acorn": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/archiver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz", + "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==", + "license": "MIT", + "dependencies": { + "archiver-utils": "^5.0.2", + "async": "^3.2.4", + "buffer-crc32": "^1.0.0", + "readable-stream": "^4.0.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^3.0.0", + "zip-stream": "^6.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/archiver-utils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz", + "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==", + "license": "MIT", + "dependencies": { + "glob": "^10.0.0", + "graceful-fs": "^4.2.0", + "is-stream": "^2.0.1", + "lazystream": "^1.0.0", + "lodash": "^4.17.15", + "normalize-path": "^3.0.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/argon2": { + "version": "0.41.1", + "resolved": "https://registry.npmjs.org/argon2/-/argon2-0.41.1.tgz", + "integrity": "sha512-dqCW8kJXke8Ik+McUcMDltrbuAWETPyU6iq+4AhxqKphWi7pChB/Zgd/Tp/o8xRLbg8ksMj46F/vph9wnxpTzQ==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@phc/format": "^1.0.0", + "node-addon-api": "^8.1.0", + "node-gyp-build": "^4.8.1" + }, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-iterate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", + "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "license": "MIT", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/astro": { + "version": "5.18.2", + "resolved": "https://registry.npmjs.org/astro/-/astro-5.18.2.tgz", + "integrity": "sha512-TnFwLnAXty5MXKPDGuKXqK4AMBXG+FH6RUdK7Oyc3gyfNoFIthT+4eRbzOK43bdRlLaZuxgciDSjgtggZ3OtGQ==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler": "^2.13.0", + "@astrojs/internal-helpers": "0.7.6", + "@astrojs/markdown-remark": "6.3.11", + "@astrojs/telemetry": "3.3.0", + "@capsizecss/unpack": "^4.0.0", + "@oslojs/encoding": "^1.1.0", + "@rollup/pluginutils": "^5.3.0", + "acorn": "^8.15.0", + "aria-query": "^5.3.2", + "axobject-query": "^4.1.0", + "boxen": "8.0.1", + "ci-info": "^4.3.1", + "clsx": "^2.1.1", + "common-ancestor-path": "^1.0.1", + "cookie": "^1.1.1", + "cssesc": "^3.0.0", + "debug": "^4.4.3", + "deterministic-object-hash": "^2.0.2", + "devalue": "^5.6.2", + "diff": "^8.0.3", + "dlv": "^1.1.3", + "dset": "^3.1.4", + "es-module-lexer": "^1.7.0", + "esbuild": "^0.27.3", + "estree-walker": "^3.0.3", + "flattie": "^1.1.1", + "fontace": "~0.4.0", + "github-slugger": "^2.0.0", + "html-escaper": "3.0.3", + "http-cache-semantics": "^4.2.0", + "import-meta-resolve": "^4.2.0", + "js-yaml": "^4.1.1", + "magic-string": "^0.30.21", + "magicast": "^0.5.1", + "mrmime": "^2.0.1", + "neotraverse": "^0.6.18", + "p-limit": "^6.2.0", + "p-queue": "^8.1.1", + "package-manager-detector": "^1.6.0", + "piccolore": "^0.1.3", + "picomatch": "^4.0.3", + "prompts": "^2.4.2", + "rehype": "^13.0.2", + "semver": "^7.7.3", + "shiki": "^3.21.0", + "smol-toml": "^1.6.0", + "svgo": "^4.0.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tsconfck": "^3.1.6", + "ultrahtml": "^1.6.0", + "unifont": "~0.7.3", + "unist-util-visit": "^5.0.0", + "unstorage": "^1.17.4", + "vfile": "^6.0.3", + "vite": "^6.4.1", + "vitefu": "^1.1.1", + "xxhash-wasm": "^1.1.0", + "yargs-parser": "^21.1.1", + "yocto-spinner": "^0.2.3", + "zod": "^3.25.76", + "zod-to-json-schema": "^3.25.1", + "zod-to-ts": "^1.2.0" + }, + "bin": { + "astro": "astro.js" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/astrodotbuild" + }, + "optionalDependencies": { + "sharp": "^0.34.0" + } + }, + "node_modules/astro/node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/astro/node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/b4a": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.1.tgz", + "integrity": "sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw==", + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/bare-events": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.9.1.tgz", + "integrity": "sha512-Z0oHEHAFDZkffN8Qc39zNZjQlMDkPJRyyyZieU1VH7u8c5S+qHZ2S8ixdKIAxEjfHO7FJxXmJWgteOghVanIsg==", + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } + }, + "node_modules/bare-fs": { + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.7.4.tgz", + "integrity": "sha512-y1kC+ffIx/tPLdTE693uNjHfzTfr+ravR5tvWlMXe25nELbkqV400S71qHDwbkAQ1FVEZobB1NFRzFbCCcyBCQ==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.5.4", + "bare-path": "^3.0.0", + "bare-stream": "^2.6.4", + "bare-url": "^2.2.2", + "fast-fifo": "^1.3.2" + }, + "engines": { + "bare": ">=1.16.0" + }, + "peerDependencies": { + "bare-buffer": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + } + } + }, + "node_modules/bare-path": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.1.1.tgz", + "integrity": "sha512-JprUlveX3QjApC1cTpsUOiscADftCGVWkzitbHsRqv84hzYwYHw2mbluddsq5TvI8mH/8Ov1f4BiMAdcB0oYnQ==", + "license": "Apache-2.0" + }, + "node_modules/bare-stream": { + "version": "2.13.3", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.13.3.tgz", + "integrity": "sha512-Kc+brLqvEqGkjyfiwJmImAOqLZL7OsoLKuavx+hJjgVV3nLTOjloJyPMFxjUPerGGHrNH0fLU06jjykMLWrERQ==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.8.1", + "streamx": "^2.25.0", + "teex": "^1.0.1" + }, + "peerDependencies": { + "bare-abort-controller": "*", + "bare-buffer": "*", + "bare-events": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + }, + "bare-buffer": { + "optional": true + }, + "bare-events": { + "optional": true + } + } + }, + "node_modules/bare-url": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.4.6.tgz", + "integrity": "sha512-iQxPClE07hETVpbRoX7JXX3v/ZQViCxe/SYCxylRLzdEx1xJAufPptfiOqR8tqiCtmbtMDANKWszzjLu1PMAZQ==", + "license": "Apache-2.0", + "dependencies": { + "bare-path": "^3.0.0" + } + }, + "node_modules/base-64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", + "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==", + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.1.tgz", + "integrity": "sha512-HYXq73DDpCtNzOmrFsm9eSwCvWCql0RzqjpDzXN9EadiLJ4DNat0nsZ/Bzmy+Ud12mb4/zKDY0cQ805ZzN+i0A==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/basic-ftp": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.3.1.tgz", + "integrity": "sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "license": "BSD-3-Clause", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/bowser": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.14.1.tgz", + "integrity": "sha512-tzPjzCxygAKWFOJP011oxFHs57HzIhOEracIgAePE4pqB3LikALKnSzUyU4MGs9/iCEUuHlAJTjTc5M+u7YEGg==", + "license": "MIT" + }, + "node_modules/boxen": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", + "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^8.0.0", + "chalk": "^5.3.0", + "cli-boxes": "^3.0.0", + "string-width": "^7.2.0", + "type-fest": "^4.21.0", + "widest-line": "^5.0.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.2.tgz", + "integrity": "sha512-w5JZcKgdhDOgOwm8H+KgbosopHMuGcl6qbulwjtz3SM7I7P3yW1eAjzMPLrIE+NQ9vjgANKHWeMHnrT0OXW1oA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/browserslist": { + "version": "4.28.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.7.tgz", + "integrity": "sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.10.44", + "caniuse-lite": "^1.0.30001806", + "electron-to-chromium": "^1.5.393", + "node-releases": "^2.0.51", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-crc32": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz", + "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/buildcheck": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.7.tgz", + "integrity": "sha512-lHblz4ahamxpTmnsk+MNTRWsjYKv965MwOrSJyeD588rR3Jcu7swE+0wN5F+PbL5cjgu/9ObkhfzEPuofEMwLA==", + "optional": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/camelcase": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", + "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001806", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001806.tgz", + "integrity": "sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ci-info": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/common-ancestor-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", + "license": "ISC" + }, + "node_modules/compress-commons": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz", + "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==", + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "crc32-stream": "^6.0.0", + "is-stream": "^2.0.1", + "normalize-path": "^3.0.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "engines": [ + "node >= 6.0" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, + "node_modules/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cookie-es": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.3.tgz", + "integrity": "sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw==", + "license": "MIT" + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, + "node_modules/cpu-features": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.10.tgz", + "integrity": "sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "buildcheck": "~0.0.6", + "nan": "^2.19.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/crc32-stream": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz", + "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==", + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/cron-parser": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-4.9.0.tgz", + "integrity": "sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==", + "license": "MIT", + "dependencies": { + "luxon": "^3.2.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crossws": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", + "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", + "license": "MIT", + "dependencies": { + "uncrypto": "^0.1.3" + } + }, + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", + "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/defu": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.7.tgz", + "integrity": "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==", + "license": "MIT" + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/deterministic-object-hash": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/deterministic-object-hash/-/deterministic-object-hash-2.0.2.tgz", + "integrity": "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==", + "license": "MIT", + "dependencies": { + "base-64": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/devalue": { + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.8.2.tgz", + "integrity": "sha512-DObPPAfdtFbXjxLqK8s2Xk9ZuWz5+ZoFEhC7J76es4GU/rEiXwHTmbImoCdyoCOcBH1UF3+Cz6Z2sYD4hyl5TA==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/diff": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz", + "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "license": "MIT" + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.395", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.395.tgz", + "integrity": "sha512-7zt9Aw+SrmxLWLN0zhaTWZQiCdryLVrYTq5R7iZakLvi2UQPYMMsROYV/2qVCzMeCiSXHwKOU+sZ4zOVVlrtKA==", + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "license": "MIT" + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "license": "MIT" + }, + "node_modules/esbuild": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.7.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/flattie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", + "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/fontace": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/fontace/-/fontace-0.4.1.tgz", + "integrity": "sha512-lDMvbAzSnHmbYMTEld5qdtvNH2/pWpICOqpean9IgC7vUbUJc3k+k5Dokp85CegamqQpFbXf0rAVkbzpyTA8aw==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.2" + } + }, + "node_modules/fontkitten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fontkitten/-/fontkitten-1.0.3.tgz", + "integrity": "sha512-Wp1zXWPVUPBmfoa3Cqc9ctaKuzKAV6uLstRqlR56kSjplf5uAce+qeyYym7F+PHbGTk+tCEdkCW6RD7DX/gBZw==", + "license": "MIT", + "dependencies": { + "tiny-inflate": "^1.0.3" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz", + "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, + "node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "ISC", + "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" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/graceful-fs": { + "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==", + "license": "ISC" + }, + "node_modules/grammy": { + "version": "1.45.1", + "resolved": "https://registry.npmjs.org/grammy/-/grammy-1.45.1.tgz", + "integrity": "sha512-Y4VL/hqJMZZxwlUr5ZgM68CFu2iIeEkNLR1cY3+Ww68CIvWARDsoXFix7+31rmyC0+7L85ZI+Pq3E5JSG5+nLQ==", + "license": "MIT", + "dependencies": { + "@grammyjs/types": "4.0.0", + "abort-controller": "^3.0.0", + "debug": "^4.4.3", + "node-fetch": "^2.7.0" + }, + "engines": { + "node": "^12.20.0 || >=14.13.1" + } + }, + "node_modules/h3": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.11.tgz", + "integrity": "sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg==", + "license": "MIT", + "dependencies": { + "cookie-es": "^1.2.3", + "crossws": "^0.3.5", + "defu": "^6.1.6", + "destr": "^2.0.5", + "iron-webcrypto": "^1.2.1", + "node-mock-http": "^1.0.4", + "radix3": "^1.1.2", + "ufo": "^1.6.3", + "uncrypto": "^0.1.3" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.1.tgz", + "integrity": "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/heic-convert": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/heic-convert/-/heic-convert-2.1.0.tgz", + "integrity": "sha512-1qDuRvEHifTVAj3pFIgkqGgJIr0M3X7cxEPjEp0oG4mo8GFjq99DpCo8Eg3kg17Cy0MTjxpFdoBHOatj7ZVKtg==", + "license": "ISC", + "dependencies": { + "heic-decode": "^2.0.0", + "jpeg-js": "^0.4.4", + "pngjs": "^6.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/heic-decode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/heic-decode/-/heic-decode-2.1.0.tgz", + "integrity": "sha512-0fB3O3WMk38+PScbHLVp66jcNhsZ/ErtQ6u2lMYu/YxXgbBtl+oKOhGQHa4RpvE68k8IzbWkABzHnyAIjR758A==", + "license": "ISC", + "dependencies": { + "libheif-js": "^1.19.8" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/html-escaper": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", + "license": "MIT" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "license": "BSD-2-Clause" + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/import-meta-resolve": { + "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==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/iron-webcrypto": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", + "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/brc-dd" + } + }, + "node_modules/is-arrayish": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.4.tgz", + "integrity": "sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==", + "license": "MIT" + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-fullwidth-code-point": { + "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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jpeg-js": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz", + "integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==", + "license": "BSD-3-Clause" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz", + "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "license": "MIT", + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/lazystream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/libheif-js": { + "version": "1.19.8", + "resolved": "https://registry.npmjs.org/libheif-js/-/libheif-js-1.19.8.tgz", + "integrity": "sha512-vQJWusIxO7wavpON1dusciL8Go9jsIQ+EUrckauFYAiSTjcmLAsuJh3SszLpvkwPci3JcL41ek2n+LUZGFpPIQ==", + "license": "LGPL-3.0", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "license": "MIT" + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/luxon": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.2.tgz", + "integrity": "sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/magicast": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.3.tgz", + "integrity": "sha512-pVKE4UdSQ7DvHzivsCIFx2BJn1mHG6KsyrFcaxFx6tONdneEuThrDx0Cj3AMg58KyN4pzYT+LHOotxDQDjNvkw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.3", + "@babel/types": "^7.29.0", + "source-map-js": "^1.2.1" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-definitions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", + "integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz", + "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", + "license": "CC0-1.0" + }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nan": { + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.28.0.tgz", + "integrity": "sha512-fTsDz99OTq2sVePhGdp4qQhggZFtKr64ZNVyVajRKtMOkJxYekplBh577PiJB12v/D3s2E5cGtOI45LWp6rnLQ==", + "license": "MIT", + "optional": true + }, + "node_modules/nanoid": { + "version": "3.3.16", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.16.tgz", + "integrity": "sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/neotraverse": { + "version": "0.6.18", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", + "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/nlcst-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/node-addon-api": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.9.0.tgz", + "integrity": "sha512-ekZMeaaIzSQTSpr7X2X3iJM7lTzgnx8ahAG9pJfT/7+14mlEM8ZYQ9cgCDvSSRbReFK0oHli3WrZdCiRsgAT9Q==", + "license": "MIT", + "engines": { + "node": "^18 || ^20 || >= 21" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch-native": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", + "license": "MIT" + }, + "node_modules/node-gyp-build": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", + "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", + "license": "MIT", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-mock-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.4.tgz", + "integrity": "sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==", + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.51", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.51.tgz", + "integrity": "sha512-wRNIrw4DmVLKQlbgOMdkMx27Wrpzes2hh5Jtbi2bjPd+4wJstWIqP5A+lscnqbm0xxmT5Bpg8Lec5ItEBwx6BQ==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/nodemailer": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-9.1.0.tgz", + "integrity": "sha512-xj1Ri5Sau3qpPffHJwi2bY0oWVVWYq62Ph17l+2v1xXpxjqTls3YPc3L8dub9mcJpxj+1ucNnuYVqLlgh4pmDA==", + "license": "MIT-0", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/ofetch": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.5.1.tgz", + "integrity": "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==", + "license": "MIT", + "dependencies": { + "destr": "^2.0.5", + "node-fetch-native": "^1.6.7", + "ufo": "^1.6.1" + } + }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/oniguruma-parser": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz", + "integrity": "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==", + "license": "MIT" + }, + "node_modules/oniguruma-to-es": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz", + "integrity": "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==", + "license": "MIT", + "dependencies": { + "oniguruma-parser": "^0.12.2", + "regex": "^6.1.0", + "regex-recursion": "^6.0.2" + } + }, + "node_modules/p-limit": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.2.0.tgz", + "integrity": "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz", + "integrity": "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^5.0.1", + "p-timeout": "^6.1.2" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", + "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "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==", + "license": "BlueOak-1.0.0" + }, + "node_modules/package-manager-detector": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.8.0.tgz", + "integrity": "sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A==", + "license": "MIT" + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" + }, + "node_modules/parse-latin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", + "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "@types/unist": "^3.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-modify-children": "^4.0.0", + "unist-util-visit-children": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/pdf-lib": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/pdf-lib/-/pdf-lib-1.17.1.tgz", + "integrity": "sha512-V/mpyJAoTsN4cnP31vc0wfNA1+p20evqqnap0KLoRUN0Yk/p3wN52DOEsL4oBFcLdb76hlpKPtzJIgo67j/XLw==", + "license": "MIT", + "dependencies": { + "@pdf-lib/standard-fonts": "^1.0.0", + "@pdf-lib/upng": "^1.0.1", + "pako": "^1.0.11", + "tslib": "^1.11.1" + } + }, + "node_modules/pdf-lib/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/pg": { + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.22.0.tgz", + "integrity": "sha512-8wih1vVIBMxoUM2oB4soJsD9tDnDpLv4OXBJ+EJzFsvycD+lfyIreC2gGHq78f8jbLLt+bvlPTFdFZfJkOuzAA==", + "license": "MIT", + "dependencies": { + "pg-connection-string": "^2.14.0", + "pg-pool": "^3.14.0", + "pg-protocol": "^1.15.0", + "pg-types": "2.2.0", + "pgpass": "1.0.5" + }, + "engines": { + "node": ">= 16.0.0" + }, + "optionalDependencies": { + "pg-cloudflare": "^1.4.0" + }, + "peerDependencies": { + "pg-native": ">=3.0.1" + }, + "peerDependenciesMeta": { + "pg-native": { + "optional": true + } + } + }, + "node_modules/pg-boss": { + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/pg-boss/-/pg-boss-10.4.2.tgz", + "integrity": "sha512-AttEWOtSzn53av8OnCMWEanwRBvjkZCE1y5nLrZnwvkkMnlZ5XpWDpZ7sKI/BYjvi2OVieMX37arD2ACgJ750w==", + "license": "MIT", + "dependencies": { + "cron-parser": "^4.9.0", + "pg": "^8.16.3", + "serialize-error": "^8.1.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/pg-cloudflare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.4.0.tgz", + "integrity": "sha512-Vo7z/6rrQYxpNRylp4Tlob2elzbh+N/MOQbxFVWCxS7oEx6jF53GTJFxK2WWpKuBRkmiin4Mt+xofFDjx09R0A==", + "license": "MIT", + "optional": true + }, + "node_modules/pg-connection-string": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.14.0.tgz", + "integrity": "sha512-XwWDGcLRGCXAR8F/AM5bG7Q+A3Wm2s6QeEjlOKZLlH3UYcguiqCWKyWXVag5TLTIjR7oOJUY8kcADaZgWPyLeg==", + "license": "MIT" + }, + "node_modules/pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", + "license": "ISC", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/pg-pool": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.14.0.tgz", + "integrity": "sha512-gKtPkFdQPU3DksooVLi9LsjZxrsBUZIpa+7aVx+LV5pNh0KzP4Zleud2po+ConrxbuXGBJ6Hfer6hdgpIBpBaw==", + "license": "MIT", + "peerDependencies": { + "pg": ">=8.0" + } + }, + "node_modules/pg-protocol": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.15.0.tgz", + "integrity": "sha512-cq9sECI5s0+uPUXjbz8ioyPJni6RzsRib0US67i5IoTZKw8fNeYlVE7u8F4dG7vEJJtc5wdD1K189lCCUwqWTQ==", + "license": "MIT" + }, + "node_modules/pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "license": "MIT", + "dependencies": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pgpass": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", + "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", + "license": "MIT", + "dependencies": { + "split2": "^4.1.0" + } + }, + "node_modules/piccolore": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/piccolore/-/piccolore-0.1.3.tgz", + "integrity": "sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==", + "license": "ISC" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "license": "MIT", + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/postcss": { + "version": "8.5.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.22.tgz", + "integrity": "sha512-KBDEIpLrvpv16pp3K0Fw+UCoZfopFjjgeB+0tA/aaThfEE74kKDLrgg603YvOWJyg3+WYtyq3xYsQWsIyZlPqQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.16", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/postgres-bytea": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.1.tgz", + "integrity": "sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "license": "MIT", + "dependencies": { + "xtend": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/property-information": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz", + "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/radix3": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", + "license": "MIT" + }, + "node_modules/range-parser": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.3.0.tgz", + "integrity": "sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/react": { + "version": "19.2.8", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.8.tgz", + "integrity": "sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.8", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.8.tgz", + "integrity": "sha512-rVprimfGBG3DR+Tq0IQG2DT5PxKth1WIGDmj5yPmlzr4YBe7uyE+Du4oVqTDXZSHGGGXRtTJEGSSePyQCMBglQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.8" + } + }, + "node_modules/react-refresh": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", + "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/readdirp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "license": "MIT" + }, + "node_modules/rehype": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz", + "integrity": "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "rehype-parse": "^9.0.0", + "rehype-stringify": "^10.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-parse": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", + "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-html": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", + "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-smartypants": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.2.tgz", + "integrity": "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==", + "license": "MIT", + "dependencies": { + "retext": "^9.0.0", + "retext-smartypants": "^6.0.0", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", + "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "retext-latin": "^4.0.0", + "retext-stringify": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz", + "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "parse-latin": "^7.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.2.0.tgz", + "integrity": "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz", + "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/rollup": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.2.tgz", + "integrity": "sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.9" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.62.2", + "@rollup/rollup-android-arm64": "4.62.2", + "@rollup/rollup-darwin-arm64": "4.62.2", + "@rollup/rollup-darwin-x64": "4.62.2", + "@rollup/rollup-freebsd-arm64": "4.62.2", + "@rollup/rollup-freebsd-x64": "4.62.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.62.2", + "@rollup/rollup-linux-arm-musleabihf": "4.62.2", + "@rollup/rollup-linux-arm64-gnu": "4.62.2", + "@rollup/rollup-linux-arm64-musl": "4.62.2", + "@rollup/rollup-linux-loong64-gnu": "4.62.2", + "@rollup/rollup-linux-loong64-musl": "4.62.2", + "@rollup/rollup-linux-ppc64-gnu": "4.62.2", + "@rollup/rollup-linux-ppc64-musl": "4.62.2", + "@rollup/rollup-linux-riscv64-gnu": "4.62.2", + "@rollup/rollup-linux-riscv64-musl": "4.62.2", + "@rollup/rollup-linux-s390x-gnu": "4.62.2", + "@rollup/rollup-linux-x64-gnu": "4.62.2", + "@rollup/rollup-linux-x64-musl": "4.62.2", + "@rollup/rollup-openbsd-x64": "4.62.2", + "@rollup/rollup-openharmony-arm64": "4.62.2", + "@rollup/rollup-win32-arm64-msvc": "4.62.2", + "@rollup/rollup-win32-ia32-msvc": "4.62.2", + "@rollup/rollup-win32-x64-gnu": "4.62.2", + "@rollup/rollup-win32-x64-msvc": "4.62.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/sax": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/serialize-error": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz", + "integrity": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serialize-error/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/server-destroy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", + "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==", + "license": "ISC" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/sharp": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz", + "integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.3", + "semver": "^7.6.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "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" + } + }, + "node_modules/sharp/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shiki": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.23.0.tgz", + "integrity": "sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "3.23.0", + "@shikijs/engine-javascript": "3.23.0", + "@shikijs/engine-oniguruma": "3.23.0", + "@shikijs/langs": "3.23.0", + "@shikijs/themes": "3.23.0", + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.4.tgz", + "integrity": "sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/smol-toml": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.7.0.tgz", + "integrity": "sha512-aqVvWoyO21L23mb+drl4RmMXbf6N7FdHjAhTRA9ZBL7apWBgfWC16KjrASI+1p9GAroljyMHj6fK67i0UiTNvQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 18" + }, + "funding": { + "url": "https://github.com/sponsors/cyyynthia" + } + }, + "node_modules/source-map-js": { + "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==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/ssh2": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.17.0.tgz", + "integrity": "sha512-wPldCk3asibAjQ/kziWQQt1Wh3PgDFpC0XpwclzKcdT1vql6KeYxf5LIt4nlFkUeR8WuphYMKqUA56X4rjbfgQ==", + "hasInstallScript": true, + "dependencies": { + "asn1": "^0.2.6", + "bcrypt-pbkdf": "^1.0.2" + }, + "engines": { + "node": ">=10.16.0" + }, + "optionalDependencies": { + "cpu-features": "~0.0.10", + "nan": "^2.23.0" + } + }, + "node_modules/ssh2-sftp-client": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/ssh2-sftp-client/-/ssh2-sftp-client-11.0.0.tgz", + "integrity": "sha512-lOjgNYtioYquhtgyHwPryFNhllkuENjvCKkUXo18w/Q4UpEffCnEUBfiOTlwFdKIhG1rhrOGnA6DeKPSF2CP6w==", + "license": "Apache-2.0", + "dependencies": { + "concat-stream": "^2.0.0", + "promise-retry": "^2.0.1", + "ssh2": "^1.15.0" + }, + "engines": { + "node": ">=18.20.4" + }, + "funding": { + "type": "individual", + "url": "https://square.link/u/4g7sPflL" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/streamx": { + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.28.0.tgz", + "integrity": "sha512-1Yowhzjf0ivGMrTIkY9hav5TxobO9qIVqUE41fiCGMGgc3CLlf4MY+9AHmZqBWgDTue0fY9zWjYFVyf6Diuobw==", + "license": "MIT", + "dependencies": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, + "node_modules/string_decoder": { + "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==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/svgo": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.2.tgz", + "integrity": "sha512-ekx94z1rRc5LDi6oSUaeRnYhd0UOJxdtQCL2rF8xpWxD3TPAsISWOrxezqGovqS38GRZOdpDfvQe3ts6F7nsng==", + "license": "MIT", + "dependencies": { + "commander": "^11.1.0", + "css-select": "^5.1.0", + "css-tree": "^3.0.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.1.1", + "sax": "^1.5.0" + }, + "bin": { + "svgo": "bin/svgo.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/tar-stream": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.2.0.tgz", + "integrity": "sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg==", + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "bare-fs": "^4.5.5", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", + "license": "MIT", + "dependencies": { + "streamx": "^2.12.5" + } + }, + "node_modules/text-decoder": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.7.tgz", + "integrity": "sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz", + "integrity": "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tsconfck": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", + "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", + "deprecated": "unmaintained", + "license": "MIT", + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tsx": { + "version": "4.23.12", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.23.12.tgz", + "integrity": "sha512-FDf4L4sYzKtzWYhU/Xm0AQFdTjdIxNo9ElTf2mxXM6k8YMHXzYUe4yODVaXP4V9uMFbVg8c0qyBccK2OOxb45Q==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "esbuild": "~0.28.0" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/tsx/node_modules/@esbuild/aix-ppc64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.2.tgz", + "integrity": "sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-arm": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.2.tgz", + "integrity": "sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.2.tgz", + "integrity": "sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.2.tgz", + "integrity": "sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/darwin-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.2.tgz", + "integrity": "sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/darwin-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.2.tgz", + "integrity": "sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/freebsd-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.2.tgz", + "integrity": "sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/freebsd-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.2.tgz", + "integrity": "sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-arm": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.2.tgz", + "integrity": "sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.2.tgz", + "integrity": "sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-ia32": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.2.tgz", + "integrity": "sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-loong64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.2.tgz", + "integrity": "sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-mips64el": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.2.tgz", + "integrity": "sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-ppc64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.2.tgz", + "integrity": "sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-riscv64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.2.tgz", + "integrity": "sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-s390x": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.2.tgz", + "integrity": "sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.2.tgz", + "integrity": "sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/netbsd-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.2.tgz", + "integrity": "sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/netbsd-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.2.tgz", + "integrity": "sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/openbsd-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.2.tgz", + "integrity": "sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/openbsd-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.2.tgz", + "integrity": "sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/openharmony-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.2.tgz", + "integrity": "sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/sunos-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.2.tgz", + "integrity": "sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/win32-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.2.tgz", + "integrity": "sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/win32-ia32": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.2.tgz", + "integrity": "sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/win32-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.2.tgz", + "integrity": "sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/esbuild": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.2.tgz", + "integrity": "sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "peer": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.28.2", + "@esbuild/android-arm": "0.28.2", + "@esbuild/android-arm64": "0.28.2", + "@esbuild/android-x64": "0.28.2", + "@esbuild/darwin-arm64": "0.28.2", + "@esbuild/darwin-x64": "0.28.2", + "@esbuild/freebsd-arm64": "0.28.2", + "@esbuild/freebsd-x64": "0.28.2", + "@esbuild/linux-arm": "0.28.2", + "@esbuild/linux-arm64": "0.28.2", + "@esbuild/linux-ia32": "0.28.2", + "@esbuild/linux-loong64": "0.28.2", + "@esbuild/linux-mips64el": "0.28.2", + "@esbuild/linux-ppc64": "0.28.2", + "@esbuild/linux-riscv64": "0.28.2", + "@esbuild/linux-s390x": "0.28.2", + "@esbuild/linux-x64": "0.28.2", + "@esbuild/netbsd-arm64": "0.28.2", + "@esbuild/netbsd-x64": "0.28.2", + "@esbuild/openbsd-arm64": "0.28.2", + "@esbuild/openbsd-x64": "0.28.2", + "@esbuild/openharmony-arm64": "0.28.2", + "@esbuild/sunos-x64": "0.28.2", + "@esbuild/win32-arm64": "0.28.2", + "@esbuild/win32-ia32": "0.28.2", + "@esbuild/win32-x64": "0.28.2" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "license": "Unlicense" + }, + "node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "license": "MIT" + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.4.tgz", + "integrity": "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==", + "license": "MIT" + }, + "node_modules/ultrahtml": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.7.0.tgz", + "integrity": "sha512-2xRd0VHoAQE4M+vF/DvFFB7pUV0ZxTW1TLi7lHQWnF/Sb5TPeEUV/l+hxcNnGO00ZXGnR0voCMmYRKQf+rvJ2g==", + "license": "MIT" + }, + "node_modules/uncrypto": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.9.0.tgz", + "integrity": "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unifont": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.7.4.tgz", + "integrity": "sha512-oHeis4/xl42HUIeHuNZRGEvxj5AaIKR+bHPNegRq5LV1gdc3jundpONbjglKpihmJf+dswygdMJn3eftGIMemg==", + "license": "MIT", + "dependencies": { + "css-tree": "^3.1.0", + "ofetch": "^1.5.1", + "ohash": "^2.0.11" + } + }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-modify-children": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz", + "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "array-iterate": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-children": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", + "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unstorage": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.5.tgz", + "integrity": "sha512-0i3iqvRfx29hkNntHyQvJTpf5W9dQ9ZadSoRU8+xVlhVtT7jAX57fazYO9EHvcRCfBCyi5YRya7XCDOsbTgkPg==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^5.0.0", + "destr": "^2.0.5", + "h3": "^1.15.10", + "lru-cache": "^11.2.7", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.3" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6 || ^7 || ^8", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1 || ^2 || ^3", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, + "node_modules/unstorage/node_modules/lru-cache": { + "version": "11.5.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.2.tgz", + "integrity": "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.3.tgz", + "integrity": "sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "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 + } + } + }, + "node_modules/vite/node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "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" + } + }, + "node_modules/vitefu": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.3.tgz", + "integrity": "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==", + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*", + "tests/projects/workspace/packages/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-pm-runs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", + "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", + "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", + "license": "MIT", + "dependencies": { + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/xxhash-wasm": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", + "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", + "license": "MIT" + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yocto-spinner": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/yocto-spinner/-/yocto-spinner-0.2.3.tgz", + "integrity": "sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==", + "license": "MIT", + "dependencies": { + "yoctocolors": "^2.1.1" + }, + "engines": { + "node": ">=18.19" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", + "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zip-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", + "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==", + "license": "MIT", + "dependencies": { + "archiver-utils": "^5.0.0", + "compress-commons": "^6.0.2", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.25.2", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz", + "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==", + "license": "ISC", + "peerDependencies": { + "zod": "^3.25.28 || ^4" + } + }, + "node_modules/zod-to-ts": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zod-to-ts/-/zod-to-ts-1.2.0.tgz", + "integrity": "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==", + "peerDependencies": { + "typescript": "^4.9.4 || ^5.0.2", + "zod": "^3" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..d56cf35 --- /dev/null +++ b/package.json @@ -0,0 +1,71 @@ +{ + "name": "klarbild", + "version": "1.0.0", + "description": "Self-hosted print studio: put pictures on paper at exactly the size you asked for. Sheet layout with crop marks, tiling, 1:1 PDF. Optional AI, delivery, sharing and Telegram modules.", + "license": "AGPL-3.0-only", + "author": "Till Heidrich", + "homepage": "https://github.com/tillheidrich/klarbild", + "repository": { + "type": "git", + "url": "https://github.com/tillheidrich/klarbild.git" + }, + "bugs": { + "url": "https://github.com/tillheidrich/klarbild/issues" + }, + "keywords": [ + "print", + "pdf", + "photo", + "passport-photo", + "self-hosted", + "astro", + "crop-marks", + "poster", + "tiling", + "sheet-layout" + ], + "type": "module", + "engines": { + "node": ">=20" + }, + "scripts": { + "dev": "astro dev", + "build": "astro build", + "start": "node ./dist/server/entry.mjs", + "astro": "astro", + "test": "node --experimental-strip-types --test tests/*.test.ts", + "typecheck": "tsc --noEmit", + "scan": "node scripts/secret-scan.mjs" + }, + "dependencies": { + "@astrojs/node": "^9.1.3", + "@astrojs/react": "^4.2.1", + "@aws-sdk/client-s3": "^3.700.0", + "@aws-sdk/s3-request-presigner": "^3.700.0", + "@fontsource/space-grotesk": "^5.1.0", + "@fontsource/space-mono": "^5.1.0", + "archiver": "^7.0.1", + "argon2": "^0.41.1", + "astro": "^5.5.0", + "basic-ftp": "^5.0.5", + "grammy": "^1.30.0", + "heic-convert": "^2.1.0", + "nodemailer": "^9.1.0", + "pdf-lib": "^1.17.1", + "pg": "^8.13.1", + "pg-boss": "^10.1.5", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "sharp": "^0.33.5", + "ssh2-sftp-client": "^11.0.0" + }, + "devDependencies": { + "@types/node": "^26.5.1", + "@types/nodemailer": "^8.0.1", + "@types/pg": "^8.11.10", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "@types/ssh2-sftp-client": "^9.0.6", + "typescript": "^5.7.2" + } +} diff --git a/scripts/secret-scan.mjs b/scripts/secret-scan.mjs new file mode 100644 index 0000000..643bf20 --- /dev/null +++ b/scripts/secret-scan.mjs @@ -0,0 +1,85 @@ +#!/usr/bin/env node +/** + * A small guard against committing a credential. + * + * This is not a replacement for gitleaks — run that too if you have it. It + * exists because the cheapest moment to catch a leaked key is before the push, + * and because a project that ships `.env.example` invites the mistake of + * shipping `.env` next to it. + * + * Exits non-zero on the first finding, printing the file and line. + */ +import { readFileSync, statSync } from 'node:fs'; +import { readdir } from 'node:fs/promises'; +import { join, relative, extname } from 'node:path'; + +const ROOT = new URL('..', import.meta.url).pathname; + +const SKIP_DIRS = new Set(['node_modules', '.git', 'dist', '.astro', 'coverage']); +const SKIP_FILES = new Set(['package-lock.json', 'LICENSE', 'secret-scan.mjs']); +const TEXT_EXT = new Set([ + '.ts', '.tsx', '.js', '.mjs', '.cjs', '.astro', '.json', '.sql', '.md', + '.yaml', '.yml', '.css', '.html', '.txt', '.example', '', +]); + +const RULES = [ + [/sk-[A-Za-z0-9]{20,}/, 'OpenAI-style API key'], + [/sk-or-v1-[A-Za-z0-9]{20,}/, 'OpenRouter API key'], + [/gh[pousr]_[A-Za-z0-9]{30,}/, 'GitHub token'], + [/\bxox[baprs]-[A-Za-z0-9-]{10,}/, 'Slack token'], + [/AKIA[0-9A-Z]{16}/, 'AWS access key id'], + [/-----BEGIN (?:RSA |OPENSSH |EC |PGP )?PRIVATE KEY-----/, 'private key'], + [/\b\d{6,}:[A-Za-z0-9_-]{30,}\b/, 'Telegram bot token'], + [/\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}/, 'JWT'], + // Assignments that look like a real value rather than a placeholder. + [/(?:password|passwd|secret|api[_-]?key|token)\s*[:=]\s*["'][^"'${}\s]{12,}["']/i, + 'hardcoded credential'], +]; + +// Lines that are allowed to match: documentation of the shape of a secret, +// and the example file, which is meant to show the names without the values. +const ALLOW = [ + /example|placeholder|CHANGEME|your-|<[a-z]+>|openssl rand/i, + /^\s*(?:\/\/|#|--|\*)/, +]; + +let findings = 0; + +async function walk(dir) { + for (const entry of await readdir(dir, { withFileTypes: true })) { + if (entry.isDirectory()) { + if (SKIP_DIRS.has(entry.name)) continue; + await walk(join(dir, entry.name)); + continue; + } + if (SKIP_FILES.has(entry.name)) continue; + const path = join(dir, entry.name); + if (entry.name !== '.env.example' && !TEXT_EXT.has(extname(entry.name))) continue; + if (statSync(path).size > 2_000_000) continue; + scan(path); + } +} + +function scan(path) { + const rel = relative(ROOT, path); + const lines = readFileSync(path, 'utf8').split('\n'); + lines.forEach((line, i) => { + if (ALLOW.some((a) => a.test(line))) return; + for (const [re, what] of RULES) { + if (re.test(line)) { + console.error(`${rel}:${i + 1} possible ${what}`); + console.error(` ${line.trim().slice(0, 120)}`); + findings++; + return; + } + } + }); +} + +await walk(ROOT); + +if (findings) { + console.error(`\n${findings} possible secret(s) found. Nothing was committed.`); + process.exit(1); +} +console.log('Secret scan clean.'); diff --git a/src/components/AccountApp.tsx b/src/components/AccountApp.tsx new file mode 100644 index 0000000..0aa9f1e --- /dev/null +++ b/src/components/AccountApp.tsx @@ -0,0 +1,164 @@ +import { useEffect, useState } from 'react'; +import { useT, type Dict, type Locale } from '../lib/useT'; + +/** + * Your own account: store an email address and switch notifications on or off. + * + * The address is at the same time the way to reset a forgotten password — that + * is spelled out here as well, so nobody mistakes it for pure advertising mail. + */ +interface Me { + username: string | null; display_name: string | null; + email: string | null; notify_jobs: boolean; mail_ready: boolean; role: string; +} + +export default function AccountApp({ locale, dict }: { locale?: Locale; dict?: Dict | null }) { + const t = useT(dict); + const [me, setMe] = useState(null); + const [email, setEmail] = useState(''); + const [msg, setMsg] = useState<{ text: string; ok: boolean } | null>(null); + const [busy, setBusy] = useState(false); + const [loadError, setLoadError] = useState(false); + + const load = () => { + setLoadError(false); + fetch('/api/me') + .then((r) => { if (!r.ok) throw new Error(String(r.status)); return r.json(); }) + .then((m) => { setMe(m); setEmail(m.email || ''); }) + // Without this branch it said "One moment …" here for ever. + .catch(() => setLoadError(true)); + }; + useEffect(load, []); + + const say = (text: string, ok: boolean) => { setMsg({ text, ok }); setTimeout(() => setMsg(null), 5000); }; + + const patch = async (body: unknown, success: string) => { + // Take on the new value right away, otherwise the checkbox jumps back to + // the old state on rerender and you click a second time by accident. + setMe((m) => (m ? { ...m, ...(body as object) } as Me : m)); + setBusy(true); + const r = await fetch('/api/me', { + method: 'PATCH', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body), + }).then((x) => x.json()).catch(() => ({ error: t('Network error.') })); + setBusy(false); + if (r.error) { say(r.error, false); return false; } + say(success, true); + const m = await fetch('/api/me').then((x) => x.json()).catch(() => null); + if (m) setMe(m); + return true; + }; + + if (loadError) return ( +

+
+

{t('Your account could not be loaded just now — maybe the connection was gone for a moment.')}

+ +
+
+ ); + if (!me) return

{t('One moment …')}

; + + return ( +
+
+
{t('Sign in')}
+
+
+ +
+
{t('Email address')}
+
+

+ {t('This lets you have a new password sent to you if you have forgotten yours. Without an address on file that is not possible — then an admin has to step in.')} +

+
+ setEmail(e.target.value)} + placeholder="you@example.com" aria-label={t('Email address')} autoComplete="email" /> + +
+ {!me.mail_ready && ( +

+ {t('No mail sending is set up on this server yet — the address is stored, but nothing arrives yet. An admin sets that up under Admin → Email.')} +

+ )} +
+
+ +
+
{t('Notifications')}
+
+ +

+ {t('Jobs from a private session deliberately never trigger a mail — the whole point is that they leave no trace.')} +

+
+
+ + {msg &&

{msg.text}

} + + +
+ ); +} diff --git a/src/components/AdminApp.tsx b/src/components/AdminApp.tsx new file mode 100644 index 0000000..9ebf785 --- /dev/null +++ b/src/components/AdminApp.tsx @@ -0,0 +1,672 @@ +import React, { useState, useEffect, useCallback } from 'react'; +import { useT, type Dict, type Locale } from '../lib/useT'; + +export default function AdminApp({ locale, dict }: { locale?: Locale; dict?: Dict | null }) { + const t = useT(dict); + const [s, setS] = useState(null); + const [stats, setStats] = useState(null); + const [models, setModels] = useState([]); + const [avail, setAvail] = useState([]); + const [users, setUsers] = useState([]); + const [tgLinks, setTgLinks] = useState([]); + const [toast, setToast] = useState(null); + const [orKey, setOrKey] = useState(''); const [dtPw, setDtPw] = useState(''); const [mirrorPw, setMirrorPw] = useState(''); + const [storage, setStorage] = useState(null); + const [rename, setRename] = useState(null); // dry run / result of the rename + const [mailTo, setMailTo] = useState(''); // address for the test message + const [smtpPw, setSmtpPw] = useState(''); // new mailbox password (never prefilled) + const [targets, setTargets] = useState([]); + const [nt, setNt] = useState({ protocol: 'sftp' }); + const notify = (text: string) => { setToast(text); setTimeout(() => setToast(null), 2600); }; + + const load = useCallback(async () => { + const [a, b, c, d, e, f, g] = await Promise.all([ + fetch('/api/admin/settings').then((r) => r.json()), + fetch('/api/admin/stats').then((r) => r.json()), + fetch('/api/admin/models?available=1').then((r) => r.json()), + fetch('/api/admin/users').then((r) => r.json()), + fetch('/api/admin/telegram/links').then((r) => r.json()).catch(() => ({ links: [] })), + fetch('/api/admin/storage').then((r) => r.json()).catch(() => ({ stats: null })), + fetch('/api/admin/delivery-targets').then((r) => r.json()).catch(() => ({ targets: [] })), + ]); + setS(a.settings || {}); setStats(b); setModels(c.models || []); setAvail(c.available || []); + setUsers(d.users || []); setTgLinks(e.links || []); setStorage(f.stats || null); setTargets(g.targets || []); + }, []); + const addTarget = async () => { + if (!nt.name?.trim()) { notify(t('Name is missing.')); return; } + await fetch('/api/admin/delivery-targets', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(nt) }); + setNt({ protocol: 'sftp' }); notify(t('Target created.')); load(); + }; + const delTarget = async (id: string) => { if (!confirm(t('Delete target?'))) return; await fetch(`/api/admin/delivery-targets?id=${id}`, { method: 'DELETE' }); load(); }; + const toggleBackup = async (target: any) => { + await fetch('/api/admin/delivery-targets', { method: 'PATCH', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ id: target.id, is_backup: !target.is_backup }) }); + load(); + }; + const toggleTargetSidecar = async (target: any) => { + await fetch('/api/admin/delivery-targets', { method: 'PATCH', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ id: target.id, metadata_sidecar: !target.metadata_sidecar }) }); + load(); + }; + const backupAllTargets = async () => { + if (!confirm(t('Back up all finished images to every backup target (mirror + marked targets)?'))) return; + notify(t('Backing up … (may take a while)')); + const r = await fetch('/api/admin/delivery-targets', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ action: 'backup_all' }) }).then((x) => x.json()); + notify(r.items != null + ? (r.failed + ? t('{n} copies to backup targets, {failed} errors.', { n: r.mirrored, failed: r.failed }) + : t('{n} copies to backup targets.', { n: r.mirrored })) + : (r.error || 'OK')); + load(); + }; + const genToken = async () => { + await fetch('/api/admin/settings', { method: 'PATCH', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ generate_api_token: true }) }); + notify(t('API token generated.')); load(); + }; + const testTarget = async (id: string) => { + notify(t('Testing target …')); + const r = await fetch('/api/admin/delivery-targets', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ action: 'test', id }) }).then((x) => x.json()); + notify(r.message || (r.ok ? 'OK' : t('Error'))); + }; + const fmtBytes = (n: number | null) => n == null ? '—' + : n > 1e9 ? `${(n / 1e9).toFixed(2)} GB` : n > 1e6 ? `${(n / 1e6).toFixed(1)} MB` : `${Math.round(n / 1e3)} KB`; + + const pairCode = async (userId: string) => { + const r = await fetch('/api/admin/telegram/pairing-code', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ userId }) }).then((x) => x.json()); + if (r.code) alert(t('Pairing code: {code}\n\nValid for 15 minutes. Enter it in the Klarbild Telegram chat.', { code: r.code })); + }; + const unlink = async (chat_id: number) => { + await fetch('/api/admin/telegram/links', { method: 'DELETE', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ chat_id }) }); + load(); + }; + useEffect(() => { load(); }, [load]); + + const field = (k: string, v: any) => setS((p: any) => ({ ...p, [k]: v })); + const saveSettings = async () => { + const body: any = { + delivery_host: s.delivery_host, delivery_protocol: s.delivery_protocol, delivery_port: s.delivery_port, + delivery_user: s.delivery_user, delivery_base_path: s.delivery_base_path, delivery_default_folder: s.delivery_default_folder, + default_dpi: s.default_dpi, default_crop_mode: s.default_crop_mode, concurrency: s.concurrency, + output_ext: s.output_ext || 'png', + cricut_sheet_cm: s.cricut_sheet_cm, monthly_budget: s.monthly_budget, n8n_webhook_url: s.n8n_webhook_url, + keep_sources: !!s.keep_sources, make_thumbnails: s.make_thumbnails !== false, retention_days: s.retention_days, + delivery_metadata_sidecar: !!s.delivery_metadata_sidecar, mirror_metadata_sidecar: !!s.mirror_metadata_sidecar, + library_visibility: s.library_visibility || 'own', anonymous_generations: !!s.anonymous_generations, + private_allowed: !!s.private_allowed, allow_nsfw: !!s.allow_nsfw, + mirror_enabled: !!s.mirror_enabled, mirror_host: s.mirror_host, mirror_protocol: s.mirror_protocol, mirror_port: s.mirror_port, + mirror_user: s.mirror_user, mirror_base_path: s.mirror_base_path, + // Mail and sharing — without these lines the whole card was discarded + // silently and the interface still reported "Saved." + smtp_host: s.smtp_host, smtp_port: s.smtp_port, smtp_secure: s.smtp_secure !== false, + smtp_user: s.smtp_user, smtp_from: s.smtp_from, + share_default_days: s.share_default_days, + }; + if (orKey.trim()) body.openrouter_key = orKey.trim(); + if (dtPw.trim()) body.delivery_password = dtPw.trim(); + if (mirrorPw.trim()) body.mirror_password = mirrorPw.trim(); + if (smtpPw.trim()) body.smtp_password = smtpPw.trim(); + const r = await fetch('/api/admin/settings', { + method: 'PATCH', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body), + }).then((x) => x.json()).catch(() => ({ error: t('Network error.') })); + if (r?.error) { notify(r.error); return; } + setOrKey(''); setDtPw(''); setMirrorPw(''); setSmtpPw(''); notify(t('Saved.')); load(); + }; + const testDeliveryTarget = async () => { + notify(t('Testing …')); + const r = await fetch('/api/admin/test-delivery', { method: 'POST' }).then((x) => x.json()); + notify(r.message || (r.ok ? 'OK' : t('Error'))); + }; + const [dtList, setDtList] = useState(null); + const lsDeliveryTarget = async (path?: string) => { + notify(t('Reading folder on the delivery target …')); + const r = await fetch('/api/admin/delivery-ls', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ path }) }).then((x) => x.json()); + setDtList(r); notify(r.error ? r.error : t('{n} entries in {path}', { n: (r.entries || []).length, path: r.path })); + }; + const cleanupDeliveryTarget = async () => { + const gallery = s.delivery_default_folder || 'Gallery A'; + notify(t('Cleaning up leftovers …')); + const r = await fetch('/api/admin/delivery-ls', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ action: 'cleanup_tmp', gallery }) }).then((x) => x.json()); + notify(r.error ? r.error : t('{n} leftovers removed from “{folder}”.', { n: r.cleaned ?? 0, folder: gallery })); + }; + const testMirror = async () => { + notify(t('Testing backup mirror …')); + const r = await fetch('/api/admin/test-mirror', { method: 'POST' }).then((x) => x.json()); + notify(r.message || (r.ok ? 'OK' : t('Error'))); + }; + const netcheck = async () => { + if (!s.mirror_host) { notify(t('Enter a host and save first.')); return; } + notify(t('Checking reachability …')); + const r = await fetch('/api/admin/netcheck', { method: 'POST', headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ host: s.mirror_host, port: s.mirror_port || 22 }) }).then((x) => x.json()); + const dnsMsg = r.resolve ? (r.resolve.ok ? t('DNS ✓ ({address})', { address: r.resolve.address }) : t('DNS ✕ ({error})', { error: r.resolve.error })) : ''; + const tcpMsg = r.tcp ? (r.tcp.ok ? t('Port reachable in {ms}ms ✓', { ms: r.tcp.ms }) : t('not reachable: {error}', { error: r.tcp.error })) : (r.error || t('Error')); + notify(`${dnsMsg}${dnsMsg ? ' · ' : ''}${tcpMsg}`); + }; + const storageAction = async (action: string, confirmMsg?: string) => { + if (confirmMsg && !confirm(confirmMsg)) return; + notify(t('Cleaning up …')); + const r = await fetch('/api/admin/storage', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ action }) }).then((x) => x.json()); + notify(r.deleted != null ? t('{n} old items removed.', { n: r.deleted }) + : r.purged != null ? t('{n} source files deleted.', { n: r.purged }) + : r.made != null ? t('{n} preview images generated.', { n: r.made }) + : (r.error || 'OK')); + load(); + }; + const testMail = async (withSend: boolean) => { + if (withSend && !mailTo.trim()) { notify(t('Enter an address for the test message.')); return; } + notify(withSend ? t('Sending test message …') : t('Checking connection …')); + const r = await fetch('/api/admin/test-mail', { method: 'POST', headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(withSend ? { to: mailTo.trim() } : {}) }).then((x) => x.json()); + notify(r.message || (r.ok ? 'OK' : t('Error'))); + }; + + // Unique file names — first show what would happen, then apply it. + const renamePreview = async () => { + notify(t('Checking file names …')); + const r = await fetch('/api/admin/storage', { method: 'POST', headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ action: 'rename_preview' }) }).then((x) => x.json()); + if (r.error) { notify(r.error); return; } + setRename(r); + notify(r.renamed + ? (r.wereDuplicates + ? t('{n} of {checked} images would get a new name — {dupes} names are currently used twice.', { n: r.renamed, checked: r.checked, dupes: r.wereDuplicates }) + : t('{n} of {checked} images would get a new name.', { n: r.renamed, checked: r.checked })) + : t('All {checked} names are already unique.', { checked: r.checked })); + }; + const renameApply = async () => { + if (!rename) { notify(t('Run “Check library” first — then you can see what would change.')); return; } + if (!confirm(t('Give every image in the library a unique name?\n\nThe files themselves stay untouched — they are stored under their ID. ' + + 'Copies already placed on the delivery target keep their old name; that is what “Deliver again” is for afterwards.'))) return; + notify(t('Renaming …')); + const r = await fetch('/api/admin/storage', { method: 'POST', headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ action: 'rename_apply' }) }).then((x) => x.json()); + setRename(r); + notify(r.error || t('{n} images renamed, {ok} were already fine.', { n: r.renamed, ok: r.unchanged })); + load(); + }; + const redeliverAll = async () => { + if (!confirm(t('Upload all already delivered images again — under the new name?\n\n' + + 'The old files stay on the target and have to be removed there by hand. This can take a while.'))) return; + notify(t('Delivering again … (may take a while)')); + const r = await fetch('/api/admin/storage', { method: 'POST', headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ action: 'redeliver_all' }) }).then((x) => x.json()); + notify(r.attempted != null + ? (r.failed + ? t('{ok}/{tried} delivered again, {failed} failed.', { ok: r.ok, tried: r.attempted, failed: r.failed }) + : t('{ok}/{tried} delivered again.', { ok: r.ok, tried: r.attempted })) + : (r.error || t('Error'))); + load(); + }; + const mirrorAll = async () => { + if (!s.mirror_enabled) { notify(t('Enable the backup mirror and save first.')); return; } + if (!confirm(t('Back up all finished images to the mirror?'))) return; + notify(t('Backing up to the mirror … (may take a while)')); + const r = await fetch('/api/admin/storage', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ action: 'mirror_all' }) }).then((x) => x.json()); + notify(r.total != null + ? (r.failed + ? t('{n}/{total} backed up to the mirror, {failed} failed.', { n: r.mirrored, total: r.total, failed: r.failed }) + : t('{n}/{total} backed up to the mirror.', { n: r.mirrored, total: r.total })) + : (r.error || t('Error'))); + load(); + }; + const resetAll = async () => { + const answer = prompt(t('WARNING: Deletes ALL images, jobs and folders irreversibly (users, settings, models & preset recipes stay).\n\nType RESET to confirm:')); + if (answer !== 'RESET') { if (answer != null) notify(t('Cancelled — not confirmed.')); return; } + notify(t('Resetting …')); + const r = await fetch('/api/admin/reset', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ confirm: 'RESET' }) }).then((x) => x.json()); + notify(r.ok ? t('Reset done: {n} images removed.', { n: r.deleted_items }) : (r.error || t('Error'))); + load(); + }; + const addModel = async (m: any) => { + await fetch('/api/admin/models', { method: 'POST', headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ model_id: m.model_id, label: m.name, supports_alpha: m.supports_alpha, active: true }) }); + load(); + }; + const modelAction = async (id: string, action: string) => { + await fetch('/api/admin/models', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ id, action }) }); + load(); + }; + const setPw = async (id: string) => { + const pw = prompt(t('New password?')); if (!pw) return; + await fetch('/api/admin/users', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ id, password: pw }) }); + notify(t('Password set.')); + }; + const setUserPrivate = async (id: string, v: boolean) => { + await fetch('/api/admin/users', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ id, private_forced: v }) }); + load(); + }; + const addUser = async () => { + const username = prompt(t('Username?')); if (!username) return; + const password = prompt(t('Password?')); if (!password) return; + await fetch('/api/admin/users', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ username, password }) }); + load(); + }; + + if (!s) return

{t('Loading …')}

; + const stored = new Set(models.map((m) => m.model_id)); + + return ( +
+ {stats && ( +
+
{t('Usage & cost')}
+
+
{stats.total}{t('Images total')}
+
{stats.error_rate}%{t('Error rate')}
+
${stats.cost_30?.toFixed(2)}{t('Cost 30 days')}
+
${stats.cost_all?.toFixed(2)}{t('Cost total')}
+
+
{t('Today ${today} · 7 days ${week}', { today: stats.cost_today?.toFixed(2), week: stats.cost_7?.toFixed(2) })} + {stats.last_activity ? ` · ${t('last {when}', { when: new Date(stats.last_activity).toLocaleString() })}` : ''}
+
+ )} + +
+
{t('Access & limits')}
+
+
+ setOrKey(e.target.value)} /> +
{t('Stored encrypted, takes precedence over the environment variable.')}
+
+
+ field('monthly_budget', e.target.value)} /> +
{t('When it is reached the queue stops.')}
+
+
+
field('default_dpi', e.target.value)} />
+
field('concurrency', e.target.value)} />
+
+
field('cricut_sheet_cm', e.target.value)} />
+
+ +
{t('Applies to new conversions without their own format choice. Cut-out subjects always stay PNG.')}
+
+
+
+ +
+
{t('Delivery target')} +
+ +
+
+
+
field('delivery_host', e.target.value)} />
+
field('delivery_port', e.target.value)} />
+
+
+
+
+
field('delivery_user', e.target.value)} />
+
+
+ setDtPw(e.target.value)} />
+
+
field('delivery_base_path', e.target.value)} />
+
field('delivery_default_folder', e.target.value)} />
+
+ +
{t('Images land in base folder / folder on the target — for example:')} / + Gallery A{' '} + {t('“Show folder” lists what actually sits where over SFTP.')}
+ {dtList && ( +
+
{dtList.path}{dtList.error ? ` — ${dtList.error}` : ''}
+ {(dtList.entries || []).map((e: any, i: number) => ( +
+ + {e.size ? `${Math.round(e.size / 1024)} KB` : ''} +
+ ))} +
+ )} +
+
+ +
+
{t('Storage & cleanup')} + {storage && {t('{bytes} · {results} results · {sources} sources · {thumbs} previews', + { bytes: fmtBytes(storage.bytes), results: storage.results, sources: storage.sources, thumbs: storage.thumbs })}}
+
+ + +
{t('The metadata sidecar file (.md with prompt/model/format) can now be switched on and off per target — on the delivery target, on the backup mirror and on every FTP target separately (see the card for each).')}
+
+ field('retention_days', e.target.value)} /> +
{t('Older images are removed automatically (daily). Empty = delete nothing.')}
+
+ + + {s.retention_days ? : null} +
+
+
+ +
+
{t('Email')} +
+ + +
+
+
{t('Klarbild sends through your own mailbox — that way SPF and DKIM are right by themselves and no further provider is involved.')}{' '} + {t('It is needed for password reset, notices about finished jobs and share links by mail.')}{' '} + {t('The password is stored encrypted and never shown again.')}
+ {s.smtp_source === 'environment' && s.smtp_effective && ( +
+ {t('Sending already works — through the server setting ({user} on {host}:{port}).', + { user: s.smtp_effective.user, host: s.smtp_effective.host, port: s.smtp_effective.port })}{' '} + {t('The fields below are empty because nothing is entered here; that is fine.')}{' '} + {t('Anyone who enters something here and saves it overwrites the server setting.')} +
+ )} + {s.smtp_source === 'database' && ( +
{t('Sending runs on what is entered here.')}
+ )} + {!s.smtp_source && ( +
{t('No sending set up yet — forgotten password, job notices and mailing share links do not work until then.')}
+ )} +
+
+ field('smtp_host', e.target.value)} />
+
+ field('smtp_port', e.target.value)} /> +
{t('465 = SSL · 587 = STARTTLS')}
+
+ +
+
+ field('smtp_user', e.target.value)} />
+
+ setSmtpPw(e.target.value)} />
+
+
+ field('smtp_from', e.target.value)} /> +
{t('Empty = username. It has to belong to the mailbox, otherwise recipients reject the mail.')}
+
+ setMailTo(e.target.value)} /> +
{t('“Test connection” only checks the login. Only the test message proves that the mail really arrives — look in the spam folder too.')}
+
+
+ +
+
{t('Share links')}
+
+
+ field('share_default_days', e.target.value)} /> +
{t('Default for new links; changeable at any time when one is created.')} {t('0 = unlimited.')}{' '} + {t('There are children in the images — a link that expires by itself is the safe default.')}
+
+
+ +
+
{t('File names')} + {t('YYYY-MM-DD_HHMMSS_subject_format_shortid')}
+
+
{t('Every result gets a name that starts with date and time — that way every file list sorts chronologically by itself — and ends with a short id taken from the image ID.')}{' '} + {t('That way two similar images from the same day can no longer overwrite each other.')}{' '} + {t('Example:')} 2026-08-20_143207_portrait_the-frame_a3f9.jpg
+
+ + + +
+ {rename && ( +
+ {t('{n} images checked', { n: rename.checked })} ·{' '} + {rename.dryRun + ? t('{n} would get a new name', { n: rename.renamed }) + : t('{n} renamed', { n: rename.renamed })} · + {' '}{t('{n} unchanged', { n: rename.unchanged })} + {rename.wereDuplicates ? ` · ${t('{n} names were used twice', { n: rename.wereDuplicates })}` : ''} + {rename.examples?.length ? ( +
    + {rename.examples.map((b: any) => ( +
  • {b.before} → {b.after}
  • + ))} +
+ ) : null} +
+ )} +
{t('“Deliver again” uploads every already delivered image to the target again under the new name. The old files stay there — deleting something at the client automatically would be the wrong reflex; you do that on the delivery target yourself.')}
+
+
+ +
+
{t('Backup mirror (second copy)')} +
+
+
+ +
+
field('mirror_host', e.target.value)} />
+
field('mirror_port', e.target.value)} />
+
+
+
+
+
field('mirror_user', e.target.value)} />
+
+
+ setMirrorPw(e.target.value)} />
+
field('mirror_base_path', e.target.value)} />
+ + +
{t('Results land under base folder / YYYY-MM /. Credentials are stored encrypted.')}
+
+
+ +
+
{t('More output targets (FTP/SFTP)')} +
+
+
{t('Additional FTP/SFTP targets — for example a second folder on the delivery target or another server.')}{' '} + {t('A preset/folder can point at one target permanently; selectable in the studio under “Where to?” (the backup mirror too).')}{' '} + {t('“Backup” targets automatically receive all results (like the backup mirror).')}
+
+ {targets.map((tg) => ( +
+
{tg.name}{tg.is_backup && {t('Backup')}}{tg.metadata_sidecar && .md} {tg.protocol}://{tg.username}@{tg.host}:{tg.port} · {tg.base_path || '/'}{tg.password_set ? '' : ` · ⚠︎ ${t('no password')}`}
+
+ + + + +
+
+ ))} + {targets.length === 0 &&
{t('No additional targets yet.')}
} +
+
+
setNt({ ...nt, name: e.target.value })} />
+
+
+
+
+
setNt({ ...nt, host: e.target.value })} />
+
setNt({ ...nt, port: e.target.value })} />
+
+
+
setNt({ ...nt, username: e.target.value })} />
+
setNt({ ...nt, password: e.target.value })} />
+
+
setNt({ ...nt, base_path: e.target.value })} />
+ + + +
+
+ +
+
{t('Automation / MCP access')}
+
+
{t('API token for external/programmatic access (for example Klarbild MCP: “take these images and process them”).')}{' '} + {t('As {header} to {uploads} and {jobs}.', { header: 'Authorization: Bearer ', uploads: '/api/uploads', jobs: '/api/jobs' })}
+ {s.api_token + ?
e.target.select()} />
+ :
{t('No token generated yet.')}
} + +
+
+ +
+
{t('Permissions & privacy')}
+
+
+
+ + +
+
{t('Admins always see everything. “Own only”: everyone sees only the images they generated themselves.')}
+
+ + + +
+
+ + + +
+
{t('Models')}
+
+ {models.map((m) => ( +
+
{m.label}{m.is_default && {t('Default')}}{m.supports_alpha && {t('transparent')}}{m.nsfw && NSFW}
{m.model_id}
+
+ {!m.is_default && } + + +
+
+ ))} + {models.length === 0 &&
{t('No models yet. Add one from the available ones:')}
} +
+ {avail.filter((m) => !stored.has(m.model_id)).slice(0, 12).map((m) => ( + + ))} +
+
+
+ +
+
{t('Users')}
+
+ {users.map((u) => ( +
+
{u.display_name || u.username}{u.private_forced && {t('private')}} {u.username} · {u.role}
+
+ + + +
+
+ ))} +
+
+ +
+
{t('Telegram bot')}
+
+
{t('Generate a code with “Pair Telegram” on a user and enter it in the chat with the bot. After that, forward images there → pick a preset recipe → results come back.')}
+ {tgLinks.map((l) => ( +
+
{t('Chat {id}', { id: l.chat_id })} {l.user_name || ''} · {t('since {date}', { date: new Date(l.linked_at).toLocaleDateString() })}
+ +
+ ))} + {tgLinks.length === 0 &&
{t('No paired chats yet.')}
} +
+
+ +
+
{t('Reset')}
+
+
{t('Deletes all images, jobs and folders irreversibly, so you can start over cleanly. Users, settings, models and preset recipes are kept. Tip: run “Back up all existing images to the mirror” first.')}
+ +
+
+ + {toast &&
{toast}
} + +
+ ); +} + +function AdminStyles() { + return ; +} diff --git a/src/components/LibraryApp.tsx b/src/components/LibraryApp.tsx new file mode 100644 index 0000000..61793a7 --- /dev/null +++ b/src/components/LibraryApp.tsx @@ -0,0 +1,364 @@ +import React, { useState, useEffect, useCallback } from 'react'; +import { filenameFromHeader } from '../lib/naming'; +import ShareDialog, { type ShareTarget } from './ShareDialog'; +import { useT, type Dict, type Locale } from '../lib/useT'; + +interface Item { id: string; filename: string; output_px: string; has_alpha: boolean; + folder_id: string | null; by_name: string; tasks: string[]; delivery_status: string; mirror_status: string; + model_used: string; variant_of: string | null; mode: string; thumb_path: string | null; prompt_used: string | null; + color_tag: string | null; created_at: string; } + +const TAGS = [ + { id: 'red', label: 'Red', color: '#E5484D' }, + { id: 'orange', label: 'Orange', color: '#E8830C' }, + { id: 'green', label: 'Green', color: '#46A758' }, + { id: 'final', label: 'Final', color: '#3A3733' }, +]; +const tagColor = (id: string | null) => TAGS.find((x) => x.id === id)?.color || null; + +export default function LibraryApp({ locale, dict }: { locale?: Locale; dict?: Dict | null }) { + const t = useT(dict); + const [items, setItems] = useState([]); + const [folders, setFolders] = useState([]); + const [models, setModels] = useState([]); + const [folderFilter, setFolderFilter] = useState(null); + const [pick, setPick] = useState>(new Set()); + const [variantSel, setVariantSel] = useState>({}); + const [compare, setCompare] = useState(null); + const [promptOf, setPromptOf] = useState(null); + const [saveView, setSaveView] = useState(null); + const [tagMenu, setTagMenu] = useState(null); + const [share, setShare] = useState(null); + const [tagFilter, setTagFilter] = useState(null); + const [toast, setToast] = useState(null); + const notify = (msg: string) => { setToast(msg); setTimeout(() => setToast(null), 2400); }; + + // Model name: the admin label, otherwise the readable tail of the model ID. + const modelName = (id: string | null) => { + if (!id) return null; + const m = models.find((x) => x.model_id === id); + if (m) return m.label; + return id.split('/').pop()!.replace(/-/g, ' '); + }; + + const load = useCallback(async () => { + const [i, f, m] = await Promise.all([ + fetch('/api/items').then((r) => r.json()).catch(() => ({ items: [] })), + fetch('/api/folders').then((r) => r.json()).catch(() => ({ folders: [] })), + fetch('/api/models').then((r) => r.json()).catch(() => ({ models: [] })), + ]); + setItems(i.items || []); setFolders(f.folders || []); setModels(m.models || []); + }, []); + useEffect(() => { load(); }, [load]); + + const rename = async (id: string, filename: string) => + fetch(`/api/items/${id}`, { method: 'PATCH', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ filename }) }); + const setTag = async (id: string, color_tag: string | null) => { + setItems((x) => x.map((y) => y.id === id ? { ...y, color_tag } : y)); + setTagMenu(null); + await fetch(`/api/items/${id}`, { method: 'PATCH', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ color_tag }) }); + }; + const setFolder = async (id: string, folder_id: string | null) => { + await fetch(`/api/items/${id}`, { method: 'PATCH', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ folder_id }) }); + load(); + }; + const del = async (id: string) => { await fetch(`/api/items/${id}`, { method: 'DELETE' }); setItems((x) => x.filter((y) => y.id !== id)); }; + const delSelected = async () => { for (const id of pick) await fetch(`/api/items/${id}`, { method: 'DELETE' }); setPick(new Set()); load(); notify(t('Deleted.')); }; + const deliverSelected = async () => { + notify(t('Sending to the delivery target …')); + const r = await fetch('/api/deliver', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ itemIds: [...pick] }) }).then((x) => x.json()); + setPick(new Set()); load(); notify(t('{done}/{total} delivered to the target.', { done: r.delivered, total: r.total })); + }; + const toggle = (id: string) => setPick((s) => { const n = new Set(s); n.has(id) ? n.delete(id) : n.add(id); return n; }); + const moveSelected = async (folder_id: string | null) => { + for (const id of pick) await fetch(`/api/items/${id}`, { method: 'PATCH', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ folder_id }) }); + setPick(new Set()); load(); notify(folder_id ? t('Moved into the folder.') : t('Removed from the folder.')); + }; + const zipSelected = async () => { + notify(t('Packing ZIP …')); + const res = await fetch('/api/items/zip', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ itemIds: [...pick] }) }); + if (!res.ok) { notify(t('ZIP failed.')); return; } + const blob = await res.blob(); + const a = document.createElement('a'); a.href = URL.createObjectURL(blob); + // The name comes from the server — building our own here would mean two + // selections made on the same day end up with the same name again. + a.download = filenameFromHeader(res.headers.get('Content-Disposition'), 'klarbild-selection.zip'); a.click(); + URL.revokeObjectURL(a.href); notify(t('ZIP downloaded.')); + }; + const alternative = async (id: string) => { + notify(t('Generating an alternative …')); + const r = await fetch(`/api/items/${id}/alternative`, { method: 'POST' }).then((x) => x.json()); + if (r.ok) notify(t('The alternative is being generated — it will show up here shortly.')); else notify(r.error || t('Error.')); + setTimeout(load, 2500); + }; + // Carry the result into the studio as a new source and keep working on it. + const reuse = (id: string) => { window.location.href = `/?reuse=${id}`; }; + + const newFolder = async () => { + const name = prompt(t('Folder name?')); if (!name) return; + const targetFolder = prompt(t('Folder on the delivery target for this folder? (empty = default)')) || ''; + await fetch('/api/folders', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ name, delivery_folder: targetFolder.trim() || null }) }); + load(); + }; + const delFolder = async (id: string) => { + if (!confirm(t('Delete folder? The images are kept.'))) return; + await fetch(`/api/folders?id=${id}`, { method: 'DELETE' }); + if (folderFilter === id) setFolderFilter(null); + load(); + }; + const renameFolder = async (o: any) => { + const name = prompt(t('Rename folder:'), o.name); if (name == null) return; + const targetFolder = prompt(t('Folder on the delivery target (empty = default):'), o.delivery_folder || ''); + await fetch('/api/folders', { method: 'PATCH', headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ id: o.id, name: name.trim() || o.name, delivery_folder: (targetFolder || '').trim() || null }) }); + load(); + }; + + // Filter by folder and flag, then group alternatives under their origin. + const filtered = items + .filter((v) => !folderFilter || v.folder_id === folderFilter) + .filter((v) => !tagFilter || v.color_tag === tagFilter); + const groupMap = new Map(); + for (const it of filtered) { + const root = it.variant_of || it.id; + if (!groupMap.has(root)) groupMap.set(root, []); + groupMap.get(root)!.push(it); + } + const groups = [...groupMap.values()].map((g) => g.slice().sort((a, b) => +new Date(a.created_at) - +new Date(b.created_at))); + groups.sort((a, b) => +new Date(b[b.length - 1].created_at) - +new Date(a[a.length - 1].created_at)); + const shown = (g: Item[]) => g.find((x) => x.id === variantSel[g[0].id]) || g[g.length - 1]; + + return ( +
+
+ {t('Library')}{filtered.length ? ` · ${filtered.length}` : ''} +
+ {pick.size > 0 && <> + {t('{n} selected', { n: pick.size })} + + + + + + } + +
+
+ + {/* Folder filter */} +
+ + {folders.map((o) => ( + + + {folderFilter === o.id && <> + + + } + + ))} +
+
{t('Folders group the library, and each folder can get its own folder on the delivery target (arrow = its own target folder is set).')}
+ + {/* Filter by color flag */} +
+ + {TAGS.map((tag) => ( + + ))} +
+ + {filtered.length === 0 ? ( +

{folderFilter ? t('Folder is empty') : t('Nothing created yet')}

+

{folderFilter ? t('Assign images to this folder from the folder menu.') : t('Start in the studio — the results collect here.')}

+ ) : ( +
+ {groups.map((g) => { + const v = shown(g); + const multi = g.length > 1; + return ( +
+
toggle(v.id)}> + + {pick.has(v.id) ? '✓' : ''} + {(v.mode === 'compose' || v.mode === 'generate') && + {v.mode === 'compose' ? t('combined') : t('generated')}} + {v.color_tag && ⚑} + {multi && {t('Version {n}/{total}', { n: g.indexOf(v) + 1, total: g.length })}} +
+ + {multi && ( +
+ {g.map((x, idx) => ( + + ))} +
+ )} + + rename(v.id, e.target.value)} /> +
{(v.tasks || []).join(' · ')}{v.output_px ? ` · ${v.output_px}px` : ''}{v.has_alpha ? ' · transparent' : ''}{modelName(v.model_used) ? ` · ${modelName(v.model_used)}` : ''} + {v.delivery_status === 'delivered' && {t('Delivered')} ✓} + {v.delivery_status === 'pending' && {t('Delivering')} …} + {v.delivery_status === 'failed' && {t('Delivery')} ✕} + {v.mirror_status === 'mirrored' && {t('Mirror')} ✓} + {v.mirror_status === 'failed' && {t('Mirror')} ✕} +
+
+
+ + {tagMenu === v.id && ( +
setTagMenu(null)}> + + {TAGS.map((tag) => ( + + ))} +
+ )} +
+ {v.prompt_used && } + {v.mode !== 'generate' && } + + + + + + +
+
+ ); + })} +
+ )} + + {share && ( + setShare(null)} locale={locale} dict={dict} /> + )} + + {compare && ( +
setCompare(null)}> +
e.stopPropagation()}> + {t('before')} + {t('after')} + { const o = document.getElementById('ov'); if (o) o.style.clipPath = `inset(0 0 0 ${e.target.value}%)`; }} /> +
+
{compare.filename} · {compare.output_px}px — {compare.mode === 'compose' + ? t('Slider: source on the left, result on the right') + : t('Slider: original on the left, result on the right')}
+
+ )} + {saveView && ( +
setSaveView(null)}> +
e.stopPropagation()}> + + {saveView.filename +
+
e.stopPropagation()}> + {t('📱 iPhone/iPad: press and hold the image → “Save to Photos”.')} + {t('Original as a file (.png)')} + +
+
+ )} + {promptOf && ( +
setPromptOf(null)}> +
e.stopPropagation()}> +
{promptOf.filename} +
+
{promptOf.prompt_used}
+
{promptOf.model_used ? `${t('Model: {name}', { name: modelName(promptOf.model_used) || '' })} · ` : ''}{promptOf.output_px}px
+
+
+ )} + {toast &&
{toast}
} + +
+ ); +} + +function LibStyles() { + return ; +} diff --git a/src/components/PrintApp.tsx b/src/components/PrintApp.tsx new file mode 100644 index 0000000..9c2bb47 --- /dev/null +++ b/src/components/PrintApp.tsx @@ -0,0 +1,1640 @@ +import React, { useState, useRef, useEffect, useCallback, useMemo, useId } from 'react'; +import { PAPERS, PHOTO_SIZES, parseSizeMm, labelMm, mmToPx, paperById, photoById } from '../lib/paper'; +import { + layout, cutMarks, recommendedGap, dpiCheck, + type SheetSpec, type PlaceSpec, type MarkMode, +} from '../lib/printlayout'; +import { fitsOnSheet, overflowPlacement, tilePlan, tileSheet, type Oversize } from '../lib/printoversize'; +import { baseCrop, clampCrop, centred, limitsFor, type CropRel, type FitMode } from '../lib/cropmath'; +import PrintRuns from './PrintRuns'; +import { filenameFromHeader } from '../lib/naming'; +import { useT, type Dict, type Locale, type TFunction } from '../lib/useT'; + +/* -------------------------------------------------------------------------- + Print — bring images to an exact size without AI and put several of them on + one sheet with crop marks. + + Arrangement: you work on the left and look on the right. On a desktop the + preview runs alongside the work (sticky), on a phone it sits directly under + the images and above the settings — it is the only feedback on whether the + sheet is right. + -------------------------------------------------------------------------- */ + +type SrcRef = { kind: 'upload'; path: string } | { kind: 'item'; id: string }; +// CropRel and FitMode come from cropmath.ts — one definition for browser and server. + +interface Cell { + id: string; + name: string; + preview: string; // shrunken data URL, or /api/items/… + src?: SrcRef; + uploading?: boolean; + error?: string; + natW: number; natH: number; + sizeId: string; + customSize: string; + landscape: boolean; + count: number; + allowRotate: boolean; + fit: FitMode; + bg: string; + oversize: Oversize; + overlapMm: number; + crop: CropRel; +} + +/** Key of the local settings store. The spelling stays — a new key would drop everyone's saved setup. */ +const STORE = 'klarbild.print.v2'; +const MAX_IMAGES = 30; + +const uid = () => (crypto.randomUUID ? crypto.randomUUID() : String(Math.random()).slice(2)); +const safeColor = (v: unknown): string => + typeof v === 'string' && /^#[0-9a-fA-F]{6}$/.test(v) ? v : '#ffffff'; +/** "1 sheet", "2 sheets", "1 image", "5 images" — the singular is not a detail. */ +const count = (n: number, one: string, many: string) => (n === 1 ? one : many).split('{n}').join(String(n)); +// Millimetres for display. The decimal comma follows `labelMm` in lib/paper.ts, +// where tests pin the spelling — one caption should not mix "5,5 mm" and "5.5 mm". +const mm = (n: number) => String(Math.round(n * 10) / 10).replace('.', ','); + +/* ---------------- Crop maths ---------------------------------------------- + Comes from `src/lib/cropmath.ts` — exactly the file the server uses for the + PDF. The calculation used to sit here a second time; two copies of the same + formula drift apart sooner or later, and then the preview shows something + other than what is printed. */ + +const sizeOfCell = (c: Cell): { w: number; h: number } | null => { + const base = c.sizeId === 'custom' ? parseSizeMm(c.customSize) : photoById(c.sizeId); + if (!base) return null; + return c.landscape ? { w: base.h, h: base.w } : { w: base.w, h: base.h }; +}; +const aspectOf = (c: Cell): number => { const s = sizeOfCell(c); return s ? s.w / s.h : 1; }; + +/** + * Places the image in the frame so that exactly `c` is visible. The height comes + * from the real aspect ratio of the image — that way nothing can ever distort. + */ +function cropStyle(c: CropRel, natW?: number, natH?: number): React.CSSProperties { + return { + position: 'absolute', + width: `${100 / c.w}%`, + ...(natW && natH ? { aspectRatio: `${natW} / ${natH}`, height: 'auto' as const } : { height: `${100 / c.h}%` }), + left: `${(-c.x / c.w) * 100}%`, top: `${(-c.y / c.h) * 100}%`, + }; +} + +function newCell(id: string, name: string): Cell { + return { + id, name, preview: '', uploading: true, natW: 1000, natH: 1500, + sizeId: 'S10x15', customSize: '', landscape: false, count: 1, allowRotate: true, + fit: 'cover', bg: '#ffffff', oversize: 'fit', overlapMm: 10, + crop: { x: 0, y: 0, w: 1, h: 1 }, + }; +} + +/** Compute the preview small — 30 phone photos as full data URLs blow the tab apart. */ +function shrink(dataUrl: string, maxEdge = 700): Promise<{ url: string; w: number; h: number }> { + return new Promise((res) => { + const img = new Image(); + img.onload = () => { + const k = Math.min(1, maxEdge / Math.max(img.naturalWidth, img.naturalHeight)); + if (k >= 1) return res({ url: dataUrl, w: img.naturalWidth, h: img.naturalHeight }); + const cv = document.createElement('canvas'); + cv.width = Math.round(img.naturalWidth * k); cv.height = Math.round(img.naturalHeight * k); + cv.getContext('2d')!.drawImage(img, 0, 0, cv.width, cv.height); + res({ url: cv.toDataURL('image/jpeg', 0.72), w: img.naturalWidth, h: img.naturalHeight }); + }; + img.onerror = () => res({ url: dataUrl, w: 0, h: 0 }); + img.src = dataUrl; + }); +} + +/* ========================================================================== */ + +export default function PrintApp({ locale, dict }: { locale?: Locale; dict?: Dict | null }) { + const t = useT(dict); + const [cells, setCells] = useState([]); + const [paperId, setPaperId] = useState('A4'); + const [paperCustom, setPaperCustom] = useState(''); + const [paperLandscape, setPaperLandscape] = useState(false); + const [marginMm, setMarginMm] = useState(5); + const [autoGap, setAutoGap] = useState(true); + const [gapMm, setGapMm] = useState(8); + const [bleedMm, setBleedMm] = useState(0); + const [marks, setMarks] = useState('corner'); + const [markLen, setMarkLen] = useState(3); + const [markOff, setMarkOff] = useState(1); + const [dpi, setDpi] = useState(300); + const [ext, setExt] = useState<'jpg' | 'png'>('jpg'); + const [center, setCenter] = useState(true); + const [footerOn, setFooterOn] = useState(true); + const [footerText, setFooterText] = useState(''); + const [footerPos, setFooterPos] = useState('bottom-left'); + const [deliverTo, setDeliverTo] = useState(''); + const [gallery, setGallery] = useState(''); + + const [targets, setTargets] = useState([]); + const [editing, setEditing] = useState(null); + const [picker, setPicker] = useState(false); + // The history only loads when it is opened — one request less on every page. + const [historyOpen, setHistoryOpen] = useState(false); + const [presets, setPresets] = useState([]); + const [presetSel, setPresetSel] = useState(''); + const [busy, setBusy] = useState(null); + const [toast, setToast] = useState<{ text: string; sticky?: boolean } | null>(null); + const [dragging, setDragging] = useState(false); + const [sheetIdx, setSheetIdx] = useState(0); + const fileRef = useRef(null); + const loaded = useRef(false); + + const notify = (text: string, sticky = false) => { + setToast({ text, sticky }); + if (!sticky) setTimeout(() => setToast(null), 3200); + }; + + /* ---------------- Sheet ---------------- */ + const paper = useMemo(() => { + const p = paperId === 'custom' ? parseSizeMm(paperCustom) : paperById(paperId); + if (!p) return null; + return paperLandscape ? { w: p.h, h: p.w } : { w: p.w, h: p.h }; + }, [paperId, paperCustom, paperLandscape]); + + const gapEff = autoGap ? Math.max(recommendedGap(marks, bleedMm, markLen, markOff), 2) : gapMm; + const sheet: SheetSpec | null = paper + ? { wMm: paper.w, hMm: paper.h, marginMm, gapMm: gapEff, bleedMm, center } + : null; + const usable = sheet + ? { w: sheet.wMm - 2 * (marginMm + bleedMm), h: sheet.hMm - 2 * (marginMm + bleedMm) } + : null; + + /** Does the cell fit on the sheet? Also says what the ways out cost. */ + const fitsCell = useCallback((c: Cell) => { + const s = sizeOfCell(c); + if (!s || !sheet) return { ok: true } as const; + if (fitsOnSheet(s.w, s.h, sheet, c.allowRotate)) return { ok: true } as const; + const of = overflowPlacement(c.id, 1, s.w, s.h, sheet, c.allowRotate); + const tp = tilePlan(s.w, s.h, tileSheet(sheet), c.overlapMm); + return { ok: false, size: s, lost: of.lostMm, sheets: tp.tiles.length, cols: tp.cols, rows: tp.rows } as const; + }, [sheet]); + + const specs: PlaceSpec[] = useMemo(() => cells.flatMap((c) => { + const s = sizeOfCell(c); + if (!s || c.error || !c.src) return []; + if (sheet && !fitsOnSheet(s.w, s.h, sheet, c.allowRotate) && c.oversize !== 'fit') return []; + return [{ id: c.id, wMm: s.w, hMm: s.h, count: c.count, allowRotate: c.allowRotate }]; + }), [cells, sheet]); + + const plan = useMemo(() => (sheet && specs.length ? layout(specs, sheet) : null), [sheet, specs]); + const marksPerPage = useMemo(() => (plan && sheet) + ? plan.pages.map((pg) => cutMarks(pg, sheet, { mode: marks, lengthMm: markLen, offsetMm: markOff, bleedMm })) + : [], [plan, sheet, marks, markLen, markOff, bleedMm]); + + /** Extra sheets from oversize images — only to show the total. */ + const extraSheets = useMemo(() => cells.reduce((n, c) => { + const p = fitsCell(c); + if (p.ok || c.oversize === 'fit') return n; + return n + (c.oversize === 'tile' ? p.sheets * c.count : c.count); + }, 0), [cells, fitsCell]); + + const sheetsTotal = (plan?.pages.length || 0) + extraSheets; + const ready = cells.filter((c) => c.src && !c.error && sizeOfCell(c)); + const imagesTotal = ready.reduce((n, c) => n + c.count, 0); + const rotated = plan?.pages.some((pg) => pg.placements.some((p) => p.rotated)); + const canPrint = !!(plan?.pages.length || extraSheets); + + useEffect(() => { if (sheetIdx >= Math.max(1, plan?.pages.length || 0)) setSheetIdx(0); }, [plan, sheetIdx]); + + /* ---------------- Local store ---------------- */ + useEffect(() => { + try { + const raw = localStorage.getItem(STORE); + if (raw) { + const s = JSON.parse(raw); + if (s.paperId) setPaperId(s.paperId); + if (s.paperCustom != null) setPaperCustom(s.paperCustom); + setPaperLandscape(!!s.paperLandscape); + if (s.marginMm != null) setMarginMm(s.marginMm); + setAutoGap(s.autoGap !== false); + if (s.gapMm != null) setGapMm(s.gapMm); + if (s.bleedMm != null) setBleedMm(s.bleedMm); + if (s.marks) setMarks(s.marks); + if (s.markLen != null) setMarkLen(s.markLen); + if (s.markOff != null) setMarkOff(s.markOff); + if (s.dpi) setDpi(s.dpi); + if (s.ext) setExt(s.ext); + setCenter(s.center !== false); + setFooterOn(s.footerOn !== false); + if (s.footerText != null) setFooterText(s.footerText); + if (s.footerPos) setFooterPos(s.footerPos); + } + } catch { /* never mind */ } + loaded.current = true; + }, []); + + useEffect(() => { + if (!loaded.current) return; + const timer = setTimeout(() => { + try { + localStorage.setItem(STORE, JSON.stringify({ + paperId, paperCustom, paperLandscape, marginMm, autoGap, gapMm, bleedMm, + marks, markLen, markOff, dpi, ext, center, footerOn, footerText, footerPos, + })); + } catch { /* storage full — no harm */ } + }, 400); + return () => clearTimeout(timer); + }, [paperId, paperCustom, paperLandscape, marginMm, autoGap, gapMm, bleedMm, + marks, markLen, markOff, dpi, ext, center, footerOn, footerText, footerPos]); + + /* ---------------- Images ---------------- */ + const addFiles = useCallback(async (files: FileList | File[]) => { + const all = Array.from(files); + const images = all.filter((f) => f.type.startsWith('image/') || /\.(heic|heif)$/i.test(f.name)); + if (all.length > images.length) + notify(t('{files} skipped — images only (JPG, PNG, WEBP, HEIC).', + { files: count(all.length - images.length, t('{n} file'), t('{n} files')) })); + if (images.length > MAX_IMAGES) + notify(t('Only the first {max} images taken ({n} selected).', { max: MAX_IMAGES, n: images.length })); + + for (const f of images.slice(0, MAX_IMAGES)) { + const id = uid(); + setCells((p) => [...p, newCell(id, f.name)]); + const reader = new FileReader(); + reader.onload = async () => { + const { url, w, h } = await shrink(reader.result as string); + setCells((p) => p.map((x) => { + if (x.id !== id) return x; + // A landscape photo starts out landscape — otherwise "Portrait" cuts off heads and feet. + const landscape = w > 0 && h > 0 ? w > h : x.landscape; + const next = { ...x, preview: url, natW: w || x.natW, natH: h || x.natH, landscape }; + next.crop = baseCrop(next.natW, next.natH, aspectOf(next), next.fit); + return next; + })); + }; + reader.readAsDataURL(f); + + const fd = new FormData(); fd.append('files', f); + try { + const j = await fetch('/api/uploads', { method: 'POST', body: fd }).then((r) => r.json()); + const info = j.files?.[0]; + setCells((p) => p.map((x) => x.id === id ? { + ...x, uploading: false, error: info?.error, + src: info?.source_path ? { kind: 'upload', path: info.source_path } : undefined, + natW: info?.width || x.natW, natH: info?.height || x.natH, + } : x)); + } catch { + setCells((p) => p.map((x) => x.id === id ? { ...x, uploading: false, error: t('Upload failed') } : x)); + } + } + }, [t]); + + useEffect(() => { + const onPaste = (e: ClipboardEvent) => { + if (editing || picker) return; + const imgs = Array.from(e.clipboardData?.items || []).filter((i) => i.type.startsWith('image/')); + if (imgs.length) addFiles(imgs.map((i) => i.getAsFile()!).filter(Boolean)); + }; + window.addEventListener('paste', onPaste); + return () => window.removeEventListener('paste', onPaste); + }, [addFiles, editing, picker]); + + useEffect(() => { + loadPresets(); + fetch('/api/delivery-targets').then((r) => r.json()).then((j) => setTargets(j.targets || [])).catch(() => {}); + }, []); + const loadPresets = () => fetch('/api/print/presets').then((r) => r.json()) + .then((j) => setPresets(j.presets || [])).catch(() => {}); + + /** + * Take over the settings of an earlier print — paper, marks, margins, + * quality. The **images** deliberately stay behind: whoever presses "apply" + * usually wants the same setup for a different motif. Whoever wants the same + * sheet takes "Print again". + */ + const applyConfig = (cfg: any) => { + if (!cfg) return; + try { + if (cfg.paper?.id) setPaperId(cfg.paper.id); + else if (cfg.paper?.size) { setPaperId('custom'); setPaperCustom(String(cfg.paper.size)); } + if (typeof cfg.landscape === 'boolean') setPaperLandscape(cfg.landscape); + if (cfg.marks?.mode) setMarks(cfg.marks.mode); + if (cfg.marks?.lengthMm != null) setMarkLen(Number(cfg.marks.lengthMm)); + if (cfg.marks?.offsetMm != null) setMarkOff(Number(cfg.marks.offsetMm)); + if (cfg.marginMm != null) setMarginMm(Number(cfg.marginMm)); + if (cfg.bleedMm != null) setBleedMm(Number(cfg.bleedMm)); + if (cfg.gapMm != null) { setAutoGap(false); setGapMm(Number(cfg.gapMm)); } + if (cfg.dpi != null) setDpi(Number(cfg.dpi)); + if (cfg.ext) setExt(cfg.ext === 'png' ? 'png' : 'jpg'); + if (typeof cfg.center === 'boolean') setCenter(cfg.center); + notify(t('Settings applied. You pick the images yourself — “Print again” takes those too.')); + window.scrollTo({ top: 0, behavior: 'smooth' }); + } catch { notify(t('These settings could not be applied.'), true); } + }; + + const addFromLibrary = (it: any) => { + const [w, h] = String(it.output_px || '').split(/[x×]/).map((n: string) => parseInt(n, 10) || 0); + const id = uid(); + const c: Cell = { + ...newCell(id, it.filename || t('Image')), + uploading: false, + src: { kind: 'item', id: it.id }, + preview: `/api/items/${it.id}/file?thumb=1`, + natW: w || 2000, natH: h || 3000, + landscape: !!(w && h && w > h), + }; + c.crop = baseCrop(c.natW, c.natH, aspectOf(c), c.fit); + setCells((p) => [...p, c]); + }; + + const patch = (id: string, up: Partial) => setCells((p) => p.map((c) => { + if (c.id !== id) return c; + const next = { ...c, ...up }; + if (up.sizeId !== undefined || up.customSize !== undefined || up.landscape !== undefined || up.fit !== undefined) { + const a = aspectOf(next); + if (a) next.crop = baseCrop(next.natW, next.natH, a, next.fit, c.crop); + } + return next; + })); + + /** The same image a second time — for two formats without uploading again. */ + const duplicate = (id: string) => setCells((p) => { + const i = p.findIndex((c) => c.id === id); + if (i < 0) return p; + const copy: Cell = { ...p[i], id: uid() }; + const next = [...p]; next.splice(i + 1, 0, copy); + return next; + }); + + /* ---------------- Output ---------------- */ + const body = () => ({ + paper: paperId === 'custom' ? { size: paperCustom } : { id: paperId }, + landscape: paperLandscape, + marginMm, gapMm: gapEff, bleedMm, center, dpi, ext, + footer: footerOn ? { text: footerText.trim() || undefined, position: footerPos } : false, + marks: { mode: marks, lengthMm: markLen, offsetMm: markOff }, + ...(deliverTo ? { deliver: { target: deliverTo === 'remote' ? '' : deliverTo, gallery: gallery.trim() || undefined } } : {}), + cells: ready.map((c) => { + const s = sizeOfCell(c)!; + return { + id: c.id, src: c.src, crop: c.crop, wMm: s.w, hMm: s.h, count: c.count, + allowRotate: c.allowRotate, fit: c.fit, bg: c.bg, + oversize: c.oversize, overlapMm: c.overlapMm, + }; + }), + }); + + const makePdf = async () => { + if (!canPrint) return; + setBusy('pdf'); + try { + const res = await fetch('/api/print/sheet', { + method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body()), + }); + if (!res.ok) { notify((await res.json().catch(() => ({}))).error || t('Failed.'), true); return; } + const blob = await res.blob(); + // The server sends the name along — it carries a timestamp and the short + // id of the history entry. Building one here would mean two sheets from + // the same day get the same name again. + download(blob, filenameFromHeader(res.headers.get('Content-Disposition'), 'klarbild-print.pdf')); + const n = Number(res.headers.get('X-Klarbild-Pages') || 0); + const notes = res.headers.get('X-Klarbild-Notes'); + const delivery = res.headers.get('X-Klarbild-Delivery-Msg'); + notify(t('PDF ready · {sheets}. When printing, choose “Actual size / 100 %”.', + { sheets: count(n, t('{n} sheet'), t('{n} sheets')) }) + + (notes ? ` ${decodeURIComponent(notes)}` : '') + + (delivery ? ` ${decodeURIComponent(delivery)}` : ''), !!notes); + } catch { notify(t('Network error.'), true); } finally { setBusy(null); } + }; + + const makeSingle = async (c: Cell) => { + const s = sizeOfCell(c); if (!s || !c.src) return; + setBusy('single'); + try { + const res = await fetch('/api/print/single', { + method: 'POST', headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ src: c.src, crop: c.crop, wMm: s.w, hMm: s.h, dpi, ext, name: c.name, fit: c.fit, bg: c.bg }), + }); + if (!res.ok) { notify((await res.json().catch(() => ({}))).error || t('Failed.'), true); return; } + download(await res.blob(), filenameFromHeader(res.headers.get('Content-Disposition'), `bild.${ext}`)); + const real = res.headers.get('X-Klarbild-Real-Dpi'); + notify(res.headers.get('X-Klarbild-Dpi-Ok') === '0' + ? t('Downloaded — careful: the source only carries about {dpi} dpi.', { dpi: String(real) }) + : t('Downloaded · {px} px at {dpi} dpi.', { px: String(res.headers.get('X-Klarbild-Px')), dpi }), + res.headers.get('X-Klarbild-Dpi-Ok') === '0'); + } catch { notify(t('Network error.'), true); } finally { setBusy(null); } + }; + + /* ---------------- Presets ---------------- */ + const savePreset = async () => { + const name = prompt(t('Name of the preset? (e.g. “Nursery set”)')); + if (!name?.trim()) return; + const config = { + paperId, paperCustom, paperLandscape, marginMm, autoGap, gapMm, bleedMm, + marks, markLen, markOff, dpi, ext, center, footerOn, footerText, footerPos, deliverTo, gallery, + formats: cells.map((c) => ({ sizeId: c.sizeId, customSize: c.customSize, landscape: c.landscape, + count: c.count, allowRotate: c.allowRotate, fit: c.fit, bg: c.bg, oversize: c.oversize })), + }; + await fetch('/api/print/presets', { + method: 'POST', headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ name: name.trim(), config }), + }); + notify(t('Preset saved.')); loadPresets(); + }; + + const applyPreset = (p: any, ask = true) => { + const c = p?.config; if (!c) return; + if (ask && cells.length && + !confirm(t('Apply “{name}”? Your current format and sheet settings will be replaced.', { name: p.name }))) { + setPresetSel(''); return; + } + setPaperId(c.paperId ?? 'A4'); setPaperCustom(c.paperCustom ?? ''); setPaperLandscape(!!c.paperLandscape); + setMarginMm(c.marginMm ?? 5); setAutoGap(c.autoGap !== false); setGapMm(c.gapMm ?? 8); + setBleedMm(c.bleedMm ?? 0); setMarks(c.marks ?? 'corner'); setMarkLen(c.markLen ?? 3); setMarkOff(c.markOff ?? 1); + setDpi(c.dpi ?? 300); setExt(c.ext === 'png' ? 'png' : 'jpg'); setCenter(c.center !== false); + setFooterOn(c.footerOn !== false); setFooterText(c.footerText ?? ''); setFooterPos(c.footerPos ?? 'bottom-left'); + setDeliverTo(c.deliverTo ?? ''); setGallery(c.gallery ?? ''); + + if (Array.isArray(c.formats) && c.formats.length) { + setCells((prev) => { + if (!prev.length) return prev; + const apply = (cell: Cell, f: any): Cell => { + const next: Cell = { ...cell, sizeId: f.sizeId, customSize: f.customSize || '', + landscape: !!f.landscape, count: f.count || 1, allowRotate: f.allowRotate !== false, + fit: (f.fit === 'contain' ? 'contain' : 'cover') as FitMode, bg: safeColor(f.bg), + oversize: (f.oversize === 'overflow' || f.oversize === 'tile') ? f.oversize : 'fit' }; + const a = aspectOf(next); if (a) next.crop = baseCrop(next.natW, next.natH, a, next.fit, cell.crop); + return next; + }; + if (prev.length === 1 && c.formats.length > 1) + return c.formats.map((f: any, i: number) => apply({ ...prev[0], id: i === 0 ? prev[0].id : uid() }, f)); + return prev.map((cell, i) => apply(cell, c.formats[Math.min(i, c.formats.length - 1)])); + }); + } + notify(Array.isArray(c.formats) && c.formats.length > 1 + ? t('Preset loaded — the image was taken over for every format.') + : t('Preset loaded.')); + }; + + const deletePreset = async (id: string) => { + if (!id || !confirm(t('Delete preset?'))) return; + const r = await fetch(`/api/print/presets?id=${id}`, { method: 'DELETE' }); + if (!r.ok) notify((await r.json().catch(() => ({}))).error || t('Could not be deleted.'), true); + setPresetSel(''); loadPresets(); + }; + + const editCell = cells.find((c) => c.id === editing) || null; + const disabledReason = !cells.length ? t('No image chosen yet.') + : !sheet ? t('Paper size missing.') + : !ready.length ? t('No image is ready — check the size.') + : !canPrint ? t('No image fits on the sheet.') : null; + + /* ================================= View ================================= */ + return ( +
+
+ {/* ---------- left: images + settings ---------- */} +
+ + + {cells.length > 0 && ( + + )} + + }> +
+ {cells.length === 0 ? ( + <> + + {/* The second way belongs here as an equal: most images are + already in Klarbild and need not be exported and uploaded + again first. */} +
{t('or')}
+ + {presets.length > 0 && ( +
+ {t('Or start from a preset')} +
+ {presets.slice(0, 4).map((p) => ( + + ))} +
+
{t('Pick a preset, then add an image — done.')}
+
+ )} + + ) : ( +
+ {cells.map((c) => ( + patch(c.id, u)} + onEdit={() => setEditing(c.id)} + onSingle={() => makeSingle(c)} + onDuplicate={() => duplicate(c.id)} + onRemove={() => setCells((p) => p.filter((x) => x.id !== c.id))} /> + ))} +
+ + +
+
+ )} + { if (e.target.files) addFiles(e.target.files); e.target.value = ''; }} /> +
+
+ + +
+ +
+ + + {presetSel && } +
+
+ + + + {paperId === 'custom' && ( + <> + setPaperCustom(e.target.value)} + placeholder={t('e.g. 32.9x48.3 (cm) or 329x483mm')} aria-label={t('Custom paper size')} /> + {paperCustom && !paper &&
{t('Size not recognised. Examples: “21x29.7”, “329x483mm”.')}
} + + )} +
+ + +
+ {paper && usable && ( +
{t('Sheet {sheet} · usable {usable} — the PDF page is exactly the sheet size.', + { sheet: labelMm(paper.w, paper.h), usable: labelMm(usable.w, usable.h) })}
+ )} +
+ +
+ +
+ + + +
+
+ {marks === 'corner' ? t('Fine marks outside every image — you cut along between the marks.') + : marks === 'grid' ? t('Continuous lines across the whole sheet — for the cutting ruler.') + : t('No lines — set the edges yourself.')} +
+ {marks === 'corner' && ( + <> +
+ + setMarkLen(Number(e.target.value))} /> + + + setMarkOff(Number(e.target.value))} /> + +
+ {marginMm < markOff + markLen && ( +
{t('With a {margin} mm margin there is no room outside for the marks — they get cut off. Set the margin to at least {min} mm.', + { margin: mm(marginMm), min: mm(Math.ceil(markOff + markLen)) })}
+ )} + + )} + {marks === 'grid' && new Set(ready.map((c) => { const s = sizeOfCell(c); return s ? `${s.w}x${s.h}` : ''; })).size > 1 && ( +
one image size. With mixed sizes they break up — corner marks are better.') }} /> + )} + + + +
+ + + +
+
+ + setMarginMm(Number(e.target.value))} /> + + + setBleedMm(Number(e.target.value))} /> + +
+
{t('The margin is the zone your printer cannot print on — borderless: 0, otherwise 3–5 mm. The bleed is an extra edge printed beyond the trim size and then cut away; at home usually 0.')}
+ + {t('Gap automatic ({gap} mm — to suit the marks)', { gap: mm(gapEff) })} + + {!autoGap && ( + setGapMm(Number(e.target.value))} aria-label={t('Gap between the images in mm')} /> + )} + {t('Centre on the sheet')} +
+ + +
+ + + + + + +
+
+ + + {t('Small line with sizes and a print note')} + {footerOn && ( + <> + setFooterText(e.target.value)} + placeholder={t('Your own text (empty = sizes, dpi and print note)')} aria-label={t('Caption text')} /> + + + +
{t('The line is dropped automatically when there is no room at the chosen edge — it is never printed over an image.')}
+ + )} +
+ + + + {deliverTo && ( + setGallery(e.target.value)} + placeholder={t('Folder on the target (empty = default)')} aria-label={t('Folder on the target')} /> + )} + +
+
+ +
+ + {/* ---------- right: preview (runs along on a desktop) ---------- */} +
+ {count(sheetsTotal, t('{n} sheet'), t('{n} sheets'))} · {count(imagesTotal, t('{n} image'), t('{n} images'))} : null + }> +
+ {!sheet ?

{t('Please give a valid paper size.')}

+ : !cells.length ?

{t('Nothing to show yet — add an image on the left.')}

+ : !plan?.pages.length ? ( + + ) : ( + <> + {plan.pages.length > 1 && ( +
+ + {t('Sheet {n} / {total}', { n: sheetIdx + 1, total: plan.pages.length })} + +
+ )} + +
+ {t('{images} on this sheet', { images: count(plan.pages[Math.min(sheetIdx, plan.pages.length - 1)].placements.length, t('{n} image'), t('{n} images')) })} + {extraSheets > 0 && ` · ${t('plus {sheets} for oversize images', { sheets: count(extraSheets, t('{n} extra sheet'), t('{n} extra sheets')) })}`} +
+ {rotated && ( +

{t('Some images lie sideways so that more fit on the sheet — once cut they stand the right way up. Switch it off with “Rotate to save space”.')}

+ )} + + )} + {plan?.unplaced?.length ? ( +

{t('Could not be placed: {list}', { list: plan.unplaced.map((u) => { + const c = cells.find((x) => x.id === u.specId); + return `${c?.name || u.specId} (${u.reason})`; + }).join(', ') })}

+ ) : null} +
+
+ +
+ +
+ {disabledReason + ? disabledReason + : “Actual size” / 100 % — not “fit to page”.') }} />} +
+
+ + {/* Printed last — folded away, because it does not get in the way + while working but is at hand when the same sheet is needed again. */} + +
+
setHistoryOpen((e.target as HTMLDetailsElement).open)}> + + {t('Show the list')} + {t('make the same sheet once more')} + +
+ {historyOpen && } +
+
+
+
+
+
+ + {editCell && setEditing(null)} + onChange={(crop) => patch(editCell.id, { crop })} />} + {picker && ( + setPicker(false)} + onPick={(picked) => { picked.forEach(addFromLibrary); setPicker(false); }} /> + )} + {toast && ( +
+ {toast.text} + {toast.sticky && } +
+ )} + +
+ ); +} + +/* ---------------- small building blocks ---------------- */ + +function Card({ nr, title, actions, children }: + { nr: string; title: string; actions?: React.ReactNode; children: React.ReactNode }) { + const id = useId(); + return ( +
+
+

{nr} ·

+ {actions &&
{actions}
} +
+ {children} +
+ ); +} + +const Field = ({ label, children }: { label: string; children: React.ReactNode }) => ( +
{children}
+); + +const Mini = ({ label, children }: { label: string; children: React.ReactNode }) => ( + +); + +const Check = ({ checked, onChange, children }: + { checked: boolean; onChange: (v: boolean) => void; children: React.ReactNode }) => ( + +); + +/** A settings group — folded away on a phone, open on a desktop. */ +function Group({ title, hint, closed, children }: + { title: string; hint?: string; closed?: boolean; children: React.ReactNode }) { + return ( +
+ {hint && {hint}} +
{children}
+
+ ); +} + +function groupBy(list: T[]): [string, T[]][] { + const m = new Map(); + for (const x of list) { if (!m.has(x.group)) m.set(x.group, []); m.get(x.group)!.push(x); } + return [...m.entries()]; +} +function download(blob: Blob, name: string) { + const url = URL.createObjectURL(blob); + const a = document.createElement('a'); + a.href = url; a.download = name; document.body.appendChild(a); a.click(); a.remove(); + setTimeout(() => URL.revokeObjectURL(url), 4000); +} + +/* ---------------- Sheet preview ---------------- */ + +function SheetPreview({ sheet, page, marks, cells }: + { sheet: SheetSpec; page: { placements: any[] }; marks: any[]; cells: Cell[] }) { + return ( +
+
+ {page.placements.map((p, k) => { + const c = cells.find((x) => x.id === p.specId); + if (!c) return null; + return ( +
+
+ +
+ {p.w >= 28 && p.h >= 18 && {labelMm(p.w, p.h)}} +
+ ); + })} + +
+
+ ); +} + +/** When nothing fits: name the reason in centimetres and offer a way out. */ +function NothingFits({ cells, usable, paperId, extraSheets, onPaper, t }: { + cells: Cell[]; usable: { w: number; h: number } | null; paperId: string; + extraSheets: number; onPaper: (id: string) => void; t: TFunction; +}) { + if (extraSheets > 0) return ( +

{t('All images are oversize and get sheets of their own — {sheets}. You can still make the PDF.', + { sheets: count(extraSheets, t('{n} sheet'), t('{n} sheets')) })}

+ ); + const tooBig = cells.map((c) => ({ c, s: sizeOfCell(c) })).filter((x) => x.s); + if (!tooBig.length) return

{t('No valid image size chosen yet.')}

; + + const bigger = PAPERS.filter((p) => usable && p.w * p.h > (usable.w + 10) * (usable.h + 10)) + .sort((a, b) => a.w * a.h - b.w * b.h)[0]; + return ( +
+

{t('Does not fit on the sheet.')}{' '} + {t('{sizes} on a usable {usable}.', { + sizes: tooBig.map((x) => labelMm(x.s!.w, x.s!.h)).join(', '), + usable: usable ? labelMm(usable.w, usable.h) : '—', + })}

+

{t('Three ways out: bigger paper, a smaller image size — or pick “Let it overhang” or “Across several sheets” on the image to the left.')}

+ {bigger && paperId !== bigger.id && ( + + )} +
+ ); +} + +/* ---------------- Image card ---------------- */ + +function CellCard({ cell, dpi, sheet, fits, paperLabel, t, onPatch, onEdit, onSingle, onDuplicate, onRemove }: { + cell: Cell; dpi: number; sheet: SheetSpec | null; paperLabel: string; t: TFunction; + fits: { ok: boolean; size?: { w: number; h: number }; lost?: number; sheets?: number; cols?: number; rows?: number }; + onPatch: (u: Partial) => void; onEdit: () => void; onSingle: () => void; + onDuplicate: () => void; onRemove: () => void; +}) { + const s = sizeOfCell(cell); + const sourcePx = s ? cell.crop.w * cell.natW : 0; + const realDpi = s && s.w > 0 ? Math.round(sourcePx / (s.w / 25.4)) : 0; + const level = !s ? null : realDpi >= dpi * 0.9 ? 'ok' : realDpi >= dpi * 0.6 ? 'tight' : 'bad'; + const editable = !cell.uploading && !cell.error; + + return ( +
+ + + +
+ + {cell.sizeId === 'custom' && ( + <> + onPatch({ customSize: e.target.value })} placeholder="13x18 · 35x45mm · 4:3/15" /> + {!s &&
{t('Size not recognised. Examples: “13x18” (cm), “35x45mm”, “4:3/15”.')}
} + + )} + +
+
+ + +
+
+ + onPatch({ count: Math.min(200, Math.max(1, Number(e.target.value) || 1)) })} /> + +
+
+ +
+ + +
+ {cell.fit === 'contain' && ( +
+ {t('Border colour')} + {['#ffffff', '#000000', '#EAEAE3'].map((col) => ( +
+ )} + + + + {/* Oversize: offer the way out right at the problem */} + {!fits.ok && s && ( +
+ {t('{size} does not fit on {paper}.', { size: labelMm(s.w, s.h), paper: paperLabel })} +
+ + +
+
+ {cell.oversize === 'overflow' + ? t('The image lies centred on the sheet; {mm} mm hang over the edge and are missing afterwards.', { mm: mm(fits.lost || 0) }) + : cell.oversize === 'tile' + ? t('A poster out of {sheets} sheets with a {mm} mm glue flap — the dashed line shows where they overlap.', + { sheets: String(fits.sheets), mm: mm(cell.overlapMm) }) + : t('Choose a way, otherwise the image is left out.')} +
+ {cell.oversize === 'tile' && ( + + onPatch({ overlapMm: Math.min(40, Math.max(0, Number(e.target.value) || 0)) })} /> + + )} +
+ )} + + {cell.error ? ( + <> +
{cell.error}
+ + + ) : s && ( +
+ {t('{size} = {w} × {h} px', { size: labelMm(s.w, s.h), w: mmToPx(s.w, dpi), h: mmToPx(s.h, dpi) })} + {level === 'ok' ? ` · ${t('resolution is enough')}` + : level === 'tight' ? ` · ${t('only {dpi} dpi — goes slightly soft', { dpi: realDpi })}` + : ` · ${t('only {dpi} dpi — goes visibly blurred, take a smaller format or a bigger image', { dpi: realDpi })}`} +
+ )} + +
+ + +
+
+
+ ); +} + +/* ---------------- Crop ---------------- */ + +function CropModal({ cell, t, onChange, onClose }: + { cell: Cell; t: TFunction; onChange: (c: CropRel) => void; onClose: () => void }) { + const s = sizeOfCell(cell); + const aspect = s ? s.w / s.h : 1; + const base = baseCrop(cell.natW, cell.natH, aspect, cell.fit); + // The same limits as for the initial crop — otherwise the frame would jump to + // a different value at zoom level 1 than it had when opened. + const limits = limitsFor(base); + const [crop, setCrop] = useState(cell.crop); + const boxRef = useRef(null); + const modalRef = useRef(null); + const drag = useRef<{ x: number; y: number; crop: CropRel } | null>(null); + const titleId = useId(); + + const zoom = Math.min(6, Math.max(1, base.w / crop.w)); + const setZoom = (z: number) => { + const zz = Math.min(6, Math.max(1, z)); + setCrop(clampCrop(centred(base.w / zz, base.h / zz, crop), cell.fit, limits)); + }; + + const onDown = (e: React.PointerEvent) => { + (e.currentTarget as Element).setPointerCapture?.(e.pointerId); + drag.current = { x: e.clientX, y: e.clientY, crop }; + }; + const onMove = (e: React.PointerEvent) => { + if (!drag.current || !boxRef.current) return; + const r = boxRef.current.getBoundingClientRect(); + const dx = (e.clientX - drag.current.x) / r.width; + const dy = (e.clientY - drag.current.y) / r.height; + const c = drag.current.crop; + setCrop(clampCrop({ ...c, x: c.x - dx * c.w, y: c.y - dy * c.h }, cell.fit, limits)); + }; + const onUp = () => { drag.current = null; }; + + const freeX = crop.w < 1 - 1e-4 || cell.fit === 'contain'; + const freeY = crop.h < 1 - 1e-4 || cell.fit === 'contain'; + const direction = freeX && freeY ? t('can be moved in every direction') + : freeX ? t('can be moved left and right — zoom in first for up and down') + : freeY ? t('can be moved up and down — zoom in first for left and right') + : t('an exact fit — zoom in first to move it'); + + // Apply rather than discard: the crop is lossless and can be corrected at any time. + const close = () => { onChange(crop); onClose(); }; + + // Catch the focus, hold the background still, keys only in here. + useEffect(() => { + const y = window.scrollY; + const before = document.activeElement as HTMLElement | null; + document.body.style.overflow = 'hidden'; + modalRef.current?.querySelector('button, input')?.focus(); + return () => { document.body.style.overflow = ''; window.scrollTo(0, y); before?.focus?.(); }; + }, []); + + const onKey = (e: React.KeyboardEvent) => { + if (e.key === 'Escape') { e.preventDefault(); return close(); } + if (e.key === 'Tab') { + const f = modalRef.current?.querySelectorAll('button, input, [href], select, textarea'); + if (!f?.length) return; + const first = f[0], last = f[f.length - 1]; + if (e.shiftKey && document.activeElement === first) { e.preventDefault(); last.focus(); } + else if (!e.shiftKey && document.activeElement === last) { e.preventDefault(); first.focus(); } + return; + } + const target = e.target as HTMLElement; + if (target.tagName === 'INPUT' && (target as HTMLInputElement).type !== 'range') return; + const step = e.shiftKey ? 0.05 : 0.01; + const move = (dx: number, dy: number) => { + e.preventDefault(); + setCrop((c) => clampCrop({ ...c, x: c.x + dx * c.w, y: c.y + dy * c.h }, cell.fit, limits)); + }; + if (e.key === 'ArrowLeft') move(-step, 0); + else if (e.key === 'ArrowRight') move(step, 0); + else if (e.key === 'ArrowUp') move(0, -step); + else if (e.key === 'ArrowDown') move(0, step); + else if (e.key === '+' || e.key === '=') { e.preventDefault(); setZoom(zoom * 1.15); } + else if (e.key === '-') { e.preventDefault(); setZoom(zoom / 1.15); } + }; + + return ( +
+
e.stopPropagation()} onKeyDown={onKey}> +
+

{t('Crop · {size}', { size: s ? labelMm(s.w, s.h) : '' })}

+ +
+
+
setZoom(zoom >= 2.5 ? 1 : zoom * 1.8)} + onWheel={(e) => setZoom(zoom * (e.deltaY < 0 ? 1.08 : 1 / 1.08))}> + +
+
+
+
+ +
+ + {direction} +
+
+ + + +
+
{t('Grab the image and drag · double-tap zooms · arrow keys for fine work.')} + {cell.fit === 'contain' && ' ' + t('When fitting in, the border colour stays around the outside.')}
+
+
+
+ ); +} + +/* ---------------- Library ---------------- */ + +/** + * Fetch images from the library. + * + * The first draft was a line of text in the card head and an unfiltered wall of + * thumbnails — unusable at a few hundred images, and hardly findable. Now: + * search, folders, multiple selection. The search runs in the browser over the + * loaded list; at 400 entries that is there at once and saves a round trip per + * keystroke. + */ +function LibraryPicker({ onPick, onClose, t }: + { onPick: (items: any[]) => void; onClose: () => void; t: TFunction }) { + const [items, setItems] = useState([]); + const [folders, setFolders] = useState([]); + const [loading, setLoading] = useState(true); + const [failed, setFailed] = useState(false); + const [search, setSearch] = useState(''); + const [inFolder, setInFolder] = useState(''); + const [picked, setPicked] = useState([]); + const box = useRef(null); + const titleId = useId(); + + const load = useCallback(() => { + setLoading(true); setFailed(false); + Promise.all([ + fetch('/api/items').then((r) => { if (!r.ok) throw new Error(); return r.json(); }), + fetch('/api/folders').then((r) => (r.ok ? r.json() : { folders: [] })).catch(() => ({ folders: [] })), + ]) + .then(([i, f]) => { setItems(i.items || []); setFolders(f.folders || []); }) + .catch(() => setFailed(true)) + .finally(() => setLoading(false)); + }, []); + useEffect(load, [load]); + + // Hold the background still, catch the focus, Escape closes. + useEffect(() => { + const y = window.scrollY; + const before = document.activeElement as HTMLElement | null; + document.body.style.overflow = 'hidden'; + box.current?.querySelector('input')?.focus(); + const key = (e: KeyboardEvent) => { + if (e.key === 'Escape') { e.stopPropagation(); onClose(); } + }; + document.addEventListener('keydown', key); + return () => { + document.removeEventListener('keydown', key); + document.body.style.overflow = ''; window.scrollTo(0, y); before?.focus?.(); + }; + }, [onClose]); + + const filtered = useMemo(() => { + const q = search.trim().toLowerCase(); + return items.filter((it) => + (!inFolder || it.folder_id === inFolder) + && (!q || String(it.filename || '').toLowerCase().includes(q) + || String(it.prompt_used || '').toLowerCase().includes(q))); + }, [items, search, inFolder]); + + const toggle = (id: string) => + setPicked((g) => (g.includes(id) ? g.filter((x) => x !== id) : [...g, id])); + + const accept = () => { + const pickedItems = picked + .map((id) => items.find((i) => i.id === id)) + .filter(Boolean); + if (pickedItems.length) onPick(pickedItems); + }; + + return ( +
+
e.stopPropagation()}> +
+

{t('Pick from the library')}

+ +
+ +
+ setSearch(e.target.value)} + placeholder={t('Search by name or description …')} aria-label={t('Search the library')} /> + {folders.length > 0 && ( + + )} +
+ +
+ {loading ?

{t('Loading …')}

+ : failed ? ( +

{t('The library could not be loaded.')}{' '} +

+ ) + : !items.length ?

{t('No images in the library yet.')}

+ : !filtered.length ?

{t('Nothing found. Try another search or folder.')}

+ : filtered.map((it) => { + const on = picked.includes(it.id); + return ( + + ); + })} +
+ +
+ + {picked.length + ? t('{images} chosen', { images: count(picked.length, t('{n} image'), t('{n} images')) }) + : search || inFolder + ? t('{images} found', { images: count(filtered.length, t('{n} image'), t('{n} images')) }) + : t('{images} in the library', { images: count(filtered.length, t('{n} image'), t('{n} images')) })} + +
+ {picked.length > 0 && ( + + )} + +
+
+
+
+ ); +} + +/* ---------------- Styles ---------------- */ + +function PrintStyles() { + return ; +} diff --git a/src/components/PrintRuns.tsx b/src/components/PrintRuns.tsx new file mode 100644 index 0000000..5ed05fb --- /dev/null +++ b/src/components/PrintRuns.tsx @@ -0,0 +1,227 @@ +import { useCallback, useEffect, useState } from 'react'; +import { filenameFromHeader } from '../lib/naming'; +import { useT, type Dict, type Locale, type TFunction } from '../lib/useT'; + +/** + * Recently printed. + * + * What is stored is **the instructions only** — sheet, sizes, quantities and the + * references to the images. No PDF: an A3 sheet is quickly 20–80 MB, and the + * module computes without AI, so the same job yields exactly the same sheet + * again. Generating it again is cheaper than keeping it. + * + * "Print again" therefore only works if **all** images came from the library and + * are still there. For uploaded files the source is gone after the clean-up — + * which is then also stated on the entry. + */ +interface Run { + id: string; origin: string; summary: string | null; paper: string | null; + pages: number; pieces: number; bytes: number | null; created_at: string; + images: { id: string; filename: string | null }[]; + missing: number; uploaded: number; repeatable: boolean; config: any; +} + +const when = (s: string, t: TFunction, dateLocale: string) => { + const d = new Date(s); + const minutes = Math.round((Date.now() - d.getTime()) / 60000); + if (minutes < 1) return t('just now'); + if (minutes < 60) return t('{n} min ago', { n: minutes }); + if (minutes < 24 * 60) return t('{n} h ago', { n: Math.round(minutes / 60) }); + return d.toLocaleDateString(dateLocale, { day: '2-digit', month: '2-digit', year: 'numeric' }); +}; +// A test sheet is 20 KB, an A3 poster 80 MB. `toFixed(1)` in MB turned the small +// case into "0.0 MB" — so below one megabyte the size is given in KB. +const size = (b: number | null) => { + if (!b) return ''; + if (b < 1024 * 1024) return `${Math.max(1, Math.round(b / 1024))} KB`; + return `${(b / 1048576).toFixed(1)} MB`; +}; +// Plural: pick the whole sentence, never glue a number to a word — which word +// form a number takes is a property of the language, not of the number. +const plural = (t: TFunction, n: number, one: string, many: string) => t(n === 1 ? one : many, { n }); + +export default function PrintRuns({ onLoad, locale, dict }: { onLoad?: (config: any) => void; locale?: Locale; dict?: Dict | null }) { + const t = useT(dict); + // Dates stay numeric (day/month/year); only the order and separators follow + // the language of the instance. + const dateLocale = locale === 'de' ? 'de-DE' : 'en-GB'; + const [runs, setRuns] = useState([]); + const [loading, setLoading] = useState(true); + const [failed, setFailed] = useState(false); + const [busy, setBusy] = useState(null); + const [msg, setMsg] = useState<{ t: string; ok: boolean } | null>(null); + + const load = useCallback(async () => { + try { + const r = await fetch('/api/print/runs'); + if (!r.ok) throw new Error(String(r.status)); + const d = await r.json(); + setRuns(d.runs || []); setFailed(false); + } catch { setFailed(true); } + finally { setLoading(false); } + }, []); + useEffect(() => { load(); }, [load]); + + const say = (text: string, ok = true) => { setMsg({ t: text, ok }); setTimeout(() => setMsg(null), 5000); }; + + /** Produce the same sheet once more — same request, same PDF. */ + const again = async (r: Run) => { + setBusy(r.id); + try { + const res = await fetch('/api/print/sheet', { + method: 'POST', headers: { 'Content-Type': 'application/json' }, + // `origin` marks the run as a repeat, so the list does not look as if + // someone had built the same sheet twice by hand. + body: JSON.stringify({ ...r.config, origin: 'repeat' }), + }); + if (!res.ok) { + const j = await res.json().catch(() => ({})); + say(j.error || t('That did not work — an image may be missing.'), false); + return; + } + const blob = await res.blob(); + const a = document.createElement('a'); + a.href = URL.createObjectURL(blob); + // The repeat print is a **new** file with a new timestamp and a new short + // id — so it does not overwrite the first sheet. + a.download = filenameFromHeader(res.headers.get('Content-Disposition'), 'klarbild-print.pdf'); + document.body.appendChild(a); a.click(); a.remove(); + setTimeout(() => URL.revokeObjectURL(a.href), 4000); + say(t('PDF generated again. When printing, choose “Actual size / 100 %”.')); + load(); + } catch { say(t('Network error.'), false); } + finally { setBusy(null); } + }; + + const remove = async (r: Run) => { + if (!confirm(t('Take this entry off the list?\n\nThe images stay in the library — only the history entry disappears.'))) return; + const res = await fetch(`/api/print/runs?id=${r.id}`, { method: 'DELETE' }).then((x) => x.json()).catch(() => ({})); + if (res.ok) { setRuns((p) => p.filter((x) => x.id !== r.id)); } else say(res.error || t('That did not work.'), false); + }; + + if (loading) return

{t('Loading …')}

; + + if (failed) return ( +
+

{t('The history could not be loaded.')}{' '} +

+ +
+ ); + + if (!runs.length) return ( +
+
+ +

{t('Nothing printed yet')}

+

{t('As soon as you create a PDF in the print area, it stands here — with a button to get exactly the same sheet again.')}{' '} + {t('Open the print area')}

+
+ +
+ ); + + return ( +
+ {msg &&

{msg.t}

} + +
+ {runs.map((r) => ( +
+
+
+

{r.summary || t('Print sheet')}

+ {when(r.created_at, t, dateLocale)} +
+ {r.origin === 'repeat' && {t('repeated')}} + {r.origin === 'telegram' && Telegram} +
+ +
+ {r.paper} · {plural(t, r.pages, '{n} sheet', '{n} sheets')} · {plural(t, r.pieces, '{n} piece', '{n} pieces')} + {r.bytes ? <> · {t('the PDF was {size}', { size: size(r.bytes) })} : null} +
+ + {r.images.length > 0 && ( +
+ {r.images.slice(0, 8).map((b) => ( + {b.filename { (e.currentTarget as HTMLImageElement).style.visibility = 'hidden'; }} /> + ))} + {r.images.length > 8 && +{r.images.length - 8}} +
+ )} + +
+ {r.repeatable ? ( + + ) : ( + + {r.missing > 0 + ? plural(t, r.missing, + '{n} image has been deleted since — cannot be repeated.', + '{n} images have been deleted since — cannot be repeated.') + : t('Uploaded back then instead of taken from the library — the source file is gone.')} + + )} + {onLoad && ( + + )} + +
+
+ ))} +
+ +

+ {t('Only the settings are kept here, not the PDFs — an A3 sheet would quickly be 20 to 80 MB. Because the print module computes without AI, the same job yields exactly the same sheet again. The last {n} prints per person are kept.', { n: 100 })} +

+ + +
+ ); +} + +function PrintRunsStyles() { + return ; +} diff --git a/src/components/QueueApp.tsx b/src/components/QueueApp.tsx new file mode 100644 index 0000000..a1ddc4c --- /dev/null +++ b/src/components/QueueApp.tsx @@ -0,0 +1,170 @@ +import React, { useState, useEffect, useCallback } from 'react'; +import { useT, type Dict, type Locale } from '../lib/useT'; + +const STATUS_LABELS: Record = { + queued: 'waiting', running: 'running', done: 'done', failed: 'failed', + skipped: 'skipped', paused: 'paused', cancelled: 'cancelled', +}; + +/** Point in time, short: today → "HH:MM", otherwise "DD.MM. HH:MM". */ +function fmtTime(iso: string | null): string { + if (!iso) return ''; + const d = new Date(iso); + if (isNaN(d.getTime())) return ''; + const hm = d.toLocaleTimeString('de-DE', { hour: '2-digit', minute: '2-digit' }); + const today = new Date(); + const sameDay = d.getFullYear() === today.getFullYear() && d.getMonth() === today.getMonth() && d.getDate() === today.getDate(); + return sameDay ? hm : `${d.toLocaleDateString('de-DE', { day: '2-digit', month: '2-digit' })} ${hm}`; +} + +export default function QueueApp({ jobId, locale, dict }: { jobId: string | null; locale?: Locale; dict?: Dict | null }) { + const t = useT(dict); + const [job, setJob] = useState(null); + const [items, setItems] = useState([]); + const [jobs, setJobs] = useState([]); + const [saveView, setSaveView] = useState(null); + + const load = useCallback(async () => { + if (jobId) { + const r = await fetch(`/api/jobs/${jobId}`).then((x) => x.json()).catch(() => null); + if (r?.job) { setJob(r.job); setItems(r.items || []); } + } else { + const r = await fetch('/api/jobs').then((x) => x.json()).catch(() => null); + setJobs(r?.jobs || []); + } + }, [jobId]); + + useEffect(() => { + load(); + const active = !job || ['queued', 'running', 'paused'].includes(job?.status); + const ti = setInterval(load, active ? 2000 : 6000); + return () => clearInterval(ti); + }, [load, job?.status]); + + const act = async (path: string) => { await fetch(path, { method: 'POST' }); load(); }; + + if (!jobId) { + return ( + + ); + } + + const done = items.filter((i) => i.status === 'done').length; + const failed = items.filter((i) => i.status === 'failed').length; + const open = items.filter((i) => ['queued', 'running'].includes(i.status)).length; + const pct = items.length ? Math.round(((done + failed) / items.length) * 100) : 0; + const etaSec = open * 20; + + return ( +
+
+ {t('Job')} · {t(STATUS_LABELS[job?.status] || job?.status)} + {job?.finished_at && ['done', 'failed', 'cancelled'].includes(job?.status) ? ` · ${t('ended {time}', { time: fmtTime(job.finished_at) })}` : ''} +
+ {job?.status === 'running' && } + {job?.status === 'paused' && } + {failed > 0 && } + {['queued', 'running', 'paused'].includes(job?.status) && } + {['done', 'failed', 'cancelled'].includes(job?.status) && ( + + )} +
+
+ +
+
+
{failed + ? t('{done} done, {failed} failed of {total}', { done, failed, total: items.length }) + : t('{done} done of {total}', { done, total: items.length })} + {open > 0 && ` · ${etaSec >= 60 + ? t('about {n} more min', { n: Math.ceil(etaSec / 60) }) + : t('about {n} more sec', { n: etaSec })}`}
+
+ +
+ {items.map((it) => ( +
+
+ {it.status === 'done' && it.result_path + ? + : } +
+
+ {it.filename || t('Image {n}', { n: it.position + 1 })} + {STATUS_LABELS[it.status] ? t(STATUS_LABELS[it.status]) : ''}{it.output_px ? ` · ${it.output_px}px` : ''} + {it.error_message && {it.error_message}} +
+
+ {it.status === 'done' && } + {it.status === 'failed' && } +
+
+ ))} +
+ {saveView && ( +
setSaveView(null)}> + e.stopPropagation()} /> +
e.stopPropagation()}> + {t('📱 iPhone/iPad: press and hold the image → “Save to Photos”.')} + {t('Original as a file (.png)')} + +
+
+ )} + +
+ ); +} + +function QStyles() { + return ; +} diff --git a/src/components/ShareDialog.tsx b/src/components/ShareDialog.tsx new file mode 100644 index 0000000..df708ff --- /dev/null +++ b/src/components/ShareDialog.tsx @@ -0,0 +1,315 @@ +import { useEffect, useRef, useState } from 'react'; +import { useT, type Dict, type Locale } from '../lib/useT'; + +/** + * Share dialog: turn a picture selection into a link and hand it on. + * + * Deliberately in two steps — settings first, then handing it on. The link comes + * into being on the click on "Create link"; until then nothing is public. After + * that the same dialog shows the routes: copy, WhatsApp, email. + */ +export interface ShareTarget { itemIds: string[]; title?: string } + +const DAYS = [ + { v: 7, label: '7 days' }, + { v: 30, label: '30 days' }, + { v: 90, label: '3 months' }, + { v: 365, label: '1 year' }, + { v: 0, label: 'no expiry' }, +]; + +export default function ShareDialog( + { target, onClose, onDone, locale, dict }: + { target: ShareTarget; onClose: () => void; onDone?: () => void; locale?: Locale; dict?: Dict | null }, +) { + const t = useT(dict); + const many = target.itemIds.length > 1; + const [title, setTitle] = useState(target.title || ''); + const [note, setNote] = useState(''); + const [days, setDays] = useState(30); + const [download, setDownload] = useState(true); + const [passphrase, setPassphrase] = useState(''); + const [link, setLink] = useState<{ slug: string; id: string } | null>(null); + const [busy, setBusy] = useState(false); + const [msg, setMsg] = useState<{ t: string; ok: boolean } | null>(null); + const [mailTo, setMailTo] = useState(''); + const [mailText, setMailText] = useState(''); + const [mailReady, setMailReady] = useState(null); + const [copied, setCopied] = useState(false); + const box = useRef(null); + + const url = link ? `${location.origin}/s/${link.slug}` : ''; + + useEffect(() => { + fetch('/api/me').then((r) => r.json()).then((m) => { + setMailReady(!!m.mail_ready); + // Take over the default from the admin area — otherwise the setting there + // promises something that never arrives here. + if (typeof m.share_default_days === 'number') setDays(m.share_default_days); + }).catch(() => setMailReady(null)); + }, []); + + // Trap the focus and hold the background still while the dialog is open. + useEffect(() => { + const previous = document.body.style.overflow; + document.body.style.overflow = 'hidden'; + box.current?.querySelector('input,select,button')?.focus(); + const key = (e: KeyboardEvent) => { + if (e.key === 'Escape') onClose(); + if (e.key !== 'Tab') return; + const f = box.current?.querySelectorAll('a[href],button:not([disabled]),input,select,textarea'); + if (!f?.length) return; + const [first, last] = [f[0], f[f.length - 1]]; + if (e.shiftKey && document.activeElement === first) { e.preventDefault(); last.focus(); } + else if (!e.shiftKey && document.activeElement === last) { e.preventDefault(); first.focus(); } + }; + document.addEventListener('keydown', key); + return () => { document.removeEventListener('keydown', key); document.body.style.overflow = previous; }; + }, [onClose]); + + const create = async () => { + setBusy(true); setMsg(null); + const r = await fetch('/api/shares', { + method: 'POST', headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + itemIds: target.itemIds, title: title || null, note: note || null, + days, allowDownload: download, password: passphrase || null, + }), + }).then((x) => x.json()).catch(() => ({ error: t('Network error.') })); + setBusy(false); + if (r.error) { setMsg({ t: r.error, ok: false }); return; } + setLink({ slug: r.share.slug, id: r.share.id }); + onDone?.(); + }; + + const copy = async () => { + try { await navigator.clipboard.writeText(url); } + catch { + // Without clipboard permission: select the field so it can be copied by hand. + box.current?.querySelector('.linkfield')?.select(); + } + setCopied(true); setTimeout(() => setCopied(false), 2000); + }; + + const waText = `${title || t('Images')}\n${url}`; + const waHref = `https://wa.me/?text=${encodeURIComponent(waText)}`; + + const sendMail = async () => { + if (!mailTo.trim()) { setMsg({ t: t('Enter a recipient address.'), ok: false }); return; } + setBusy(true); setMsg(null); + const r = await fetch('/api/shares/send', { + method: 'POST', headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ shareId: link!.id, to: mailTo, message: mailText }), + }).then((x) => x.json()).catch(() => ({ error: t('Network error.') })); + setBusy(false); + if (r.error) { setMsg({ t: r.error, ok: false }); return; } + // Partial success is success: before, a text pattern match coloured + // "2 sent, 1 did not go through." entirely red. + setMsg(r.failed?.length + ? { t: t('{sent} sent, {failed} did not go through.', { sent: r.ok, failed: r.failed.length }), ok: r.ok > 0 } + : { t: r.ok === 1 ? t('Sent to the address.') : t('Sent to {n} addresses.', { n: r.ok }), ok: true }); + setMailTo(''); + }; + + // Two sentences, one key, with the passphrase kept in bold: the {passphrase} + // slot is split out of the translated sentence so the word lands where the + // language puts it instead of the sentence being glued from two halves. + const warn = t('The link is protected with {passphrase}. Send the passphrase separately from the link — otherwise the protection is worth nothing.') + .split('{passphrase}'); + const mailHint = t('Sending email straight from here is not set up yet — an admin can add that under {where}. Copying and WhatsApp work regardless.') + .split('{where}'); + + return ( +
e.target === e.currentTarget && onClose()}> +
+
+

{many ? t('Share {n} images', { n: target.itemIds.length }) : t('Share image')}

+ +
+ + {!link ? ( +
+

+ {t('This creates a link that someone without a Klarbild account can open too. It expires by itself and can be switched off again at any time.')} +

+ + + + + + {/* The common case is "one picture for grandma" — that one needs none of + this. Folded away, with a summary that names the current state. */} +
+ + {t('More settings')} + {download ? t('download allowed') : t('view only')} + {' · '}{passphrase ? t('with passphrase') : t('without passphrase')} + +
+